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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5f764f1f7822ab9c X-Google-Attributes: gid103376,public From: Andrew Hately Subject: Re: Top 10 Language Constructs (Ada) Date: 2000/07/14 Message-ID: <396EEF14.E98C9C56@cfmu.eurocontrol.be>#1/1 X-Deja-AN: 646271277 Cache-Post-Path: ecw.eurocontrol.be!unknown@enghat.sup.cfmu.eurocontrol.be Content-Transfer-Encoding: 7bit References: <8kmjja$l5h$1@pollux.ip-plus.net> X-Accept-Language: en,pdf Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@belgium.eu.net X-Trace: nreader1.kpnqwest.net 963571478 193.221.170.178 (Fri, 14 Jul 2000 12:44:38 MET DST) Organization: Eurocontrol X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) MIME-Version: 1.0 NNTP-Posting-Date: Fri, 14 Jul 2000 12:44:38 MET DST Reply-To: andrew.hately@eurocontrol.be Newsgroups: comp.lang.ada Date: 2000-07-14T00:00:00+00:00 List-Id: Bruno Gustavs wrote: > > What do you think are the top ten language constructs in Ada? Previously I used c and c++. I have also worked in fortran and basic (many) as well as tinkering with bcpl and various assembly languages. For me: 1 packages - separate spec and body (I laugh at c++ with its puny class. "Hey, object, I can see your inner workings") - decent name space management - its just the natural way to do it 2 ability to declare procedures other than at the global level (vs c where everything is global or global with a hidden name) 3 enumerated types and case statements with no "when others" 4 types - also arrays with known size (not just pointers) - also run time checking 5 agregate assignement 6 named parameters in procedure/function calls and named values in agregates 7 the compiler resolves calling, not the linker (bonus: overloading by function return type) 8 generics (vs c macros, especially when debugging) 9 the compiler can work out what to compile and in what order 10 a syntax in which common typing errors do not yield other, unexpected but syntactically valid programs Andrew