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

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

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. 
One could argue that there are perhaps "too many ways" to do a given 
thing in Python (one could say it's features are "not orthogonal"). I'm 
sure you are familiar with where the language drew its name.   I'm not 
here to "cast stones", I like Python. I just think that you shouldn't 
cast stones at C/C++.  People started programming in C in the late 70's, 
and before that some were programming in B ("B Programming Language"), 
if I recall correctly. Python generally runs "further ways from the 
hardware" than these other languages, and in some sense, it still would, 
*even if* you were able to statically compile it to machine language. To 
me if feels like Python runs like an application.   I don't wish to 
debate this as I have other needs this week. But I felt compelled to try 
to explain why maybe you shouldn't be casting stones at C/C++.

One thing you didn't bring up at all, is that the audiences for the 
languages appears to be different. You still need folks who can encode 
data structures and write device drivers, from scratch.  And "woe" if 
you need performance, such as applications involving AI.

> But even if it were the best language in the world, and Stroustrup the
> greatest language designer in the history of computing, what makes you think
> that he knows anything about teaching?