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!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Languages don't matter. A mathematical refutation Date: Fri, 03 Apr 2015 10:34:44 -0700 Organization: A noiseless patient Spider Message-ID: <87oan56rpn.fsf@jester.gateway.sonic.net> References: <87h9t95cly.fsf@jester.gateway.sonic.net> <04f0759d-0377-4408-a141-6ad178f055ed@googlegroups.com> <871tk1z62n.fsf@theworld.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="c694756f1077760bb5296aae16c74092"; logging-data="26335"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/KuxdoonrtiHZM/cLRBCzW" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:qZZIphTSVbIkauxWb8R3vJY/vqg= sha1:aQvHj65he8UfbOoIgOiuSE6FGwA= Xref: news.eternal-september.org comp.lang.ada:25401 Date: 2015-04-03T10:34:44-07:00 List-Id: "Dmitry A. Kazakov" writes: > I would say that is a domain-specific language. Remoteness from the machine > code does necessarily imply higher level. To me SQL or OpenGL are lower > level than C, though both are farther away from the machine and closer to > some domains. I think being higher level is related to the abstraction > capabilities. I thought of low level = programmer chooses the algorithms, high level = computer chooses them. So SQL is very high level (programmer writes a select or join and the database figures out the query plan, and in some cases the db might notice repeated queries and decide to add indexes all by itself). http://prog21.dadgum.com/166.html claims that C's highest level feature is the switch statement, since it analyzes the set of cases and might generate a linear sequence of comparisons, a jump table, or a tree-like search. The other C statements mostly generate straightforward sequences of machine instructions modulo things like register allocation. I saw another paper proposing that the dividing line between low and high level languages is that the high level ones have garbage collection. So that would mean Ada is low level while Java is high level. Java (not C) is probably Ada's main competition for big new projects these days, and GC is probably Java's main attraction over Ada.