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,a9b0810d3106d9b8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 03 May 2011 09:53:34 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Fun with C References: <117x5uepxzqrn$.zu65rz3wdey9.dlg@40tude.net> <10wrcep2z88z3$.1q3jmf2y5a0qn.dlg@40tude.net> <356b1c5c-9b6e-488b-a31a-6e1d15082f2c@k22g2000yqh.googlegroups.com> <5l0ijm901fhp$.3f2xu562o6ri$.dlg@40tude.net> <724c7fd3-046b-42ee-9dff-5606b8ca1048@dr5g2000vbb.googlegroups.com> <1ttincqpi28n0.1no79n6bocser.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4dbfb47e$0$7657$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 03 May 2011 09:53:35 CEST NNTP-Posting-Host: 0ed8f1cb.newsspool1.arcor-online.net X-Trace: DXC=Y^QkXcB@iZl016@cHD@m;jic==]BZ:afn4Fo<]lROoRa<`=YMgDjhgbEB9B5hE=nefPCY\c7>ejVhIMDn4_C15IcY\V>OV1E4Zm X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:20105 Date: 2011-05-03T09:53:35+02:00 List-Id: On 5/3/11 3:19 AM, Nasser M. Abbasi wrote: > Speaking about C again, I found this article > > "Ten Reasons to Teach and Learn Computer Programming in C" > > http://iel.ucdavis.edu/publication/WhyC.html A. The article demonstrates a stunning absence of teaching criteria. Which I would argue is a Must when you write about teaching, right? (J.-P. Rosen mentions a few issues.) B. The article bases its claims on a number of logical fallacies. Which is a paradox when a CS teacher writes about teaching programming. C. The article does reflect (a) the author's attitude when approaching the means of teaching (b) choices when making a career D. The article does not give details of what it means for a student to be competitive, although it does allude to apparently serving a segment of the labor market. But, empirically challenged, is C in your CV worth as much as say, C++ or Labview? Does it matter how well you actually program in C? > "1. C is one of foundations for modern information technology (IT) and computer science (CS)." > > I think that is true. We should know about the foundations, hence C. What about the other foundations of IT? At which point on the way towards general foundational knowledge are students capable of learning from C? More importantly, what do they learn? Good things or bad things? > "2. C is the most commonly used programming language in industry. > > True again. Same. > "3. C is the language of choice for programming embedded and mechatronic systems with hardware interfaces" > > I think we all can agree on this. C is more popular that Ada in this area. Based on the same ubiquity in embedded programming, teachers must then suggest assembly language, too. Why does he restrict his conclusion (in 3.)to be C? (Fallacy) > "4. C is one of the most commonly used programming languages in colleges and universities." > > True also. The author does not present evidence. This is simply not acceptable in an academic setting (ucdavis.edu). Looking at "Based on my teaching, research, and industrial experience, I believe..." we might expect to read about teaching, research, and industrial experience founding the belief. Alas, he doesn't bother. (C being taught at universities is not my experience. But this is hardly an argument. Do we have data?) > "5. C excels as a model programming language." > > I would probably argue about this being very accurate. Paragraph 5 has much of a text template where C and other languages would be interchangeable. Besides that, and in accordance with its template characteristic, the argument does, again, not give a single reason that favors C. There are no comparisons with languages considered modeling languages. He claims that studying C can serve as a foundation. He gives no evidence that C is a good or better foundation for modeling than just about anything. > "6. C is the base for all other programming languages." > > There is some truth to this. And there are consequences of the part that is true about C being the base of other languages. (a) Ruby 1.8 and characters. Does not work, been hard to correct. (b) Language work need to bridle C's open ends. (c) Porting C, hence languages, works in theory, less so in practice. Of course, the quantifier "all" is not just wrong, it is deceiving. > "8. C is a standardized programming language with international standards." > > I would not argue against this. How does ISO standardization relate to teaching? Java is not ISO standardized. How does ISO relate to being a competitive student? He considers "competitive" important, but writes against Matlab and Mathematica. (Logical Inconsistency) > "9. Computer programming is becoming a necessary skill for many professions." > > Very true. As Dmitry Kazakov has recently explained, programming is not just a "skill for...", it is a profession. When professional programs are needed, you need professional programmers, don't you? > "10. Computer programming can develop student's critical thinking capabilities." > > True also. "...can be trained in C". can not be trained in not-C? (Fallacy) Do we want future programmers to be trained is solving accidental problems whose cause is really nothing more than a language deficiency here and there, e.g. C's lack of expressibility at the fundamental data type level? > I can't agree that these are still good reasons to teach programming > using C at schools. Yes. This article is a joke by all scientific standards. The author does not compare, even though he claims to know alternatives. He does not give reasons where reasons are expected, "Reason" is a word in the article's title. There are many logical errors. Alas, marketing always outweighs what is intrinsic to teaching. Also, marketing easily defeats the logical habits of computer scientists when rhetoric is needed to overcome the embarrassing state of, by the looks of it, pedagogical ignorance.