not-much-io
Joined 11 years ago
Joined 11 years ago
Paradigm wise: Yes functional programming can seem strange and hard if you haven't done it before. But that really isn't the fault of Elm, elm makes FP as simple as it can.
Language wise: Yes, the Elm architecture takes a bit to grok, but for me it was just an afternoon. Once you grok it, there isn't really much else you need to learn - you can hit the ground running, look up what you need when you need it.
Tooling wise: Just some basic tooling you get will get you very far, no setup either, just install and use.
If you do js interop, yes that can be cumbersome, but it is intentional. Elm strives to keep js out and write libraries in Elm. This is so we can have more of the guarantees that Elm provides. (no runtime exceptions!)
I'd rather say: "Elm has a low entry barrier for a FP language". One of it's main goal is to bring FP to the masses after all. :)
<personal understanding> Scala seems to want to please everyone, having all the tools at hand - Immutable and Mutable collections, Objects and enforced Pure Functions etc.
That to me seems like a call for trouble in the community, a split between approaches to problem solving at a fundamental level. </personal understanding>
And well one of the things that I love about Elm is the lack of needing to make too many choices because the language doesn't have too many complicated features and prioritises "One good lib over 5 decent libs" (though at this young stage what other option does it have).
Clojurescript, Javascript and I'm betting Scala.js offer a lot of solutions to the same problem and/or have fancy language features that I am looking for an escape from. Just personally want to try going back to "less is more", to see what it is like. :)
I didn't think I needed types, until I tried Elm, now I am seriously having an identity crisis..
All my backend Python code is also riddled with type hints to help out with the cognitive load.
Elm - Simple, friendly, helpful
Just wish Elm was more mature, but loving it anyway!
How is this a problem with editors/IDEs doing it all for you? If your editor/IDE does not do this, then.. why don't you have this in your setup?
Call me cynical, but I'm a bit skeptical that a company would pay more than they had to.
Note: Assuming of course your role is not super vital for the whole company or some such.
I wouldn't go as far as to say, don't care at all. Maybe just avoid overthinking. :)
Main differences of distros to keep in mind:
1) The default setup. (Desktop environment, already installed software, etc.) 2) Available packages. What software and versions of software are available to you without much hassle. 3) System upgradeability. (Rolling - always up to date, or a 6 month release schedule or something in between)
If I were to suggest something, It would be a variant of Arch called Antergos. You get an Arch linux that:
1) Is as easy to install as Ubuntu/Mint etc. 2) Good default setup selection. (Multiple desktop environments and more arguably the benefit of little bloatware) 3) It IS arch, just a extra enabled repository. (Antergoses own). This means you get the AUR (Arch user repository) that gives you easy access to packages that other distros might not have, although they are less reliable. (Though I have yet to see any problems in 2 years) AND the latest versions of much software. (Again can be bad, but in my experience I've only encountered minor annoyances that get fixed quite fast). BUT WAIT, there is more! It's rolling release. Always up to date. :)
In my experience the stability concerns of arch are a myth. If they do occur, it's not like you see crashing of your computer or massive graphical anomalies. Sleep might not trigger properly for a day or two or something like that. And rarely. But this is just my experience. :)
Antergos = Newest SW, rolling release, easy install, good default setup selection, AUR, the fantastic Arch wiki and probably more.
Graphs: https://github.com/not-much-io/hn-dt-frontpage-comparison/tr...
NB: I personally also hate using the mouse.
Main point: * Great battery life * Lightning fast * Small/Thin
For me it is a perfect cheap laptop to use as a goto for all my less resource intensive activities. (reading, youtube, chat etc.) I might get a bigger 15 inch one so I am happy to see Chromebooks developing. I am having a hard time figuring out who would use a chromebit though..
As it stands I can't help but feel discouraged when learning Haskell. Haskell feels like a research tool for furthering other programming languages...
I'm still going to learn Haskell, promised myself I would! But I do look to the Elixir folk with a bit of jealousy..