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!.POSTED!not-for-mail From: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: Is Python higher level than Ada? Date: Wed, 16 Nov 2016 09:08:37 -0700 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: <874m37ewvw.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 16 Nov 2016 16:08:11 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="94e3dea31e8d14ca42d67acd8766b978"; logging-data="15880"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18SZZ4Y8M4wEPDLLZRz1+5xT7Vda7z/qjE=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 In-Reply-To: <874m37ewvw.fsf@nightsong.com> Cancel-Lock: sha1:5d/nCp1XIpQAxXCkNOlo3CehsHg= Xref: news.eternal-september.org comp.lang.ada:32345 Date: 2016-11-16T09:08:37-07:00 List-Id: On 11/15/2016 11:56 PM, Paul Rubin wrote: > Victor Porton writes: >> My question is not about particular features, but about which features >> are considered in definition of "higher level". > > I don't know that "higher level" is a well-defined term. I think of it > as meaning the language abstracts away more machine-level details for > you, letting you think of the problem more naturally. I had a somewhat different introduction to the concept. Typically, one understood a problem and then translated that understanding into a solution implemented in a programming language. Ada was the 1st language I experienced in which it was possible to model the problem in the language, and that model was the solution. The translation step needed with every other language I'd used could be eliminated. So that is what I consider "high level". Essential feature for this to be possible seem to me to include: 1. Modules with separation of interface and implementation 2. The ability to express the constraints of the problem space 3. The ability to model the concurrency present in many problems Feature 2 means the language can model things like "these values cannot be < 0 or > 42" and "the light can be one of 3 colors: red, yellow, or blue". McCormick ranked this as the most important feature in explaining why his C-fluent students could succeed with Ada but not with C. Python is missing some of these, and so would seem, by this definition, to not be a high-level language. -- Jeff Carter "You a big nose have it." Never Give a Sucker an Even Break 107