[TriLUG] the future of programming (was Piece of History)

Justis Peters jtrilug at indythinker.com
Sun Feb 24 17:08:14 EST 2008


Kevin J. wrote:
> As I read through these posts, I can't help but wonder what the future of programming will look like. Given that kids today will likely receive Windows Vista (aka, TV on steroids), or an Apple Mac (aka, unix-based TV on steroids), it's hard to imagine that *any* good programmers will develop from this TV-driven culture we live in. 
>
> Personally, I think the only decent programmers of tomorrow will come from the kids (mostly elsewhere in the world) who grew up using Linux. 
>   
Those older computers and the skills we learned on them were the 
building blocks of the productivity and creativity machines that we all 
use today.  There are many more layers of complexity now than there were 
then.  Very few humans are likely to understand computing at every 
layer.  There are just too many layers.  If I find someone who knows 
HTML, CSS2, Javascript, DHTML like the back of his hand, I'm certainly 
not going to scoff at him because he doesn't understand why you would 
need to terminate a SCSI bus.  Likewise, if I find someone who knows 
SANs backward and forward and can do near magic tricks with terabytes of 
data, I'm not going to scoff at him for not understanding the difference 
between a DIV and a SPAN.  I'm certainly not going to scoff at either of 
them for being clueless about when to use a quicksort or a heapsort.  
They both hold down different roles of real value in my life.  Instead 
of scoffing, I'll just go in search of a C programmer.  They're easier 
to find today than in the 80's.  They just also happen to be in higher 
demand.

Back in the early 80s, it was possible for someone to understand most of 
the components in his or her PC.  Today, there are new protocols, new 
connectors, and new chips released faster than any one person can learn 
them.  I think there is both risk and opportunity in this.  There is 
both an element of fear and an element of hope.  The fear is that people 
will forget how to maintain and troubleshoot the middle and lower layers 
of complexity.  The hope is that our brightest young people will take 
some of the cooler things we've created at the higher levels of 
complexity and create something amazing there.  The risk is that their 
creations will collapse underneath themselves when nobody remembers how 
to maintain and troubleshoot the lower levels.

There are ways to mitigate the risk and our society is doing well at 
it.  The open source camps do this by involving real humans at every 
layer and then by publishing the discussion for all to see.  The 
proprietary camps do it by showing up at college career fairs, helping 
people understand their opportunities, and putting real money forward to 
hire and train the smart ones.  These are not perfect solutions, but 
they're certainly keeping the problem at bay.

Another aspect to the "the future of programming" and how it pertains to 
our young folks is the saturation of users at different IQ levels.  In 
1981, I suspect that there were very few kids with an IQ less than 110 
that spent much time on a computer.  You simply couldn't accomplish 
much, except a few tasks you could memorize or read from a book.  Most 
of those tasks did very boring things, unless you were smart enough to 
understand the possibilities beyond that.  Today, you can put a computer 
in front of a kid with an 80 IQ and he'll be entertained and even 
enriched for years to come.  Most importantly, though, there are much 
higher percentages of kids with above average IQs that spend many hours 
a day in front of a computer.  Sure, they don't spend their time 
programming them, but at least they are only a step or two away from 
doing it.  In 1981, probably wouldn't have even had a computer.

So, if your real concern is about the "lost art" of computer 
programming, the solution is to embrace the medium.  Produce interesting 
and exciting content about programming that kids will want to consume.  
Post it on YouTube, MySpace, FaceBook, etc.  Make it easy for them to 
share it with all their friends.  They're only a few clicks away from 
trying their hands at programming.  It's certainly better than having to 
convince their parents to shell out $3K for a 1981 computer that even 
the parents didn't know how to use.

In my opinion, this outreach is already happening.  It certainly 
wouldn't hurt if it happened more, though.  The key to remember is that 
we need to recruit people at every level of complexity.  Just as it's 
important to recruit people who will someday contribute to the Linux 
kernel, we need to recruit people who will author the 3D worlds that 
will eclipse our 2D movies in popularity.  Personally, I think our most 
urgent need is people who "get it" regarding semantic networks and the 
convergence of global data.  The time that our kids are spending in 
"information overload" and attempting to consume more media than they 
can understand is actually furthering this goal.  The smartest of them 
are learning the patterns that sift useful from useless.  They are 
understanding how to make superficial opinions about a link's contents 
in mere seconds.  You might call it attention deficit disorder.  I call 
it evolution.

You can choose to see modern PCs as either a distraction from success or 
a superhighway to attract thousands of new recruits.  It's both, 
simultaneously.  It's up to us to build the signposts along the road.  
If you want new recruits, you've got to make it interesting and help 
them see why they would want that path.  Show them the ways they can 
improve the world, further cross-cultural understanding, and create 
global prosperity.  The talented ones will take that bait and create 
things we've barely dreamed of.

Kind regards,
Justis Peters
http://www.linkedin.com/in/justis



More information about the TriLUG mailing list