top | item 33573024

(no title)

izhak | 3 years ago

You could change the “Lisp” in your comment to “Programming Language” to make the answer less unobvious.

discuss

order

nnoitra|3 years ago

No, you can't. How many dialects of C++ are there or of Java.

skissane|3 years ago

> How many dialects of C++ are there

Dozens. The standard language has been through numerous revisions (C++ 2.0, 98, 03, 11, 14, 17, 23), with no doubt many more to come - each version is a dialect. And there have been dozens of compilers, all of which define extensions to the standard - some of those extensions are copied by other compilers (and may eventually end up in the standard), others are unique to that implementation - so each compiler (even each of its successive major releases) can be viewed as a dialect. And then there are dialects defined, not by the core language features, but by which features are used, by which external libraries are used, etc. One C++ programmer is addicted to esoteric template metaprogramming, another avoids templates and treats C++ as a slightly improved version of C. One C++ programmer uses every Boost library they possibly can, another refuses to use any third party dependencies. One uses exceptions and RTTI heavily, the other always turns them off. Aren’t those all effectively different dialects, even if they are both using the exact same version of the same tools?

And then there are entire languages defined as extensions of C++, such as Apple’s Objective C++, or Microsoft’s Managed Extensions for C++ and then C++/CLI and C++/CX - and also more modest extensions such as OpenMP

Considering C++ is an object-oriented extension to C, it belongs alongside other such extensions - most notably Objective C and D (and even, to a lesser degree, Java and C#) - and there have been other attempts at that which weren’t successful - aren’t they all (in a sense) C dialects?

gus_massa|3 years ago

Are Java and C# different languages, or just a trick with the name by Microsoft to avoid the requirements of Sun?

(I think that the difference between Java and C# is similar to the difference between Common Lisp and Scheme.)

ludston|3 years ago

No, you can. It's like asking, "why make c# when Java already exists. Isn't it just another algol dialect with gc?"

The answer is, "because somebody made it because they weren't happy with what already existed"

vasirian|3 years ago

s/Lisp/Programming Language/g not `a programming language`.