| > There's room for both. Sure. I'm all for learning ML, Scheme, C/C++, Python, Ruby, Java/C#, etc. > There's a reason why a lot of CS programs have shuffled from primarily C to Python (some had Java in between). The reason is called dumbing down the curriculum. My fall freshman year, my college tried to switch from C to Java in order to make it easier for the general population to get into CS and there was a major pushback from the CS student body, alumni and a bunch of the CS professors. We went back to C/C++ my sophomore year. > Not having to deal with boilerplate and housekeeping lets you focus on learning the topic at hand. I disagree. Having to deal with the boilerplate and housekeeping helps you learn the topic at hand. > But after learning the basic concept, you do need an actual implementation if you want to do anything. I disagree. Giving them "training wheels" will keep them dependent on training wheels. In an idealistic world, people go from Java/Python to C/Assembly, but that's rarely the case. CS should begin with Math ( boolean algebra/logic/etc ), Assembly and C. Then go on to functional paradigms. Then to OOP. Etc ( in the language ). Of course they should also learn about OS( kernel/filesystems/etc ), networks, computation theory/etc, compilers, etc. The dumbing down of the curriculum so that music/english majors can pass CS classes doesn't do anyone any favors. |
This breaks the HN guideline against flamebait. Please don't post like this here.
https://news.ycombinator.com/newsguidelines.html