Earlier quoted context omitted.
Why can't you work in Haskell?
There aren't many Haskell jobs where I live, I don't want to move, and it's unfeasible to suggest it at my (otherwise decent) job.
The Last Hope for Scala's Infinity War [video]
51–60 of 76 posts
Re: The Last Hope for Scala's Infinity War [video]
#52Based on this talk, it's not likely I'll ever become a Scala developer.
For reference, I learned FP in the nineties while in university; was exposed to monads, and a few haskell dialects (Gopher mainly). Been doing Java for about 20+ years at this point as well. However, despite this background I have trouble wrapping my head around Scala. The documentation seems to require a phd, which I have, just not in esoteric type system kungfoo. I find most Scala code completely unreadable. I admit, it's me. I'm probably too stupid or something. But if I'm too stupid, then most people I work with are definitely not smart enough either. So, that in a nutshell is why I ended up doing Kotlin instead.
Re: The Last Hope for Scala's Infinity War [video]
#53Which feature(s) is(are) there in Scala which trump running straight machine code for maximum speed and efficiency? I write software which runs on the command line and is designed to take command line options and work well with pipes like all the other UNIX®️ tools and the software has to be efficient on resources and lightning fast. Sell me on Scala.
Re: The Last Hope for Scala's Infinity War [video]
#54I was thinking about Python3/Perl6 as he was talking and glad when he brought it up. It's important to note, the world has transitioned to Python3. Django removed the py2 comparability imports a while ago and the Python3 Wall of Superpowers stopped updating a while back when it was over 90% green. For most devs, all new Python code that's green field is Py3. There is still a lot of py2, yes .. a lot in commercial/clo…
That's a lot of assumptions:
* Booking.com still using Perl for everything
* Code being decrepit
* Code lacking meaningful testing
* Developers in agony
Do you have some inside information to know that all of these are true?
You also don't seem to understand that companies are in it for the money, not to provide nice new development projects to make developers happy. If you are programming for a living, you should know that programs are written to make money.
By the way, torturing the developers to make a better product, is a well known meme among Perl 6 core developers.
> doesn't end up like Perl6.
Perl 6 is ending up quite nicely, thank you.
Re: The Last Hope for Scala's Infinity War [video]
#55I think this summarizes really well why I never became a Scala developer and am now a Kotlin programmer. I like Kotlin. It solves problems I had as a Java programmer in a way that is easy to understand. It's easy to move from one to the other. Tools are great. Documentation is great. Etc. Based on this talk, it's not likely I'll ever become a Scala developer. For reference, I learned FP in the nineties while in unive…
Completely agreed. Though the funny thing is, Scala has/had a Documentation Tzar and she is trying to get things to a better place. To supposedly take care of this. I'm very much a learn by example type, so I'd appreciate a lot more examples (e.g. for methods: https://www.scala-lang.org/api/2.12.6/scala/collection/$colo... ). On the other hand, the documentation is open source in the best way: https://github.com/scala/docs.scala-lang/commits/master anyone can shoot a PR if they feel they can/want-to contribute. And there's plenty of overview articles ( https://github.com/scala/docs.scala-lang/tree/master/_overvi... ) covering a wide range of topics.
Sometimes the fault is with the libraries and their documentation. Especially anything that's HC FP (scalaz : Let the types speak for themselves via the Scalaz Scaladocs! and then you're completely at the deep end - for example: https://static.javadoc.io/org.scalaz/scalaz_2.12/7.2.24/scal...):F[(A,B)] ).
What makes Scala code unreadable is - IMHO - that people rely too much on the IDE to help them understand and navigate code, or their own familiarity with that code (or in some cases the code is simply write only, making it more like obfuscated Perl and KDB+/Q than a modern object-functional hybrid language).
And since Scala has so many faculties, features, facilities to mange code, to abstract problems and their solutions, and people write almost none of their design choices down into READMEs or comments, we're left with the code. For some people it speaks for itself. (For some people types like a -> a tell everything, for me that's just a function with unknown "functionality", because it depends on what the fuck the function actually does. Sure, the type signature constrains the expected return value, and it's useful, but that's not the architecture, not the rationale of/for design choices, it's just the safety striping around the sharp edges.)
Somehow Scala is "the PHP" at the other end of the spectrum. Instead of being too little it usually ends up being too much (insert the relevant Paul Philips rants here), while both are perfectly capable of expressing nicely designed programs/systems.
Furthermore, Scala is actually a bit weak when it comes to expressing really high level concepts. So yes, you can do a lot of magic in it, but most of it ends up being of the Black variety, because "for performance" (minimize GC pressure) or because that part is still "experimental" (macros/reflection) or because that part is just ugly and badly designed (collections).
Re: The Last Hope for Scala's Infinity War [video]
#56Earlier quoted context omitted.
1. Tooling has seen huge improvements lately. I use many libraries that are macros and implicits heavy, and IDEA does a near perfect job. LSP support is coming too. SBT keeps getting better, and you have a handful of viable alternatives these days. 2. All major Scala releases bring breaking changes, this is incomparable to Python. 3. By any real-life metric (jobs, conferences, meetups, libraries, ...) I don't see evi…
I encountered IDEA pain with implicits and type checking just yesterday, relating to a library that uses Cats and Shapeless. It happens enough to remark upon. It doesn't happen often enough to make me wish I were still using Python for data processing. The Dotty transition looks like it will be significantly more breaking than the changes in the 2.x releases over the past 5 years. I'll be pleasantly surprised if the…
Also, I hope that this hypothetical tool will get the necessary testing on the community build system, so it'll be actually usable and useful.
Re: The Last Hope for Scala's Infinity War [video]
#57I was thinking about Python3/Perl6 as he was talking and glad when he brought it up. It's important to note, the world has transitioned to Python3. Django removed the py2 comparability imports a while ago and the Python3 Wall of Superpowers stopped updating a while back when it was over 90% green. For most devs, all new Python code that's green field is Py3. There is still a lot of py2, yes .. a lot in commercial/clo…
Any maybe that's something Py3 could have handled with a py2 interop (at module load time you set assumptions that lift your py2 code into py3 with those assumptions). But python is not that big on these hacks, it instead just adds 10 more incomplete libraries into its std and calls it progress!
Re: The Last Hope for Scala's Infinity War [video]
#58Watched the entire video; still failed to understand why I would pick a JVM interpreted, impure functional programming language over ANSI common LISP which I can compile into machine code? Which feature(s) is(are) there in Scala which trump running straight machine code for maximum speed and efficiency? I write software which runs on the command line and is designed to take command line options and work well with pip…
Re: The Last Hope for Scala's Infinity War [video]
#59When you invite John De Goes to speak, you are already dead.
Re: The Last Hope for Scala's Infinity War [video]
#60SBT, implicits, CoC controversy and censorship, scalaz/cats debacle... There are more reasons not to get involved with scala ecosystem than to get involved. I think people get snippet fever when they see a few lines of really pretty code and they forget how tangled up the scala scene actually is. I can't believe, after seeing more Rails disasters that I know what to do with, that I'm looking at a software project and…
Could you write a few sentences about this? What happened? What do you think should have happened instead?
> scalaz/cats debacle
Again, for the unfamiliar, what is this debacle?
> the breaking changes they need
What are those?
> murder sbt to death
yes pls! ( https://github.com/lihaoyi/mill is actively maintained and developed and seems to be the sane replacement for sbt )