For the first time in the history of TIOBE's index, Java has slipped out of the top two, leaving Python to occupy the spot behind reigning champion, C.
Once upon a time, it was the dominant language (still kinda is), and it's halfway between the laziness of a scripting language that does most things for you (can teach bad habits) and a more hardcore language like C (which is bad for beginners and forces you to do a lot of extra work.)
No language since strikes that balance quite so well while still being a good teaching tool for beginners. Maybe C#?
Teaching programming is always gonna be a pain in the ass and is always gonna be half irrelevant by the time you're done with it.
We're not supposed to be programmers anyways, all we need is a scripting language to run a few dumb scripts. We learn all that OOP in the first semester that we just never fucking touch again, it's utter clown shit.
I remember sitting in on a CE class once while, as a "challenge," their assignment was to purposefully use a binary tree wrong, and to make it using a 2d array in C. They were not only learning something they weren't taught to understand and would never use again, they were being forced to use it wrong on purpose.
It's a symptom of the fact that programming developed out of the computer science discipline, coming out of the Math major department. So there's never been a good, cohesive way to just teach the basics to people. It's always carrying all of this stupid baggage along with it.
Oh, I forgot to mention the best part: in the exams, we have to write the code ON Paper with a pen etc. That's right, we don't even have a computer next to us or anything, we write down the code on a sheet of paper with no other aid. And it doesn't help that the asshole professor will often detract many points for forgetting a semicolon.
Ugh that's godawful. Reminds me of my last interview, where I had to write compile-ready Java code on a fucking whiteboard. After that I decided I would never again write code in an interview. If someone wants to know if I can code, I can provide them with some code I've written, but I'm never doing another whiteboard coding exercise again.
Once upon a time, it was the dominant language (still kinda is), and it's halfway between the laziness of a scripting language that does most things for you (can teach bad habits) and a more hardcore language like C (which is bad for beginners and forces you to do a lot of extra work.)
No language since strikes that balance quite so well while still being a good teaching tool for beginners. Maybe C#?
Teaching programming is always gonna be a pain in the ass and is always gonna be half irrelevant by the time you're done with it.
We're not supposed to be programmers anyways, all we need is a scripting language to run a few dumb scripts. We learn all that OOP in the first semester that we just never fucking touch again, it's utter clown shit.
No argument there.
I remember sitting in on a CE class once while, as a "challenge," their assignment was to purposefully use a binary tree wrong, and to make it using a 2d array in C. They were not only learning something they weren't taught to understand and would never use again, they were being forced to use it wrong on purpose.
It's a symptom of the fact that programming developed out of the computer science discipline, coming out of the Math major department. So there's never been a good, cohesive way to just teach the basics to people. It's always carrying all of this stupid baggage along with it.
Oh, I forgot to mention the best part: in the exams, we have to write the code ON Paper with a pen etc. That's right, we don't even have a computer next to us or anything, we write down the code on a sheet of paper with no other aid. And it doesn't help that the asshole professor will often detract many points for forgetting a semicolon.
Ugh that's godawful. Reminds me of my last interview, where I had to write compile-ready Java code on a fucking whiteboard. After that I decided I would never again write code in an interview. If someone wants to know if I can code, I can provide them with some code I've written, but I'm never doing another whiteboard coding exercise again.