Dirk's Quote Collection

Copyright © 1994-2008 by Dirk Craeynest
All Rights Reserved.

On programming languages


> Realy good C programmers are just as scarce as Ada progammers.

I know of one really good C programmer who is now an Ada programmer. His reasons for switching to Ada are largely the same reasons that made him really good in the first place.

Peter C. Chapin (pcc482719 @ gmail.com) 2008/12/06


The whole thing makes me think that the world has lost its mind -- except that use of C and other junk languages tells me it never had one in the first place.

Randy Brukardt (randy @ rrsoftware.com) 2008/11/13


If you try to write code that will be understandable to someone who doesn't know the language, you'll end up with an overly verbose mess that can hardly be understood by someone who *does* know the language.

Keith Thompson (kst-u @ mib.org) 2008/09/02


Language design is about balancing features, usefulness, and implementability.

J-P. Rosen (rosen @ adalog.fr) 2008/08/08


It is _possible_ to generate accurate code with C. It is also possible with assembly language. However, doing so requires good programmers with plenty of experience. You can get equal quality from poorer programmers with less experience by using Ada. I leave it to you what you will get with experienced good programmers and Ada.

Chuck B. Falconer (cbfalconer @ maineline.net) 2008/07/14


Ada is a very good language for expressing design (much better than UML!). It also happens to be executable; that's just a side benefit :).

Stephen Leake (Stephe.Leake @ nasa.gov) 2008/05/31


Performance of Ada is pretty-close to C and C++ in most cases. Performance of Ada is better than Java (and Smalltalk and ...) in most cases. The implementation matters, but the language rules matter more.

Robert A Duff (bobduff @ shell01.TheWorld.com) 2008/05/23


One thing is clear to me: if you attempt to replicate C++ paradigms (as opposed to OOP paradigms) in Ada, you will probably find Ada difficult. But if you appreciate that about half the patterns in the "Gang of Four" book only exist because of defects in C++, you will probably have an easier time of it.

Brian Drummond (brian_drummond @ btconnect.com) 2008/05/17


Misra and other such efforts are certainly important and useful, but they're still akin to trying to make a loaded revolver safe to use as a hammer.

I've spent most of my professional life writing C and I certainly don't hate it [...], but I cannot fathom why somebody would choose it for safety-related projects when there was a better choice available (and I don't mean C++ or Java!). As Brinch-Hansen says, it is not rational. And when the evidence shows 100 times more residual errors in DO-178B Level A code written in C than in code written in an Ada-based language, it is also not responsible.

Mike Silva (snarflemike @ yahoo.com) 2008/05/02


> Process is more important than language, but choosing a better language makes it much easier to implement and adhere to a safety/security focused process.

Ada's and SPARK's support for the overall process is exactly why Sutton and Middleton recommend these languages in their book "Lean Software Development". They don't consider the languages' technical merits, though substantial, as important as their contributions at the very different level of process support.

Ed Falis (falis @ verizon.net) 2008/04/30


My impression [is] that the number of projects with an interest in safety and/or security is increasing. Both Ada and C are used, and there seems to be recently increasing interest in Ada, reversing the trend of the last decade.

Britt Snodgrass (britt.snodgrass @ gmail.com) 2008/04/30


As for process vs. language, it's not an either-or situation. Use the right process AND the right language.

Mike Silva (snarflemike @ yahoo.com) 2008/04/30


Schools that train programmers starting with Java or C++ provide the benefit of making their graduates highly employable, but with a greater risk of turning out highly incompetent programmers.

(comment on slashdot.org) 2008/04/15


It seems that complete ignorance of Ada is no bar to pontificating about it.

Bill Findlay (FindlayBill @ blueyonder.co.uk) 2008/04/13


> Those who use C++ by choice have already demonstrated that they want to waste their time.

Sorry I do not agree! They are not wasting their own time but time from all maintainers who will come in the project after they have moved on something else. I've lived this! Hence they are also wasting their company money...

Pascal Obry (pascal @ obry.net) 2008/03/11


Programming by extension, emphasizing, as it does, ease of writing over ease of reading, should be avoided whenever possible by SW engineers, and used with the same reluctance and care that they give to gotos and access types.

Jeffrey R. Carter (jrcarter @ acm.org) 2008/01/03


In these times where everybody is talking about OOP, people tend to move from "everything can be done with inheritance" to "everything must be done with inheritance". To be honest, some languages offer inheritance as the only way, so there is no choice.

When you are lucky enough to have a language that supports multiple paradigms, composition has its value.

J-P. Rosen (rosen @ adalog.fr) 2008/01/03


Doing a project in a C++ class language is like wearing shoes that are a size too small. You may walk as fast as anybody else, but it sure hurts a lot and in the long run will cause all kinds of costly to correct errors.

Jerry van Dijk (jdijk @ solcon.nl) 2007/12/29


Java: write once, crash everywhere.

Rainer Weikusat (rweikusat @ mssgmbh.com) 2007/06/18


I would describe Ada as an industrial strength implementation of the ideas in Pascal, Modula 2 and CLU, with a strong guiding philosophy but enough pragmatics to make implementations practical and efficient.

Niklas Holsti (niklas.holsti @ tidorum.fi) 2007/06/04


Being easier to learn does not equate being easier to use, once you have mastered it.

But I agree that Java is not an easy language to learn, mostly because the OO model is rather arcane compared to the imperative or functional models. I would not choose any OO language as the first language to teach students, unless the OO parts are so isolated that you can use the language effectively without ever using objects [...], and then I would simply ignore the OO parts for the first course.

Torben Mogensen (torbenm @ app-2.diku.dk) 2007/05/11


When I find myself fighting the [Ada] language, it usually means that I need to revisit my design.

Bob Spooner (rls19 @ psu.edu) 2007/04/12

Ada is all about providing building blocks that allow you to accomplish a purpose, rather than whiz-bang features that provide the entire purpose in a neat but inflexible package.

There are many examples of that: tagged types, derivation, packages (which combine to make a "class"), Finalization via controlled types, (<>), protected types (which can be use to write a lock, but isn't a lock by itself), etc.

Randy Brukardt (randy @ rrsoftware.com) 2007/02/09

C++ is not easy to learn. To do C++ safely is really hard to learn. In this case, it is easier to learn how to [do] safe programming in Ada than in C++.

Richard Riehle (adaworks @ sbcglobal.net) 2007/01/28


[ From the wikipedia page for C: ] "the safe, effective use of C requires more programmer skill, experience, effort, and attention to detail than is required for some other programming languages."

So if you use C, that means you are skilled, experienced and attentive, by some people's logic. It's a macho thing, "If you can't handle the power, don't use it!".

Harald Korneliussen (vintermann @ gmail.com) 2007/01/25


Java adopted a type system (at least for its scalar types) which was about 20 years outdated at the time of Java's creation. There is a lack of an important layer of abstraction resulting from a C and Assembler mindset.

Peter Hermann (Peter.Hermann @ ihr.uni-stuttgart.de) 2007/01/24

> Most developers (98% in my experience) are coders. Coders like languages like C that let them code. Then then enjoy spending more time debugging then they did coding. The other 2% are SW engineers. They like languages like Ada. Obviously, C and its ilk are going to be more popular than Ada.

Fast-food joints are more popular than regular restaurants. Ada is the equivalent of a nourishing meal rather than a greasy burger. C++ is the equivalent of peanut-brittle. It tastes good at first, then it gets stuck in your teeth, and then it causes your molars to decay.

Richard Riehle (adaworks @ sbcglobal.net) 2007/01/24

Lots of people also seem to pounce on the latest hype, thinking that latest equals greatest. (I suppose that's what makes up a hype.) Those who realize that C has serious problems typically hope for a new language to solve those problems. It doesn't seem to occur to them that the problems might have already been solved in some existing language. At least that's the impression I get.

Bj÷rn Persson (rombo.bjorn.persson @ sverige.nu) 2007/01/23

> I employ C programmers because there are so few Ada programmers around [...]. There are so few Ada programmers [...] because I employ C programmers! How do you break that chain?

No one should be hiring X programmers. For long term employees, you should be looking for SW engineers, whom you then train if necessary. Identifying SW engineers isn't easy, but one clue is that SW engineers generally like Ada once they've been exposed to it.

This approach has long term cost savings, as Ada results in SW that is ready for deployment sooner and has far fewer post-deployment errors than SW in C. Your SW is ready before your competitors, and is higher quality.

Plus, your employees, liking Ada, won't be leaving to do C for your competitors.

Jeffrey R. Carter (jrcarter @ acm.org) 2007/01/23


> I believe that one of the reasons for the lack of market acceptance for Ada has been the present 10 year cycle for updating the standard.

There has to be _some_ language available for those who prefer stability to trendiness.

Larry Kilgallen (comment on Usenet) 2007/01/14

C-type languages assume that you mean what you say. Ada insists that you say what you mean.

Bob Spooner (rls19 @ psu.edu) 2006/09/06

> It's noteworthy that Ada and Fortran are on convergent paths (modules, user defined types, templates etc).

On multiple occasions, I have often heard Fortran 77 users misleadingly describe Fortran 90 and subsequent versions as like a cross between Fortran 77 and C. I attribute this description mostly to low breadth of language exposure from people who have not seen much other than those two languages and thus narrowly associate features like structures with C.

When I hear this misleading description, the one-sentence version of my reply tends to be "No, Fortran 90 is more like a cross between Fortran 77 and Ada." Like most analogies, that one is far from perfect, but it is about as well as I can do with that few words.

Richard.Maine @ nasa.gov (Richard E Maine) 2006/05/24

With Ada, we are not trying to appeal to the programmer. Rather, we are concerned with good engineering practice. Ada continues to be the best language available when one is focused on engineering rather than programming.

Richard Riehle (adaworks @ sbcglobal.net) 2006/02/16

[ On a paper about buffer overflow in various languages, that didn't mention Ada at all. ]

The problem, as I see it, is that so many academics spend so much time solving problems while existing solutions are either ignored or unknown to them.

Richard Riehle (adaworks @ sbcglobal.net) 2005/11/14

> So, is it true that for the things Ravenscar [is] used for, there are no good alternatives?

Concurrency in Java is quite low level and error prone, including the RTSJ. Ada is much better, and Ravenscar better still, but for the most critical RT SW, you might want to look at RavenSPARK.

Unfortunately, the lack of good alternatives rarely stops people from using poor alternatives.

Jeffrey R. Carter (jrcarter @ acm.org) 2005/10/19

That reminds me of Per Brinch-Hansen's article about Java's concurrency features, which he summarized as ignoring 30+ years of operating system and programming language research.

Ed Falis (falis @ verizon.net) 2005/03/25

Programming is a human activity. All humans make mistakes. Some of those mistakes are damned silly. Ada is designed to acknowledge that programmers are human. Mistakes will be made. Ada attempts to identify those mistakes as early in the development process as possible. We all know that it is cheaper to fix mistakes early.

And there is no perfect language. Ada is not meant to satisfy the desires of all programmers. It is meant to support programming as a human activity with the goal of producing high quality programs very efficiently.

Jim Rogers (jimmaureenrogers @ att.net) 2005/03/06


> This seems ridiculous. I would expect a programmer to know the [rules of the used programming language]. My conclusion is that there are some nice ideas [in Ada], but that they mainly protect against the "sloppy" programmer.

This is the crux of the problem. Assuming that the programmer "knows the rules", "makes no mistakes" or "can be trusted" is a recipe for disaster. Mistakes are a given fact of the human nature. Ada is designed with this in mind.

A sloppy programmer will avoid Ada like the plague, because they resent discipline in general and don't appreciate being taught lessons. A good software engineer will be attracted to Ada because she is a powerful ally.

Ludovic Brenta (ludovic.brenta @ insalien.org) 2005/03/05

[ On an "Ada for dummies" book. ]

I think it's a good thing that Ada is not for dummies. That may limit its popularity, but it means that a person's attitude towards Ada may be used as a discriminator.

Now if we can just arrange things so dummies are not allowed to make language choices or create designs ...

Jeffrey Carter (jrcarter @ acm.org) 2005/03/01

You have to understand a very simple thing. You cannot get excellent programmers for each project. They are precious goods. They make errors too. Especially if the language requires permanent attention and high concentration to each typed character. So you cannot rely on excellence in mass production. You should do on technology. And technology is the language.

Dmitry A. Kazakov (mailbox @ dmitry-kazakov.de) 2004/12/22

The draft Ravenscar Java [is] being based on Ada. Perhaps this should be pointed out and people should say the full form "Reliable Ada Verifiable Executive Needed for Scheduling Critical Applications in Real-time" more often.

Colin Paul Gloster (Colin_Paul_Gloster @ acm.org) 2004/09/13

I remember reading K&R as a tutorial, and loving it, and finding it superior to the few languages I had used (BASIC, Clipper...) and learned (COBOL) before. This was in the early 1980's. I had no idea of the existence of Ada (or Algol, or Simula, but I knew Pascal, and Prolog) then. There was no Internet. And I was not in any University (not that I believe this would have helped much). If I had been thrown Ada in front of me by then I'd probably be a different person today. So I adopted C in the early 1980's, used it professionally, and experienced many problems (no surprise here now). Until I was indeed acquainted with Ada 95 in the mid 1990's, in a postgraduation at FCTUNL. I tried it and experienced orders of magnitude decrease in debugging time. And increase in correctness, reliability, etc. So now I'm married to Ada, but C was my first love.

Marius Amado Alves (amado.alves @ netcabo.pt) 2004/09/12

"If a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it."

Paul Graham (www.paulgraham.com/pypar.html) 2004/08

"I like it when the support group complains that they have insufficient data on mean time to repair bugs in Ada software." - Robert I. Eachus

Jacob Sparre Andersen (sparre @ nbi.dk) 2004/08/30


It is not the job of the language designer to prevent people from doing evil things. It is the job of the language designer to prevent people from doing evil things *by accident*.

Robert A Duff (bobduff @ shell01.TheWorld.com) 2004/01/09

To Err is human, to really screw up, you need C++! ;-)

Stephane Richard (stephane.richard @ verizon.net) 2003/11/07

Saving keystrokes is the job of the text editor, not the programming language.

Preben Randhol (randhol @ pvv.org) 2003/10/21

[Last week] Ben Brosgol gave a quite good talk [at a meeting of The Open Group's Real-Time & Embedded Systems Forum] on lessons learned using Ada for safety-critical applications and did point out that Ada is still alive and being used on new projects.

The point I got out of the talk was "The Ada community has solved the safety-critical problems. Why waste time fixing the same problems for Java?"

Roger Racine (rracine @ draper.com) 2003/07/31

When all you have is a perl, everything looks like a string.

Wesley Groleau (wesgroleau @ myrealbox.com) 2003/07/29

"Playing with pointers is like playing with fire. Fire is perhaps the most important tool known to man. Carefully used, fire brings enormous benefits, but when fire gets out of control, disaster strikes. Pointers have similar characteristics but are well tamed in the form of access types in Ada." - John Barnes, "Programming in Ada 95" (2nd ed., 1998), Chapter 10, Access Types, p.171

Alexander Kopilovitch (aek @ vib.usr.pu.ru) 2003/06/27

> If Ada projects had actually succeeded in producing good quality software, it would have been everywhere today.

That's a crock. The few times people have bothered to make empirical comparisons, Ada has come out ahead.

Wesley Groleau (wesgroleau @ despammed.com) 2003/04/24

If I'm asked to quickly describe Ada, I often say it is an industrialised Pascal...

Dale Stanbrough (dstanbro @ bigpond.net.au) 2003/04/23


[ About buffer overrun exploits: ]

It seems to me, that the real root of the problem is the C language, and its lack of a native string type (and the really crappy run-time library). While these sorts of attacks probably aren't limited to C programs, I'd be willing to bet that they are LOTS less prevalent in other languages. It also seems to me, that programming has been made too easy; there are lots of people out there writing software that should really be out cleaning toilets instead.

Brian Catlin (brianc @ sannas.org) 2003/04/16

"Ada: Fewer bugs equals more money". It's a line that the non-techies can grasp.

Adam Ruth (owski @ hotmail.com) 2003/03/10

C is proven technology. Proven to increase errors and costs, compared to Ada.

Jeffrey Carter (jrcarter @ acm.org) 2003/01/17

> Hey, that's nifty! Never knew you could do stuff like that.

Having become accustomed to the excellent expressive power of Ada, I find other languages cramped, uncomfortable, and difficult to use.

Jeffrey Carter (jrcarter @ acm.org) 2003/01/16

"C++ is like jamming a helicopter inside a Miata and expecting some sort of improvement." - Drew Olbrich

Jeffrey Carter (jrcarter @ acm.org) 2003/01/12

Personally, I'm periodically amazed to find how much faster it is to get an Ada program running right than with previous languages I've used. "Once it compiles in Ada, it's close to being done." Or perhaps I'm just a whole lot smarter than I used to be. ;)

Tom Moran (tmoran @ acm.org) 2003/01/08

If MISRA takes out 'aspects of the C language which should be avoided in safety-related systems' they'll have to move to Ada because there won't be much C left ;]

Rick Duley (r.duley @ cowan.edu.au) 2002/12/16

"C++ is like giving an AK-47 to a monk, shooting him full of crack and letting him loose in a mall and expecting him to balance your checking account 'when he has the time.'" - Drew Olbrich

Jeffrey Carter (jrcarter @ acm.org) 2002/12/15

I didn't say I _like_ Java, I said I can tolerate it.

The "Oak" team removed from C the things that gave them trouble in spite of their experience, left in all the things that give beginners trouble, and added very few of the things that Ada had long before proven effective.

Wes Groleau (Wesley_Groleau @ raytheon.com) 2002/12/04

This is Ada land. On quiet nights you can hear C programmers debug.

Preben Randhol (randhol @ pvv.org) 2002/10/18

IMHO, C++ shows all the signs of following the Harley Davidson Design Methodology - "If it breaks, make it bigger. If it sticks out, chrome it." :-)

Marin David Condic (marin.condic @ pacemicro.com) 2002/06/28

Concerning Java benefiting from anything, I hope not.

Since Java is an inferior technology, whose acceptance is based on marketing and consumer gullibility, I do not believe that the Ada community has any responsibility to perform actions that benefit Java's commercial sponsors.

Robert C. Leif (rleif @ rleif.com) 2002/06/02

I have found that Ada's design is embedded with much wisdom; if you ask, "Why does Ada do/have this?", the answer often makes you a better programmer.

Chad R. Meiners (crmeiners @ hotmail.com) 2002/03/17

Q: How many Ada programmers does it take to change a light bulb?

A: About half as many as the number of C++ programmers required. Furthermore, the bulb tends to last much longer before needing to be changed again. Also, it's almost unheard of for the bulb not to fit the socket. ;-)

Nick Roberts (nickroberts @ ukf.net) 2002/02/14

Imagine a surgeon who discovers how much money can be saved by purchasing Xacto blades instead of using blades manufactured to more stringent standards. That is exactly the situation we are currently facing when contractors decide to use C or C++ instead of Ada. On the surface one gets the same result. It is only that superficial result that counts for the lowest bidder.

Richard Riehle (richard @ adaworks.com) 2002/01/31

For me, Ada 95 puts back the joy in programming.

Preben Randhol (randhol @ pvv.org) 2001/11/14

One of the most important benefits of C++ is that, once people have enough experience with it, it becomes obvious how inherently hideous it is.

Richard Riehle (richard @ adaworks.com) 2001/11/03

> In fact I even think that using Pascal is better than using Java as a first language.

Of course it is - Pascal was designed as a teaching language, Java wasn't designed.

John McCabe (john.mccabe @ emrad.com) 2001/10/15

"C was designed on the assumption that the programmer is someone sensible who knows what he's doing" - Kernighan and Ritchie

"Ada was designed with the concern of programming as a human activity" - Ada Reference Manual

Martin Dowie (martin.dowie @ baesystems.com) 2001/09/14

C++ is a definite improvement over C, but its hardly a suitable substitute for Ada.

I find the emphasis on C++ rather odd anyway. For the job I'm working on, the argument was that FORTRAN would have been better used. The one before that, the arguers wanted C. The one before that, they were switching from CMS-2. All of these were post-mandate Ada jobs. I have yet to see a full-up C++ DoD job (though I've no doubt some exist). The funny thing is that in each case, none of the folks who wanted a different language were actually doing the work. People who actually *use* Ada for a while tend to quickly see its benifits.

Ted Dennison (dennison @ telepath.com) 2001/08/06

Worrying idea #101: What if Microsoft goes into the Ada compiler business ?

Simon Clubley (simon_clubley @ .excite.com) 2001/05/23

C++ is its own virus.

Richard Riehle (laoxhai @ ix.netcom.com) 2001/05/20

When I first encountered Ada in college, I hated it, partly because of a very bad compiler (a slow horror that tried to correct errors by inserting random tokens under VM/CMS). Now that I've had some experience with maintaining large programs hacked on by many people over the years, I start to appreciate a lot of the Ada philosophy.

Lieven Marchand (mal @ wyrd.be) 2001/05/15

About the only thing you can do with C that you can't do with Ada is have a yearly obfuscated code contest with thousands of worthy submissions. :-)

Ted Dennison (dennison @ telepath.com) 2001/03/26


The Java language is the result of a team at Sun having trouble with C and inventing a language that eliminates the items (and only those items) that gave them the most trouble. [...]

Sun produced a 30-minute infomercial in which one of their people opened a C or C++ book in front of the camera, with lots of stuff lined out, and said something to the effect of, "We just crossed out everything unsafe, and that's how Java was designed."

Wes Groleau (wwgrol @ ftw.rsc.raytheon.com) 2001/03/06

> C++ shell scripting experience

It's like the Cshell, but with even more randomness added.

Ian Wild (ian @ cfmu.eurocontrol.be) 2001/02/01

> (Now, Oracle is running towards Java, but...)

As everybody :) Everybody run for the new technology, the best one, with great features, very essential and fundamental tools, the things needed for the projects, the technology dreamt for many years... and and... and the projects are still failing, doubling budget or time or boths... But no doubt next technology will be the killer one :) OK let's run for C#...

