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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Wed, 09 May 2018 17:41:45 -0700 Organization: A noiseless patient Spider Message-ID: <87mux84a0m.fsf@nightsong.com> References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <87wowqpowu.fsf@nightsong.com> <16406268-83df-4564-8855-9bd0fe9caac0@googlegroups.com> <87o9i2pkcr.fsf@nightsong.com> <87in88m43h.fsf@nightsong.com> <87efiuope8.fsf@nightsong.com> <322f9b26-01de-4753-bb50-6ef2f3d993d8@googlegroups.com> <87a7th9pd1.fsf@nightsong.com> <87h8no1nli.fsf@nightsong.com> <874ljo1hvy.fsf@nightsong.com> <87vac4z2lh.fsf@nightsong.com> <87lgcszjdn.fsf@nightsong.com> <87r2mk4d6w.fsf@nightsong.com> <1755072199.547602595.806475.laguest-archeia.com@nntp.aioe.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="8ee8a87c586ad688bbbd7b3afaf6ee4e"; logging-data="10955"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19gRCTCHC/pr815+fGT7Y8N" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:rcJyI1jAoxFnrqRnlNWOSTnX1lI= sha1:BRUOo1aS0dybEZyCIhxxA91e4Js= Xref: reader02.eternal-september.org comp.lang.ada:52185 Date: 2018-05-09T17:41:45-07:00 List-Id: Luke A. Guest writes: >> Maybe I'm wrong but I see Ada as an Algol/Pascal descended imperative > You know C and by extension C++ are Algol derives too, right? One can get philosophical but I wouldn't say they are. > I would say Ada’s a much higher level language than C++. I’ve no idea what > you mean by "automation level.” I wanted to avoid the flame war about HLL vs LLL and just compare how much language does for the user automatically. I think C++ is higher level than C in that regard. It seems to me that Ada is somewhere between the two, but I could go for it being equal to C++. I'd be interested to hear the case that Ada (by itself) is goes further than C++. Ada with SPARK could be seen as different. > Also proper generics, a real built in task system which isn’t isn’t > just launching functions in threads and then Join()’ing a la Go. C++ generics are hackier (so less proper, maybe) but from what I can tell, at least as powerful as Ada's and maybe more so. The C++ concurrency TS is not yet standardized but there's some info here: http://en.cppreference.com/w/cpp/experimental/concurrency The Seastar library (http://seastar-project.org/) uses futures/promises and some C++17 syntactic features in an interesting way. I'd like to know if it's as convenient to do something similar in Ada. Ada's tasking approach is more traditional and may be preferable a lot of the time though. > You should also check out separates, no other language has those. Do you mean "procedure xyz is separate" so you put the implementation outside the package body? In C++ you can say "int someclass::xyz(...)" for a similar effect. > I still say it has the best data structuring abilities of any language. Not sure what you mean by that? > Tools are limited to half arsed re compiler compilers. Or by that? > You can’t compare parsing a language like Ada to LISP, FFS! Of course not! Lisp just makes it easier to write out nested lists and manipulate them in functions. Not too surprising since it stands for "list processing" after all ;). That facility is very handy for DSL's. Fwiw I think the capitalized name LISP fell out of use in the 1970s. I'd still refer to a 1960s-era program as being written in LISP but a more recent version of the same program as being written in Lisp. I'm not sticky about it myself but I think some Lisp users nowadays get upset if you say LISP. ;-) > Oh, your an OOP denier! "The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle." --Joe Armstrong (inventor of Erlang)