3 ms·
Forgetting how to Program
- alatkins 15y agoSummary: scrape by while learning the bare minimum, reinvent the wheel for perpetuity.
- rizwan 15y ago> This is why I don't believe in computer science degrees. Computer science degrees aren't about learning a computer language; they're a ramp to learning about and practicing programming.
- sophacles 15y agoExactly, the language I programed while I learned about basic data structures (java) has changed a quite a bit since 1998, but the linked list is still the same. So are recursion, and the binary tree, and a dozen other simple concepts from that class. Similarly, I don't touch C++ or Oracle databases any more, but I still understand joins and how to go over data (fairly) efficiently - those really haven't changed either. If anything, I wish they had used a simpler language, and as a result gotten rid of the wasted hours of going over the languages (except maybe one in depth language course in something like java or C), and instead put more general problem solving (and solutions) into the material. That stuff is invaluable.
- mjmahone 15y agoBut surely, you don't expect to actually use trees and recursion in your actual projects? All you need to be a good programmer is to take the libraries someone else has developed, and like websites of yore, cut and paste what you need into your own projects. Right?
- kylemaxwell 15y agoEven deeper than that, computer science is about the theory behind computation and what we can discover & create with it. Or, as Dijkstra said, "Computer science is no more about computers than astronomy is about telescopes." Computers are a tool for this discipline, and programming is a way to manipulate and control that tool. If all somebody wants to do is sling code, CS is even more than they need. But they probably will want to do more than that someday, so the foundations of CS can serve them well.
- mmj48 15y agoFTA: > This is why I don't believe in computer science degrees. What you learned 5 years ago may not be relevant today. CS degrees aren't about what you learned, but what concepts your mind digested and grew from.
- jballanc 15y agoThe author's attitude toward CS degrees stems from an insidious issue affecting higher education in America (and that, in my opinion, will eventually be its downfall). College is not where you go to learn something. That's what trade schools are for (at least traditionally). College is where you go to learn how to learn. Not everyone wants to learn how to learn. Not everyone needs to learn how to learn. There are a great many professions where one simply needs to be trained, and then set loose in the "real world". Programming is not one of those professions. So as colleges have shifted toward satisfying the masses, the majority of whom fall into the category of not wanting or not being interested in learning how to learn, they are increasingly failing those who need such skills.
- mquander 15y agoIf you're going to repeat this cliche I think you need to explain how colleges are teaching people to "learn how to learn," how that differs from the way they would teach them "something," and why you think the idea of one without the other is coherent. Since I went to school too and I observed teachers at all levels laboriously explaining something, testing students carefully on their specific knowledge of something, and awarding them diplomas and degrees in something, I am skeptical of the assertion that they were actually doing something else.
- jballanc 15y agoTo take a common CS example: sorting. You can teach someone how to use a library sort function. That's teaching a trade. You can teach someone how to write a quick sort. That's still teaching a trade. Alternatively, you can teach someone how to analyze the big-O runtime and space requirements of a variety of sort functions. You can teach them how to recognize best-case and pathological-case inputs and what that means for the runtime. You can teach them the difference between a conservative and non-conservative sort. The student that learns how to write a sort function will know how to write a sort function. The student that learns how, when, and why to do detailed algorithm analysis will be able to write all kinds of algorithms, even ones that don't yet exist. That's the difference between "learning" and "learning how to learn".
- amcintyre 15y agoThis is why I don't believe in computer science degrees. What you learned 5 years ago may not be relevant today. If the things one learns in a CS program are irrelevant 5 years later, that's a pretty crappy CS program. I don't worry about my CS knowledge becoming irrelevant any more than I worry about calculus or differential equations becoming irrelevant.
- Hortinstein 15y agoI think OP may be confused that a lot of CS shouldn't be programming language specific. I haven't touched a lot of the languages I learned in college, but knowing specific patterns, data structures, algorithms, control flow, etc and how they may be integrated into the language I am using, whether as a feature of the language or even part underlying VM helps immensely when making intelligent decisions structuring my program.
- dougws 15y agoYes, clearly you have to relearn everything you know about computer programming now that a new version of PHP has arrived.
- billsix 15y agoI am surprised that this article made the front page.
- dinkumthinkum 15y agoThis is spoken like someone that doesn't know computer science at all. So, knowing computer science means you understand the fundamentals of programming and abstraction for computational purposes and this person is saying "screw that. what you should really care about is what a 'while' loop looks like not just in your programming language of choice but only the latest version of your programming language of choice.' Very naive.
- olalonde 15y ago> This is spoken like someone that doesn't know computer science at all. Hint: read his other blog posts. My personal favorite: http://max-michaels.blogspot.com/2011/10/best-javascript-debugger_31.html http://max-michaels.blogspot.com/2011/10/best-javascript-deb...
- tincholio 15y agoThe author seems to have no clue what CS is, or how it might differ from programming in PHP.