jinst8gmi
jinst8gmi on Hacker News
Where can I find more info on the performance work done on collections?
Your comment was about C# being "the best language in terms of features and improvements", nothing about usage numbers.
I agree that C# is far more widely used than Scala, but Scala is being used by significant numbers of developers esp. for Spark. Tiobe is also widely regarded as a pretty poor indicator of language adoption.
> CSharp once again showing it is the best language in terms of features and improvements.
That's a pretty sweeping generalization. Most of the headline features in the article are already in other languages e.g. Scala.
Java's a pretty extreme outlier for late or non-adoption of modern features, but it is true that Java is the closest direct competitor/peer to C# in terms of usage/marketshare. C# seems to be steadily shifting from being a language which initially (v1.0) looked like Java to one which looks increasingly like Scala (e.g. addition of pattern matching, tuples, local methods etc.).
I don't think Android is a good example of a platform which .NET supports which Java doesn't since Java is the primary development language for Android apps...
I'm also pretty sure that embedded Java is widely deployed in IoT applications.
Care to name some of these platforms which Java doesn't run on which .NET supports? I'm having a hard time coming up with even a very short list.
Working on the next major version Scala (3.0) != "looses interest" in Scala.
Odersky gave some details of language features being removed for Scala 3 in his talk and it seemed to be really obscure features I don't use anyway.
> it's a great feature for boring driving
I'd much rather have a "boring" driver on the road than deal with aggressive drivers.
At least the JVM supports multiple languages (Scala, Clojure etc.), but if there's a spec it shouldn't be hard for anyone to add support for other languages.
Horrifying! My primary email account is also with Yahoo. I really hope this doesn't go through.
Those damn hair emergencies, always sneaking up on a person...
Me too. I was super surprised when I clicked through to see a Go framework.
Sounds amazing. Where do I find the Windows source on Github?
The IntelliJ Scala plugin is pretty awesome too and it also offers machine translation of Java code to Scala. It's actually the most widely downloaded plugin for IntelliJ by nearly an order of magnitude. I think Kotlin is a much better option than Java, but the main selling point is simplicity for those who don't want to spend the time learning Scala (entirely valid if if that's a priority for you).
I use Scala every day. IntelliJ uses incremental compilation, so most compiles complete quicker than it takes for me to reach for the mug of coffee next to my keyboard.
Turbo Pascal has much faster compile times than Kotlin. Compile time just isn't that big a deal as a feature.
Go feels more like C with garbage collection and a nicer standard library, but lacks the abstractions necessary to be anywhere near as expressive as Python, Ruby, Scala or even Rust. At the language level some advantages of Go include the fact that it's easy to learn and mostly hard to write unreadable code.
We had very similar experiences with Scala. Java and the JVM are incredibly stable and mature but the language (even with JDK8+) is very restrictive. There's no pattern matching, no full closures, properties are based on a manual naming convention, and even the basic type inference is extremely primitive. The dynamically typed languages like Python and Ruby are fantastically expressive and flexible, but maintaining large bodies of code can be tricky and the performance can't compare to the JVM. Scala gives us the stability and performance of the JVM with great tooling (IntelliJ Scala plugin) and the language is very flexible and expressive. It takes some discipline to focus on writing highly readable Scala code but the result is totally worth the extra effort of learning the language. I'm not surprised that Scala was ranked as one of the most loved languages in the StackOverflow survey for at least the last two years, and Spark and Scala are the top paying tech skills in the US :
http://stackoverflow.com/research/developer-survey-2016#tech...
http://stackoverflow.com/research/developer-survey-2016#tech...
Brainfuck probably has an equal chance of being selected as C#. The problem is more that the APIs and all of the existing apps. Google can't just wake up one morning and decide that everything will be now in language XYZ because there are literally millions of apps for Android which have been written in Java against Java APIs. C# would also be an unusual choice for a company that does zero(?) C# work.
...which uses the Java API and libs... It's a more pleasant option than Java but it's not going to solve the API copyright issues.
I'm curious how switching to Kotlin would help since it relies on the Java APIs and libs...
Kotlin relies on the Java APIs and libs, so wouldn't really help.
Groovy has to be one of the most cringe-worthy names in the history of programming languages.
I don't think anyone has used "hip and cool" and "Java" in the same sentence for at least 15 years (2001) and no amount of Android can fix that.
> I am not sure if I was suddenly without money, the iPhone would be what I would want to give up.
Poor is when you have to dig through other peoples' trash to find food (I see this every week). I'm pretty sure you you really ended up poor you wouldn't give a damn about your iPhone except to sell it to buy food.
> The facts that Rust is quite young, has no shipping hero project as a case study
Dropbox using it sounds like a pretty good hero project...
It guarantees memory safety without a GC. The result is a high performance language that doesn't require manual memory management like C or C++, and generally consumes less memory, as noted by the Dropbox guys. It's an expressive language which is also suitable for systems programming. It's a more modern language than Go (in the sense that is incorporates modern features, unlike Go which keeps things simple by sticking to familiar features dating back to the 70's), but does require more time to learn.