Pascal Obry (p.obry @ wanadoo.fr) 2001/01/27

C++ hacking leaves no time for learning what real software engineering is all about :-) All time is consumed with chasing down link-time errors and debugging run-time errors. Meanwhile it conditions programmers to think that nonsense is normal...

Mark Lundquist (mark_lundquist @ my-deja.com) 2001/01/11

Better to ignore those who are prejudiced against Ada and concentrate on the educating of young minds who are starting out in the world of software engineering. They have not yet formed their prejudices and will be willing to listen and learn.

Marin David Condic (mcondic @ acm.org) 2000/11/11

Ada has made you lazy and careless.

You can write programs in C that are just as safe by the simple application of super-human diligence.

E. Robert Tisdale (edwin @ netwood.net) 2000/11/04

C or C++ are very tough languages for beginners, because there are so many ways to be distracted by difficult-to-debug problems, in the areas of: arrays vs. pointers; "=" vs. "=="; missing break; order-dependent side-effects due to "++"; off-by-1 errors in loops due to 0..n-1 array indexing; signed vs. unsigned shifting; chars vs. ints (truncation, signedness, etc.)

Pascal avoids almost all of these (as does Ada of course).

C was designed by a very experienced programmer (Dennis Ritchie) primarily for his own use in building an operating system and its associated tools in a relatively machine-independent way.

Pascal was designed specifically for teaching.

It seems crazy to ignore the philosophy and roots of a language when choosing one for teaching, but a concern about popularity in the industry seems to have overwhelmed common sense at some schools.

Tucker Taft (stt @ averstar.com) 2000/10/05

When C++ is your hammer, everything looks like a thumb. - Steven Haflich

Philip Lijnzaad (lijnzaad @ ebi.ac.uk) 2000/09/18


Arguing that Java is better than C++ is like arguing that grasshoppers taste better than tree bark.

Thant Tessman (thant @ acm.org) 2000/06/15

"If you really know C++, there isn't much you can't do with it, though it may not always be what you intended!" - Tucker Taft, 1998

(Quoted on Usenet) 2000/06/08

Please note the following quote from Doug Jensen (a well-known and respected figure in the real-time community), in the Foreword to the soon-to-be-published book "The Real-Time Specification for Java(tm)":

"Ada 95, including its Real-Time Systems Annex D, has probably been the most successful real-time language, in terms of both adoption and real-time technology. One reason is that Ada is unusually effective (among real-time languages and also operating systems) across the real-time computing system spectrum, from programming-in-the-small in traditional device-level control subsystems, to programming-in-the-large in enterprise command and control systems. Despite that achievement, a variety of nontechnical factors crippled Ada's commercial success."

Ben Brosgol (brosgol @ gnat.com) 2000/05/15

I have had the opportunity over the past few years to get better acquainted with C++. The more I study C++, the deeper my realization that it is a dangerous choice for any software in which human safety is involved.

Ada still has significant advantages over C++ in that domain. My earlier statements about C++ versus Ada stand. Any technologically savvy decision-maker who chooses C++ over Ada for a safety-oriented software product is making that decision for reasons other than the relative technical benefits of the language.

Richard Riehle (richard @ adaworks.com) 2000/05/02

> (manager) If we switch to C++, we will be able to hire programmers.

If you switch to C++, you'll NEED to hire more programmers! And buy more debuggers, and.....

Wes Groleau (wwgrol @ ftw.rsc.raytheon.com) 2000/04/14

So to my viewpoint, the Javanaut is a mediocre language, a decent but slow execution environment, and a mediocre set of libraries, all being used to sell each other!

Wes Groleau (wwgrol @ ftw.rsc.raytheon.com) 2000/04/12

"E"commerce is not life and death. If it was, it would be coded in Ada.

Dean Esposito (deane @ staffing.net) 2000/03/10

> Unless you're writing throw-away code you might be more interested in using whichever language tempts you to write the more maintainable code.

I told a stranger at a conference dinner table that I liked Ada because it was readily maintained. He responded, quite seriously, that he used another language but he had made it a career practice only to write new code and never to maintain anything he had written.

(Sorry, I did not record his name, in case anyone wanted his resume :-).

Larry Kilgallen (Kilgallen @ eisner.decus.org) 2000/02/15

> Scripting languages, on the other hand, tend to be used for small, quickly written programs, and good ones tend to have a succinct powerful notation.

I've seen way too much long-lived software written in Perl, csh, awk, make, etc.

Anyway, "quickly written" is irrelevant. The only time it can possibly make sense to use languages that are difficult to maintain is when you're going to quickly throw away the code after writing it.

Robert A Duff (bobduff @ world.std.com) 2000/02/04


C people are being taught things that make C popular, while making software more expensive and less reliable. I am sorry about the first part, but I am NOT sorry that Ada folks are not being taught the last part.

W. Wesley Groleau (wwgrol @ ftw.rsc.raytheon.com) 1999/06/21

I was in a very early SIGAda meeting where Larry Druffel (who was them head of the AJPO) was asked (I paraphrase from memory):

"Ada seems to be a complex language. Do you think people will have trouble learning Ada?"

Druffel thought for about 30 seconds, and then responded:

> No. (pause 10 seconds) People will have trouble learning Software Engineering. Software Engineers will have no problem learning Ada.

Paul Stachour (stachour @ winternet.com) 1999/06/12

"For now, Java is having its moment in the sun, driving up stock prices of any company that mentions the "J" word in a press release. But analysts like Greenbaum warn that the fad won't last forever and in no time talking about Java will be as exciting as talking about Cobol." - news.com (1998/12/10)

Nasser Abbasi (nabbasi @ pacbell.net) 1999/06/02

"...the Ada language has many features that would simplify embedded software development if used instead of C++."

Michael Barr in his book "Programming Embedded Systems in C and C++," (quoted on Usenet) 1999/02/19

> What is the best way to present the case [of switching to Ada] to my boss?

You only need to say one thing: you'll save lots of money. In the end, it's going to be a lot cheaper for a compiler to find bugs at compile time, than it is to pay a human to find the bug at run time.

Programming is a labor intensive activity, and any tool you can use to reduce that labor is going to pay hansomly, because the cost of human labor is very high.

Matthew Heaney (matthew_heaney @ acm.org) 1999/01/23

"No excuses. No embarrasment. No apologies... Ada -- the most trusted and powerful programming language on earth, or in space." - S. Tucker Taft

(Quoted on Usenet) 1998/12/09

> Buggy code can be written in any language. Many errors result from not sticking to what was designed, using flawed algorithms etc. This is not to say I am against strong static type checking. I am all for it.

