[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