Some people will say that modern languages are the reason behind the production of generations of "inferior" programmers of late. Because they provide a lot of things in hand, people tend not to delve into the basics and learn the insides... Do you agree, or disagree? Please share your views with me! :)

(Since this is only a matter of opinion, you are free to add anything you want)

It's certainly frustrating when I'm working with a programmer who clearly has a weak fundamentals, but I don't think "modern" languages (whatever you choose to mean by that) are the only culprit, or even the most prominent culprit. More likely is this wonderful resource we have called the internet, and the fact that one can practically cut and paste their way to a reasonably functional application with little more than a laundry list of Google queries.

It's simple evolution concerning languages that do a lot of the grunt work for you, because software is becoming ever more complex, yet our deadlines for writing it remain short, and the capacity of our brains remains limited.

commented: I agree, though I sort of was referring to the detailed libraries given out with the language(s). Though it makes coding easier, new people tend to stop using their minds once they see the libraries. Just saying. :\ +0

Anyone who says that the current generation of programmers is in some way inferior to those of the past, is clearly unfamiliar with the programmers of the past. You must recall that until very recently the vast majority - 90% or more - of programmers were COBOL coders, often with only a few weeks of training before being set loose on the computer world. If you truly think that they were any more inclined to delve deep into the details of the field, you are deluded.

So why do the current coders seem so much worse? It's simple: numbers. The sheer number of newly minted programmers, and the considerable monetary gains to be made by working in this field, mean that the overwhelming majority of newcomers will be people with little actual interest in computing and are looking only for a quick paycheck. This last part has always been true, or at least has been since the early 1970s, but the sheer volume of would-be coders means that the education system in place is being swamped. This is especially true in places like India, Brazil and the former Iron Curtain countries, where the disparity in incomes is even more dramatic and where there have been strong pushes by the national governments to encourage people to enter the field, but little infrastructure added to facilitate them.

Schol-R-LEA, I must agree to your point too, and being from India myself, I am with you when you say that the IT Industry lacks in infrastructure. Let me cite an incident from school - when I was in 12th grade, 95% of the people opting for Computer Science as their additional subject (and opting from CS in undergraduate courses after 12th) were going towards the field only because of monetary gains, and not genuine interest towards this field or a will to expand the field itself. That is what my country primarily lacks in, though there are many exceptions to that.

Deceptikon, copy-paste programmers are indeed very common nowadays, and I can not help but agree. People want instant solutions to their problems and they don't want to apply their minds. See for instance a lot of posts on the forum asking the community to "do their homework", even though it is against the forum rules. The same thing will be seen on other forums like StackOverflow or dream.in.code. (dream.in.code ran a great article on this, once, I reminisce)

Thanks for your views, though, guys.

When I think of the state of CS education around the world - and yes, especially in India - I am reminded strongly of what Dick Feynman said about Brazilian physics work in the 1950s: that there are a lot of people 'learning' computer programming by rote, without actually understanding the meaning of what they are doing. This isn't to say that there aren't brilliant Indian programmers - I've known several - but they are, for the most part, the one's who went out of their way to learn the subject, which means that despite the public efforts to educate people on the subject, the number of competent programmers is virtually unaffected.

I don't mind that there are lots of "inferior" programmers, in the sense that their knowledge is limited to being able to push the right buttons here and there to get the job done without much understanding of either the technical details or the theoretical aspects of things. I don't mind that because we need a lot of those people, after all, the bulk of all the software being developed worldwide is absolutely trivial to write (e.g., mobile apps, web-pages, etc.), I mean, trivial in the sense that it doesn't require deep technical know-how or fancy out-of-this-world algorithms.

The problem is, whether you're interested in learning to push buttons for a living, or in learning the deep technical know-how, or in creating the next fancy out-of-this-world algorithms, what do you do? You enroll in a CS degree. This is unsustainable. It creates introduction-to-everything curriculums that try to mix all of these things into one, and the people who graduate from those CS degrees are led to believe that they are now experts at all these things when they are at best a novice at one of them (and they often have an attitude, big talkers, little doers). And as Schol-R-LEA said, the people who actually turn out to be really brilliant are those who went out of their way to really learn the subject, and they often have a lot of trouble getting that recognized as they are stuck in a crowd of average button-pushing programmers with basically the same paperwork (diploma) as they have.

When you ask button-pushing programmers to produce code that is anything short of trivial, you get largely copy-pasted code from the web. Why would you expect anything more? The problem is in the expectation and in the attribution of expertise. If coders could wear a label on their forehead saying "I'm a button-pushing coder", that would be perfect, you just give them the button-pushing tasks and keep your expectations low (and pay them according to that).

I think there is definitely a kind of bubble building up right now (and has been for some time, and I guess more so in developing countries). Because of the high demand for coders, there is high-pay, and thus high incentive to go into that field, and universities / schools are ramping up their throughput of students. This leads to lots of sub-standard employees with over-valued skills, and it hurts both the companies that have trouble establishing reliable sources for employees that are worth their pay, and it hurts those who are truly competent.

It's bound to re-adjust itself eventually, and I think it will more likely take the form of a greater spectrum of curriculums.

commented: Yup. +0
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.