I think the real point is that a good software engineer will find Ada more productive, because the compiler and the run-time constraint checking catch a larger percentage of the inevitable minor mistakes we all make. This means that if you make it through the "gauntlet" of the stringent compile-time and run-time checks, your program is likely to have many fewer lurking errors than with a language which has weaker compile-time and run-time checking.

But you make a good point, that a language can't make a good programmer out of a bad one. It can help make a good programmer more productive, in my experience.

Tucker Taft (stt @ inmet.com) 1998/10/26

All languages suck. Some just suck less than others.

Dale Stanbrough (dale @ cs.rmit.edu.au) 1998/10/09

We don't say "CPLUSPLUS", so why do people persist in saying "ADA"?

John J. Cupak Jr, CCP (jcj @ swl.msd.ray.com) 1998/06/26

> There are plenty of robust production systems written with C++ and Smalltalk.

Yes. I've even written one or two myself.

The thing about both these languages is that they make it easier to create bugs, and harder to identify and eliminate them. The result is either an increase in test-and-debug time, or else an increase in delivered defects. You can get past the threshold of acceptance OK, provided its not too high. Unfortunately most software is written in C or C++, so that threshold is not very high. Drop the acceptable defect rate by 50%, and C++ and Smalltalk will be struggling.

Paul Johnson (paul.johnson @ gecm.com) 1998/05/29

> I am updating our Code Walk Through (CWT) checklists. In addition to the usual project-specific items, I would like to add checks for the more common Ada coding errors. However, I have not located such a list in my vast (sic) Internet search area.

Well, that says something about Ada, now doesn't it!

Matthew Heaney (matthew_heaney @ acm.org) 1997/12/02

> No, Sun is trying hard to prevent that... They are tying it [Java] to their proprietary platform, and trying to handicap it on Windows. Which is against the interests of the majority of computer owners. MS is trying hard to liberate the language from the Sun proprietary platform.

Good Lord! This is like saying that the glorious and benevolent Red Army "liberated" Eastern Europe whereas the Marshall Plan was an insidious capitalist Allied plot to enslave Western Europe and incarcerate West Berlin behind a Wall! :-) :-) :-)

John G. Volan (johnv @ ac3i.dseg.ti.com) 1997/11/03

Ada will never be C because, well, Ada is not C. It shares C's power and utility, but not its essential bithead/hacker characteristics. On the other hand, Ada's essential characteristics can provide a competitive edge to the brave and wise minority who choose to use it.

I don't think that's such a bad thing.

Dave Wood (dpw @ sd.aonix.com) 1997/10/25


The fact that people adopted [Java] as some great hope is probably the most distressing thing to me, personally, as I said, since MS-DOS.

Alan C. Kay (OOPSLA'97 Keynote Address) 1997/10/07


I made up the term object-oriented, and I can tell you I did not have C++ in mind.

Alan C. Kay (OOPSLA'97 Keynote Address) 1997/10/07

The design goal of being based on "C" meant that many design features couldn't be added cleanly. C++ has many solutions that are only about 80% right. But what's worse, they're not orthogonal to each other, and they have all sorts of very subtle and unintuitive interactions with each other. For example, namespaces and overloading interact with each other in very peculiar ways. And while templates are one of the best things about C++, they are an incredible source of not only compiler complexity, but a blizzard of truly subtle and bizarre programming gotchas.

C++ just simply turned out to be a really bad idea. But so many people have put so much energy into it, no one wants to admit it.

Thant Tessman (thant @ acm.org) 1997/09/23

Read through the C++ Public Review Document and look for occurences of the phrases "behavior is undefined" and especially "no diagnostic is required".

Or here's an even simpler indicator of how much C++ sucks: Print out the C++ Public Review Document. Have someone hold it about three feet above your head and then drop it. Thus you will be enlightened.

Thant Tessman (thant @ acm.org) 1997/09/23

[...], do not equate success with market domination. Rolls Royce does not sit around thinking they are a failure because they have only a sliver of the market. Now sure they would like to sell more cars, but their goal is to increase that sliver, not nudge out GM and Toyota!

Success for Ada is measured the same way. Many projects are highly successful using Ada, and it has a significant sliver of users who are convinced that they have found the Rolls Royce of programming language technology for their needs, and hopefully these days not at Rolls Royce prices.

To increase the success of Ada, you want to focus on increasing the sliver, don't spend time moaning over the fact that more copies of Visual C++ are sold -- it's not a productive way to spend your time!

Robert Dewar (dewar @ merv.cs.nyu.edu) 1997/09/05

> I would hold that a language with direct support for something is better for that thing than a language which requires some idiom. For example Eiffel has direct support for multiple inheritance (MI). Ada requires you to play games with generic parameters in order to achieve the same effect.

I find that it is often better to combine simple building blocks into the more complex one you need, than to use a more complex feature that is not exactly what you need and may be overkill. When combining ill-defined over-complex things like MI, C++ templates and exceptions, you know for sure the result will be too complex and not what you want.

Everybody who has spend enough time playing with Lego, knows that the newer very specialized pieces are not useful most of the time and do not combine well. What you need is plenty of well-defined basic building blocks that can be combined in arbitrary ways. That and some experience and understanding is enough to model anything you can think of.

I can model complex situations better combining Ada tagged types, generics and exceptions, than using C++ MI, templates and generics. (In C++ I avoid these things in many situations where I might have used the simpler Ada variants.)

Geert Bosch (geert @ gonzo.sun3.iaf.nl) 1997/09/04

> I have used Ada for one year and now want to learn C++. Could someone please tell me the essential differences between them?

Ada is good. C++ is bad.

Bob Munck (munck @ mindspring.com) 1997/08/23

[ On rewriting newer version of Ada software in C++: ]

> How can we help to disabuse them of this conceit?

This merits a stronger word than conceit. I _try_ to be polite to those that prefer C++ to Ada for new code, but to rewrite working widely-used Ada so that it's in C++ requires stupidity if not malice.

W. Wesley Groleau (wwgrol @ SPARC01.FW.HAC.COM) 1997/08/20

Didja ever notice?

That everyone you ever run into who HASN'T done any Ada software is an expert on Ada and all of it's shortcomings?


John Gluth (jpgluth @ ccgate.hac.com) 1997/08/01

Also, only in the land of software would anyone actually suggest that one should not use a better tool, technique, process, whatever to build your product, because most of your _competition_ is using the inferior tool, technique, process, whatever.

Jon S Anthony (jsa @ alexandria.organon.com) 1997/06/05

C++: The power, elegance and simplicity of a hand grenade.

Kenneth C. Dyke (kcd @ jumpgate.com) 1997/05/04

[...] at the recent Software Development Conference in San Francisco.

One odd thing I am noticing is the growing disenchantment with C++. Many developers are moving to Visual Basic or Java to get away from C++. C++ is the peanut brittle of programming languages. It tastes so sweet, at first. Then it gums up your teeth and causes rampant decay, just the way C++ rots away that shiny new program you wrote last year.

Richard Riehle (richard @ adaworks.com) 1997/04/27

> ps: why is Ada the only major language that Microsoft has not attempted to transform into a Windows-only dialect?

Two reasons in my opinion: they don't worry about producing high quality, high reliability systems and they don't see a mass market ($$) for Ada. A few months ago a Microsoft rep gave a presentation at the company where I work. He used the term "robust" often when describing MS software. I finally asked him to define robust. To him robust was synonymous with "feature-rich", which isn't the say robust is typically defined in the control systems domain...

Matthew S. Whiting (whiting @ epix.net) 1997/04/26

> Things are very unstable in Java land at the moment. What with the AWT maybe being junked and redone altogether, among other things, the situation is like tring to get a grip on a handful of mercury.

And then when Java starts settling down and getting stable, the 'in' thing will be ActiveX (or whatever) and Java will be 'out'. As stated in different ways in this thread, successful companies don't get to be successful by "going the way the market's going".

Nick Roberts (Nick.Roberts @ dial.pipex.com) 1997/04/20

> I've written bullet-proof code for spacecraft and medical systems, code that must not under any circumstances fail in any but known and controlled ways. I've done it FORTRAN, C, C++, and assembler (not necessarily combined). It's not the language or the compiler that makes it safe, it's the programmer.

Yes, this is the common rebuttal from C and C++ people. This approach makes software development a lot like juggling knives. It is completely safe as long as you are very good and your attention does not wander.

Jim Rogers (JimMaureenRogers @ worldnet.att.net) 1997/04/11

Be cautious of rock-throwing programmers who dismiss Ada by citing specious can't-buy-a-compiler-at-CompUSA arguments, and who haven't actually _tried_ Ada. These poor souls just don't _get_ it, and prefer to spend their time programming instead of constructing working systems.

Ada simply allows the software engineer to practice software engineering. If you are not a software engineer, then of course Ada won't help you.

Matthew Heaney (matthew_heaney @ acm.org) 1997/04/10

"Java: the elegant simplicity of C++ and the blazing speed of Smalltalk" - message on OPEN mailing list

Ed Colbert (colbert @ abssw.com) 1997/03/24

The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change. - FORTRAN manual for Xerox Computers

houghi (houghi @ ping.be) 1997/01/29

"If we had named it Object-Oriented Fortran 96 instead of Ada 95, we wouldn't be able to make enough copies!"

Dave Cook (dcook @ lss.afit.af.mil) 1997/01/27


Ada was engineered for use by humans, who tend to make mistakes.

If I were going to design a glove for use by humans, then I would design it to fit the shape of the human hand. If I were going to design a programming language for use by humans, then I would design it to fit the cognitive capacities of the human brain.

That language is Ada.

Matthew Heaney (matthew_heaney @ acm.org) 1997/01/25

C is nothing more than an assembly language, and, well, C++ in Cantonese is pronounced "C ga ga". Need I say more?!?

Mark D. Glewwe (glewwe @ millcomm.com) 1996/11/29

[ In response to the claim "You can not code a system in Ada and be cost competitive": ]

The agent told his customer that this motor saw will cut 100 times more trees a day. After a week the customer complained that he would cut even less trees than before by hand. The agent started the motor to demo. "Oohh, what a noise is this?" asked the customer.

Peter Hermann (ph @ csv.ica.uni-stuttgart.de) 1996/11/21

Ada 95 is about the best language out there and people are beginning to notice. C++ seems to be evolving into a monster and people cannot fail to notice that.

Michael Rohan (mrohan @ ix.netcom.com) 1996/11/05

By the way, C is not the enemy, and even C++ is not the enemy. The enemy is the ignorance of software engineering that we see every day. If the best language for the job was always chosen, our taxes would be lower. (And Ada would be used a lot more often. ;-)

Robert I. Eachus (eachus @ spectre.mitre.org) 1996/10/25

> What makes you think that you should be learning C++? Just because it is the current "in" language?"

Actually my bookstore seems to think that Java is the current "in" language, you can hardly see a C++ book there any more, they are hidden behind stacks of Java books.

But that's not a particularly good reason to learn Java either. Who knows what language-du-jour will be when you graduate.

The critical thing is to learn fundamental programming principles, including how to design appropriate abstractions and algorithms for complex programming tasks.

Ada 95 is certainly well suited to learning these principles.

Robert Dewar (dewar @ merv.cs.nyu.edu) 1996/10/09

"When someone says, ``I want a programming language in which I need only say what I wish done,'' give him a lollipop." - Alan Perlis, Epigrams on Programming (1982)

Mark Wooding (mdw @ excessus.demon.co.uk) 1996/09/26

I try to stay above C level, I get C sick.

Larry Hazel (Larry.H.Hazel @ cpmx.saic.com) 1996/09/06

> What are the differences between c++ and ada?

Syntax, Semantics and Standardization.

Larry Kilgallen ( kilgallen @ eisner.decus.org) 1996/09/06

The C family of languages is inherently dangerous.

A programming language for which pointer arithmetic is an essential feature of non-trivial programs is not a language I want controlling the systems where my life is on the line. And, frankly, I don't care how skilled the programmer is. This is still an area where mistakes occur all too frequently.

Richard Riehle (rriehle @ nunic.nu.edu) 1996/08/04

In 15 years I've never met a single person who, after programming in Ada for more than 6 months, preferred programming in C. I've met people who dabbled in Ada, didn't like it; and people who just couldn't handle data abstraction and programming-in-the-large. But never anyone who was taught to use it, practiced using it.

Alan Brain (aebrain @ dynamite.com.au) 1996/08/01

What made me looking at Ada was the extreme commitment to Ada of people using C before... think about it. I am just beginning to profit from choosing Ada over C :-)

Dirk Dickmanns (dirk @ hera.informatik.unibw-muenchen.de) 1996/07/31

With its weak type system, C lets the user do all the mistakes he never wanted to do.

Pascal Martin (pmartin @ alsys.com) 1996/07/30

MUSIC is easier to read when written in C. SOFTWARE is easier to read when written in Ada.

John Herro (johnherro @ aol.com) 1996/07/29

Not to start a flame war on C++, but all you newbie programmers out there, don't believe everything you hear about C++. Object oriented programming has a lot of good concepts, but C++ is a bad implementation of them. Not that you shouldn't learn it, but don't think it's the ultimate expression of what OOP is all about.

Tim Behrendsen (tim @ airshields.com) 1996/07/19

The point is, you may be able to write good, clean, safe code in C. You may be able to write good, clean, safe code in FORTRAN, or COBOL, or Pascal, or BASIC, or assembler. But you can't really *know* that it's good, clean, safe code until the testing phase, which is usually the phase that gets cut short because of budget or schedule slips. By being so picky, Ada forces you to write good, clean, safe code AS YOU ARE DEVELOPING IT.

What is considered C's greatest asset is also its greatest failing for developing large, robust systems: it assumes that you, the programmer, know what you are doing at all times. That's a bad assumption to make for a lot of us (me included).

John F. Bode (jfbode @ mail.earthlink.net) 1996/07/10

All this talk about skilled programmers and being over-protected by Ada reminds me of something that was drummed into me during my aviating days. I was taught:

"The superior pilot uses his superior judgement to avoid situations that would require his superior skill"

I use Ada precisely because it avoids the need constantly to demonstrate my superior skill :-)

Peter Amey (pna @ erlang.praxis.co.uk) 1996/07/05


If we use [compiler] validation as a measure of success, surely C and C++ must be dismal failures.

Carl Bowman (bowmanc @ ns1.sw-eng.falls-church.va.us) 1996/06/24

