Why Johnny Can't Code...

Aramis

New Member
Jan 29, 2020
11
4
3
David Brin (author of the Uplift novels) wrote an article back in 2006...
It points out some issues with modern programming... and I stumbled upon it (again) and realized it shares David's viewpoint that understandable hardware is an important step in OS and device driver coding...
 

cml37

Moderator
Staff member
May 19, 2019
181
41
28
Washington, D.C. Area
David Brin (author of the Uplift novels) wrote an article back in 2006...
It points out some issues with modern programming... and I stumbled upon it (again) and realized it shares David's viewpoint that understandable hardware is an important step in OS and device driver coding...
So true! Everything today is so abstracted away for programmers. I spent a good chunk of my career doing work on the embedded side of the house. But the work was so niche that I went to mainstream and became a full-stack developer since that's what is highly valued.. and "what 99% of the world was doing" compared to what I was doing. More job prospects, more $$, etc. I think there's where the problem is... folks will go where the incentives and prospects are naturally.
 

Aramis

New Member
Jan 29, 2020
11
4
3
So true! Everything today is so abstracted away for programmers. I spent a good chunk of my career doing work on the embedded side of the house. But the work was so niche that I went to mainstream and became a full-stack developer since that's what is highly valued.. and "what 99% of the world was doing" compared to what I was doing. More job prospects, more $$, etc. I think there's where the problem is... folks will go where the incentives and prospects are naturally.
There's also the hardware capability growth... with doubling transistors and iops & flops every 2-2.5 years, and ram per cent spent growing exponentially as well...
... only compiler coders really need to do the nitty-gritty assembly/machine code. Non-truly-optimal code can run fast enough in small enough space that tight coding like is needed for Kernal and Basic ROMs isn't needed anymore.

There aren't many jobs needing that kind of tight code other than odd-job oldschool stuff and serious top end embedded, because ram is cheap, cpu power is cheap.

It also got me thinking...
It looks relatively easy to take 65xx assembler and port it to x86. It's reformatting the values and reassigning i/o vectors.
Going 8080 or x86 to 65xx? major rewrites essential. Many routines will have to use stack and/or zeropage in interesting ways to make up for only two incrementor/decrementor/addend registers.
It never dawned on me before how much more machine-coder friendly the x86 was. (But it also allowed slop.)

And the other drawback that I've noticed for years... each increase in bit depth also had a corresponding increase in application size...

But it also reminds me; Boeing had a major software issue in their space capsule... and ignored several warnings and launched anyway. (TMRO space news on Youtube yesterday.)
 

cml37

Moderator
Staff member
May 19, 2019
181
41
28
Washington, D.C. Area
Right on. It does make me sad, however, that since memory and CPU power is so plentiful that it encourages programmers to be sloppy. When drivers for my laser printer are bigger than the hard drive in my first computer, it does make me wonder!!
 
May 22, 2019
592
300
63
This is one of the reasons David is creating the Commander X16... to have a truly new computer that can be used in the classroom to teach kids programming.

Personally, I think a DOS machine with QuickBASIC is the ideal programming environment. QB is simple enough that anyone can understand it, yet advanced enough to teach basic object-oriented techniques.

So if there's a computer I would love to see make a comeback... it would be the good old fashioned 286 or 386 DOS PC.
 

cml37

Moderator
Staff member
May 19, 2019
181
41
28
Washington, D.C. Area
This is one of the reasons David is creating the Commander X16... to have a truly new computer that can be used in the classroom to teach kids programming.

Personally, I think a DOS machine with QuickBASIC is the ideal programming environment. QB is simple enough that anyone can understand it, yet advanced enough to teach basic object-oriented techniques.

So if there's a computer I would love to see make a comeback... it would be the good old fashioned 286 or 386 DOS PC.
Interesting... wasn't aware of that objective. I think it will have to hit a certain price point to make that a reality. Maybe with the FPGA version.
 
May 22, 2019
592
300
63
Interesting... wasn't aware of that objective. I think it will have to hit a certain price point to make that a reality. Maybe with the FPGA version.
Yeah, it'll have to sit somewhere in the $50-100 region to make that work. That's not really going to happen with an FPGA, but it might possible with a large enough quantity of ASICs. The C64 DTV sold for like $50, after all.
 

skspurling

New Member
Jan 8, 2020
3
0
1
The problem is, and I am speaking from the point of view of a parent, the kids are used to the flashy graphics and aren't enthralled by the text you get from a simple basic program. Frankly, this is where scratch and all the block coding systems came from, why there is a Raspberry Pi and arduino, and why Python is so popular. I'm going to go place the blame squarely where it belongs, Microsoft! They really made a system where they tried to divorce people from the underpinnings of the OS in a very drastic way. Kind of in a similar way to the original MacOS, and trying to work with quickdraw. You can develop a windows program if you are willing to tie into a bunch of microsoft development stuff. Outside of that, there is no simple system for a kid to get into. For example, check what is required to run a simple python script.