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!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: How to make Ada popular. Get rid of ";" at end of statement. Date: Sat, 20 Jul 2019 01:42:14 -0700 Organization: A noiseless patient Spider Message-ID: <87sgr1nlll.fsf@nightsong.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="9f57267dbec621be7f12c965bf730f26"; logging-data="12313"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/eFTQez8xKMQcy6fOVAMlB" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:ZYsnvKfTRGw7T/tajB3A+Hjx3gM= sha1:Vi29T/H8T82c8sLzIdD/5rrSZgM= Xref: reader01.eternal-september.org comp.lang.ada:56897 Date: 2019-07-20T01:42:14-07:00 List-Id: "J-P. Rosen" writes: > It's not because someone posts an unsupported stupid claim that it has > to be followed... Python's idea of using indentation for range of > statements is a typical false good idea. It's certainly not about the semicolons, but Python code is very concise and fluid to write. It's also easy to learn and has a pleasant interactive testing environment. Lisp had similar attractions in an earlier era, and it still does for some. Python's indentation-based syntax is mostly a good thing though they did paint themselves into a corner a few times. Haskell has something similar called "layout" where you can use indentation as an alternative to curly brace syntax. Haskell's version works better than Python's in my opinion. Python doesn't really try to compete in Ada's space of very big, highly reliable, high performance systems. It's for quickly banging out something that is not too complicated, and that basically works or is easy to fix when it throws an error. In Ada circles that is sometimes called rapid prototyping. Here's a familiar old paper (you may have seen it) about a rapid prototyping experiment comparing Haskell, Ada, and other languages: https://web.cecs.pdx.edu/~apt/cs457_2005/hudak-jones.pdf The Ada solution for that problem needed around 10x as much code as the Haskell solution. Python wasn't included, but Python code for the same problem would have looked fairly similar to the Haskell code.