Which make me think of a boss I once had who insisted that all objects were assigned coded names like 'E84jKS' and 'DFK-34_9' arguing that this way we were forced to check everything very carefully... The same one that insisted on using BASIC as it made sure the source was never lost...

Jerry van Dijk (jerry @ jvdsys.nextjk.stuyts.nl) 1996/06/21

[ On a remark about the absence of "Ada for Dummies" type books. ]

How's this for a slogan: "Dummies don't _do_ Ada. They do C." :-)

Mike Feldman (mfeldman @ seas.gwu.edu) 1996/06/02

One of the benefits of reaching advanced antiquity is that I have seen so many wonderful technologies come and go. Although my years of observing the birth and passing of tools, methods, technology, and languages, has not added to my wisdom, it has made me somewhat more cautious.

Java, to me, has all the earmarks of BASIC for the first half of the twenty-first century. And like BASIC, it will go through successive "improvements" until it is, like all other evolutionary software technologies, a pile of dry rot held together with baling wire.

People who think Ada is made obsolete by Java have serious order-of-magnitude problems.

Richard Riehle (adaworks @ netcom.com) 96/05/30

"When Roman engineers built a bridge, they had to stand under it while the first legion marched across. If programmers today worked under similar ground rules, they might well find themselves getting much more interested in Ada!" - Robert Dewar, President Ada Core Technologies (in "1996 Ada Resource Catalog")

Dirk Craeynest (dirk @ offis.be) 96/05/28

"Because we are returning a copy for postfix ++ expressions, statements such as (c++)++; won't work as expected." - Weiskamp & Flamig, _The_Complete_C++_Primer_, 2nd ed.

James Robinson (james-robinson @ uiowa.edu) 96/05/27

I will not be a lemming and follow the crowd over the cliff and into the C

John (Jack) Beidler (beidler @ cs.uofs.edu) 96/05/22

Fifty years of programming language research, and we end up with C++ ???

Richard A. O'Keefe (ok @ goanna.cs.rmit.edu.au) 96/04/30

"... one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs." - Robert Firth

Edward Colbert (colbert @ abssw.com) 96/04/29

If someone raises nonsense such as executable size as argument against Ada, you're just wasting your time trying to placate them. They will just keep shifting their argument, because the real problem isn't executable size, it's that it's not C. Don't even bother.

Theodore E. Dennison" (dennison @ escmail.orl.mmc.com) 96/04/18

I will not be a lemming and follow the crowd over the cliff and into the ... "C"

Jack Beidler (beidler @ cs.uofs.edu) 96/04/03

One of the most important contributions of C++ will eventually be a greater appreciation for Ada, especially Ada 95.

So far, in our Ada 95 training, those students with a good background in C++ are the most amenable to Ada. On the other hand, in A C++ class for one of our Ada clients, those students with a good Ada background seemed to do best in learning C++.

Richard Riehle (adaworks @ netcom.com) 96/03/26

"The more I learn of C++, the more I like Ada95" - Me.

Chris.Morgan (Chris.Morgan @ baesema.co.uk) 96/03/22

[ Lots of projects have so many difficulties with C++ they end up using their "own" "safer" version of C++ with their "own" "safe" extensions. ]

Maybe someone should write an article "C++ the language nobody uses succesfully" (attention grabbing headline?!?) and then explain how it is always necessary to use a small subset of the features and to wrap weak C constructs (e.g. arrays, strings) in utility classes to achieve real productivity. They could then show how this patched-up restricted C++ maps onto Ada95 nicely :-)

Chris.Morgan (Chris.Morgan @ baesema.co.uk) 96/03/22

It may be the case that one of the most beneficial by-products of C++ popularity is the ability to cultivate a greater appreciation of Ada.

Once someone understands the in's and out's of both languages, many will make an informed decision in favor of Ada. Others will continue to choose C++, not for technical reasons, but for reasons that will not be arguable.

Richard Riehle (adaworks @ netcom.com) 96/03/21

IMHO, the Ada zealots are wrong to claim that Ada is better because it prevents unsafe programming. In both C and Ada, a good programmer isolates all the low-level, down-to-the-bits, non-portable stuff in certain modules. And in both languages, there are features for doing the low-level stuff -- nothing is "prevented".

IMHO, the advantage of Ada wrt this issue is primarily a *documentation* issue. In C, a safe cast (like int to long) uses the same syntax as an unsafe one (like certain ones involving pointers). In Ada, the safe ones look different from the unsafe ones, so when you read the code, you can *tell* that something tricky is happening. There are many other similar examples. This sort of documentation is quite useful, because you can be sure that it doesn't lie, because you know the compiler checked it (unlike a mere comment).

Robert A Duff (bobduff @ world.std.com) 96/03/14

> We probably should have called the new version Ada++ rather than Ada95

Actually, Ada 83 should have been called Pascal++, so Ada 95 would be Pascal++++.

Java is, in many ways, C++--.

Michael Feldman (mfeldman @ seas.gwu.edu) 96/03/11

[...] However, as some of you have heard from me too often, Ada is a management tool. It selects for software engineers and encourages the hackers to quit.

Robert C. Leif (rleif @ mail.cts.com) 96/03/06

> Standardization notwithstanding, any language will allow you to write errnoeous programs, whose outcome could have dire consequences. I can write in Ada a function that computes something other than what I intend it to compute, as I can in C. Whether I'm more or less likely to do it in C is more of a matter for religious debate. Competent software engineers can work with either one and produce correct, well-defined results according to the standards.

Safety features notwithstanding, any car will allow you to cause a car crash, whose outcome could have dire consequences. I can just as well drive a modern Volvo into a brick wall as I can a 1960's Detroit car built with no safety concerns.

Whether I'm more or less likely to do it in the old Detroit car is more of a matter for religious debate. Competent drivers can avoid accidents in any car.

Robert Dewar (dewar @ cs.nyu.edu) 96/03/02

[...], the resulting language is far from elegant. We are talking about a language whose syntax is so convoluted that, Dan Saks devoted over a hundred column inches of the January issue of C/C++ Users Journal to telling professional C/C++ programmers how to parse declarations. In the same issue, Pete Becker devoted space to explaining the meaning of sizeof(Sample&), which reads, "the number of bytes in the object representation for the type reference-to-Sample." That value turns out to be (get this!) the number of bytes used to encode objects of type Sample, regardless of the number of bytes used to encode references --- a design decision so obscure and irregular that even the authors of the April Draft of the C++ standard missed it.

Tom Payne (thp @ cs.ucr.edu) 96/02/23

> The reason C is popular with coders is that, generally, they never have to maintain other people's code. I've never met anyone responsible for C language code maintenance who speaks well of the C Language. > Anyone out there who LIKES to maintain C code ?

I know some folks who like it. A person can spend an entire CAREER debugging a single moderate-sized C system. I know a place in Alberqueue where 4-8 C programmers are employed pushing C bugs around the system like bubbles under the carpet. They've been there for 5 years now, and there is no end in sight.

Deciding to develop a large system in a weakly-typed language is akin to proposing Welfare for code maintainers.

Ted Dennison (dennison @ escmail.orl.mmc.com) 96/02/05

> C's philosopy seems to be, "When in doubt, permit it. It just might be correct." The freedom that this gives programmers to create new ways of solving problems may be one of the reasons that C remains so popular, despite the fact that it it unquestionably unsafe.

This is an accurate representation of my experience with the PHILOSOPHY of the C Language. The most common result IMHO is the "freedom that this gives programmers to SOLVE new ways of CREATING problems" (note paraphrase).

Gary McKee (gmckee @ cloudnine.com) 96/02/02

The cost of tools is a common argument made by ignorant managers to support their decision to use C or C++ over Ada. Some may actually believe this due to their short-sighted view of a software project and failure to realize the "pay now or pay later" principle but in most cases the decision is made due to someone whose opinion carries more weight who likes (and only knows) C or C++.

Of course in the commercial world, where customers are conditioned to constantly paying for software updates that are really just bug fixes for the last release, perhaps there is an advantage to creating buggy code :-)

Jerry Petrey (gpetrey @ gelac.lasc.lockheed.com) 96/01/19

The lack of a viable standard for a language can definitely kill it.

Witness what happened to Pascal, and Lisp before Common Lisp. These languages suffered severely for lack of a standard, or for the standard being a least-common denominator instead of a useful feature set.

A person who thinks a programming language can long survive in the commercial world without at least a de-facto standard (e.g. Cfront for C++) is completely naive.

C++ is actually in an awkward between-standards position right now, caught between Cfront and ISO/C++, and users of C++ know this and know they are suffering from it, not benefiting from it. As long as Cfront defined the language, things were OK. Once Cfront fell behind the ISO/C standard, things got pretty unpleasant, and remain so today.

Tucker Taft (stt @ inmet.com) 96/01/10

All those C programmers are going to be really upset when the C++ standard is approved, and they all are forced to convert their existing C code to it ;)

Ken Garlington (redhawk @ flash.net) 96/01/09

Ada rarely _prohibits_ anything. (Being able to insert machine code directly into the source would make it difficult to prohibit much!)

However, it does make you work harder for things that are potentially confusing and/or potentially dangerous.

Ken Garlington (GarlingtonKE @ lfwc.lockheed.com) 95/12/21

Jerry Morris (morrisg @ source.asset.com) wrote on 95/10/14:

> Ada is a classy lady; to associate with her, you must follow certain rules and behave like a gentleman. C is a tramp who will let you do anything. If all I want is a quickie I'll use C. If I expect a long-term relationship with the code, or want to take the code out in public, I'll use Ada.

In public, Ada certainly can behave like a classy lady, but behind closed doors, she can more than hold her own against any tramp!!! I don't need C for quickies; in my long term relationship with Ada, she gives me quickies whenever I want them. And the number of positions that Ada knows puts C to shame. The more I get to know her, the more I want her.

Gene Ouye (geneo @ rational.com) 95/10/19

"Do you program in Assembly?" she asked. "NOP," he said.

doctor @ netcom.com 95/08/19

Yes, I know C++ is risky _by design_ .

Fernando Mato Mira (matomira @ epfl.ch) 95/04/05

> What I can see lurking on the horizon is the question: "OK, this *new*, Ada sounds hot, but where are the validated compilers?"

I wonder which validated C++ compiler they are using? Demanding a validated compiler for Ada and not having that requirement for C++ or any other language is a double standard that always needs to be pointed out.

Darren Davenport (ddavenpo @ redwood.hac.com) 95/02/10

In the same issue [of PC Week, i.e. "the Year in Review"] Peter Coffee writes in his column... (page 34)

"In this column that bridges one year into another, I'm supposed to take the big risk of predicting what 1995 will hold.

I predict that developers will tire of "Guess what this does?" and move toward languages that don't hide their code's true intentions. In corporate environments, these will be Object COBOL, Smalltalk, and Ada 95. No longer Ada 9x, Ada 95 will soon be the first ISO standard object-oriented language. Check it out."

Dave Retherford (daver @ Starbase.NeoSoft.COM) 94/12/29

In PC Week "the Year in Review" under section "Biggest Letdowns of the Year"

The C++ Programming Language

"With syntax so chaotic that even compilers have to guess at it, C++ code had better be reusable, because no one will ever want to reverse-engineer it. The programming language's "feature" - being a superset of C - is a fundamental bug. With numerous large projects being written in already obsolete dialects, C++ is arguably an "instant legacy" language."

James Hopper (jim_Hopper @ dayton.saic.com) 94/12/29

> I have always said that I won't use a language of which the proponents put code in front of each other and say "Bet you can't guess what this does!"

Umm, isn't that the point of the Obfuscated C Contest?

Matthew Saltzman (mjs @ clemson.edu) 94/12/11

> The folks who most want to use C++ are those who haven't used it. Programmers who haven't used C++ much want to know it better so they can add it to their resume (although most C programmers add it anyway). It is very hard to argue with this blind following instinct.

This too is true. However, there is also the situations that I see frequently: Some tech weenie (who is considered a "guru") gets hyper about C++ because he's written a small app with his Borland compiler. He convinces his managers that C++ is the way to go. The managers, who have "brand recognition" of C++, accept this advice without further consideration of alternatives (after all, that takes time and money, and the tech guy was a guru anyway -- his decision _must_ be objective because that's how techies are :-)

David Weller (dweller @ Starbase.NeoSoft.COM) 94/12/07

> [...] that somehow all the strong typing etc. in Ada would make people's life harder, which is of course nonsense, and presumably is nonsense borne of ignorance.

I can't resist pointing it out. Using strict type-checking *does* make writing programs harder. You actually have to think about what you are doing, and maybe even do a bit of design before writing, rather than just banging in a bunch of code, and dropping into the debugger at the first sign of a core dump.

James Kanze (kanze @ gabi-soft.fr) 94/12/05

Quitting C++ isn't so difficult, provided you show as much persistence stopping as you did starting.

David Weller (dweller @ Starbase.NeoSoft.COM) 94/12/03

The "standard" software engineering approach for APL is called throw-away coding. The idea is to write everything as one-line functions, with several lines of comments in each which explain the interface and intended use. If you need to modify the function, you begin by throwing away the code.

Robert I. Eachus (eachus @ spectre.mitre.org) 94/12/02

[...] we are now seeing the graduate students who learned C hacking in universities under the illusion that it is programming in positions as university professors eager to teach C under the illusion that they are teaching programming :-)

Rober Dewar (dewar @ cs.nyu.edu) 94/11/16

> C/C++ developers are all over the place.

It's a big mistake to equate C and C++ programmers. There's a substantial difference in approach between the two languages. In my observation, the number of C programmers >> the number of C++ programmers. What's worse, the number of people claiming to know C++ >> the number of people who actually understand the language.

Thus a lot of alleged C++ is nothing more than bad C with 'OOP-sugar' sprinkled over the code.

David Emery (emery @ goldfinger.mitre.org) 94/11/15

How C++ is like teenage sex

1. It is on everyone's mind all the time.

2. Everyone talks about it all the time.

3. Everyone thinks everyone else is doing it.

4. Almost no one is really doing it.

5. The few who are doing it are: A. Doing it poorly. B. Sure it will be better next time. C. Not practing it safely.

cited by George C.Harrison (g_harrison @ vger.nsu.edu) 94/11/14

You'd be surprised how far you can get by writing C, compiling it with a C++ compiler, and then claiming to all who will listen that you've written in C++. :-) :-)

Mike Feldman (mfeldman @ seas.gwu.edu) 94/10/27

