Hacker News new | past | comments | ask | show | jobs | submit login

This may sound ridiculous, but I am literally sick of Java/JVM land. I would beg for native Scala backend (and it would be my first choice for doing pretty much every thing).I don't know people does share this opinion or not ,but I literally hate JVM.Slow Start up.Tremendously slow/unresponsive java app(I am talking about big apps, like android studio). Ridiculously bad font handling in Swing(there is no way to disable hinting).

Syntactically and semantically Scala is one of the best language's I have ever worked with (although I spend little time with it).It's middle approach to OOP and FP is best approach for enterprise projects.It does not try to shove FP in your throat, but provide best platform to do FP when it is much more efficient than simple OOP. However when it comes to JVM (especially in Linux desktop). My answer is big fat NO.

Of course, I am talking about desktop experience.JVM in server side is great and robust, I don't have anything against it, other than praise.




My opinion is exactly the opposite. The best thing about Scala is that it brings some niceties from FP-land while not looking entirely alien to Java developers, and you get to keep the JVM/Java ecosystem.

Were it not for the Java-land compatibility & ecosystem requirement (and all the baggage associated with it, such as not alienating Java OOP programmers), I wouldn't use Scala. I'd probably ditch the OOP part of the FP+OOP hybrid that causes problems in Scala, and use something like Haskell instead.

I honestly have no interest in a native/JVM-less Scala. There are better languages for that out there.


What's the GUI story like for those other languages? I don't think I've ever seen a GUI program in Haskell. I've seen a few OCaml programs that use GTK and they don't look great (admittedly better than Swing, but worse than JavaFX IMO).


To be honest, I don't know. I've done very little frontend programming in the last decade. I've no idea about Scala for the GUI either.

I'd be willing to learn how to write GUIs in any language.

PS: I see that Leksah (http://leksah.org/), a Haskell IDE, is written in Haskell using GTK. The screenshots look decent enough. Not sure if it's unpleasant to write a GUI app like that in Haskell.


ScalaFX is poorly documented but it's a joy to use, at least for simple stuff - I haven't made an IDE in it or anything.


Not ridiculous; I'm with you.* I think that Scala is a solid, relatively modern language and that the Java ecosystem is bonkers. Something like Scala-the-language + Go-like tooling and deployment would make my day. (Maybe what I'm describing is Rust, which I admit I haven't taken more than a cursory look at even though I think it's interesting.)

*Assuming my agreement lowers the probability of being ridiculous, which is an open question… ;)


Scala is a modern language unfortunately set back by its need to compromise and be compatible with Java. If we go native and remove the need for Java/JVM compatibility, what is there left about Scala? There are many other languages better at FP, so I guess what remains is the FP+OOP hybrid thing? Which I'm not sure I like anyway, since it makes the language less tidy than I'd like.

Disclaimer: I work with Scala in my day job, and I like it -- it sure is nicer than Java -- but I don't know if I would use it in situations where the JVM wasn't mandated or needed.


Could you elaborate on what parts of go-like tooling you like? I also find it interesting given that golang is a much simpler language specifically to allow for the kinds of automated tooling they have. If you want that, then the complexity of scala is going to have to decrease.


Well in my experience for heaps greater than 10-12GB server side Java apps can have long and unpredictable GC pauses. As for desktop apps I do not think many will share your opinion ,mainly because in large enterprises such as where I work, Java app not freezing every single time it is invoked would be considered a great experience.


It's very likely that Scala native will also be garbage collected. I don't think you will see improvements in gc pauses. JVM GCs have been tuned for years, so it will be an achievement to beat them.

Aside: Shenendoah was supposed to be an improvement over existing GCs in pause times, but it's not yet ready if it's alive and it's for very big heaps and when you want low latency over performance/throughput.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: