4 ms·
If I had to overly generalize, programmers tend to fall into the "builder" and "curiosity" camps. I grew up using a Borland C++ compiler that didn't list which
by wting 12y ago
If I had to overly generalize, programmers tend to fall into the "builder" and "curiosity" camps.
I grew up using a Borland C++ compiler that didn't list which line numbers were missing semi-colons. I didn't mind going over my code to find the missing semi-colon, but plenty of my classmates were frustrated. They weren't interested in how compilers worked, how code was parsed and debugging information was lost in the transition. They just wanted to build a game, a web site, something.
At college I had a difficult time with Scheme and looked down at it. Where's the manual memory management? The pointers? The for loops? Scheme abstracted away a lot of plumbing and let users focus on algorithms.
Nowadays I think Python is the ideal first language followed by C and Haskell. It's starting in the middle, and then moving towards opposite ends of the programming spectrum: systems and functional programming.
Some make the argument that CS students should be dedicated enough to plow through an introductory course taught in Java / C++. I think that's an elitist attitude. CS is not growing in popularity despite increased demand[0], and new students should be welcomed instead of facing artificial filtering measures like "dedication". At the same time, this is not a proposal to water down the major--just a plea to ease students in instead of kicking them off a cliff and hoping they can fly.
Edit: Another front page article (https://news.ycombinator.com/item?id=7760790 https://news.ycombinator.com/item?id=7760790) discusses this issue:
> One might also argue that these tools are simple enough once you learn to use them. I would only point out that, emperically, that bar is too high. Despite the clear benefits, the vast majority of the world was chosen to remain illiterate. Even tools for which there is a clear need (eg version control) have largely failed to make a dent. Clearly there is a need for a less hostile programming environment.
[0] http://www.itworld.com/big-data/418701/american-college-students-aren-t-flocking-computer-science http://www.itworld.com/big-data/418701/american-college-stud...
- cpeterso 12y ago> Nowadays I think Python is the ideal first language followed by C and Haskell. It's starting in the middle, and then moving towards opposite ends of the programming spectrum: systems and functional programming. I agree. My friend studied CS at UC Berkeley where (at the time?) first semester was Scheme, second semester was assembly language, and then subsequent classwork was usually C++ or Java.
- revelation 12y agoThe dedication filter is much of the value the college experience provides. As many people would argue, a degree in CS doesn't actually teach you marketable or relevant skills to a sufficient degree.
- rwallace 12y agoWhen teaching young children, 'to ease students in' is a good idea. But for first-year college students, it's the worst thing you can do to them. The ones who chose the right course will be okay either way, but the ones who chose the wrong course won't get to find out until it's too late to switch, at least not without having wasted a nontrivial chunk of their lives. The overriding criterion for a first-year college programming language is to have a difficult learning curve to give students accurate information as early as possible about the nature of the subject they've signed up for.