-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why NOT? #2
Comments
All of the ones on my mind are in your comment above. The really big ones for me is how hard it is to find people who code in elm, which will mean our QA process will suffer of course, but in particular means we leave our clients with something that's difficult for them to extend - this goes against our core philosophies. We can provide beautifully composed, commented and documented code, but if they're going to find it either near-impossible or unnecessarily expensive to extend/use further, are we really doing our job to the standard we want it to be? |
@iteles |
@nelsonic also now that it's possible to run the same JS on both client and server and there are tons and tons and tons of great JS libs in npm, not being able to take advantage of that (though I don't know for sure if it's impossible using Elm) is a disadvantage. |
@jedwards1211
|
@nelsonic another important question: does Elm provide some way to use duck typing when desired? |
@jedwards1211 from my limited knowledge I don't think |
In languages like Elm, I believe type classes are the closest technique to duck typing. They are not present in Elm. This is a way in which Elm eschews power for approachability. Some people have found it to be annoying (1, 2). It can sometimes be circumvented in interesting ways (e.g. http://package.elm-lang.org/packages/eeue56/elm-all-dict/2.0.0/EveryDict). So that's one reason why not. These slides on problems with Elm are excellent and contain good examples of how Elm's limited power can be frustrating in certain circumstances. Worth noting, there's no implication that JavaScript would be a better choice despite those frustrations |
Elm hasn't basic features in core development even it hasn't it in comunity development, because they are "conservative". Then for basic things like have a CSS external and work whit designers in the team you need third part libraries, that don't give you guarantee of maintenance in a short future, or you need write your own libraries like anyone. It need still more development and to be mature, and the first step I think it's accept more easy libraries in the core for things that all people need. One HTML generated from the compiler that nobody can use because it's ugly (not unfriendly, ugly, not CSS and you can't add it) and you haven't option for add CSS is a bad feature or a incomplete feature in the compiler. |
@jhg all great points. ✅ (welcome to DWYL!) ☀️ We agree that HTML output from Elm Compiler is "unfriendly". If you "View Source" on any Google Page e.g: view-source:https://www.google.co.uk Not saying that is the case with Elm because there are many Language features e.g: 9 Levels of "Currying" that I know I'm never going to use, which I would prefer to be stripped out.
As for not "allowing" CSS we're embracing that "constraint" and making it a "feature" by using Tachyons! see: https://github.com/dwyl/learn-tachyons
As for not allowing lots of new features into the "core", I'm delighted that they are being ultra-conservative with what gets in. I've seen platforms get unncessarily bloated very quickly because too many (good) ideas were included at the expense of few fantastic ones.
I'm personally a huge fan of what Evan has done with Elm. Thanks for your feedback! All valid points everyone should consider before adopting Elm. 👍 |
My point about add CSS is not about write CSS inside Elm app, the problem it's Elm not allow that HTML file generated by Elm compiler to have an CSS (generated with any other tool, etc). You get an ugly (visually) HTML or an JS to add to other HTML, but the HTML generator can't to add a custom CSS file. In the end, the generated HTML by Elm compiler is only useful for a fast test one weekend, finally you need use only JS generator and write your HTML (or use another tool to generate it, not Elm). Also some basic features need ports (then you need to write JS not checked by Elm compiler because Elm is so basic). Ok, maybe change title could be optional, at least if you could change it in generated HTML, but many people requests common and basic things since years ago and they have nothing official (even not in community official packages). The problem of Elm is that it looks beta, ok maybe it's good take care what to add to core but then it needs more to be mature enough. |
And sincerely, I was excited with Elm, I start thinking not write more JavaScript and write all web application with Elm, write a CSS and, done; with the HTML that the compiler generate. But when I see it's not possible to do it, that need compile to JavaScript an write JavaScript for make Elm run... the good first contact was broke. |
If you've read this far ... GOTO: #129For the reasoning why we think Elm is the best choice for front-end web applications in 2019! |
A few reasons why we might NOT want to use Elm: (feel free to
add
to this list!)Elm
experience on their "CV" (which means our clients will have to train up anyone they hire to maintain/extend any code we write for them...)"Elm in Action"
which is due Summer 2017 ... but that won't be enough to "convince" some clients.else
...?The text was updated successfully, but these errors were encountered: