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!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!feeder.eternal-september.org!newsfeed.kamp.net!newsfeed.kamp.net!87.79.20.101.MISMATCH!newsreader4.netcologne.de!news.netcologne.de!takemy.news.telefonica.de!telefonica.de!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail User-Agent: NewsTap/3.5.5 (iPad) From: Georg Bauhaus Newsgroups: comp.lang.ada Content-Type: text/plain; charset=UTF-8 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: <1847309061394574355.897602rm-host.bauhaus-maps.arcor.de@news.arcor.de> Subject: Re: Help with embedded hardware/software platform selection for ADA References: Date: 03 Jul 2013 20:50:15 GMT Organization: Arcor NNTP-Posting-Date: 03 Jul 2013 22:50:15 CEST NNTP-Posting-Host: 048565ef.newsspool4.arcor-online.net X-Trace: DXC=dYT1WLd@1gj016@cHD@m;j4IUKejVhA?6dnHRBSgljKWZ=LaY8Ol X-Complaints-To: usenet-abuse@arcor.de Xref: news.eternal-september.org comp.lang.ada:16091 Date: 2013-07-03T22:50:15+02:00 List-Id: "Randy Brukardt" wrote: >> You can't really use Ada on those very small systems -- you can only use a >> tiny Ada subset, one that reduces the advantages of Ada a lot. Unless >> you're in the tiny minority of people that prefer the Ada *syntax* to that >> of C, you're not really gaining anything. (Ada witthout exceptions and >> most tasking isn't Ada at all, IMHO). RRS tried to serve that market back >> in the early days and got nowhere. > > Rereading this, it comes off as more negative than I intended. Ada was > designed as a programming language for "programming in the large", and that > means that it's strengths don't really show up on tiny programs (which is > what you can fit on tiny boards). That's a problem for Ada if you consider > the tiny boards as an entry to working on larger systems down the road; so > I'm not against efforts to use Ada on those sorts of systems -- I'm just > dubious that they really can be successful (if they make Ada into "just > another programming language", it's unclear that anyone will understand why > Ada is so great). This still seems pessimistic, in particular since Ada 2012. Ada has a few features that single it out. It could not become just another programming language, even when tasking we dropped and exception handling limited. 1) The type system uses name equivalence for every kind of type. 2) If you define a scalar type, you know it, unlike int, or CARDINAL. 3) Structures are built from types, not from pointers and preprocessing definitions. 3) static binding of operations is the default. 4) Geared to explicit formality, not to artful exegesis of things implied. 5) change a type and have the compiler remind you of the other necessary changes. When writing low level software in Ada, you can set the third bit of something by assigning True to a component of a packed array. In C, the main contender, you can pride yourself on having mastered C's shifting and masking. (Problem solving provides for combinatorial exercise already. Why more?) McCormick's long term study shows how this has made a real difference, more than tasking has. I think that Ada 2012 adds to that set. It is a good language for expressing exactly what you want to happen in the small, and a good language for describing interfaces of objects explicitly, in packaged types, including all scalar types, and bridled named pointer types. A reasonably small Ada, therefore, could not be just like some other language, I think.