3 ms·
> The degree had courses on things like writing interpreters, compiler theory and you actually had to understand how it all worked. You do understand that you
by klibertp 8y ago
> The degree had courses on things like writing interpreters, compiler theory and you actually had to understand how it all worked.
You do understand that you can write interpreters and compilers in any language, right? That includes all the scripting languages. JavaScript is actually one of the languages used most often for writing compilers.
> I look at that same curriculum today and the starting development course is javascript (and also Java in year 1).
That's a problem with the curriculum, if anything, and not JavaScript nor Java.
> I don't believe you can start with Javascript as your first introduction to programming and become a good programmer.
In other words, you can never learn to ride a bike if your "introduction to locomotion" happens to be walking. That's harsh...
> nowadays [...] they work at a higher level of abstraction than we had to
That's called progress. And "nowadays" is misleading - the same has been continuously happening since the sixties, and the exact same argument was repeated again and again along the way. Assembler is too high-level, you can't become a good programmer by learning it before microcode (and how to hold a soldering gun!). Structured programming is too high-level, you can't become a good programmer by learning it before free-form assembly. Function calls are too high-level, you can't become a good programmer by learning them before goto. Object-oriented concepts are too high-level (and so inefficient!), you can't become a good programmer by learning OO before procedural or functional approach. It goes on and on and I honestly don't understand what makes people rehashing the same argument so often when even a very basic understanding of computing history would show that it's futile.
> I've seen devs that graduated relatively recently (last 5 years)
Check back in 5-10 years time and see if they still don't understand immutability or references. Not to mention that it could be caused by any number of factors (like, for example, a lower percentage of people coding from childhood in the recent graduates).
Anyway, learning programming takes vast amounts of time and a lot of sustained effort over the years. The bright side is that if you don't slack off, you'll become a good programmer eventually, no matter what you started with. Keep doing it, keep expanding your horizons, and at some point, you'll get to wherever you wanted to be.