It's been a while

 I don't put the effort into this that I thought I would.  Regardless, I thought I would just say "out loud" that I think Elix...

January 18, 2020

Haskell to Scala

I had no real expectations for Haskell when I started to learn it. Now, after going through a few books on it, I've been unable to get to the point where I want to really dive in and attempt my "go to" project of building a ray tracer with it. It's been very good to see other ideas about building software, but I haven't gotten over that "hump".

There is a language that I feel differently about after only a few days: Scala. I've known of it's existence for a long time, but never really looked at it.  Then I started listening to the CoRecursive podcast, and the host, Adam, works in Scala.  Around that same time, I saw some Haskell people posting about people attempting to "de-platform" a Scala person.  Well, that person was John De Goes.  I've found him to be nothing but helpful and pretty nice online.  He's also contributed a concurrent library called ZIO to the Scala world.

So, with all that, and my slight dissatisfaction with the Haskell language (and community) I finally "committed" in my head to learning Scala.

I haven't found "the right book" yet, but I did discover the Scala exercises site.  So far, I like the way they combined reading with answering questions via fields that are checked with Scala.  I started with the track called "Scala Tutorial".  It is providing a little background and "big picture" as well as the more straight forward facts about language features.  I'll need to read a little more before I learn how to organize a project and can begin muddling through The Ray Tracer Challenge, though.

Scala seems to tick all my boxes: it is FP (and OOP FWIW), has a compiler(I just like that step), is probably pretty fast (being on the JVM), but also allows for native binaries, and has browser/Web Assembly targets.  I think the "big ideas" from Haskell are in there, so I'm hopeful and excited about it.

No comments:

Post a Comment