Live data from Hacker News

Elm changed my mind about unpopular languages

blog.realkinetic.com

171–180 of 321 posts

Re: Elm changed my mind about unpopular languages

#171
post #163
post #160

Earlier quoted context omitted.

> Don't you want people that care about your product instead of the technology behind it? I do. I would rather have people who care about their craftsmanship and are indifferent about the product than people who care about the product and are indifferent about the craftsmanship. The former ones do a good job regardless of what the product is about.

"caring about craftsmanship" != "caring about elm" I care about craftsmanship even when I'm writing JavaScript. And when JavaScript is enough of a burden, I go to TypeScript, not Elm.

But did you try Elm? Must say it's syntactically much sweeter than TS.

Re: Elm changed my mind about unpopular languages

#172

Earlier quoted context omitted.

I find this line of reasoning a bit strange. I've only dabbled a bit with some unpopular languages, but I don't think their limited popularity implies they're only suitable for niche use cases. In fact after using some languages (most recently Clojure) I find programming in other mundane languages like JS a huge step backwards. People are probably the biggest determining factor in achieving a quality result. But I do…

It’s not just about the language itself. You might think Japanese is an awesome language and decide to learn it, but then what use is speaking Japanese outside of Japan? Around the world people still just use boring ol’ English, even though English is actually a pretty shitty language and full of hacks to make up for weird edge cases (read and read, goose and geese, mice and meese?, Buffalo buffalo Buffalo buffalo bu…

That argument may be true for other languages, but Clojure is a hosted language which means you have access to all the libraries created for that mundane Java language (should you need to use them).

Re: Elm changed my mind about unpopular languages

#173

Earlier quoted context omitted.

I definitely disagree that java is looking like - or even starting to - python did in 2004, it still has a huge market share, even compared to python. Yes python is definitely more popular now, enough so that the python paradox doesn't even apply, but it will probably never apply to java, or at least not in the current computing paradigm.

Maybe I read GP wrong, but what I took it to mean was that the market/talent position of python in 2018 is similar to java in 2004, not that java in 2018 is similar in any way to "2004 python". Elm, Haskell, Clojure, etc, seem like they fulfill the role of "2004 python" in 2018.

> Elm, Haskell, Clojure, etc, seem like they fulfill the role of "2004 python" in 2018.

And ReasonML, PureScript and Kotlin the role of 1995 Python?

Re: Elm changed my mind about unpopular languages

#174
post #18

Earlier quoted context omitted.

Regarding the second point, As a counter-argument, it’s not certain that languages and frameworks from major vendors will continue to be supported either. For example Microsoft deprecated various UI frameworks, Firefox extensions are changing, and so on. (I’m sure there are better examples I can’t think of at the moment.)

Sure, large vendors deprecate stuff all the time. But you'll probably have plenty of notice and they'll have a path for your existing applications to follow. It may be painful, but it won't be catastrophic. Contrast that with what would happen if No Red Ink went out of business and the author of Elm couldn't find a job that would allow him to continue to develop it. Things would be fine for months or years but eventu…

> [the author of Elm couldn't find a job that would allow him to continue to develop it]'s just another risk factor (just like tech debt that might accrue should you use jQuery) to consider.

Nope. jQuery fit(ted) a different use case (spicing up server-side rendered HTML upto small browser based app-bits). Doing a browser-side app in Elm (what it's specifically made for) makes for code base that is so much easier to work on some years from now, than using jQuery to accomplish the same.

What I want to say is, the debt you're going to accrue applying it to Elm's domain will not be a risk, it is impossible not to be destroyed by that debt. Where Elm provides a serious alternatives to the browser app frameworks that are 10 generations younger than jQuery.

Elm's size, OTOH, is certainly a risk factor.

Re: Elm changed my mind about unpopular languages

#175
If you're looking for a language for your own projects then, sure, Elm is a fine choice. When it comes to getting a job as a developer, however, it's a different story. The languages companies are willing to pay big bucks for tend to have been around for a long time. Tech, as a profession, is paradoxically very conservative. Even startups tend to go with Rails and that's been around for over a decade. Ecosystem maturity matters where money is at stake. Today I was offered a £460 per day contract to do Codeigniter for MBNA. Unfortunately it involved relocation. Not even Laravel, just plain old Codeigniter. Who's paying that to write Elm? Personally I love writing Clojure for my own projects but, again, Clojure jobs are thin on the ground even in London so I don't expect to make a career out of it.

Re: Elm changed my mind about unpopular languages

#176
post #38

Earlier quoted context omitted.

The communities for languages like Elm are definitely smaller, but they're also "passion languages", if that makes sense. Nobody is learning elm because they've been or feel forced to (like you might with React, eg) or because they needed to maintain a legacy codebase at an old job or something. They're learning it because they're interested/like it, etc. So when it comes time to hire you have a small(er) pool of can…

But are language enthusiasts really better hires in general? I've known many of them who loved the theory and toying with a language but were not any better at producing actual value than the average joe.

They're a great way to seed your recruiting pipeline. Enough of them ought to be good hires to make this useful. After that, you just have to trust your hiring process, just like you would for any other source of candidates.

Re: Elm changed my mind about unpopular languages

#177
post #127

Earlier quoted context omitted.

Worth noting that in our experience, hiring has gotten way easier for us since we became an Elm shop. We really struggled to hire React engineers (who have a zillion positions to choose among - why would they pick ours?), whereas there seem to be a lot more great programmers who want to use Elm than there are companies hiring for Elm positions. Here's a verbatim quote from a cover letter (one I happened to be reading…

Strangely, if you switch Elm for Scala, you get the exact opposite result (at least where I work). We got mostly inexperienced candidates and the ones able to understand the codebase can get more interesting offers elsewhere.

Interesting, I wonder if there is a fade on the Python effect, where the talented devs that pick up on new languages move on to something else. eg If you want to create a big new long-lived project you pick a new language to get a good team, but for maintenance you'll struggle if that language doesn't become popular.

Re: Elm changed my mind about unpopular languages

#178

Earlier quoted context omitted.

That complicated type system w/ type inference does come with it's own costs, usually bad compile speed issues. It's what I've noticed when looking at languages like swift, rust, scala & haskell. I'm currently dealing with it in a large swift project, and I would much rather go back to the extra verbosity of objective-c than have type inference at this point. But that was insightful, thank you!

Have you noticed slow compiling with Haskell specifically?

I've only used swift at that size, but I've heard stories with all of those languages once you have a large code base.

I remember vaguely reading about how at a haskell conference people were basically cornering compiler maintainers about compile speed, but that was several years ago.

Re: Elm changed my mind about unpopular languages

#179

Haskell has enormous momentum now[1], and it's speed of development is accelerating. I came to it not because it was cool, but because my experience maintaining and refactoring a big Python program had become really painful. Haskell lets me keep the codebase smaller, it's easier to be pretty sure things are working, it's easier to refactor, and I'm sure the language will only keep getting better. Those are all unders…

That's been the story of Haskell for over 10 years. The world and other language ecosystems are changing faster than Haskell is growing. Clojure and Scala give you an alternative to Python that have the power of the Java ecosystem to take your programming out of academic and toy projects. And Python finally has static typing, 10 years after it was announced.

Python has static typing? Since when? In what form?

Re: Elm changed my mind about unpopular languages

#180
post #112

Earlier quoted context omitted.

But are language enthusiasts really better hires in general? I've known many of them who loved the theory and toying with a language but were not any better at producing actual value than the average joe.

I have noticed a lot of language / framework collectors where every new project is in a new framework or language on their CV. While it will expose you to a lot of different ideas I doubt you will code very well in any of them if you are swapping every year. I have seen plenty of Python written like its Java and its just less elegant code. And Django code that doesn't follow best practices seems to be the norm. If yo…

Python written like Java would be a huge improvement over what most people produce.
Post reply on HN