[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lies in education [was Re: The "loop and a half"]

On 11/10/17 01:48, Bill wrote:
> Steve D'Aprano wrote:
>> On Tue, 10 Oct 2017 06:06 am, Stefan Ram wrote:
>>> In his book about programming, Bjarne Stroustrup writes:
>>> |We try hard to avoid "white lies"; that is, we refrain from
>>> |oversimplified explanations that are clear and easy to
>>> |understand, but not true in the context of real languages and
>>> |real problems.
>> Bjarne Stroustrup is famous for designing one of the most heavyweight,
>> baraque, hard-to-understand, difficult-to-use programming languages in 
>> common
>> use. While C++ has many excellent features, and is constrained by the 
>> need to
>> be compatible with C, I don't think many people believe that it is a
>> well-designed language.
> It is a well-designed language.? It is and was carefully thought out. 

I was manfully trying not to head off on another OT trail, but this is 
simply not true.  C++ is designed, true, but well designed?  It has a 
fundamental flaw; it wants to be both a high-level language and 
compatible with C, under the mistaken impression that C is a high level 
language.  Since C is actually an excellent macro-assembler, this dooms 
the exercise from the very start.

C++ lives in the no-man's land between programming languages that care 
quite a lot what processor they are running on and programming languages 
that wouldn't recognise hardware if it came up and bit them.  It can be 
used either way, but comes with all the baggage for both.  I am yet to 
see a C++ program that wasn't more comprehensible when rendered as 
either C or Python (or the high-level language of your choice, I imagine).

Rhodri James *-* Kynesim Ltd