From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,fc52c633190162e0 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed-0.progon.net!progon.net!news-zh.switch.ch!switch.ch!cernne03.cern.ch!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: why learn C? Date: Wed, 21 Mar 2007 09:07:30 +0100 Organization: CERN News Message-ID: References: <1172144043.746296.44680@m58g2000cwm.googlegroups.com> <1172161751.573558.24140@h3g2000cwc.googlegroups.com> <546qkhF1tr7dtU1@mid.individual.net> <5ZULh.48$YL5.40@newssvr29.news.prodigy.net> NNTP-Posting-Host: abpc10883.cern.ch Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: cernne03.cern.ch 1174464450 4614 137.138.37.241 (21 Mar 2007 08:07:30 GMT) X-Complaints-To: news@@cern.ch NNTP-Posting-Date: Wed, 21 Mar 2007 08:07:30 +0000 (UTC) User-Agent: Thunderbird 1.5.0.10 (X11/20070305) In-Reply-To: <5ZULh.48$YL5.40@newssvr29.news.prodigy.net> Xref: g2news1.google.com comp.lang.ada:14569 Date: 2007-03-21T09:07:30+01:00 List-Id: adaworks@sbcglobal.net wrote: > Unlike the C family of languages, I presume you mean C, C++, D, Java, C#. > which are generally no help at all, That's indeed "generally". > an Ada compiler frequently eliminates the need for extensive debugging > of silly errors; e.g., the kind that originate from case-sensitivity Tha last time I made case-sensitivity error the compiler helped me. > wrong > order of arguments to parameters I can do this error in Ada quite easily. Yes, there are named parameters in Ada. And structures with named components in other languages. > improper spacing, Please provide an example of code where improper spacing leads to extensive debugging. > missing curly-braces, The last time I missed the curly brace the compiler told me that. (for the sake of this discussion let's forget about the fact that in any self-respecting programmer's editor missing curly-brace is plain impossible, because braces are part of text formatting rules) > and the plethora of language "features" that plague those who have > chosen to use any member of the C family of languages. Any language (from any family) older than one version has "features". > It has always seemed rather odd to me that people who are as intelligent > as programmers, rarely question the silliness of using tools such as C > and C++ for serious work. Maybe because they are intelligent and can reasonably balance pros and cons of various technology choices. > They simply take for granted that the kind > of errors that are so common in those languages are somehow akin to > the laws of nature. That's a good point and indeed a significant fraction of the community takes errors as part of the game. But I wouldn't attribute it only to the language choice (although that's an important factor indeed), also to the massive approach to education ("learn programming in 24 hours now!"). Teach millions to program in Ada and you get tons of crappy code. > Java inherits many of those same properties and > is not much better. True. > It is taken as an article of faith that programming > involves heavy use of debuggers. Not necessarily. The advocates of test-driven development (TDD for short) openly say good bye to debuggers, at least in blogs. > Ada is a programming language that makes it easier to focus on the design > before dealing with the details of that design. Yes, but Ada is not unique here. In C++ or Java you can do a lot of design before actual implementation starts. > Then, Ada makes it easier to > ensure that the details conform to the design. Yes, but Ada is not unique here. There are differences in what is the scope and precision of design expression, of course, and this is where Ada shines. But conformance between the details and the design (specs) is ensured in every static language. > I wonder why that is such > a difficult concept for so many. It isn't. Only the tradeoffs change. > It always amazes me that someone would choose an error-prone > programming language such as C++ and expect error-free programs. It always amazes me that someone would choose a language that has no measurable user base such as Ada and expect to build a successful team. The missing user base is one of two major problems that prevent me from starting an Ada project, whether at work or in my free time. The other is the lack of *free* Ada compiler on one of my target platforms (LynxOS). "There are just two kinds of languages: the ones everybody complains about and the ones nobody uses." - Bjarne Stroustrup. -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/