From: Mikael Brockman Date: 2004-08-31T06:26:22+09:00 Subject: Re: Typos (Was: performance comparison) David Ross writes: > --- Mark Probert wrote: > > > David Ross wrote: > > > > > > > > You can use C for anything you use ruby on. > > > > > Of course you are right. Ruby is written in C .. > > QED. > > > > > > > > > > I am sure most > > > people talk bad about C are not professional at > > all. > > > > > > > Ever worked as a maintenance programmer? Ever fixed > > bugs that other > > engineers had introduced into the code? Ever found > > that some of those > > bugs where simple stuff, like array bounds > > violations or null pointer > > assignments? Then, have you tried going up to the > > original coder and > > telling them that they are not professional? > > > > There are better ways of coding in C. Try, for > > example > > > > > > http://www-cs-faculty.stanford.edu/~knuth/cweb.html > > > > There are better ways of improving in any language > > > > http://www.sei.cmu.edu/tsp/psp.html > > > > Both of these approaches have been used by People > > Who Know A Lot (Knuth > > and Humphries) and both have been shown to work > > (I've used both and know > > they work). > > > > Why do more people not use them? Why is our code > > still riddled with > > basic errors? > > > > (Hint: it has nothing to do with the language, > > though the language will > > have an impact. C is less, errrr, helpful, to the > > less experienced). > > > > -- > > -mark. (probertm @ acm dot org) > > > > > > > > I agree on all points. It is humans who make errors. > To the experienced C is bliss. (* and assembly) (*even > if there is some stress figuring out what is wrong in > the program). After swearing some and hitting the > computer a few times it is okay. Oh and making fun of > the original code and all the bad hacks they did to > make the code work. (= I love C. I think it's great for implementing designs. On the other hand, it makes you do a lot of up-front work to get anything running. That doesn't really encourage you to be agile. But to create original software, you have to sketch a lot. Often you won't even know what you want to create. You have to figure that out as you go. Dynamic & high level languages attach less cost to changing. They encourage you to experiment. That's not very valuable if you're just implementing something you designed up-front. But it's absolutely essential if you're not. Using C to create original software isn't bliss. It's like being in a straight-jacket. But considering you're a fan of Ada, I guess you like that kinda stuff.