tag:blogger.com,1999:blog-21172681.post8769468540437943710..comments2023-10-25T23:39:10.162+13:00Comments on Software Development and stuff: Should All Programmers Learn C? I don't think so.KiwiBastardhttp://www.blogger.com/profile/06464945422472093454noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-21172681.post-25150976266971006132006-12-04T16:22:00.000+13:002006-12-04T16:22:00.000+13:00http://en.wikipedia.org/wiki/COBOL
I suggest you ...http://en.wikipedia.org/wiki/COBOL<br /><br />I suggest you read this. Like or not COBOL is still used in Big Business, and there is a lot of new programs written in Cobol everyday.Jameshttps://www.blogger.com/profile/17381337834045521837noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-59211724433876359752006-12-03T07:45:00.000+13:002006-12-03T07:45:00.000+13:00I think you miss completely the point. "There is e...I think you miss completely the point. "There is estimated to be more COBOL code in the world" this is a very old lie, and every day pass is farther from reality. Surely COBOL locs in active applications dont represent more than 0,1% of the total, and that 0,1% is probably far more than real percentage. Practically no new applications have been started with cobol in las 15, now easily are 100x times active programmers than in the 80s.<br /><br />"A complete fallacy. A program is as fast as its bottleneck and in most circumstances this is the person in front of the keyboard. Also this argument is like saying an Indy car can go 400km/h and an F1 car can only go 360km/h. Therefore an Indy car is faster...."<br /><br /> Hey, your afirmation is the REAL falacy. Although user can be a "bottleneck" surely that user wants a response in a reasonable time. And hey, sometimes doing a thing faster means you can do ten things faster too, and i ask me if it will be true when doing 1000000 things...<br /><br /> Knowing assembler or C does a programmer better. Better because he knows whats works behind the scene. Most actual programmers dont even know what heap or stack are. Or when they apps get interrupted cause OS operations. You easily dont need to know C, but it certainly will help you A LOT, even if wont need it.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21172681.post-78483143728642902442006-12-01T11:32:00.000+13:002006-12-01T11:32:00.000+13:00I agree with most of what you say, but programming...I agree with most of what you say, but programming a micro controller in java? Are you on crack?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21172681.post-70831141187847773972006-12-01T10:26:00.000+13:002006-12-01T10:26:00.000+13:00Matt: Yeah on review, I probably should have chang...Matt: Yeah on review, I probably should have changed "just as many" to "a great number" or something like that.Jameshttps://www.blogger.com/profile/17381337834045521837noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-11190412881486795542006-11-30T13:02:00.000+13:002006-11-30T13:02:00.000+13:00I agree with several of the other commenters that ...I agree with several of the other commenters that the original list was bollocks but C nevertheless teaches things that are important to learn as a programmer -- vastly more so than the unremitting dog's breakfast that is C++, for example. C's qualities are usually not sufficient -- a proper functional language is a valuable complement and there are a few other things I'd ideally look for too -- and they may not even be necessary for some roles, but they do contribute to better programming.<br /><br />However, the real nit I'd like to pick is your response to 7: if you'd picked Perl and Python you might have had a leg to stand on, but there <i>absolutely</i> are not as many Delphi or C# open source projects as C. That's just being <i>silly.</i>matthttps://www.blogger.com/profile/17613815121791429722noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-63960449995183658202006-11-30T10:28:00.000+13:002006-11-30T10:28:00.000+13:00ever seen a woman try to drive a stick shift car?
...ever seen a woman try to drive a stick shift car?<br /><br />same principle hereAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-21172681.post-32097163157142907532006-11-28T15:03:00.000+13:002006-11-28T15:03:00.000+13:00I think in C, it's my 'natural' programming langua...I think in C, it's my 'natural' programming language. There's no oop framework to design first, I just code. It's not verbose like pascal. Clickety clack, clickety clack, DONE.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21172681.post-62898960923957029472006-11-28T07:27:00.000+13:002006-11-28T07:27:00.000+13:00I'm going to have to disagree with you. While I ag...I'm going to have to disagree with you. While I agree that learning C is not necessary for getting a job, it will help you understand the way a machine works and you will have a deeper knowledge of computer science. At the very least, you're going to have a great deal more credibility.Jeremy Cantrellhttps://www.blogger.com/profile/13996385181069408901noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-68633312497751997082006-11-28T03:38:00.000+13:002006-11-28T03:38:00.000+13:00In 28 years of Aerospace work I have yet to see a ...In 28 years of Aerospace work I have yet to see a single controller programed in anything but C. Not C++ and defintely not Java.<br /><br />And actually I have never seen a controller using JVM. <br /><br />I am not commenting on whether or not we should all know C or not. Just the comment about controllers.<br /><br />later<br />bobc<br />http://www.qualitycontrolengineering.comDrosshttps://www.blogger.com/profile/17658125602877320129noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-29328870624633860572006-11-27T19:42:00.000+13:002006-11-27T19:42:00.000+13:00What's wrong with learning C? You don't need to l...What's wrong with learning C? You don't need to learn it, but it doesn't take long to learn, and there's always a lot of utility in knowing it because it's popular. It's like, if you're on Unix, you should learn at least a little shell scripting and maybe some Perl. If you're on Windows, you should learn a little VB or C#. If you're on the Mac, it's useful to learn ObjC. If you use GNU emacs, you should try to learn some Lisp. All these systems were written in C, and it's good to learn for that reason, to get some insight into your environment. It's also very useful to know when you need to write ad-hoc tools to deal with some little issue, and you don't want to make some honkin-huge app.<br /><br />Also, the K&R book is pretty awesome. It's totally worth learning C to read the book. Learning to use some cpp macros creatively is also nice, because languages don't have macros (much) anymore.jadtbfcasshttps://www.blogger.com/profile/06570415701760345674noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-68883268458816599492006-11-27T17:59:00.000+13:002006-11-27T17:59:00.000+13:00UPDATE: I have changed the heading. I agree that i...UPDATE: I have changed the heading. I agree that it wasn't completely fair.Jameshttps://www.blogger.com/profile/17381337834045521837noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-66317479876740369242006-11-27T17:56:00.000+13:002006-11-27T17:56:00.000+13:00Bruko: I think you misread what I was saying in a ...Bruko: I think you misread what I was saying in a couple of points. I wasn't calling C the Daewoo and C++ the Ferrari. I was pointing out the differences. Both look the same on the outside - four wheels, general shape, windscreen etc, but are very different and have a very different purpose.<br /><br />My point with the Indy Car vs the F1 car is the an Indy Car does indeed have a faster top speed, but going around a track with actual corners, the F1 car would be much much faster because of it's greater braking and cornering ability. I.E just because one aspect of something is fast, doesn't make it the fastest in all conditions.Jameshttps://www.blogger.com/profile/17381337834045521837noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-84663882656693624292006-11-27T16:21:00.000+13:002006-11-27T16:21:00.000+13:00First of all, the previous guy's list doesn't look...First of all, the previous guy's list doesn't look like it was written by a 12-year-old; however, the assertion that the previous guy's claims were "complete idiocy", and that the guys is an "idiot" in general, is pretty immature.<br /><br />Secondly, I wouldn't make the claim that C++ is to C what a Ferrari is to a Daewoo. Maybe what a Ferrari is to a 350Z. Most programmers I know use a kind of dialect which incorporates much idiomatic C into their C++ code, rather than programming in a "pure" C++. The differences typically come as much from standard library usage as they do from using C++'s OOP features.<br /><br />Thirdly: An Indy car goes 400km/h whereas the F1 goes 360km/h. So, yes, the Indy car *is*, in fact, faster. Period. The idea that performance bottlenecks come predominantly from the guy behind the keyboard is, in many cases true. But in good shops with competent programmers or better, this is also many times not the case. Sometimes pure performance is an issue.<br /><br />Finally, pointers do matter. They matter because they play a role in understanding referencing, garbage collection and other computational issues, and understanding them is a worthwhile pursuit. Yes, they can be a problem, but so can virulent retorts to posts.<br /><br />Dude, relax. I agree that the other list was, purely speaking, not strictly correct, but I don't disagree with the spirit of it, that programmers should learn as much about their hardware as they can. Is the guy wrong? It depends on what you want to do. But is he an "idiot"? No, he's not. Try not to be one yourself.GMchttps://www.blogger.com/profile/16554253761930565252noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-22881505295052803472006-11-27T16:18:00.000+13:002006-11-27T16:18:00.000+13:00The irony of calling someone who wrote a reasonabl...The irony of calling someone who wrote a reasonable, though lightweight, post an 'idiot' in a post that reads like a bitchy diatribe is great.<br /><br />Whether or not 'every' programmer should learn C is like asking.. should everyone learn about history? There are some people who say no, but anyone with an ounce of sense will study history to some degree. C is a living history of programming, and one that still has much utility. Understanding the problems that programming in C raises will produce a better programmer whatever final language they end up using.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-21172681.post-59397297707172452792006-11-27T15:56:00.000+13:002006-11-27T15:56:00.000+13:00i agree with you on *most* (99%). you indeed refut...i agree with you on *most* (99%). you indeed refutes each and every one of his claims. the only thing i think its worth saying, is that indeed C is a language that should be on the belt of any *good* programmer. If you're concerned with making your code work, getting your money the end of the month, no, maybe you shouldnt learn C. C, however, is one of the most important programming languages ever (for bad or worse). If you take the craft of programming seriously, you should learn it, even if you never code on it professionaly. <br /><br />On that same line tho', you should also learn a couple other languages (such as one off the LISP family). each of these languages teaches you smth, and it will, eventually, make you a better programmer.<br /><br />My point is, yes, you should learn C. No, not one of the claims the other guy did was valuable. Basically, you should learn it, because everything you see now has some sort of familiarity with C. The exception beign functional programming, the logic paradigm, and such...but if you know that, you probably know C already :Dasdfasdfasdfhttps://www.blogger.com/profile/04462527630247614761noreply@blogger.comtag:blogger.com,1999:blog-21172681.post-86466206843825523982006-11-27T15:19:00.000+13:002006-11-27T15:19:00.000+13:00thanks for writing this, I totally agree with you....thanks for writing this, I totally agree with you. That's what I thought earlier when the list was duggAnonymousnoreply@blogger.com