|The programmers before us were better|
|"When I started writing programs in the late 80s it was pretty primitive and required a lot of study and skill. I was a young kid doing this stuff, the adults at that time had it even worse and some of them did start in the punch card era. This was back when programmers really had to earn their keep, and us newer generations are losing appreciation for that. A generation or two ago they may have been been better coders than us. More importantly they were better craftsmen, and we need to think about that." I'm no programmer, but I do understand that the current crop of programmers could learn a whole lot from older generations. I'm not going to burn my fingers on if they were better programmers or not, but I do believe they have a far greater understanding of the actual workings of a computer. Does the average 'app developer' have any clue whatsoever about low-level code, let alone something like assembly?|
|Depends on the developer|
|By jessesmith on 2012-09-28 22:35:21|
I'm a modern programmer that picked up assembly early on and it has given me a greater appreciation for the workings of higher level languages. Not that everyone needs to do that, but I do think the more familiar a developer is with the lower layers (whether that be OS, CPU, Assembly code, etc) the more likely they are to turn out efficient, well-designed code. |
On the other hand, I know programmers who have been in the field for decades who are terrible developers who like to just go wading into the middle of a pile of code, deleting and copy/pasting stuff without any idea of what the code does or why it works the way it does.
Short version: Being a good developer isn't a generational thing, it's a combination of experience, education and attitude.
|- Score: 14|
|It's because the learning curve is higher|
|By WorknMan on 2012-09-28 22:36:38|
The author asks: |
> We have so much. I would have never dreamed in 1995 that I would be carrying a library of technical books with me whereever I go with my Kindle Fire. I have a laptop that I can use to develop stuff in several languages for multiple platforms and products. We are empowered now more than ever.
Why aren’t we learning more?
Well, the truth is that we ARE learning more, but there is so much more to learn now than in the old days that we learn a lot less about everything. For example, if you programmed on a Commodore 64 in the early 80's, you probably coded in either BASIC or 6502 assembler. These days, there's probably 328302439230 languages to choose from, with at least as many frameworks for each language. Thus, it would literally be impossible for us to be as knowledgeable as people were back then. I've heard that it used to be possible to know everything there was to know about PCs. Now days? Perhaps if you had NZT or something :)
The most you can do is to try and become an expert in a specific language. (Or maybe 2 or 3, depending on whether or not you have a life.) For example, if you're coding web apps for a living, it probably wouldn't serve you as well to become an expert at hardware, as much as it would if you were coding close to the metal on embedded devices.
I hear some people bragging about how much more they understood their C64 than the modern computer user, but I can do far more useful and productive stuff using just AutoHotKey than they ever could on those old machines, so as far as I'm concerned, they can suck it :P I give more props to people who can actually get more productivity out of a machine than to someone who can explain in detail what each register does inside of my CPU.
Edited 2012-09-28 22:37 UTC
|- Score: 11|
|The pool just expanded|
|By Yamin on 2012-09-28 22:43:52|
Those 'old' programmers might have just been from a select group of people who were really interested and educated in computers. I don't think it's a shock that they actually be very talented and knowledgeable. |
As computers expanded into a general field, more and more people entered it of varying quality. Since software development is not a regulated field in anyway, there was no way to maintain any sort of quality as other professions do (medicine, law, nursing, engineering).
The result is the a valid perception that your average programmer today is not very knowledgeable and perhaps not as good as 'ye old programmer'.
But I think if you took a good solid software developer of today and compared them to 'ye old software developer', they'd stand up quite well in terms of the inner workings... and they probably know a bit more in terms of rapid development and web technologies, frameworks, UI, usability, various specializations, security...
The stone age people who used moss, leaves and berries to create paint on cave walls that still this day we can tell were supposed to be various animals were extremely skilled at using the absolute most primitive low level tools possible to produce something that isn't great art by current standards but is still instantly recognisable. |
Were they better than the guy thousands of years hence who can use bic pens, the culmination in many many years of writing evolution, to draw near photorealistic renderings of people and animals?
Then there are the guys using those modern tools, the bic pens, like me who can draw a pretty mean stick man and that's about it.
The point I'm making and my feeling about it is that the tool is irrelevant: what you produce in relation to what is possible to produce, is.
I would agree the programmers of the past were a lot better, but I would not attribute that to the knowledge of low level workings of a computer. They just had to work out things for themselves a lot more than they need today. |
The "low levels" are just implementation details. Assembler isn't some kind of old magic* passed down from wizard to wizard. Assembler is just another programming language. There are a lot more functions and a lot more side effects and a lot more detailed documentation about those side effects but there's nothing that makes it different from problem solving in general.
Problem solving skills are what's important. If your solution to a problem is shit, no amount of good coding can save it.
* JCL is though. You never write your own JCL. You copy it from a colleague who's worked on z/OS longer than you, who've built up their own JCL book of spells in the same way. You add and remove cards as you need. There is a mystical 71 character limit and none of the wizards remember where the continuation column is.
|- Score: 2|
|Mostly Bull hockey|
|By Bill Shooter of Bul on 2012-09-29 04:27:40|
|I've met that generation, there were some good ones, some terrible ones, some okay ones. Just like today. They never scaled real time apps cross datacenters or dealt with the flood of data some of us deal with. I think the real thing is that more people today call themselves programmers when all they really know how to do is install drupal on godaddy.|
|- Score: 4|
|By dorin.lazar on 2012-09-29 05:33:13|
I don't think that the older generations were better, they were fewer and most of them were really doing low-level or stuff that were lower level. Now, there are a lot of copy-paste programmers, a lot of mix-and-match programmers that just put things together; without the need to optimize, without the need for better algorithms. These may look as representative, but they are not; SOMEONE is writing the tools for these guys, and those programmers are better. Better than the older generation, better than the current generation. |
So it may look like we're invaded by incompetent programmers, and in a sense it is so. Probably you'll have a 60-80% of the general programmers population that wouldn't be able to write a sorting algorithm correctly. But the numbers are far greater, and the rest of 20% are really good programmers, in huge numbers, doing stuff that could never fit the imagination of the normal mainframe developer.
|- Score: 3|
|RE: Just statistics|
|By dorin.lazar on 2012-09-29 05:41:55|
|Even so, 1% out of 20 million is far better than 50% out of 50.000|
|- Score: 2|
|RE: The use of tools is what matters|
|By unclefester on 2012-09-29 06:16:47|
A former housemate of mine taught drawing at a major university. He told me that that photorealistic drawing and painting takes very little skill. It is actually far harder to draw high quality abstract art. |
The cave painters at Lascaux were far more talented artists than some guy mdern guy drawing with a ballpoint.
|- Score: 3|
|in the olden days|
|By unclefester on 2012-09-29 06:21:59|
|Back in the 60s and 70s you often weren't weren't allowed to programme a computer unless you were a mathmetician doing graduate level research. It cost so much to operate computers that no one was going to let a brainless noob anywhere near a punch card or teletype.|