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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a9b0810d3106d9b8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!feeder.ecngs.de!ecngs!feeder2.ecngs.de!news.netcologne.de!ramfeed1.netcologne.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Fun with C Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <27cf3992-4132-4483-9110-adc7a089cd4a@e8g2000vbz.googlegroups.com> <3ccf18a2-ba10-42bc-aeab-9368749961fb@a11g2000pro.googlegroups.com> <4c2b6a58-e3b6-47da-95e0-64853be5c1f9@v11g2000prb.googlegroups.com> <86748003-860f-4729-ae26-55be1e58ac2b@d27g2000vbz.googlegroups.com> <4b5748dc-60fa-4cec-a317-054626e9a1ca@d19g2000prh.googlegroups.com> <1908th3tyz101.1f6c5w8t9mggy.dlg@40tude.net> <2118e788-7b3e-4d25-8d0f-5e60498e3a3b@cu4g2000vbb.googlegroups.com> Date: Fri, 22 Apr 2011 11:21:53 +0200 Message-ID: <1hnl95prvrt6i$.1s675gncbjxsu$.dlg@40tude.net> NNTP-Posting-Date: 22 Apr 2011 11:21:54 CEST NNTP-Posting-Host: 969f1e74.newsspool4.arcor-online.net X-Trace: DXC=60DfiB2IDj^@@RW1FjIB5S4IUK On Thu, 21 Apr 2011 23:16:47 -0700 (PDT), Elias Salom�o Helou Neto wrote: > On Apr 21, 2:36�pm, "Dmitry A. Kazakov" > wrote: >> On Thu, 21 Apr 2011 09:19:08 -0700 (PDT), Elias Salom o Helou Neto wrote: >> >>> Ops. I think you're wrong here. Programming languages _must_ be >>> different from each other, otherwise there would not be reason for so >>> many to exist. And some new, useful, paradigms appear that can't be >>> natural to any programmer simply because it did not exist before its >>> invention! >> >> Nope. A counterexample is natural languages. There are many of them. They >> are different in some senses and same in others. Languages existed before >> poetry, novels, scripts and graffiti were invented. >> I doubt that a language (natural or formal) can be designed for new >> paradigms. >> Rather it is so that so-called "paradigms" are imprinted in our >> brains and languages just reflect the ways we are thinking. > > Could you please elaborate on that? I understand (and mostly agree > with) your claim that all paradigms are imprinted in our brains, but > I'd rather still call one of them new if it is the first time it is > actually explicitly stated and used for a purpose such as designing a > programming language. I think that all significant paradigms are already stated. All languages we are talking about are equivalent in terms of Turing completeness. Paradigms are of course finer than that, but still I believe that there is nothing significantly new left. All these agent-, aspect-, cloud-, extreme-, whatever stuff was known and used before 1980. >> This, I think, >> can explain popularity of such outrageously poor languages like C. C >> programmers are in majority simply because most of programmers do think as >> they write. > > Yep. That's a major problem. No matter how much I try to teach people > to think before coding, they won't do so. Not every man or woman can program. I doubt that programming should be taught to people specializing on other majors. Sorry guys, programming is not a modern lingua franca. > But I don't think that Ada > makes it any better, does it? It is not a claim, since I could not do > it without knowing Ada, but rather a truly interested question. I agree. Ada is a tool, it is no cure. Nevertheless, future professional programmers should never be exposed to C as the first language. It is like teaching physics in the school. Pupils first learn the physics of XIX century. When they made 3/4, they are told: guys, that was wrong! Here is how it goes! Programmers must learn concepts and techniques which C cannot illustrate. What C can illustrate is how not to program. > And I fail to see why is C so "outrageously poor". My view is that > professional programmers deserve much more this epithet than C does. > Remember all those guys you've interviewed that couldn't mentally do > an XOR with 0xFF? My tendency is to say they're the ones who are > "outrageously poor". One poor with another poor does not make it good. My point is that poor programmers prefer poor languages. Both are in majority and without selection this state will maintain itself infinitely. So the first step for programming to become engineering will be deliberate extermination of certain language features and practices, which dominate in C. Having said that, I don't claim that Ada is that ideal language. It is a long way ahead. Even so, there is no reason to look back trying to move forward. > Of course this is a rather good justification for Ada to be more > widely adopted. As I've said elsewhere on this thread, Ada's premises > are far more realistic than C's ones. But it does not make C a lame > language. C is poor for teaching because it takes too much noise to illustrate basic programming concepts like array, string, result of a function etc. It is full of silly limitations, which programmers must learn to circumvent, before they get at the core ideas. In the end they learn only these tricks and think that programming is about that, lacking understanding of software engineering as a whole. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de