News for hackers. Stuff that matters.
Re:Metals with Scala 3 by rcgorton on Thursday February 04, 2021 @06:38PM (#26031116)
NO, NO, NO. Scala is NOT a 'great' language. It is implemented in Java, so suffers ALL of the performance issues of Java (and then some). I would be THRILLED to see a new, straightforward language (vs. C++) which is strongly typed. From my personal perspective, GOLang is the best improvement so far, but suffers from a worse case of 'rpm hell' equivalant than general linux rpm packages do. Secondly, "Functional Programming" is best described as "DisFunctional Programming". The primary precept of functional programming is that there are ZERO side effects. Well, welcome to the real world of hardware/network failures. Please stop pitching garbage ideas to the rest of us realists.
Re:Metals with Scala 3 by brokencode on Thursday February 04, 2021 @06:49PM (#26031187)
Dismissing new ideas out of hand does not make you a realist, it makes you ignorant. You seem to be confusing functional programming with purely functional programming for one, and for two, if you think purely functional programming doesn’t deal with side effects or failures in any way, then you don’t know enough about it to pass judgement.
Re:Metals with Scala 3 by RussianCow on Thursday February 04, 2021 @07:27PM (#26031512)
> The primary precept of functional programming is that there are ZERO side effects. Well, welcome to the real world of hardware/network failures.

You clearly have never actually learned a functional programming language, because functional programming tends to make it easier to handle errors and side effects precisely because they are more contained, instead of allowing any arbitrary code to throw an exception, or having to remember to handle error codes, etc. I strongly suggest that you build a small toy program in a language like Haskell—it really does change how you approach problems, even in more mainstream, imperative languages.

Re:Metals with Scala 3 by type0 on Thursday February 04, 2021 @07:07PM (#26031310)
Sounds like you never tried it, just because it runs on JVM doesn't make it bad, on the contrary actually. Go is a completely different thing. Scala is one of the most pleasant languages to write.

> Please stop pitching garbage ideas to the rest of us realists.

trolling much!?

Re:Metals with Scala 3 by valenterry on Thursday February 04, 2021 @10:44PM (#26032851)
What?

> It is implemented in Java, so suffers ALL of the performance issues of Java (and then some).

Uhm no. You can create native binaries or javascript code as well. I think your knowledge is from many years ago.

Re:Metals with Scala 3 by RyanDeLap on Thursday February 04, 2021 @08:43PM (#26032090)
The common definition of what side effects are would argue otherwise. Functional programs definitely do adhere to maintaining referential transparency. FP is about the world of the program, and the unknown. In the unknown, server failures and network issues happen, absolutely, but for the maintainability and local reasoning of the code, the rules of functional programming are followed so as many of those situations are handled. No paradigm can account for everything, and functional programming is one way of reasoning about the outside world in one of the safest ways you can. I think its totally unfair to consider FP as a garbage idea, there are tons of companies that follow these practices that rake in billions of dollars because their software works and is reliable. There plenty of valid criticisms of FP, but the world outside the JVM failing isn't one of them.
Re:Metals with Scala 3 by kaba0 on Friday February 05, 2021 @06:41AM (#26035271)
Sorry for the nitpick, but this is one topic I have to link to this great answer, because referential transparency doesn’t mean what you mean by it:

https://stackoverflow.com/questions/210835/what-is-referenti...