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: 5b1e799cdb,3ef3e78eacf6f938 X-Google-Attributes: gid5b1e799cdb,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news.glorb.com!news2.glorb.com!news.netfront.net!not-for-mail From: wwilson Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.lang.pascal,comp.programming Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Sat, 25 Jul 2009 22:26:39 -0400 Organization: Netfront http://www.netfront.net Message-ID: References: NNTP-Posting-Host: 68.73.98.219 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: adenine.netfront.net 1248575239 24344 68.73.98.219 (26 Jul 2009 02:27:19 GMT) X-Complaints-To: news@netfront.net NNTP-Posting-Date: Sun, 26 Jul 2009 02:27:19 +0000 (UTC) To: "Jean-Pierre Rosen" User-Agent: Opera Mail/9.61 (Win32) Xref: g2news2.google.com comp.lang.eiffel:428 comp.lang.ada:7357 comp.lang.modula3:110 comp.programming:12047 Date: 2009-07-25T22:26:39-04:00 List-Id: On Mon, 20 Jul 2009 05:57:53 -0400, Jean-Pierre Rosen wrote: > Andrea Taverna a �crit : > [...] >> - Ada is best suited for large teams and/or critical software, thus >> it may be overkill for my work, OTH it could have anything I might >> happen to need. >> What holds me from jumping onto Ada is the potential complexity > As a long time teacher of Ada, let me elaborate on this particular issue. > > 1) More than complex, Ada is feature-rich, with some properties that do > not exist in most other languages (user defined elementary types, > discriminants, stack-allocated dynamic structures ...). Of course, > you'll have to learn about these features - if you want to use them. > > 2) Ada is extremely consistent. You'll have to learn the basic > principles, but once you've got them, you'll discover that all the > features follow the same logic. Therefore, the first step might be > higher than for other languages, but then everything appears logical and > easy to grasp. > > 3) Ada is simple to use, because difficulty of implementation has never > been an excuse for forbidding something that the user would expect to > work. However, that makes the language complex to compile, and part of > the alledged complexity of Ada refers to complexity of implementation, > not complexity of use. Of course, as a user, you don't care about this, > since you have compilers, even free ones, that implement the language > correctly, and this is checked by passing the validation suite (AKA > ACATS). I agree that Ada can look daunting, but you can start with the "Pascal subset", a subset that pretty much matches the original Pascal. From personal experience, this subset is very easy to learn and become comfortable with. We taught over a thousand studnts using this subset and never had a single real problem. Once the beginner masters the Pascal subset it is fairly easy to learn additional features, one at a time. The real problem we found here was that some students had never seen problems that needed or could use these features. In other words, we were trying to teach three year olds how to parse a sentence when they were still learning to talk. On the other hand, students who were familiar with the kinds of problems these features were designed for had no difficulty with even some of the more esocteric parts of Ada. For students lacking this background we spent some time furnishing it before intoducing the associated Ada feature. Many students, for instance, required some exposure to tasking kinds of problems before we mentioned Ada tasking. Conclusion, approach learning Ada one step at a time and don't try to master the whole thing at once. It is an easy language to learn and the benefits are great. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/