3 ms·
> I would say that this basically screams "badly taught programming". Missing semicolon does not take down work, it just needs to be put back in and ide should
by Legion 9y ago
> I would say that this basically screams "badly taught programming". Missing semicolon does not take down work, it just needs to be put back in and ide should help you.
The point is that the incidental complexity is there, and that it's something that has to be dealt with, to even begin to get to the fundamental part of the problem.
That you have to be using the right IDE (and learn how to use it, and learn to recognize it's attempts at helping you with the problem) does not refute the point, it's a perfect illustration of it.
CS isn't harder. CS has high incidental complexity, the crap you have to deal with just to be able to work on the problem within a real world environment.
- jrochkind1 9y agoAnd yet I had zero problem learning Logo when I was like 10 years old. Neither did _most_ of the other 10-year-olds in the class. They didn't all take to it as much as I did, but the majority of the class was not stopped by the frustration of syntax errors. If you can teach programming to 10-year-olds without it being too frustrating... on the other hand, I suppose you could argue that younger people will have an _easier_ time, for the same reasons (human) language acquisition is easier for children. I dunno. I'm not sure how it relates, but what I think was _really_ an immense aid to people of any age learning programming in the 80s was that computers and software were _simpler_, meaning that you could very quickly approach the level (at least at first glance) of 'real' software with what today seems like 'toy' software. The text adventure games I started writing as a child weren't actually _fun_ for anyone to play but me, but they _looked_ like a real text adventure game that other people played, they had the same form. Or the ascii-graphic blackjack game. There was gratification with a pretty low bar. I have no idea how I'd become a programmer today. It's an entirely different path. People ask for me for advice, and in my head, I'm like, well, first be a child in the 80s with an Apple IIe, then start writing for the web when all you need to know is HTML and you write it in Perl cgi-bin... I have no useful advice. I do have a CS degree, which I got in the 90s.
- lliamander 9y agoYeah, I tried to teach myself programming in high-school (mid 2000's) because I wanted to try and get into building games. I was overwhelmed by the complexity of even setting up the tools. I figured I wasn't cut-out for it. Then in college I decided to take an introductory programming class that involved writing simple C programs and I was hooked. The prof did a good job of minimizing the accidental complexities of programming.
- watwut 9y agoThat is the thing, you should not deal with that when you are just seeing for cycle for the first time. You should not be anywhere near compiler flags. The IDE is something you should start with. Text editor + compiler is the harder way. The first class should start with opening IDE and writing something really simple. Like someone mentioned logo or the old basics - if kids start in that environment they pick it up quite easy. They pick up concepts (wtf variables, yes does not matter how they are named, conditions, for cycle, functions) and there is instant gratification and little complexity. Just playing those games with little robot and arrows that "programs" it or simple scripting language in some game already makes much difference. Then you can move on compiler and java or C - because basics are out of the way and it is the time to deal with what you call incidental complexity. Basically, one concept at a time. It is a bit as like teaching quadratic equations to people who were never taught normal ones nor much arithmetic.
- Legion 9y agoLogo is great and all, but we're not talking about beginning programming for kids, we're talking about CS degrees. At some point between Logo and bachelor's degree, you run face-first into that complexity, which is the "wall" the commenter atop this thread was referring to.
- watwut 9y agoYes, but many students are basically at the logo level at that point. They struggle with basics. Then there is huge sudden jump to compiler flags which you call the "wall". But that is exactly what I call bad teaching. There is no reason for that to be the wall, all you need is not to teach them everything at the same time in lesson one. This is combined with culture which tenda to attribute easily learnable skills to "natural talent" - so students conclude "I am not that talent" and go somewhere where they think they are talent. I mean, you can teach concepts one at a time and still be demanding and require certain speed. I am not saying it should be easy. You however should separate those concepts from each other and teach them one by one. Otherwise you just relying on them to have it "picked up" randomly which is not an expectation other majors have (like physics or math or biology).
- 9y ago