And when the C++ programmers begin to discover Ada 9X, there ought to be a massive migration to Ada. The more I look at Ada 9X, the more I realize just how excellent it is.

Richard Riehle (adaworks @ netcom.com) 94/10/25

> In fact, I believe that the ability to easily integrate code written in other languages with Ada code is one of the big strengths of Ada.

Ada 83 compilers provide pretty good, pretty standard, interfaces to other languages, and Ada 9X is improving that substantially. Take a look at the niceties in Interfaces.C, Interfaces.Cobol, and Interfaces.Fortran.

It has always baffled me why anyone would consider the desire (or need) to link to existing libraries, whatever their language of origin, as a _disadvantage_ of Ada. Bizarre.

Mike Feldman (mfeldman @ seas.gwu.edu) 94/10/25

But poorly written C masquerading as C++ deserves all the scorn it gets.

Robert I. Eachus (eachus @ spectre.mitre.org) 94/10/11

There was a time when experimenting with C++ made sense, including using it on a few deployed (but not expected to be long lived) systems. I think that a lot of what was learned in the process made Ada 9X a better language for large OO-based systems. Some C++ features worked, others created problems.

Robert I. Eachus (eachus @ spectre.mitre.org) 94/10/11

Ever spend a little time reading comp.lang.c++? That's really the best place to learn about the number of C++ users looking for a better language.

R. William Beckwith (beckwb @ ois.com) 94/10/10

[ On code readability: ]

In computer science papers that present some algorithms, it is seldom the case that these algorithms are described in a C-like fashion. Most often, a Pascal-like solution is used even when the algorithm is really implemented in C/C++. Howcome ? I thought C was THE widely accepted language. For me, this says it all.

Pierre Castori (castori @ litsun.epfl.ch) 94/10/05

But it's a bit depressing, if you have people who like debugging, then they have an incentive to write buggy code, or they won't have any fun, and telling them that a language helps to reduce bugs may not make it attractive :-)

Robert Dewar (dewar @ cs.nyu.edu) 94/10/05

I believe your response simply pointed out one of the fundamental differences between C++ and Ada. In C++, you can build safe abstractions if you work at it, but the defaults provided by the language are unsafe. In Ada, the defaults provided by the langauge are safe, and if you work at it, you can circumvent the safety checks.

Both are valid approaches. My experience favors having the language be inherently safe, with an ability to suppress or circumvent the checking when circumstances demand it. I could easily imagine that others have other experiences and other preferences.

Tucker Taft (stt @ inmet.com) 94/10/04

[ On software maintainability: ]

For defining and particularly enforcing an abstraction you could make a fairly strong case that Ada is better than C++. The case wouldn't be that you can't define and enforce an abstraction in C++, which would be a bit naive, but that in some cases the effort required goes far beyond what is required in Ada.

Robb Nebbe (Robb.Nebbe @ di.epfl.ch) 94/10/04

> If anyone knows of a book that is the functional equivalent of "The Idiot's Guide to C" for the Ada language, please send me the title and author.

[Smart-ass reply]

Idiots don't use Ada. Idiots only use C or derivations. :-)

David Weller (dweller @ Starbase.NeoSoft.COM) 94/09/28

ObNitPick: Spelling Ada as ADA is like spelling C++ as CPLUSPLUS. :-)

David Weller (dweller @ Starbase.NeoSoft.COM) 94/09/23

[ On the name of the TRI-Ada '94 Conference: ]

I STILL say if we had named it Object-Oriented Fortran 94, we wouldn't be able to make enough copies for everyone. :)

Dave Cook (dcook @ kirk.usafa.af.mil) 94/09/15

Ada doesn't prevent you from writing ugly, low-level, non-portable code, but it makes it more difficult to do it accidentally -- and that *is* a technological advantage.

Keith Thompson (kst @ alsys.com) 94/09/08

> Now I understand why languages are religions. [...] If [you] want to impose discipline on your C code, then find a tool that supports your religion.

Ada is NOT the religion, software engineering is the religion. Most Ada avocates, myself included, read, understand, and even use C where appropriate. We do not treat C programmers as heretics, we regard those who speak only C illiterate. Why? Because those who only speak George Orwell's Newspeak, or for that matter double plus C, are unable to understand the problems the only language they know forced them to live with.

[...] If you accept the need for tools which detect and prevent major debugging problems before they occur, then you can begin to understand why software engineers are such Ada advocates. [...] I will continue to react rudely to any C programmer who tells me why he doesn't need compile time checking, just as I would to a driver explaining why his car has no brakes. I have had to deal with too many bodies from the (software development) highway to do otherwise.

Robert I. Eachus (eachus @ spectre.mitre.org) 94/09/06

Indeed, an original conception of C (cf. Ritchie's early writings) was precisely that it be a "portable assembler" sort of thing.

Indeed, if that were what C was used for, primarily, the entire industry would be a lot better off. C has been distorted way beyond the original expectations of its designers. (Not my opinion alone.)

Michael Feldman (mfeldman @ seas.gwu.edu) 94/08/30

The reason C is so pervasive is because of entropy, all things are trying for a uniform level of mediocrity.

Ronald (ronalds60 @ aol.com) 94/08/29

While it's possible to write _badly_ in any language (and I'm defining "bad"="unreliable"), it takes more effort to write "badly" in Ada.

David Weller (dweller @ Starbase.NeoSoft.COM) 94/08/23

I don't want to sound too elitist, but it seems to me that the majority of the general programming public are what used to be called hackers (before the criminal element expropriated that term) and I see no indication that anything is going to change in the near future. I believe that the people who currently sing the joys of C are those who were explaining how easy it is to program the world in Basic only a few years ago, or at least their technological descendants.

Charles H. Sampson (sampson @ nosc.mil) 94/08/15

I find it quite amusing that so many C-fans believe they're working with arrays, when all they have is some dangerous syntactic sugar for memory manipulation and pointer "arithmetic." Can you say: "unsafe", "core dumped" and "segmentation fault"? If you can, and you still work with it, it's "your fault"...

Magnus Kempe (Magnus.Kempe @ di.epfl.ch) 94/07/01

Ada - the lady among the programming-languages.

Jahn Rentmeister (rentmei @ asterix.uni-muenster.de) 94/06/22

> My manager is looking for the equivalent of the program Purify to check Ada programs for their memory usage [...].

The fundamental design point of Ada is that programs like purify are not necessary. The required compile time and runtime checks ensure that the kinds of routine things that purify catches do not occur in Ada programs. [...]

Ah, I see the seeds of yet another excuse for not using Ada. "I can't use Ada because it lacks lots of nice unsafe stuff that can be found using a purify program" :-)

Robert Dewar (dewar @ cs.nyu.edu) 94/06/13

Don't be too quick to assume that all CS departments have chosen C as their intro to Programming. Most in the US still use Pascal, with a few using Scheme, C, C++, Ada and other languages. It is certainly true that the suggestion of using C is coming up more and more, and is really a discouraging throwback to the days when universities in the US (note certainly NOT in England and the rest of Europe) were teaching Fortran.

What is discouraging is to hear people both using and listening to the argument that you should teach C because that's what's used in industry. By that standard, we should have been teaching COBOL all these years.

Robert Dewar (dewar @ cs.nyu.edu) 94/05/19

Heard in the hall this morning.

The evolution of languages: FORTRAN is a non-typed language. C is a weakly typed language. Ada is a strongly typed language. C++ is a strongly hyped language.

Ron Sercely (sercely @ convex.com) 94/05/06

Frequently heard at TOOLS Europe '94:

"C(++) is a write-only, high-level assembler language".

Stefan Van Baelen (stefanv @ cs.kuleuven.ac.be) 94/05/05

An Ada-bigot is a bigot, too. But unlike most other bigots, he's right.

Jahn Rentmeister (rentmei @ asterix.uni-muenster.de) 94/05/02

> In Ada you have to *understand* how to combine, plan and structure right from the very start. A lot of people find this hard in the early phases of learning to program.

But this is just what learning to program _means_. Anything that gives people the impression that they "know how to program" when they _haven't_ learned to do these things has deceived them.

Richard A.O'Keefe (ok @ goanna.cs.rmit.oz.au) 94/04/27

"C is quirky, flawed, and an enormous success." -- Dennis M. Ritchie

Richard A.O'Keefe (ok @ goanna.cs.rmit.oz.au) 94/03/25

The really incredible thing is how Ada can be viewed as "too complicated", yet C++ is "OK".

David Emery (emery @ mitre.org) 94/03/24

> C++ has it's place in the history of programming languages.

Just as Caligula has his place in the history of the Roman Empire?

Robert Firth (firth @ sei.cmu.edu) 94/03/18

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.

Waldi Ravens (walra%moacs11 @ nl.net) 94/03/18

What worries me about the trend in CS education circles to try and teach C or C++ as an entry language is not so much the languages, but the weak intellectual justification. What I heard a number of times at SIGCSE last week is that folks are doing the C family _not_ because they think it's the best way to develop quality software, but because the students and their potential employers are pushing them into it. That makes the universities trainers, not educators, and I think it's a sell-out.

In other words, the C culture is alive and well. That's a problem. If the universities start shifting en masse from Pascal to C - and they are _NOT YET_ doing so - then their students will lack even the minimal discipline that Pascal has provided. It's hack from CS1 on.

This is a real opportunity for Ada. Let's not blow it.

Mike Feldman (mfeldman @ seas.gwu.edu) 94/03/16

Ada doesn't allow you to write things like if (fp=fopen(file_name[i++], "r")), because it's made to be read easily, not to be written easily.

C, to me, always looked like being made by someone who didn't like to type very much: You get small tasks (like simple filters) ready VERY fast, but more than 3 quarters of the time is debugging. (At least for me)

Jahn Rentmeister (rentmei @ asterix.uni-muenster.de) 94/03/08

C++ : Where friends have access to your private members.

Gavin Russell Baker (gavinb @ ucs.unimelb.edu.au) 94/02/25

> And I always thought strong typing was when people beat on their keyboards, usually in frustration... :-)

This reminds me of a public Ada "short course" I gave a number of years ago at GW. One student said, with a straight face, that the word was out on the street that "strong typing" meant that to work with Ada, you needed strong fingers to bang out 60 words per minute.

Michael Feldman (mfeldman @ seas.gwu.edu) 94/01/23

It is always amusing to hear people follow a line of reasoning something like

Ada does [or does not have] feature X which is a disaster, so I will use C

when C is in worse shape with respect to feature X. In this particular case [someone] says that the use of "use" clauses in Ada is a disaster so he is better off with C (which of course mandates the equivalent of the use clause in all situations all the time, with no possibility of other than global visibility).

Robert Dewar (dewar @ cs.nyu.edu) 94/01/20

"The more I C, the less I see".

Usenet 94/01/08

Ada is obliquely affected in this way: encryption algorithms in general are better implemented in Ada than in C++ because heavy numerical machinations end up running measurably faster from Ada. (Could this be due to greater efficiency of code generation in multi- pass Ada compilers in contrast to C which usually gets its math stuff relatively later at runtime.)

Usenet 93/12/16 (approx.)

In this [...] thread, it is interesting to see that most of the focus is on ease of writing [...] but it's worth repeating that in the Ada design, the reader is strongly favored over the writer. Given the understanding of difficulties and effort required in maintaining software, this is entirely appropriate.

Robert Dewar (dewar @ cs.nyu.edu) 93/12/01

(On the topic of C++ users not being interested in anything that doesn't have an operator in its name (Smalltalk, Ada, CLOS...), etc. and the claim that maybe Ada should be called Pascal++)

Not to start a war, but I've always described Modula-2 to people as being Ada--. :-) :-) :-)

Michael B. Feldman (mfeldman @ seas.gwu.edu) 93/10/15

C++ would make a decent teaching language if we could teach the ++ part without the C part :-)

Michael B. Feldman (mfeldman @ seas.gwu.edu) 93/09

Feldman's Law of Programming Terminology:

"Two languages implementing the same idea must, on pain of death, use different terms." ;-)

Michael Feldman (mfeldman @ seas.gwu.edu) 93/03/17

This is a lot like saying "Ada must be bad because when I design an algorithm in C, Oh My Gawd we have such problems transliterating it into Ada." I'm serious about that.

Richard A. O'Keefe (ok @ goanna.cs.rmit.oz.au) 93/03

When Bell Labs were invited to evaluate C against the DoD requirements, they said that there was no chance of C meeting the [STEELMAN] requirements of readability, safety, etc, for which we were striving, and that it should not even be on the list of evaluated languages. We recognized the truth in their observation and honored their request.

William H. Whitaker, Col, USAF (ret), "Ada - The Project: The DoD High Order Language Working Group", History of Programming Languages - II, ACM SIGPlan Notices, v.28, #3, March 1993, pg 314


The 1980s will probably be remembered as the decade in which programmers took a gigantic step backwards by switching from secure Pascal-like languages to insecure C-like languages. I have no rational explanation for this trend. But it seems to me that if computer programmers cannot even agree that security is an essential requirement of any programming language, then we have not yet established a discipline of computing based on commonly accepted principles.

Per Brinch Hansen (letter to C.A.R. Hoare) 1993/02/20

"Beyond 100,000 lines of code, you should probably be coding in Ada." - P.G. Plauger, Convener and Secretary of the ANSI C Committee

Jim Showalter (jls @ rutabaga.rational.com) 1991/04/24

"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg."

Bjarne Stroustrup

The use of COBOL cripples the mind; its teaching should therefore be regarded as a criminal offense.

E W Dijkstra

On computer science


The software industry as a whole is quite immature compared to other engineering disciplines. One way to characterize immaturity is that one does what one wants rather than what one should.

H. S. Lahman (hsl @ pathfindermda.com) 2008/11/05


There is only one thing worse than a program that crashes: a program that gives wrong, but likely results.

J-P. Rosen (rosen @ adalog.fr) 2008/09/30


"The computer industry is the only industry that is more fashion-driven than women's fashion." - Larry Ellison, founder of Oracle

(quoted on guardian.co.uk) 2008/09/29


"Program testing can be used to show the presence of bugs, but never to show their absence!" - E.W. Dijkstra

Jerry Coffin (jcoffin @ taeus.com) 2008/01/24


"... as computers become smarter, as they reach the threshold of human intelligence, it will become possible... and soon after that, necessary - to bribe them." - Spider Robinson

Steve O'Hara-Smith (steveo @ eircom.net) 2007/12/27


> programmers take pride in being logical and rational.

