lua-users home
lua-l archive

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

On Thu, Apr 27, 2017 at 1:39 AM, Coda Highland <> wrote:

> That said, I already said upthread that I think that there are possibly better choices than C++. C# is closer, even though I'd rather use C++ for real work.

I see a lot of programmers who learnt their craft within the last 10-15 years struggling to understand how computers work at the fundamental level. I believe this to have been caused by the use of high-level languages like C# that shield the user from the underlying computer so perfectly that there is little incentive to understand it.

In the context of training future professional computer programmers, the above is a costly mistake. They need to be taught a language that does not have that level of isolation. In the same context, I do not buy the argument that C++ can be taught as the first language with a realistic amount of instruction available in a typical curriculum. Most of C++that-is-not-C features make sense only once somebody really understands what programming is really about, and has some experience to reflect upon; teaching that "in advance" only creates cargo cults (like the one where everything is an object derived from another object, all ultimately derived from one base object). Someone needs to have a simpler language, but not a toy language, that can be mastered within a semester or two. I am afraid that C is the only reasonable choice for such a language today.

For non-professional programmers, the situation might be different, but that is not my field, so I do not have a strong opinion there.