|
|
|
|
|
by coder543
1414 days ago
|
|
> Also, Java is an exceedingly small language, so the millionth keyword comment is unwarranted. Small compared to what? Java and C++ are extremely competitive in feature bloat, and I can hardly think of anything that is comparable to them. Even C# has a smaller surface area, in my opinion, even though it manages to implement a variety of useful features that Java currently lacks (like async/await and value types), but C# is still a large language — no doubt about it. C# just manages the interactions of its features better than Java, in my opinion, which makes it feel simpler. I have honestly never heard anyone call Java a small language. It is far from that! > Java’s standard lib has been planned with value types in mind for some time now, plenty of classes will be able to take advantage of them. Aren’t the majority of the standard container types using some form of inheritance? That’s what I recall, and that rules them out. |
|
But Java? It only has classes, inheritance (no multiple inheritance as c++), interfaces, objects which are instances of said classes, 7 primitive types and I am basically at the end of java’s feature list. Lambdas are often hated because they were implemented at first as classes with a single method (they no longer compile to that), so they are syntactic sugar only in a way. Classes can have static methods as well, and there are 3 visibility modifiers (which are also language feature of Go, just implicit in naming convention).
Everything else is library calls in the language.