IMHO, homo sapiens does rational thought like flying squirrels fly. Yes, sort of, some of the time, but not like an eagle or a fly. There are many things people do better than computers, but logic isn't one of them.

Tom Moran (tmoran @ acm.org) 2007/11/10


"First we thought the PC was a calculator. Then we found out how to turn numbers into letters with ASCII and we thought it was a typewriter. Then we discovered graphics, and we thought it was television. With the World Wide Web, we've realized it's a brochure." - Douglas Adams

houghi (houghi @ houghi.org) 2007/08/23


Study after study has shown that the longer a requirements and design phase goes, the higher the odds the resulting product has major problems. These studies don't track aphorisms, like "the programmers thought the project was fun" (though that's important). The studies track the billions of dollars these projects waste.

The reason is simple: Those phases accumulate many mistakes, without any feedback. Thou shalt increment and iterate.

Phlip (phlip2005 @ gmail.com) 2007/08/22


No one ever says, "Hey, I can't read that ASCII attachment you sent me."

Tami Friedman (kd5rju @ wb5aoh.dyndns.org) 2007/08/16


Portability is generally a good thing, even if you don't think you need it.

Jeffrey R. Carter (jrcarter @ acm.org) 2007/06/01


We'll have paperless toilets before we have a paperless office.

(quoted on Usenet) 2007/05/12


"Incorrect documentation is often worse than no documentation." - Bertrand Meyer

Heiko Bauke (heiko.bauke @ physics.ox.ac.uk) 2007/04/27


> Many developers seem to not like somebody looking at their code.

That's called investing one's ego in one's code. It's a bad sign. People who feel strongly that others should not look at their code should not be working on your projects.

Jeffrey R. Carter (jrcarter @ acm.org) 2007/04/18


> Remember: Formal review is a (proven) much better QA tool than testing.

I'd like to add [...] that there is some IBM study about this: a certain level of quality could only be reached by mixes of QA methods and all those had formal review in them, whereas those levels could not be attained by any combination of the other methods without formal review.

This is a sobering realization, considering that many code in most companies I know is never seen by more than one pair of eyes.

Markus E Leypold (development @ m-e-leypold.de) 2007/04/16


I have noticed over the past forty+ years of being a programmer that the people who make up rules for programmers tend to be people who no longer write programs, or, in some cases, never have written any programs.

Richard Riehle (adaworks @ sbcglobal.net) 2007/03/22


At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer.

houghi (houghi @ houghi.org) 2007/02/05


> It's of course a symptom of lack of professionalism: construction workers who are proud of what they do wear their helmets.

Quite right. Whereas nobody expects a proud construction worker to wear amulets and nobody seriously suggests it, because the majority agrees that helmets protect and amulets probably not, the situation [in computer science] is different for development paradigms, processes and tools.

Markus E Leypold (development @ m-e-leypold.de) 2007/01/25


It just seems to me that the significance of methodology is dwarfed by that of personality. There's no substitute for good managers, and ultimately for people who actually think about what they're doing.

Ben C. (comment on Usenet) 2007/01/15


I think the real problem is that "we" (that is, we software developers) are in a permanent state of emergency, grasping at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but--so often--it's not enough.

Software developers have become adept at the difficult art of building reasonably reliable systems out of unreliable parts. The snag is that often we do not know exactly how we did it: a system just "sort of evolved" into something minimally acceptable. Personally, I prefer to know when a system will work, and why it will.

Bjarne Stroustrup (Technology Review: The Problem with Programming) 2006/11/28


"Computer science is no more about computers than astronomy is about telescopes." - Edsger Dijkstra

Robbert Haarman (quoted on Usenet) 2006/10/18


The irony is that Bill Gates claims to be making a stable operating system and Linus Torvalds claims to be trying to take over the world.

Robbert Haarman (quoted on Usenet) 2006/09/28

Mac OS X. Because making Unix user-friendly is easier than debugging Windows.

Karel Titeca (karel.titeca @ cc.kuleuven.be) 2006/01/24

If Windows is the Solution, may we have the problem back?

Werner (euplius1 @ telenet.be) 2005/09/21

In a world without walls and fences, we don't need Windows and Gates...

Cyrano (cyrano.mac @ techemail.com) 2005/04/09


A corollary of Murphy's law is that duplicate information eventually becomes different information. Putting both in the same file may slow down the process, but it will not prevent it.

Wes Groleau (groleau @ freeshell.org) 2004/10/10

"I've noticed lately that the paranoid fear of computers becoming intelligent and taking over the world has almost entirely disappeared from the common culture. Near as I can tell, this coincides with the release of MS-DOS." - Larry DeLuca

Wes Groleau (groleau @ freeshell.org) 2004/09/11

"In a purely theoretical world, one could imagine developing modest software programs in such a way that any module could be swapped out in favor of a similar module developed by a third party. The replacement module would need to conform identically to the interfaces expected by all of the modules with which it interacts. In the commercial world, it is hard to see what value such replace-ability would provide even if it could be achieved." - Bill Gates, under oath in April 2002

Alan and Carmel Brain (aebrain @ webone.com.au) 2004/09/10

We know, at least we should know, that Microsoft doesn't just "jump on the bandwagon". Microsoft is more likely to buy the bandwagon, fire the band members, melt all the instruments, junk the wagon and then open a sports bar with a juke-box.

Andrew Carroll (andrew @ carroll-tech.net) 2004/09/09

Of course, that's just part of a general dumping-down of programming. And that's what managers want: they want any idiot to be able to build software, so they can hire minimum wage people (or outsource) to do the job. But you're never going to get anything well-designed and maintainable that way.

Randy Brukardt (randy @ rrsoftware.com) 2004/09/02

A computer without Windows is like a fish without a bicycle?

Brubbel (Pino @ sesamstraat.nl) 2004/08/18

Every programmer should have to spend time doing non-glamorous maintenance programming before he's allowed to write new code. Periodic refreshers of maintenance programming should be required, as well.

Alan Balmer (balmerconsulting @ att.net) 2004/07/20

Have we been conditioned by Microsoft to think that unless we get a new release every quarter we are somehow missing out on something we absolutely have to have?

Marin David Condic (mcondic @ acm.org) 2004/03/26

Considering the number of wheels Microsoft has found reason to invent, one never ceases to be baffled by the minuscule number whose shape even vaguely resembles a circle.

Cyrano (cyrano.mac @ techemail.com) 2004/02/05

"When a filesystem no longer needs to be mounted, it can be unmounted with umount.*

*It should of course be unmount, but the n mysteriously disappeared in the 70's, and hasn't been seen since. Please return it to Bell Labs, NJ, if you find it." - From Linux System Administrators' Guide

Ted Dennison (dennison @ ssd.fsi.com) 2004/01/26

"Never underestimate the bandwitdh of a station wagon full of tapes hurtling down the highway." - Andrew S. Tanenbaum

rabbit (rabbit @ ulyssis.org) 2004/01/20

"So if I understand 'The Matrix Reloaded' correctly, the Matrix is basically a Microsoft operating system - it runs for a while and then crashes and reboots. By design, no less. Neo is just a memory leak that's too hard to fix, so they left him in... The users don't complain because they're packed in slush and kept sedated."

Marin David Condic (mcondic @ acm.org) 2003/10/24

A: Because it messes up the order in which people normally read text.

Q: Why is top-posting such a bad thing?

A: Top-posting.

Q: What is the most annoying thing on usenet and in e-mail?

David Bonde (i97_bed @ i.kth.se) 2003/08/28

"Trains stop at a train station. Buses stop at a bus station. Say ... I have a workstation on my desk."

Antille Julien (julien.antille @ opengl.ch) 2003/07/23

"There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other is to make it so complicated that there are no obvious deficiencies." - T. Hoare

Vinzent Hoefler (ada.rocks @ jlfencey.com) 2003/06/19

No tool can turn an idiot into a genius. But no true genius would be stupid enough to insist on using inferior tools.

Wesley Groleau (wesgroleau @ despammed.com) 2003/04/24

Outlook is the first program a responsible user should remove from his Windows-system (sure removing Windows will also suffice).

Adrian Knoth (adi @ thur.de) 2003/04/02

"I heard that if you play the Windows CD backward, you get a satanic message. But that's nothing compared to when you play it forward: It installs Windows..." - G. R. Gaudreau

Christopher Browne (cbbrowne @ acm.org) 2003/03/14


If we would consider how much was invested in software and hardware [...] it would be not a big exaggeration to say that humankind has in fact dropped space exploration, fusion energy research to develop ... well, MS-Windows!

Dmitry Kazakov (mailbox @ dmitry-kazakov.de) 2003/03/05

Reminiscent of what Fred Brooks said: "when you plan a project you should plan to do it twice - once to find out what you're really dealing with, the second to solve the problem."

Frank Clarke (nisus @ mindspring.com) 2003/03/01

Real Time, adj.: Here and now, as opposed to fake time, which only occurs there and then.

Vinzent Hoefler (ada.rocks @ jlfencey.com) 2003/01/09

If you are writing something that has to be around a while, it in fact would be *wise* to ignore the marketplace. If all your tools have going for them is fashion, they will disappear when the direction of the wind changes.

Ted Dennison (dennison @ telepath.com) 2003/01/08

This reminds me of a software application department meeting where a co-op ask why there was no apparent software design being done to insure a better product.

The manager stated (without blinking or a smile) that there was no time to design software because lines of code was the only true product of the group. I left shortly there after. The product line is no longer there (and neither is the manager).

Philip Johnson (philipj @ hiwaay.net) 2002/12/06

Come to think of it, there are already a million monkeys on a million typewriters, and Usenet is nothing like Shakespeare.

Alex Heney (a.j.heney @ btinternet.com) 2002/11/26

Microsoft Motto: 'Wait for us, we're the leaders!'

Adrian Knoth (adi @ thur.de) 2002/11/17

Microsoft: The Lada of the computing world.

Simon Clubley (clubley @ eisner.decus.org) 2002/10/14

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Richard Cook

Mauricio TÚllez (mtellez @ xal.megared.net.mx) 2002/09/25

That reminds me of a talk I heard some years ago, given by a guy from NASA. He was talking about the software for the Apollo program. They had weight budgets for all the pieces of the rocket - obviously you want to make the thing as light as possible if you're launching it into space. So the manager asked the software guy how much the software would weigh. He said software doesn't weigh anything. The manager said come on, these weight budgets are very important, even if it's not much, every ounce counts. The software guy tried in vain to convince the manager that the weight of software really is zero. Eventually the software guy showed the manager a deck of punch cards, and said, See the holes? That's the software. Then the manager understood.

Robert A Duff (bobduff @ shell01.TheWorld.com) 2002/08/26

> What I'm *really* afraid of is what will happen once the semantics of all the convenience application development environments (e.g. MS Visual Basic, Access, .NET, and also Java/J2EE) will shift sufficiently and companies realize that they've built critical applications on a less than sound foundation.

Old cynics like me will probably agree that these companies will just shrug, scrape up some money, and just recode them using whatever tools are popular at that moment.

The motto of this industry is "We never have time to do it right, but we always have time to do it over." Always has been, still is.

Mike Feldman (mfeldman @ seas.gwu.edu) 2002/07/31

Software is also expected to change much more than anything else. Nobody would wait till you're on storey 15 of a 30-storey office building, then ask "How much would it cost to make the lobby two storeys high?"

Darren New (dnew @ san.rr.com) 2002/07/03

As Microsofts online Knowledge Base blandly explained, the special backup floppy disks created by Windows XP Home do not work with Windows XP Home.

Larry Kilgallen (Kilgallen @ SpamCop.net) 2002/06/18

There are 10 kinds of people, those who understand binary and those who don't.

TaXaN (TaXaN @ kotnet.org) 2002/06/03

In space, no-one can press CTRL-ALT-DEL.

Alan E Brain (aebrain @ austarmetro.com.au) 2002/02/08

[From a real request for a real system:]

Nothing new should appear in the user interface [...] unless supported by a Change Request. [...]

Although uncharitable, the designer of a user interface should always consider the worst in the user. (E.g. the screens and keyboards would be made of rubber if that were possible.)

Also, change should be avoided unless there is a clear benefit for the user. The learning curve might not be steep nor long but some people just can't climb at all and need to be carried up. (twice).

(quoted) 2002/02/07

> ... the average manager prefers hiring a programmer in his/her late 20's to early 30's. (Among other advantages they can be paid less and take less time off for their families ...)

If you pay peanuts, you'll get monkeys.

Jeffrey Carter (jeffrey.carter @ boeing.com) 2001/07/11

Microsoft Windows - a fresh perspective on information hiding.

Georg Bauhaus (sb463ba @ l1-hrz.uni-duisburg.de) 2001/06/09

Q: How many Microsoft Programmers does it take to screw in a lightbulb?

A: It cannot be done. You will need to upgrade your house.

Herman Moons (Herman.Moons @ kulnet.kuleuven.ac.be) 2001/03/30

Long term, for large projects, making sure some "design document" matches the current state of the code has been discovered again and again to be a pure waste of time. Either the UML locks in a bad design, or the design gets better and the UML document does not reflect this.

"Well designed code" is not the same as "code with a lot of pictures describing it."

Phlip (phlip_cpp @ my-deja.com) 2001/02/21

Another problem is that many people, including many programmers, educators, and managers, are simply unwilling to face the complexities of software development. They dream of "silver bullets" and reject effective ideas because they are not perfect and not trivial to use by novices. This leads to real work being done using unnecessarily old languages, tools, and techniques while scarce resources are being squandered on a succession of fads. This underestimation of the problems also leads to every new "silver bullet" being too simplistic to address the rigors of real-world software development. And once something new has adapted to reality, it becomes vulnerable to criticism -- fair and not -- of complexity from the followers of the next "silver bullet."

Bjarne Stroustroup (LinuxWorld.com) 2001/02/20

[...], it is also sad to me that so many "programmers" and "software engineers" today don't treat our science like other sciences. Can you imagine a physicist who wouldn't study the works of Newton, Bohr, or Rutherford because they were "born before his time". In software today it seems like people just want to get into it fast, learn the latest 'in' language and start making money. Perhaps that is why there is so much bad software out there.

Jerry Petrey (jdpetrey @ west.raytheon.com) 2001/01/10

"Failure is not an option. It comes bundled with your MicroSoft Product."

(Quoted on Usenet) 2000/01/20

The day that Microsoft makes something that doesn't suck is probably the day they start making vacuum cleaners.

