3 ms·
Which of the two approaches would you consider better for the JVM and/or .NET as a platform: 1. Make the most popular languages, c# and Java, more complex by a
by Ygor 15y ago
Which of the two approaches would you consider better for the JVM and/or .NET as a platform:
1. Make the most popular languages, c# and Java, more complex by adding more features such as functional and dynamic support.
2. Make the "core" languages simple and precise, and encourage the use of other languages for adding more options and features to the platform.
Currently, for example, c# does support functional style programming, but there is also f# which ships with VS2010. At first, it seams as if the designers are not sure which of the two approaches to take. and just go both ways. Java is a little behind, but that's why we have clojure and scala.
- rlmw 15y agoNeither Java, nor c#, are simple. They're arguable less complex than things like f# and scala, but its quite a lot about the question of familiarity. If you're coming from an imperative, oop, background then these languages will require more learning because you're not familiar with the concepts. But a language like Java is huge by comparison with something like Javascript or python. In terms of the size of grammar, the number of semantic rules required for description, etc.
- Ygor 15y agoYep, using the word simple to describe those languages is not really appropriate. What I was getting at would be more in the lines of "confined to a single paradigm and style". And again, not saying either of the two mentioned are. It is more a question of future orientation and concept.
- icey 15y agoIf you take the entire corpus of knowledge required to use a language, I'd argue that F# is less complex than C#. It may seem like it's more complex if the user doesn't have a functional background; but if the user is equally comfortable with both OOP and Functional paradigms F# is the simpler, smaller, more regular language of the two.