wyle@inf.ethz.ch (Mitchell Wyle) (03/22/90)
In article <XWD2FP7ficc@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >In any case the forgery game is no longer funny (not that it ever was)... it's >time to get back to serious stuff like language wars. Yeah. I have been coding in C a lot recently, mostly because Unix is married to C. Even with lint, ctags, make, lex, yacc, sccs, the man([23]) pages and all the other goodies C/Unix provides, I still prefer Modula-2. Modula-2 provides a simple, clean, *useful* module interface through definition modules and import/export. My personal experience is that it is easier to integrate a new team member into a project in M2 than in C, though ada is also pretty good in team integration. C is just too damn "hacky." I've seen too much code like **p->*n->t If I want amazing efficiency I'll code in FORTH or assembler.
rowe@cme.nist.gov (Walter Rowe) (03/24/90)
>>>>> On 22 Mar 90 08:29:01 GMT, wyle@inf.ethz.ch (Mitchell Wyle) said:
Mitchell> C is just too damn "hacky." I've seen too much code like
Mitchell> **p->*n->t
This IS pretty nasty. However, C doesn't have to be "hacky", nor does
any other language. "A chain is only as strong as its weakest link",
and a language is only as good as the programmer using it.
If your (objective "you") solution to a problem is hard to understand
without the language, then it will more than likely be even harder to
understand (and implement) within the scope of the language you use.
If the solution doesn't make sense in plain english, then it probably
won't be very pretty in code either.
Programming isn't just being able to think of an algorithm. It's also
elegance in coding style and in logical organization of code. So many
people seem to miss that last one. My first paragraph says it all!
-wpr
jlg@lambda.UUCP (Jim Giles) (03/24/90)
From article <ROWE.90Mar23110717@stella.cme.nist.gov>, by rowe@cme.nist.gov (Walter Rowe): > [...] > This IS pretty nasty. However, C doesn't have to be "hacky", nor does > any other language. "A chain is only as strong as its weakest link", > and a language is only as good as the programmer using it. ^^^^ I've been staying out of this thread, but the above invalid argument is used too often in defence of mediocre language design. The main problem is the highlighted word. The correct analogy with the 'chain' statement is: "A language is, _at best_, as good as the programmer using it." Even _VERY_ good programmers can be effected (for good or ill) by the language being used. In the book, "The Right Stuff", it was pointed out that every time a test pilot was killed in a test, the other test pilots would place the blame on the _man_ and not the _machine_. It was always something like: "old Joe was a fair pilot, but this time he screwed the pooch." Now, we all know that some of these early jets were deathtraps and that blaming the machine was the correct interpretation of most of those crashes. Well, C programmers tend to have the same 'test pilot' mentality. If someone has problems with a language feature it's never the fault of the language design. But the fact of the matter is that C has a number of things in it which even Dennis Ritchie would probably do differently if he got a second chance. So, while it _may_ be possible to 'fly' C without the 'wings' comming off, it is also true that the 'wings' should have been more sturdy to begin with. J. Giles