4 ms·
I am very illiterate in C, but I am put off by singling out C as an unproductive language. C might not be the best language high-level tasks, but I know more th
by Argorak 16y ago
I am very illiterate in C, but I am put off by singling out C as an unproductive language. C might not be the best language high-level tasks, but I know more than one person that is as least as productive in C as I am in several scripting languages. C is a cool and productive language to begin with if you are interested in the stuff C is good for.
I would very much prefer if that paragraph encouraged learning multiple languages early and comparing them. I had my first CS professor at the university do that with me: I learned ML, C and Java in the first 2 month of studies. I only understood half of it, but it already showed me one thing: languages are tools as everything else in the CS world. Different tasks, different tools.
- torpor 16y agoC can be very productive if you put your energy into the right place: choosing your libraries and build-system to support the needs of your application. I can right now build a lot of code in C because I've got the frameworks already set up and ready to go. I've got server code, xml-parsing, file i/o, database access, html-output, etc. - all functionality provided to me because I've done the work to set up the C build environment to support it. And, I think, I can be quite productive in C as a result.
- swift 16y agoI'm not sure I agree that learning multiple languages in the first 2 months of studies is a good approach. I think it's difficult to appreciate the advantages and disadvantages of a language until you've really used it for a while, and I'd underline that several times if we're talking about a new programmer learning their first languages. Better to learn one (ideally well-chosen) language well enough that they have their footing, so that they can put other languages in context and understand the problems they solve (or create!).
- SingAlong 16y agoI partly agree with you that learning multiple languages helps. But how long do you keep doing that? Instead, pick some language and just create something. It satisfies the creator's thirst. Your point makes me agree with Paul Graham, that there is a fine line dividing those who learn stuff for fun (academics) and those who create stuff for fun (creators/hackers). I love how Paul Graham's essay "Hackers and Painters" (http://paulgraham.com/hp.html http://paulgraham.com/hp.html) differentiates Math guys, traditional CS guys and the hackers(creators). I'll have to mention that at some point, the interests of these 3 kinds of guys overlap and IMO, that overlapping point is programming.
- Argorak 16y agoOh, I wouldn't say that you should not stick with one. In the end, I ended up with just doing Java for university and learning a co-language (Ruby) for personal pleasure and fun. Pick early on. You can also pick based on the support you gain from the community for your special problem. But at least have a look at some of the tools that are handed to you instead of blindly picking one. The problem I see is that a lot of people stick with the first language they ran over, even if it was not fit to solve their initial problem.