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,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!news.wiretrip.org!border2.nntp.ams.giganews.com!nntp.giganews.com!feeder.news-service.com!post.news-service.com!news1.surfino.com!not-for-mail Message-Id: <1800709.LegSC0zdoW@linux1.krischik.com> From: Martin Krischik Subject: Re: [OT] Re: Teaching new tricks to an old dog (C++ -->Ada) Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Reply-To: martin@krischik.com Date: Sat, 05 Mar 2005 22:23:18 +0100 References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> Organization: None User-Agent: KNode/0.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@surfino.com NNTP-Posting-Host: 83.169.175.19 (83.169.175.19) NNTP-Posting-Date: Sun, 06 Mar 2005 09:00:12 +0100 X-Trace: d3041422ab88cf60c0ab621917 Xref: g2news1.google.com comp.lang.ada:8726 comp.lang.c++:44300 comp.realtime:1002 comp.software-eng:4533 Date: 2005-03-05T22:23:18+01:00 List-Id: Ioannis Vranos wrote: > Ludovic Brenta wrote: > >> Generally speaking, the very fact that you feel an urge to distinguish >> between "C++" and "modern C++" is an indication that C++ is a poor >> language containing many unsafe features, some of which you obligingly >> enumerated above. By contrast, there is no distinction between "Ada" >> and "modern Ada". Ada is safe by design, from the ground up. > > > With Ada aside (I find no reason why one should not learn it), C++ is a > powerful and systems programming language, and power implies painful low > level details. But Ada is used for system programming language as well. Only it is not painfull. Most C/C++ programmers think that a language suitable for system programming must be painfull - but this is not true. Well, there is a drawback: you have to type more. But then: once you typed it in it's easer to read - and most programms are read more then written. > However it also provides all major high level facilities, > and if you stick in high level programming it is very safe, while it > maintains the maximum space and run-time efficiency principle. The real difference is that Ada puts emphasis on "save" while C++ puts emphasis on "fast". C++ only becomes save by use of the STL. And with the speed of the computers today "save" is better. I remember well the time when Blaster/32 infected my computer faster then I could download the fix (download the fix with Linux in the end - but that's another story). > In general, we cannot compare the two languages because they have > different design ideals. That is indeed true. But the differences are not system vs application - both languages draw even here. Its save vs. fast, readabiltiy vs. writeablity and explicid vs implicid. Of corse, having stessed the save vs. fast point: Most Ada compiler allow you to switch off the savety net with a compiler option. > C++ supports 4 paradigms. Each paradigm is supported well with maximum > run-time/space *efficiency*. Ada supports the same 4 paradigms and concurrent programming on top. > At the same time it leaves no room for a > lower level language except of assembly. True. But C/C++ havn't got a monopoly/patent on that feature. > On the other hand I do not know ADAs ideals (for example I do not think > it supports the generic programming paradigm - templates), but I suspect Actualy Ada has templates since it's 1983 release. I don't think C++ had templates at the time. > they are to be an easy (restricted to easy parts), True Ada is easy - but not restricted. You think one excludes the other - but that isn't true. > safe (not letting you > do low level operations), Ada can do more low level stuff then C++ - or have you ever seen 24 bit integer types in C++. > application development language, which is OK > for usual application development. As I said, here you as mistaken. While Ada is indeed well suited for high level application development is is mostly used for low level embedded programming. Usualy in planes, railways, spacecraft and weapons. I usualy read - at least - the wiki article before I say anything about a programming language: http://en.wikipedia.org/wiki/Ada_programming_language With Regards Martin -- mailto://krischik@users.sourceforge.net Ada programming at: http://ada.krischik.com