Live data from Hacker News

Elm changed my mind about unpopular languages

blog.realkinetic.com

251–260 of 321 posts

Re: Elm changed my mind about unpopular languages

#251
I tried and failed to pick up Elm. I've tried and failed to pick up a few FP programming languages. They tend to become more and more cryptic as I progress with them. I feel dumb, but I'm happy to stick with C like languages, like PHP for web development.

Re: Elm changed my mind about unpopular languages

#252
post #62

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…

Don't you want people that care about your product instead of the technology behind it? I do. Because there may come a time when another technology is a better fit for your product and ultimately your customer's experiences. Then what? Now your not using elm and your team leaves or is disgruntled. I hire on passion for what we are trying to accomplish, not the technology stack.

I find this whole line of thinking odd. First peoples preferences over technology change and pretty much everyones preferences or "passions" develop. Second, you dont need to be passionate about product to produce good work. You need not to hate it. You need to like the position and work you are doing, but that does not require passion for contracted web page for financial company (or whatever).

These are unbelievable fantasies. Where the time comes that another technology is a better fit is few years after when a.) team members might have changed preferences already multiple times b.) given average employee changing job once in 2 years your original team members left.

I think that hiring would is much better when companies hired less on applicant emotional state and more on calm rational decisions about work.

Re: Elm changed my mind about unpopular languages

#253
I've played with Elm a while ago and it's been a very nice experience.

I wouldn't use it for any frontend work just because I believe that it's possible to avoid single page apps if possible, but if I had to write a SPA I'd reach for Elm.

The only thing that makes me worried is that Elm 0.18 has been out for quite a while now and most of the development has been carried on behind the scenes by Evan.

This is good because it gives the time to the language to evolve in a coherent way instead of being a collection of bolted on features, but it also means that for outsiders is a bit hard to track progress in the language

Re: Elm changed my mind about unpopular languages

#254
post #235
post #226

I wonder how to become a good functional programmer. I think I'm already decent at procedural/OO. Do I need to have a strong maths background? I didn't learn it very well at university and this worries me. Many functional language fans seem to have degrees in maths.

FP is mostly a state of mind - of course picking the language really helps about incentives, but you can do it even in Java/C# (in fact if you do C# there is the great LINQ library that helps). How to approximate FP in a mostly OOP language: - use immutable data structures: there is no way around being able to fearlessly modify something. The naive way is to copy the object before touching it, the better way is to us…

What a great explanation of the "state of mind" of FP!

Re: Elm changed my mind about unpopular languages

#255
post #215

Earlier quoted context omitted.

Datomic is an immutable database, so if you need ephemeral (deleteable) data you could just set up another non-Datomic store.

You're correct that Datomic considers immutability a feature. That said, Datomic on-prem supports excision which completely removes data for exceptional cases. I suspect Datomic Cloud will sometime in the future.

With EU's GDPR (General Data Protection Regulation) looming on the horizon I think Cognitect would do themselves a disservice should they not include excision in their Datomic Cloud platform sooner rather than later.

Re: Elm changed my mind about unpopular languages

#256
post #135

Earlier quoted context omitted.

> One of the reasons I'm using OCaml/Elm in my new startup Where do I apply? ;-) (To prove the point: yes, I'm one of those passion people, moving to Denmark to work in OCaml full-time, before working in Clojure full-time. Now someone give me an Idris job, heh!)

I’m curius, who’s using OCaml in Denmark? (If you don’t mind me asking, of course)

Issuu is (or was?)

Don't know if that's where op is going though :)

Re: Elm changed my mind about unpopular languages

#257
post #233

Earlier quoted context omitted.

Id argue that while Scala has more powerful features, it has less "magic". Elm can't be used on the server because it has a magical create app function that you must feed the exact right functions into in order to make anything. AFAIK it's not a general purpose language.

Definitely not general purpose, but it has nothing asking the line of implicits and implicit type conversion and the such that makes reading Scala code impossible to read, if not write, without a tool like IntelliJ.

Every time I pick through some new Scala code I feel like a detective because of this. It's a powerful feature but so unintuitive it makes life difficult.

Re: Elm changed my mind about unpopular languages

#258
post #248
post #133

Earlier quoted context omitted.

So you know that experienced Scala devs won't like your offers, but you aren't interested in the less experienced devs who apply. What are you looking for, exactly? As an "inexperienced" Scala dev, I'm genuinely interested.

Scala has a steep learning curve, so we're looking for devs having at least one or two real production projects (that aren't using spark) on their belt. It turns out to be quite a challenge to find someone who have experience in the ecosystem and the language, AND who _like_ working with it.

Plenty of developers have significant Scala experience and like working with it, but the demand greatly outstrips the supply - if you look at a chart of average salary by language Scala is a huge outlier.

Re: Elm changed my mind about unpopular languages

#259
post #194

Earlier quoted context omitted.

That isn't static typing.

- You can specify types - Types are checked before run time - Type errors are reported If that's not static typing, what is?

If Python were statically typed:

- Most Python expressions and standard library functions would have (nontrivial) types

- It would be unusual for a Python library to come without (nontrivial) types

- It would be unusual for Python code containing type errors to be distributed

- Many classes of runtime errors (e.g. no such method) would be unusual in Python code that does not contain type errors

Re: Elm changed my mind about unpopular languages

#260
post #233

Earlier quoted context omitted.

Id argue that while Scala has more powerful features, it has less "magic". Elm can't be used on the server because it has a magical create app function that you must feed the exact right functions into in order to make anything. AFAIK it's not a general purpose language.

Definitely not general purpose, but it has nothing asking the line of implicits and implicit type conversion and the such that makes reading Scala code impossible to read, if not write, without a tool like IntelliJ.

I find it best to use Scala's implicit stuff for things that would be completely invisible in another language (e.g. "this line might fail with an error" or "this line accesses the database"). That way if you're reading in a plain text editor you're no worse off than you were in, say, Python, but if you use a tool like IntelliJ (and you should!) then the GUI is enhancing your experience, telling you more about your code and reducing the need to click around library code to understand what the code you're reading is doing.
Post reply on HN