
Why every new generation of programmers are becoming dumber than the last - FreeWorld
http://freeworld.posterous.com/why-every-new-generation-of-programmers-are-b
======
kls
I disagree with the summation of the article, the point of advancement is to
make something so common place and autonomous that it does not require
understanding to use.

Advancement is not ignorance it is creative capacity used in different
applications. Lets take for example electricity, at one point, it was only
usable by those that knew how to generate it. At a certain point higher level
interfaces where developed like the power line and then the outlet. At a
certain point the generation of electricity was wholly separated from the
consumption of electricity. People no longer needed to understand how to
generate electricity to use it, even if they where developing new and novel
technology that relied on electricity. They may need to know a little about
the consumption characteristics of electricity but they could be totally
ignorant about how to generate it.

I see the computer as very similar, we have moved beyond the implementation.
For most tasks the hardware has been abstracted away allowing the creative to
focus their efforts on higher level advancements. It does not mean they are
some how dumber just that their understanding may be focused on more advanced
subjects.

------
gte910h
1> C++ is a bad example, it has notoriously leaky abstractions which require a
soup to nuts understanding to effectively use it in a professional setting.

>What’s the fun of letting someone do all the work for you?

2> Getting onto another task. The levels of abstraction in today's toolkits
give you 10-100x the functionality for the same effort 12 years ago for many
things (including modern C++ libraries).

3> Embedded programmers most definitely are still getting into hardware
constraints. Good iPhone and Android devs worry about power and memory all the
time as well as performance differences in multiple versions of devices as
well as when memory gets scarce. Embedded Linux developers worry about total
system memory footprints/lifecycles and boot/update cycles, etc.

------
yzhengyu
Those who started out as programmers at the beginning of the computing era and
who remain in the same field of computer science are of course, going to be
experts in their fields due to years of accumulated experience, knowledge and
skill.

So while the guy has made his points, I wonder, is this a classic case of
survivalship bias? Just like when I hear people say, "They don't make houses
like they use to." - isn't this the same? What if, the mediocre programmers of
the past have simply moved on to other fields?

And of course, as many people have already commented, there remains many
programmers who continue to work quite close to the metal. However, while
their area of expertise lies in building embedded software systems, I would
not automatically assume they are going to be fantastic at, say scaling a
website to serve up to 100 million live views per day.

------
markovbrecht
To go with the breadth of the analogies. Don't you think the gas idea is a
little way over board? I mean, "refuelling" is really still a part of the car,
it will never not be an integral part of driving a car, and thus people will
always know about it. The same way as the concept of objects in OOP or
pointers, or simple looping. These are core facets in programming, and as long
as programmers know about this. I think we are good to go.

As for my analogy, let's take fire. When fire was created, people had to use
the lowest of levels to conjure it: rubbing sticks (or waiting for lightning).
Now, we've had a lot of "high level" fire makers that, despite the fact that
we do not have any knowledge on the machinations of stick rubbing, we are
still knowledgeable about the "management". of fire.

------
Hyena
Or every generation of programmers gets larger and more varied than the last
because of increasing computer penetration (there was a time when they weren't
in most _governments_ , now they're in most _pockets_ ), the lure of jobs and
exposure through school.

As your population grows, your average usually goes down unless there are more
smart-and-deep people than not. That's why each generation of college grads is
dumber, for example: more people go as a percentage but more people aren't
super-smart as a percentage. Even if you have more S&Ds than not, selection
effects might bring you down over time because they were the first adopters,
leaving the remaining pool worse on average.

Never ascribe to character what can be more easily ascribed to population.

------
tomjen3
I don't buy his arguments even though they are common. I don't think there is
anything virtuous about using only a few kilobyte of memory when it would be
better to just use the couple houndred MB that would make your program
simpler.

Likewise I don't think that frameworks are an issue, they just speed up dev
time and you need to understand how they work at some point anyway (properly
when the abstractions break down).

------
edgeman27
Does it really make sense that each new generation of programmers learns all
of the previous generation's knowledge, as well as the "new" knowledge? Take
this 10 generations into the future, are you really expecting them to know
about AND gates and race conditions? What's the point? Could they not spend
the time advancing technology further, instead of looking back?

------
known
I think
[https://secure.wikimedia.org/wikipedia/en/wiki/Integrated_de...](https://secure.wikimedia.org/wikipedia/en/wiki/Integrated_development_environment)
are making programmers dumber

------
BrandonMathis
_Says the 16 year old_

