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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT 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: g2news2.google.com!news2.google.com!goblin2!goblin1!goblin.stu.neva.ru!news.tornevall.net!news.jacob-sparre.dk!pnx.dk!jacob-sparre.dk!ada-dk.org!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Fun with C Date: Thu, 21 Apr 2011 18:29:01 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: 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> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1303428545 18774 69.95.181.76 (21 Apr 2011 23:29:05 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 21 Apr 2011 23:29:05 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 X-RFC2646: Format=Flowed; Original Xref: g2news2.google.com comp.lang.ada:19941 Date: 2011-04-21T18:29:01-05:00 List-Id: "Elias Salom�o Helou Neto" wrote in message news:4b5748dc-60fa-4cec-a317-054626e9a1ca@d19g2000prh.googlegroups.com... >> We're not talking about C specifically, we're talking about "a new >> language". > > New to the programmer or to the world? If it is the former, I still > recommend a book. A textbook will take you from the basics to the more > advanced features of the language. This is the way to learn. By > skipping the first steps people simply won't know the most basic > stuff, such as C's type promotions. > > Instead, people like to program by "trial and error". Which will > rarely, if ever, work. I don't think anyone was advocating "trial-and-error". But there are lots of ways to learn something beyond reading a textbook. (I've rarely done that specifically.) ... >> These days, I hardly expect anyone to expect requiring a "book" to do >> anything. Even counting "e-books" as "books", there are a lot of >> information >> sources which have nothing to do with "books". It was a lot harder to >> understand back in 1981, yet it still happened then (and even then there >> were a lot of information sources having nothing to do with books - >> papers, >> magazine articles, seminars, lectures, computer-aided-instruction). > > I still do not recommend any of those as means for a beginner to learn > a language: papers are not for beginners; magazine articles are too > vague or too specific; seminars are usually too short to be of any use > for beginners and they are, decause of being short, focused on a too > narrow or too vague subject; lectures are good, but good lecturers > will likely indicate a bibliography, which will include textbooks if > it is intended to beginners. Perhaps computer-aided-instruction, but I > haven't seen it in use, so I do not recommend it. > > Remember, I am a professor. I do lecture and present seminars. And no, > seminars won't teach you how to program. Neither will the lectures, > unless followed by laboratory classes and homeworks, which should be > done alongside a good book on the subject. Honestly, I do not like > students taking notes of my lectures, they should be paying attention > and latter they should use the recommended book as a reference. Unless > I've explicitly stated otherwise. I suspected that, and that is your bias here. For the most part, I don't agree with the need for formal training. It's useful for those with no programming training at all, but for those that have significant programming experience, picking up a new language does not require that level of imersion. ... >> And I doubt I would *buy* a textbook these days; pretty much everything >> one >> needs is on-line (and often not in the form of a book!). > > Even though there is plenty information on the internet, books are > still worth buying, I am sure of that. You can't (legally) find the > really good textbooks on-line neither you can find anything comparable > to those textbooks. Good information still has its price. > > As a test, find me a replacement for "C++ Primer" on-line. Dunno anything about C++, but at least two of the best Ada books are available free on-line (English's "Ada 95: The Craft of Object-Oriented Programming" [for new programmers] and Riehle's "Ada Distilled" [for experienced programmers new to Ada]). I've probably forgotten some. The Ada Programming Wikibook is also a good resource, especially to answer questions. Perhaps the C++ market is different because there is a lot more money to be made, but I would doubt it. There are good Ada books that you can only buy, of course, but unless you are doing a professional project, I recommend starting with the free resources. If it turns out that Ada is not for you, you are only out time. ... >> Maybe *you* have to fight it. I happen to think that a language that is >> unnecessarily different than what a typical programmer would expect is >> dangerous. (And yes, Ada suffers from this in a few places as well -- and >> those things are also dangerous.) > > 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! I'm unconvinced that most programming languages even need to exist. Most programming languages exist because someone thought that they could do it better. And hardly any of them were right. :-) Ada has a different history than that (although one could argue the same thing). I don't see the point of using a polyglot of programming languages that all do essentially the same thing. One of the problems is that everyone makes incremental differences in their programming languages, which just makes them different without making them much better. This is the same problem that I have with the way Microsoft changes everything around in each new version of Windows, without any obvious improvement in functionality (it is just different, and thus requires relearning everything you already know). For a new programming language (or OS) to be worthwhile, it needs to embody a significant paradyme shift (such as functional or transactional programming for a programming language, or a touch GUI, as in iOS/Android). Otherwise, we might as well be using Windows 2000 (it worked perfectly fine, thank you). A programming language that brings something wildly new to the table might be worthwhile, but piles of languages all the same just waste time. (You can probably tell that I support/use interfacing to C and other languages by practical necessity, and definitely not by choice!) Randy.