(Quoted on Usenet) 1999/12/16

But in our enthusiasm, we could not resist a radical overhaul of the system, in which all of its major weaknesses have been exposed, analyzed, and replaced with new weaknesses.

Bruce Leverett, "Register Allocation in Optimizing Compilers" (quoted on Usenet) 1999/09/30

Computers are like air conditioners: they stop working when you open windows.

Toulzac Xavier (toulzac @ alphainfo.unilim.fr) 1999/05/20

What if Bill Gates had a nickel for every time Windows crashed... Oh, wait. He does!

Roy Grimm (ragrimm @ bigfoot.com) 1999/05/11

A mantra that should be central to every programmer's view of the universe is:

"just because it works does not mean it is right"

A lot of programmers violate this because they don't know enough to avoid violations.

Robert Dewar (robert_dewar @ my-dejanews.com) 1999/02/25

"One World, One Web, One Program" - Microsoft Promotional Ad

"Ein Volk, Ein Reich, Ein Fuhrer" - Adolf Hitler

Rolv Seehuus (rolvs @ tihlde.hist.no) 1999/01/06

'When you say "I wrote a program that crashed Windows", people just stare at you blankly and say "Hey, I got those with the system, *for free*".'

Linus Torvalds (quoted on Usenet) 1998/12/07

_Software_Jargon_, Microsoft Press:

"Portable: code that requires the user to port to the latest release of our operating system and utility libraries."

W. Wesley Groleau (wwgrol @ MOST.FW.HAC.COM) 1998/12/01

At a recent computer software engineering course in the US, the participants were given an awkward question to answer. "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" - unknown author

Jim Hopper (jhopper @ erinet.com) 1998/02/06

> BTW I've tried both a real 'vintage 95' Win95, and the new OSR2 that came with my new laptop last month. [similar failures on all] Perhaps the answer is to wait for Win98... :-)

Many people who have trouble with an automobile will switch their next purchase to an entirely different manufacturer, being unsatisfied with the idea of switching to a different brand from the same builder.

Larry Kilgallen (kilgallen @ eisner.decus.org) 1998/02/05

A Case tool is like a Playboy Centerfold: she looks great on paper, but she may be a real bitch to live with.

Trevor Longbow (mobay @ thegrid.net) 1998/01/06

"There appear to be few if any technical reasons to move from UNIX to Windows NT."

David G. Korn, Usenix Windows NT workshop, 1997 (quoted on Usenet) 1997/12/12

"The software required `Windows 95 or better', so I installed Linux."

Mario Truyens (truyens @ esat.kuleuven.ac.be) 1997/09/29

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"

John F. Woods (quoted on Usenet) 1997/08/20

If Windows '97 takes as long to get ready as Windows '95 did, it's going to be Windows '00.

Jan Dockx (Jan.Dockx @ cs.kuleuven.ac.be) 1997/08/04

"DOS Computers ... are by far the most popular, with about 70 million machines in use worldwide. Macintosh fans, on the other hand, may note that cockroaches are far more numerous than humans, and that numbers alone do not denote a higher life form." (New York Times, November 26, 1991)

Jim Hopper (jhopper @ erinet.com) 1997/06/30

MS-DOS: : /M-S-dos/ [MicroSoft Disk Operating System] n. A clone of CP/M for the 8088 crufted together in 6 weeks by hacker Tim Paterson, who is said to have regretted it ever since. The resulting mess is now the highest-unit-volume OS in history.

Herve Regad-Pellagru (regad @ micronet.fr) 97/05/20

If computers get too powerful, we can organize them into a committee -- that will do them in.

houghi (houghi @ ping.be) 97/03/03

I'm always baffled by the number of software people who think fast code is better than correct code!

Dana Miller (dmiller @ cybo.com) 97/01/21

"Intel Inside"... The world's most widely used warning label.

Jim Hopper (jhopper @ erinet.com) 96/12/14

"I think there is a world market for maybe five computers." - Thomas Watson, chairman of IBM, 1943

Geert Bosch (geert @ sun3.iaf.nl) 96/09/02

It seems most on-line systems have this undocumented feature dubbed "support proximity device" which calculates the distance between the critical component and the nearest person available to repair/replace that component. When that distance is significant enough to annoy more than one person, the "support proximity device" brings the system to a screeching halt.

Richard Jaggers (Rick @ Jaggers.com) 96/08/31

> That is one of the most major problems of working in the European space industry - NOTHING is ever decided on purely technical terms. I have experience of this even within my own (Anglo-French) company.

"Correction". That is one of the most major problems of working in the software biz. I've seen it basically everywhere. This business functions more like the pop music biz than anything else.

Jon S Anthony (jsa @ organon.com) 96/08/26

"Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, forecasting the relentless march of science, 1949

Charlie Metcalf (metcalf @ ix.netcom.com) 96/08/22

[ On the meaning of the word "maintainable" as found in the Oxford English Dictionary: ]

P.P.S. The second (obsolete) meaning of maintainable is fun:

"Affording a livelihood"

It would be nice if this applied to the word in software use, but I am afraid that far to often people afford their livelihoods by making sure their code is NOT maintainable (except by themselves) :-)

Robert Dewar (dewar @ cs.nyu.edu) 96/08/06

"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)" - Linus Thorvalds

Hubert Feyrer (hubert.feyrer @ rz.uni-regensburg.de) 96/08/05

There *is* too much art and not enough science in software. 'Computer Science' is to 'Science' as 'Plumbing' is to 'Hydrodynamics'.

Kevin D. Quitt (kdq @ emoryi.jpl.nasa.gov) 96/07/08

Someone in one of my Ada classes for a defense contractor once asked, "Why is it that the people who make up new rules for programmers are people who no longer write programs?"

Richard Riehle (rriehle @ nunic.nu.edu) 96/05/08

Only in UNIX could less be like more only better.

Jason Gould (Jason @ gould.home) 96/03/14

"Software Engineering is that part of Computer Science which is too difficult for the Computer Scientist" - F. L. Bauer

Michael D. Griffin (griffin @ alaska.net) 96/02/21

"As long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem and now that we have gigantic computers, programming has become an equally gigantic problem. In this sense the electronic industry has not solved a single problem, it has only created them -- it has created the problem of using its product." - E.W. Dijkstra Turing Award Lecture, 1972

David Sanderson (cmi @ neonramp.com) 96/01/15

"Usenet is like a herd of performing elephants with diarrhea; massive, difficult to redirect, awe-inspiring, entertaining, and a source of mind-boggling amounts of excrement when you least expect it."

Eugene Spafford (quoted on Usenet) 96/01/05

[ On using assertions to build more reliable code: ]

I hope the author of the article [Dec 95 Byte, pp. 50] talked about other than just using assertions as a means of making software work better.

Most of software today do not work because of bad or incorrect foundational design of a complex system. The rush to code something before a complete design is complete and understood so that to be able to have a product in the market before the competitor is the main cause of why software does not work right today.

Adding 2 zillion assertions all over the code will not do much good to fix a bad design. Adding assertions can help one produce a more bug-free bad designed software rather than a more bug-free good designed software.

It is very hard to debug quality into the software. One must design it in.

Nasser Abbasi (nabbasi @ qualcomm.com) 95/12/05

It's a new motto...

"MSN: for all the folks too clueless to be on AOL"

Mighty CheefDan (cheefdan @ netaxs.com) 95/09/05

There's nothing wrong with DOS that Unix wouldn't fix.

Naphtali C. Visser (nafnaf @ cs.bu.edu) 95/08/06

The only people who have anything to fear from free software (such as GNAT) are those whose products are worth even less.

David Emery (emery @ grebyn.com) 95/07/31

Computers do not solve problems, they execute solutions.

Laurent Gasser (gasser @ dma.epfl.ch) 95/04/07

Object Orientation is one of those things where almost everyone seems to be able to identify what isn't, but few people seem to be able to identify what is.

Doug Robertson (Doug @ rippleco.demon.co.uk) 94/11/17

'All your problems will be solved by Windows xx, from the company that brought you MSDOS!'

tmoran @ bix.com 94/11/03

[ On losing memory in MS Windows ... ]

Windows 3.1 is a toy, but a very pervasive one. Perhaps MS will fix some of this stuff in Chicago, I mean Windows 94, er uh I mean Windows 95 or NT or Windows for Workgroups or DOS 17.3 or...

Doc Elliott (helliott @ losat.redstone.army.mil) 94/10/25

It's a simple matter of natural selection. As long as the procurement process selects for organisations that can win contracts rather than produce software, such organisations will continue to evolve.

Robert Firth (firth @ sei.cmu.edu) 94/10/10

Best acronym expansion for emacs: Eight Megs And Continually Swapping :-)

Grant Waldram (s884764 @ minyos.xx.rmit.EDU.AU) 94/09/29

It may not seem like an astonishing revelation that software written non-portably is not portable, but there are a lot of managers out there who still haven't figured it out.

Robert I. Eachus (eachus @ spectre.mitre.org) 94/09/21

In fact of course, Case Tools are little more than compilers for very high level languages which work very nicely on appropriate examples, but when pushed into areas not best suited for them, end up being processors for highly incompetently designed languages and lots of junk code results.

Robert Dewar (dewar @ cs.nyu.edu) 94/09/13

Microsoft is not the answer. Microsoft is the question. NO is the answer.

Erik Naggum (erik @ naggum.no) 94/08/22

[After his key note opening address at the Tri-Ada conference last year in Seattle, a VP of Microsoft] was asked about the "engineering design" philosophy that Microsoft uses.

His answer, we code the heck out of it, then try to back out a design, if we think it is necessary.

Sounds like great "software engineering" to me. Makes me feel very "warm" that Microsoft code is maintainable, understandable, and useable by anyone other than the original coder. A "BUS" terminated package. When the original coder (read not engineer) is hit by a bus, the project is terminated.

Usenet (glo4066 @ aol.com) 94/08/20

Q: What's a computer with the cover removed?

A: An Open System.

UNIX/World: Magazine of Open System Computing, 1994

> "A fool with a tool is still a fool." (Chuck Meyer, chuck @ texas.hous.inmet.com)

Corollary: To make sure a system is foolproof, you have to find a fool.

Paul Pukite (pukite @ daina.com) 94/06/17

Hmmm - back in the old days we used to teach students in "computer literacy" courses that algorithms were akin to knitting instructions, which actually contain equivalents of loops and subprograms.

If our programs were as nice as some of the socks I've seen, the industry would be in good shape. :-)

Michael Feldman (mfeldman @ seas.gwu.edu) 94/05/25

Feature n.: a suprising property of a computer program. A bug can become a feature through proper documentation.

Pete Hagemeyer (hagemepp @ esu.edu) 94/05/24

"Inheritance is surely a good answer, but who knows the question ?"


"Before software can be reusable it first has to be usable."

Ralph Johnson

"VMS is a text-only adventure game. If you win you can use Unix."

Bill Davidsen (davidsen @ crdos1.crd.GE.COM)

Measuring programming progress by lines of code is like measuring aircraft building progress by weight.

Bill Gates

"640K ought to be enough for anybody."

Bill Gates, 1981

"There is no reason anyone would want a computer in their home."

Ken Olson, president/founder of Digital Equipment Corp., 1977

"Software Engineering is that part of Computer Science which is too difficult for the Computer Scientist"

F. L. Bauer

"Gradually, in scientific circles, the 'Solaris Affair' came to be regarded as a lost cause, notably among the administrators of the Institute."

Stalinsaw Lem, Solaris, 1961

"I think there is a world market for maybe five computers."

Thomas Watson, chairman of IBM, 1943

On miscellaneous topics


"Ignorance isn't stupidity, but choosing to remain ignorant is."

Jimmy Johnson (quoted on Usenet) 2008/12/11


"We learn from history that we do not learn from history." - Hegel

Wim Lewis (wiml @ hhhh.org) 2008/11/02


Have you ever noticed? Anybody going slower than you is an idiot, and anyone going faster than you is a maniac.

Peter Manders (news @ manders.demon.nl) 2008/10/09


"The power of accurate observation is called cynicism by those who have not got it." - George Bernard Shaw

Randy Howard (randyhoward @ verizon.net) 2008/03/03


The early bird may get the worm, but the second mouse gets the cheese!

Jerry van Dijk (jdijk @ solcon.nl) 2007/12/29


"The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use the words." - Philip K. Dick (American writer)

Bart Van Hemelen (bartvanhemelen @ gmail.com) 2007/09/06


"Man is the best computer we can put aboard a spacecraft... and the only one that can be mass produced with unskilled labor." - Wernher von Braun

Ted Dennison (dennison @ ssd.fsi.com) 2007/08/28


If god had wanted us to use the metric system he'd have given us ten fingers.

Tim Kozz (timkozz @ cfl.rr.com) 2007/08/13


"The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." - George Bernard Shaw

Fred J. McCall (fmccall @ earthlink.net) 2007/07/10


"A theory that seems to explain everything really explains nothing." - Karl Popper

Robbert Haarman (quoted on Usenet) 2007/06/01


"There is nothing more amazing than stupidity in action." - Thomas Matthews

Chuck B. Falconer (cbfalconer @ yahoo.com) 2007/03/04

I'm reminded of Babbage's (allegorical) lament when the British government cut funding for the analytical engine:

"Propose to an Englishman any principle, or any instrument, however admirable, and you will observe that the whole effort of the English mind is directed to find a difficulty, a defect, or an impossibility in it. If you speak to him of a machine for peeling a potato, he will pronounce it impossible: if you peel a potato with it before his eyes, he will declare it useless, because it will not slice a pineapple."

Harald Korneliussen (vintermann @ gmail.com) 2007/02/11


The real art of conversation is not only to say the right thing at the right time, but also to leave unsaid the wrong thing at the tempting moment.

(comment on Usenet) 2006/12/08


"Good judgement comes from experience; experience comes from bad judgement." - Mark Twain

Richard Maine (maine @ summertriangle.net) 2006/11/28


"If you want to do the impossible, don't hire an expert because he knows it can't be done." - Henry Ford

Gary Scott (garylscott @ sbcglobal.net) 2006/11/24


"Theologians can pursuade themselves of anything. Anyone who can worship a trinity and insists that his religion is a monotheism can believe anything. Just give him time to rationalize it." - Robert A. Heinlein, JOB: A Comedy of Justice

houghi (houghi @ houghi.org) 2006/10/24


"Too bad that all the people who know how to run the country are driving taxi cabs and cutting hair." - George Burns

