Yes. Very much so. It's either the top or one of the top languages in pretty much every benchmark:
https://insights.stackoverflow.com/survey/2018#technology
Yes. Very much so. It's either the top or one of the top languages in pretty much every benchmark:
https://insights.stackoverflow.com/survey/2018#technology
java has issues, too. i'm not talking about the language per se, but the whole situation. the end-user java experience sucks, most people know it mainly for requiring updates, making browsers insecure, and using ungodly amounts of RAM. in a world with containerization, the write-once-run-anywhere marketing line isn't so interesting anymore. groovy, scala, clojure, and kotlin injected some cool ideas, but might have done more harm by cannibalizing the community and proving that just because it runs on the JVM doesn't make it great (to some people :)).
we agree it isn't going anywhere fast. huge corporations use it daily still which means huge paychecks. but getting by isn't the same as thriving, and i think it's a valid question to ask. because just like C#, simply adding new language features isn't always enough.
C# 2.0 was released around nov 2005. even with two solid years of use, that's 2008, and means i haven't touched windows in almost 10 years professionally! coincidentally, intel macs were released jan 2006, and vista was 2007.
those same enterprise customers that wanted desktop apps started wanting web-based tools, for mostly good reasons. developers, especially web devs and designers started using macbooks. virtualisation, containers, etc. all came from linux/bsd, and that showed for a long time.
but hey, who knows. maybe they'll magically fix all the issues with windows 10, regain people's trust especially w.r.t. to updates, captialise on Apple's hardware weakness (if you see it that way), make .NET and GUIs with .NET first-class citizens on other OS', then maybe?
Ditto Visual Studio Code.
Things have... changed in the Microsoft ecosystem since 2008, let me put it this way.
1. Apache Groovy gave people closures and builders on the JVM but at the cost of static type checking, and developers happily embraced it.
2. Then Scala came along and showed you could have closures without losing the static type checking, so many developers moved there instead.
3. Then Clojure came and brought closures to the JVM and lost the syntax, but no-one embraced it.
4. Then Kotlin came and showed you could have both closures and builders on the JVM without losing the static typing, and it's now everyone's favorite.
5. Finally, Java bolted on closures and Groovy and Clojure bolted on static typing annotations, but who's using them?
Where are these client side Java apps ? I haven't seen one in the wild for years.
actually, the minecraft modding community is awesome, and they are doing some really great stuff. including amazing GUIs (inside minecraft, but still).