|
|
|
|
|
by chubot
3550 days ago
|
|
This is a great talk, but what he was advocating never came to pass. He wanted to add 3 things to Java: - operator overloading
- small value types on the stack (for vectors, rationals, etc.)
- generic types
Generic types are the only feature that made it (not without some controversy).C++ has all three features. I suppose there is some success in games and graphics using overloaded operators on vector types. But otherwise it doesn't seem like a huge win, or something that is critical for the design of a language. Python has operator overloading. I never really use it, but I guess it did allow NumPy and Pandas to exist. And TensorFlow uses it. Perhaps it boils down to the fact that Java is more of a business language, and C++ and Python have more mathematical applications, which require richer algebraic expressions of many types. But I suppose if Java had gotten operator overloading, it may have been used more for scientific computing. Perl 6 and Racket seem to be the languages that really allow creating your own language. But actually I heard Larry Wall say that they want to provide so many little languages within Perl 6 that users don't need to invent their own. Because this often makes it harder for others to read your program. |
|
http://cr.openjdk.java.net/~jrose/values/values-0.html