(quoted on Usenet) 2006/10/20


You can cover your ears and hum all you want, but that won't make the facts go away.

Curtis Warren (cwarren89 @ gmail.com) 2006/09/27

"Good judgment comes from experience; experience comes from bad judgment." - Mark Twain

Richard E. Maine (Richard.Maine @ nasa.gov) 2006/05/24

"Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so." - Douglas Adams, Last Chance to See

Hayek (hayektt @ xs4all.nl) 2006/03/30

"Science is like sex: sometimes something useful comes out, but that is not the reason we are doing it" - Richard Feynman

Jacob Sparre Andersen (sparre @ nbi.dk) 2006/01/22

"The power of accurate observation is called cynicism by those who have not got it." - George Bernard Shaw

Randy Howard (randyhoward @ verizon.net) 2005/11/21

"... it is easy to be blinded to the essential uselessness of them by the sense of achievement you get from getting them to work at all. In other words... their fundamental design flaws are completely hidden by their superficial design flaws." - The Hitchhiker's Guide to the Galaxy, on the products of the Sirius Cybernetics Corporation.

David Trudgett (wpower @ zeta.org.au) 2005/11/10

"Experience" is what we have that enables us to recognize a mistake when we make it again.

Jacob Sparre Andersen (sparre @ nbi.dk) 2005/09/18

"Security is mostly a superstition. It does not exist in nature, nor do the children of men as a whole experience it. Avoiding danger is no safer in the long run than outright exposure. Life is either a daring adventure or nothing."

Freed (Freed- @ gmx.net) 2005/08/11

Love it or hate it, but be passionate about it! Nothing gets done when you just don't care.

David Botton (David @ Botton.com) 2004/11/24

"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former" - A. Einstein

Harry de Grote (Rik.Bobbaers @ cc.kuleuven.ac.be) 2004/11/23

"Baldric, you wouldn't recognize a subtle plan if it painted itself purple and danced naked on a harpsicord singing 'subtle plans are here again'."

Jan Van Buggenhout (chipzz @ ulyssis.org) 2004/11/20

"The lessons of history teach us - if the lessons of history teach us anything - that nobody learns the lessons that history teaches us." - Robert A. Heinlein

Paul Robinson (postmaster @ paul.washington.dc.us) 2004/08/28

"He that complies against his will is of the same opinion still." - Samuel Butler, 1612-1680

Wes Groleau (groleau @ freeshell.org) 2004/06/21

"I try to keep an open mind, but not so open that my brains fall out." - Judge Harold T. Stone

Tom Wouters (wouterstom @ pandora.be) 2004/05/21

"Face it ladies, its not the dress that makes you look fat. Its the FAT that makes you look fat." - Al Bundy

Marin David Condic (mcondic @ acm.org) 2004/03/26

"Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke

(softeng3456 @ netscape.net) 2003/03/10

"There are two possibilities: Either we are alone in the universe or we are not. Both are equally terrifying." - Arthur C. Clarke

Angelo (angelo7 @ space.com) 2002/09/18

My rule of thumb is to avoid companies not being run by the person/people who founded the company. Once the boss retires and passes it on to the head bean counters, it invariably goes downhill.

Darren New (dnew @ san.rr.com) 2002/08/16

"Black holes are where God divided by zero." - Steven Wright

Alex Heney (a.j.heney @ btinternet.com) 2002/05/14

"Life is what happens to you while you're busy making other plans." - John Lennon

(quoted on Usenet) 2002/03/14

To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be.

Ted Dennison (dennison @ telepath.com) 2002/02/08

"One fool can toss a coin in a water pit and twenty wise men cannot grab it". - Old Turkish saying

(quoted) 2002/01/31

"Rightful liberty is unobstructed action according to our will within limits drawn around us by the equal rights of others. I do not add 'within the limits of the law' because law is often but the tyrant's will, and always so when it violates the rights of the individual." - Thomas Jefferson

(quoted on Usenet) 2002/01/29

Having a smoking section in a restaurant is like having a peeing section in a swimming pool.

Negrie (negrie @ kotnet.org) 2002/01/23

Those who ignore history are doomed to repeat it.

unknown (quoted on Usenet) 2001/11/22

Growing older is compulsory. Growing up isn't.

Jacob Sparre Andersen 2001/06/04


An optimist thinks this is the best possible world. A pessimist fears this is true.

(quoted on Usenet) 2001/05/21

If a man says something in the forest, and there is no woman around to hear him, is he still wrong?

Driftwood (msouthg @ demon.co.uk) 2001/03/16

Remember what Thomas Jefferson said:

He who does not read a newspaper is better off than those who do, for it is better to not know anything than it is to be filled with lies and distortions.

Or words very much to that effect.

Floyd Baker (fbaker @ olm1.com) 2000/12/11

"(You see, the best way to solve a problem is to rigorously define it in terms of other people's problems and then run away quickly.)" - Roland McGrath

David Starner (dstarner98 @ aasaa.ofe.org) 2000/12/07

"The world we have made as a result of the level of thinking we have done this far, creates problems that we cannot solve at the same level at which we created them."

Albert Einstein (quoted on Usenet) 2000/11/22

"The current state of knowledge can be summarised thus: In the beginning, there was nothing, which exploded."

Jacob Sparre Andersen (sparre @ alf.nbi.dk) 2000/10/17

"Against stupidity the gods themselves contend in vain" - Schiller

Stanley Allen (quoted on Usenet) 2000/02/22

"The trouble with having an open mind is that people will insist on coming along and trying to put things in it." - Terry Pratchett.

Helen-Louise Windsor (hlw @ ic.ac.uk) 2000/01/26

"Never attempt to teach a pig to sing. It wastes your time and annoys the pig." - Robert A. Heinlein

Clay Steiner (claysteiner @ prodigy.net) 1999/09/13

"It is impossible to feel great confidence in a negative theory which has always rested its main support on the weak points of its opponent." - Joseph Needham, "A Mechanistic Criticism of Vitalism"

(Quoted on Usenet) 1999/08/28

"I want you to do it right as fast as you can, not fast as right as you can." - Arthur Collins, founder Collins Radio

(Quoted on Usenet) 1999/05/11


It's frustrating when you know all the answers, but nobody bothers to ask you the questions.

(quoted on Usenet) 1999/02/01


In just two days, tomorrow will be yesterday.

(quoted on Usenet) 1999/01/16

"You can have it good, cheap, or fast. Any two"

Arthur C. Clarke (quoted on Usenet) 1999/01/28

"For those who believe, no proof is necessary. For those who do not, no proof is acceptable." - Kenneth L. Woodward

Richard D Riehle (LaoXhai @ ix.netcom.com) 1998/11/27

"He convinced against his will is of the same opinion still." - Benjamin Franklin or Dale Carnegie(?)

Richard D Riehle (LaoXhai @ ix.netcom.com) 1998/11/27

"Those who are willing to swap freedom for safety deserve neither."

Thomas Jefferson (quoted on Usenet) 98/07/30

The Eleventh Commandment is: Thou shalt not add more commandments.

"Jeff" (jhaas1 @ bigred.unl.edu) 1998/04/20

From the book "Thus Spoke Zaratustra" by Friedrich Nietzsche you can read something similar to the following: "You can not convince people _with_ reasons about what they have learned to accept _without_ reasons".

Vinicius Fernando Arcaro (vfa @ turing.unicamp.br) 1998/01/30

Wear a smile if nothing else.

Mike Hopkins (mike @ ada-augusta.demon.co.uk) 1997/10/24

"Democracy is three wolves and a sheep voting on what's for dinner."

D'Arcy J.M. Cain (darcy @ druid.net) 1997/10/15


Always remember you're unique, just like everyone else.

(quoted on Usenet) 1997/10/01

"If you think education is expensive, try ignorance." - Derek Bok

Tom Quiggle (quiggle @ sgi.com) 1997/07/08

"If only God could give me a clear sign of his existence, like putting a large sum of money on a Swiss banc account." - Woody Allen

Hugo Maes (Hugo.Maes @ Med.Kuleuven.Ac.Be) 97/04/21

The overwhelming majority of people have more than the average (mean) number of legs.

E. Grebenik (quoted on Usenet) 96/10/13

"Life... It's sexually transmitted, and always fatal."

Coni Ann Johnson (quoted on Usenet) 96/09/28

"your mind is made up, the facts are a mere annoyance?"

Mike Bartman (mike @ vishnu.eco.twg.com) 96/09/06

"When our backs are against the wall, we shall turn and fight."

John Major (quoted on Usenet) 96/09/05

Another organization in the 1930's (The Third Reich) perfected the Big Lie: If you tell someone a lie over and over again enough times, eventually they will come to believe it. The danger of using the Big Lie is that even though the teller of the lie _knows_ it is a lie, after hearing it enough times the lie teller can convince even himself that it is true.

San S. Scales (Usenet) 96/08/31

Engineers believe that if it ain't broke, it doesn't have enough features yet.

unknown (quoted on Usenet) 96/08/25

"There is a theory that states that if anyone discovers exactly why the universe is here and what it is for, it will instantly be replaced by something even more bizarre and inexplicable.

There is another theory that states that this has already happened."

Douglas Adams, "The Hitch Hiker's Guide to the Galaxy" (quoted on Usenet) 1996/08/13

The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" ("I found it!") but rather "hmm....that's funny..."

Isaac Asimov (quoted on Usenet) 96/08/11

Make it idiot proof and someone will make a better idiot.

David Nouls (dnouls @ luc.ac.be) 96/06/27

A new scientific truth does not triumph by convincing its opponents and making them see light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it.

Max Planck (quoted on Usenet) 96/04/19

Take away the right to say "fuck" and you take away the right to say "fuck the government"

Lenny Bruce (quoted on Usenet) 96/03/27

"It is better to debate a question without settling it than to settle a question without debating it."

Joseph Joubert (quoted on Usenet) 96/01/02

Reminds me of the guy who was seen one night looking around on the street underneath a street lamp. Someone stopped to help and the man explaines that he had lost a contact lens. "Where were you standing when you dropped it?" the assistant asked.

"Over there," replied the man, pointing to the bus stop on the other side of the street.

"Then why are you looking for it here?" the assistant asked.

"Because the light is better on this side," the man replied.

Rich Pasco (pasco @ cup.portal.com) 95/12/30

It's the same thing here. Too many people are only willing to defend rights that are personally important to them. It's selfish ignorance, and it's exactly why totalitarian governments are able to get away with trampling on people.

Freedom does not mean freedom just for the things *I* think I should be able to do. Freedom is for all of us. If people will not speak up for other people's rights, there will come a day when they will lose their own.

Tony Lawrence (apl @ world.std.com) 95/12/28

"Opera is when a guy gets stabbed in the back and instead of bleeding he sings."

Ed Gardner (quoted on Usenet) 95/12/09

"An elephant is a mouse, built to government specifications."

John Herro (johnherro @ aol.com) 95/12/04

Discrediting the messenger has never been an effective way to kill an unpleasant message.

Mike Feldman (mfeldman @ seas.gwu.edu) 95/08/09

"Make it foolproof and they'll make a better fool"

Kent D. Lottis (kentl @ bdc.cirrus.com) 95/04/26

"Reality is whatever refuses to go away after I stop believing in it."

Philip K. Dick (quoted on Usenet) 95/03/31

One possible reason that things aren't going according to plan is ..... that there never *was* a plan!

Kent Mitchell (kdm @ rational.com) 95/01/17

The best weapon against the ridiculous is ridicule. Always will be.

Robert Firth (firth @ sei.cmu.edu) 94/10/26

Q: What is the difference between ignorance and apathy?

A: I don't know and I don't care.

Norman H. Cohen (ncohen @ watson.ibm.com) 94/10/14

"When the only tool you have is a hammer, everything begins to look like a nail."

Lotfi Zadeh

"If it seems to good to be true, it probably is."

Usenet, 94/08/30

Take off all your clothes and walk down the street waving a machete and firing an Uzi, and terrified citizens will phone the police and report: "There's a naked person outside!"

Mike Nichols, Usenet, 1994

"Arguing with a man who will not produce evidence in support of his position is like arguing with a vegetable" - Aristotle

Michael A. Bonnice (mbonnice @ pelab.allied.com) 94/02/21

The trouble with doing something right the first time is that nobody appreciates how difficult it was.

Kathryn L. Madison (klm @ stat.lsa.umich.edu) 93/10/11

"Time flies like an arrow but fruit flies like a banana"

Alan Bleasby (ajb @ s-crim1.dl.ac.uk) 93/04/02

I try to take one day at a time, but lately several days have attacked at once!

Jim Paradis (paradis @ sousa.tay.dec.com) 93/03/29

If rabbits feet are so lucky, what happened to the rabbit?

Jesse W. Asher (jessea @ dynasys.uucp) 1990/12/14

"The two most abundant elements in the universe are hydrogen and stupidity."

Robert A. Heinlein, 1907-1988

"A celibate clergy is an especially good idea, because it tends to suppress any hereditary propensity toward fanaticism."

Carl Sagan, "Contact", 1985

"It is difficult to produce a television documentary that is both incisive and probing when every twelve minutes one is interrupted by twelve dancing rabbits singing about toilet paper."

Rod Serling, 1924-1975

"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts."

Bertrand Russell, 1872-1970

"Baldwin often times stumbles over the truth, but he always picks himself up and hurries on as if nothing had happened."

Winston Churchill, 1874-1965

"In Germany they first came for the Communists, and I didn't speak up because I wasn't a Communist. Then they came for the Jews, and I didn't speak up because I wasn't a Jew. Then they came for the trade unionists, and I didn't speak up because I wasn't a trade unionist. Then they came for the Catholics, and I didn't speak up because I was a protestant. Then they came for me, and by that time there was nobody left to speak up."

Reverend Martin Niemoller, Germany, 1930's

"Everything that can be invented has been invented."

Charles H. Duell, Commissioner, U.S. Office of Patents, 1899

"Heavier-than-air flying machines are impossible."

Lord Kelvin, president, Royal Society, 1895

"This 'telephone' has too many shortcomings to be seriously considered as a means of communication."

Western Union internal memo, 1876

"Those who think they have not time for bodily exercise will sooner or later have to find time for illness."

Edward Stanley, the Earl of Derby, 1873

Last update: 2008/12/27.
Previous update: 2007/02/20.

Copyright © 1994-2008 by Dirk Craeynest
All Rights Reserved.