4 ms·
Take this with a grain of salt, but IMO the reason some people who try to learn programming end up with this type of mindset is because they have a wrong mindse
by sev 13y ago
Take this with a grain of salt, but IMO the reason some people who try to learn programming end up with this type of mindset is because they have a wrong mindset to begin with: they believe learning to program should be relatively easy and have an obvious and relatively simple path to mastery. From my experience, this is not the case at all. If you read any math textbook, generally the last problems in a section are the most difficult to understand and answer, unless you've mastered all the concepts in that section. Pure Computer Science is harder than pure math in many ways; 1) because unless you master all the concepts in a section, you won't get too far, and 2) computer science in general, but specifically this textbook is geared toward people who have already somewhat mastered mathematics, so all or most of the problems will be like the last problems of a section in a math textbook.
"If it comes easy, then you're not doing it right."
- bennyg 13y ago> "If it comes easy, then you're not doing it right." I don't like that advice at all. Sure, not everything's easy, but the hard way is almost certainly not the right way. When I was learning to program (still am, as should all of us who are programmers), pointers came easy, arrays came easy, hash maps came easy. Almost every concept makes sense. I'm not some intellectual godsend either, so I know there are probably a countless amount of others who feel the same way. I think that the most likely option is that the "teacher," or at least method of teaching, is bad.
- andrewl 13y agoIt's also possible that the teacher, or the method, is simply a bad fit. I watched some of the SICP lecture, and they, and the book, are a bad fit for me, partly because I lack much of the math background. I'm sure there are other people for whom they're perfect.
- impendia 13y agoI think you definitely have a point -- but there's a case to be made for including some hard material in the text, and including some easy exercises. Indeed: Hard exercises have an important purpose. They are about problem solving. But so do easy exercises. They force you to make sure you understand the basics of what you're doing, and suss out bad habits before they become ingrained.
- nickpinkston 13y ago> they have a wrong mindset to begin with: they believe learning to program should be relatively easy and have an obvious and relatively simple path to mastery The masters of every subject say stuff like this, and it's really just a type of myopia of the craftsman. I work in manufacturing and people tell you shit like this all the time. Imagine a 19th Century Car Driver: "People who think learning to drive should be relatively easy are missing the mastery required for match-rev shifts, air-fuel mixture, spark management - not to mention the intricacies of debugging your carburetor on the side of the road." Programming will continue to be made more accessible, as is the apparent trend. Nearly no developers know what's really going on under the hood except people who specialize in assembly, CMOS, etc.
- sev 13y ago> Programming will continue to be made more accessible, as is the apparent trend Of course it will become easier over time...just like everything. Consider John Carmack and what he did when writing Doom, Wolfenstein, etc...I can almost guarantee you when he was programming, programming was A LOT harder than what it is today. But the difference there is nothing more than time. Even if it's getting easier over time, my main point still stands.
- Arelius 13y agoI'm not sure I agree... While it's certainly true that to create the same thing that Carmack did would be a lot easier today. Working on Carmack level code remains very difficult to this day. It's just that the bar has moved. Sure, a simple ray-caster isn't going to need a lot of optimization today. But when you are dealing with the sort of data that is now common. Optimization can be just as important. While languages have have improved for the better, other things have created other challenges. Consider the PS3 Cell architecture. Considered to be a much more difficult architecture to program for than the processors of Doom's day.
- agumonkey 13y agoThere's a psychological threshold. If something is made easy then you'll have almost no reason to make the effort to go knee deep and back up again into abstraction when needed.