4 ms·
I’m not sure who the intended audience for this post is, but I’ve never known any serious or productive developer who quit learning a language just because they
by hellofunk 7y ago
I’m not sure who the intended audience for this post is, but I’ve never known any serious or productive developer who quit learning a language just because they got hung up on a few of the trivial syntax examples in this article.
- wjsetzer 7y agoDid you read the part about survivorship bias? And on top of that, it's a blog post. Evan gave examples of really helpful error messages. I don't use elm, as I don't do webdev and I don't agree with Evan's tendancy to minimalism, but I really wish other languages had the "pair programming" aspect of the elm compiler.
- uhryks 7y agoThat and iirc Evan concieved Elm with the aim of making it an accessible language, and used (uses?) it to introduce teenagers to webdev.
- uwaces2 7y agoThe people who become a serious programmer didn't give up. I think this is a real problem with the industry as a whole. I've known a few people who gave up on programming because they were introduced to it through a language that didn't value their error messages, or that had really bad new programmer failure modes. By "new programmer failure modes" I mean a program that gives no relevant feedback to a new programmer gone wrong.
- flexd 7y agoThe point here is to improve the user/developer experience learning Elm. It's one of the things that make Elm such a nice language to work with. A error message that suggests how you might fix the problem is so useful when you are not familiar with the language or programming in general. Being able to do frontend development that /just works/ when it compiles is fantastic. I have yet to use Elm for anything serious because I mostly do backend work, but if I need to Elm would be my choice. No more 'undefined is not a function' mysteries or trying to figure out what part of the latest Javascript framework is stopping me. Elm has the basics of what you need to develop frontend applications today, even though I'm sure there is work to be done yet.
- mamcx 7y agoIn fact I bet the numbers are VERY high. In special if you try a NEW lang. Lets say I wanna check elm, I try it a little then BANG! weird errors. I will quit, not matter how cool the lang is. When learning something new, even if you are experienced (I have used professionally more than 12+ langs now) you "budget" to learn something is low: New syntax? New paradigm? hard to install? Limited tooling? Nothing work? Not stackoverflow explains of that error? You quit in any step of this chain. I glad ELM designer is smart to fix one of them BTW: Rust is similar here. It have decent error messages.
- grok2 7y agoI like the detailed error messages -- it definitely helps learning the language! But I would also like a 'terse' mode for when I become an expert and want to integrate this into a build system and don't want all that chattiness. Also perhaps a mode where I could instruct the compiler to fix the error itself (like the closing brackets) and continue the compilation as far as it can and then output the "fixed" code. That might be a dangerous feature, but it could also be a fun feature to auto-gen your code without knowing much of the language :-).
- akudha 7y agoI disagree. Not even a new language, even for libraries/frameworks - if something is unnecessarily confusing/annoying to use, I'm going to take a pass, and I won't recommend it to others. Of course I will put up with some level of obscurity if the benefits are great. It isn't the case often though.
- nilkn 7y agoElm really raises the standards in this area far beyond most languages. This isn't something to be bothered by but rather something to see as an example to be emulated elsewhere.