TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Elm at Rakuten

281 pointsby dragonshalmost 4 years ago

24 comments

PragmaticPulpalmost 4 years ago
Interesting breakdown of some pros and cons of using Elm in production. However, it appears the JavaScript codebase they used for comparison was quite bad and maybe not representative of a good or even typical JavaScript app:<p>&gt; Our JavaScript application had global variables everywhere, and debugging was a nightmare<p>Point #3 in their list of cons is especially important for anyone considering Elm:<p>&gt; Because Elm is not a mainstream language, it is sometimes necessary to reinvent something that could otherwise have been acquired by adopting a different technology.<p>This is the biggest downfall of Elm projects that I’ve seen in the real world. Teams end up spending half of their time or more solving problems that could have been accomplished quickly with some off the shelf React libraries with numerous tutorials online.<p>This attracts a lot of developers who enjoy working on libraries and tooling, but it’s not ideal if you’re trying to run a lean team that ships products quickly.<p>Elm is fun, but I wouldn’t use it unless I could afford to hire a relatively huge team to absorb all of the additional complexity and detours that go into building an Elm app. There’s a constant promise of Elm being faster and easier to write for various reasons, but in practice it always seems to get bogged down in endless gotchas and framework shortcomings that need to be addressed before we can get down to getting real work done.
评论 #28225377 未加载
评论 #28223540 未加载
评论 #28223082 未加载
评论 #28226118 未加载
评论 #28223412 未加载
评论 #28226392 未加载
评论 #28225440 未加载
folexalmost 4 years ago
Elm is awesome, its compiler is awesome, but its ecosystem is kinda stalling, isn&#x27;t it?<p>I mean, a lot of libraries aren&#x27;t updated to the last lang version, debugging JS-Elm interactions been a real challenge for years, yadda yadda. Overall I&#x27;d say Elm ecosystem doesn&#x27;t receive enough attention to survive.<p>I&#x27;m not complaining, I&#x27;m just sad about that and kinda surprised I didn&#x27;t found a mention of that in the OP article.
评论 #28223121 未加载
评论 #28223068 未加载
评论 #28226305 未加载
agbellalmost 4 years ago
For those want to learn Elm, or to learn strongly typed functional programming in very well thought out order @rtfeldman&#x27;s book &quot;Elm In Action&quot; is super good.<p>His experience working at a teaching company made his book very well structured for new comers.
arcade79almost 4 years ago
I wonder if someone will create &#x27;pine&#x27; - &quot;pine is not elm&quot;.<p>(For younglings: elm was an email client. pine was also an email client. The latter was often thought to be short for &#x27;pine is not elm&#x27;).
评论 #28226069 未加载
评论 #28224609 未加载
ferdowsialmost 4 years ago
After the relevations about Elm&#x27;s dysfunctional leadership culture[1] I have seen vocal discouragement about investing in Elm, and reasonably so. This is a culture where Elm&#x27;s leaders actively attempt to shut down criticism as &quot;emotional violence&quot;[2], which is just incredibly immature hyperbole. I couldn&#x27;t imagine investing the future of my job and workplace on an operation like this.<p>[1]<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22821447" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22821447</a> [2] <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;elm&#x2F;comments&#x2F;7zk0dy&#x2F;is_evan_killing_elms_momentum&#x2F;dur9k1q&#x2F;#t1_dur9k1q" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;elm&#x2F;comments&#x2F;7zk0dy&#x2F;is_evan_killing...</a>
评论 #28227817 未加载
dmixalmost 4 years ago
&gt; We had global variables everywhere, and debugging was a nightmare.<p>ES6 module imports really helped solve this problem and is a giant step forward in the JS ecosystem. Despite being relatively straight forward they were (and are) a big deal.<p>Any JS project before that was a giant dance of complex window namespacing, closure wrappers, and hoping the 3rd party library you’re using doesn’t expect some weird custom thing to ‘import’ it.<p>The next step obviously is fixing bundling and replacing Webpack and Babel (the closest thing to a widespread standard today in JS) with something less magicy and more native. And these are a big reason newbies&#x2F;non JS devs freak out when they see a thousand packages in starter kits.<p>These two things (importing and bundling&#x2F;preprocessing) were a big reason why there always seemed to be a never ending output of new build tools. Just having those two to be predictable is a godsend in any JS developers but IRL even the best internal practices was never consistent across libraries, teams, and projects.<p>I’ve always wondered how much frameworks like Elm and similar are motivated simply but attempting to establish best practices and standards in JS projects vs the abstraction&#x2F;language innovations they provide (like pure FP and reactivity stuff). It’s at least 50% of the value proposition.<p>The big question is whether it will be for long enough to be worth the investment.
评论 #28224309 未加载
StefanWestfalalmost 4 years ago
From a self taught view, the compiler helped me a lot and when it compiles it usually works and when not the community is very helpful. Over all I found libraries usually of good quality while also not needing a lot as Elm includes a lot out of the box (i.e. React, Redux, axios, type guards, etc.).<p>Elm-UI made working with styling much easier for me and was the main reason I gave Elm a try.<p>The Evan and the core team seem to have a clear vision of what they want and I can understand that but this is personal opinion. To make a system work well you have to be strict and including new features all the time might introduce complexity down the line. This might seem a bit closed in form the outside.<p>So far I am very happy with it.
dsiegel2275almost 4 years ago
It is refreshing once again to see an Elm post that looks at the pros and cons of the language and ecosystem, instead of solely focusing on a perceived problem with the way that the community is run.
roebkalmost 4 years ago
The pros and cons listed hear mirror my own views of Elm. Although, we’ve only got a handful of small Elm apps in production it’s a joy to work on them. I can rip into them with a fairly big refactor, fix the compiler errors and be confident that it’s all going to work. I do which there were a larger selection of Elm packages to take advantage of, but integrating Web Components into Elm hasn’t been bothersome.
mouzogualmost 4 years ago
Wouldn&#x27;t it be difficult to find other developers that are experienced using Elm? I don&#x27;t know much about it tbh.<p>Probably, one of my biggest career mistakes was opting for a little known PHP cms instead of WP as I thought it would be easier for the stakeholders to work with the limited options.<p>Since then, I&#x27;ve always avoided going away from the mainstream toolset.
评论 #28222946 未加载
评论 #28227455 未加载
tempest_almost 4 years ago
Elm looks interesting but when it pops up around here and other places it is usually about how the main dev does not work and play well with others.<p>It is a bit off putting.<p>It is nice to see a different perspective.
评论 #28223565 未加载
评论 #28234619 未加载
tmm84almost 4 years ago
The part of the article that I was waiting for was how they got it adopted in Japan. Having worked in Japan for almost a decade I can easily say it is not an easy feat to change Japanese corporate mindset when it comes to a programming language or environment. I wonder what the elevator sales pitch was. Other than that I think this was a great article.
评论 #28262282 未加载
Existenceblinksalmost 4 years ago
I had a problem with perf optimization on Html.Lazy long time ago that I can&#x27;t solved before I moved on.<p>Since Elm is immutable and lazy render, most of the time, compare underline object reference (referential equality check), the reference (memory location) almost always changes on every update cycle because it needs to update model, thus, a new reference as a result. And that makes Html.Lazy worthless. I had some kind of 1000 html tree nodes, and it rendered every branch every time. I probably did something not right, but I already tried solving that for a few days, no success.<p>If you have the Elm in Action book, that memory location pitfall is explained on the very last page about when memory location of a object changes.
GiorgioGalmost 4 years ago
The bus factor of 1 makes it a non-starter for me for any serious project.
评论 #28226702 未加载
评论 #28234692 未加载
评论 #28224882 未加载
评论 #28229828 未加载
dzongaalmost 4 years ago
little anecdote: I did a couple of personal projects in elm in 2017. one thing I&#x27;m thankful for it taught me functional programming. Elm was easy to start with for someone new to functional programming. it also taught me, one important lesson - the market doesn&#x27;t really care. a company when you&#x27;re looking for a gig doesn&#x27;t care if you know elm, it wants you to know the &#x27;framework&#x27;they&#x27;re using currently. so yeah, I see elm being a dead end. either people using it already solved product&#x2F;market fit. but for a startup getting off the ground - elm offers no benefits at all compared to js.
评论 #28232661 未加载
mchusmaalmost 4 years ago
Rakuten is basically a scam on merchants right?<p>By that I means they use affiliate links to make money.<p>But most of their referred traffic comes from people checking out and saying &quot;I use rakuten to get a discount at the places I already shop&quot;.<p>The stores then don&#x27;t know how much business rakuten is really bringing them, so are scared to stop it.<p>Consumers keep checking rakuten to see if they get discounts on things they want, because why not?<p>Is this a good summary? Anyone have a more favorable impression of their work (from the store perspective)?
评论 #28235174 未加载
nealsalmost 4 years ago
What is Rakuten? Why is it on all my Samsung TV&#x27;s? How come it works out of the box?
评论 #28226882 未加载
agumonkeyalmost 4 years ago
anybody using purescript and its streamed ui lib ?
评论 #28225002 未加载
aaronchallalmost 4 years ago
I&#x27;d like to recommend Elm at work but I can&#x27;t because it&#x27;s still below a major version of 1, which implies there may be a good deal of rework in the short term.<p>I did get an Elm app upgraded from 0.18 to 0.19 without too much extra work, but I&#x27;m concerned a major version release may bring much more changes.
评论 #28223436 未加载
b7bfcdeaab33almost 4 years ago
&quot;the order in which we write the code doesn’t matter&quot;<p>What do you lose in this trade off?
评论 #28262296 未加载
fulafelalmost 4 years ago
What are Elm users using on the back end? FP or mainstream languages?
评论 #28227648 未加载
评论 #28229140 未加载
评论 #28229606 未加载
评论 #28228604 未加载
评论 #28262308 未加载
sergiotapiaalmost 4 years ago
I&#x27;ll never even consider Elm after they added DRM to the compiler. <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27819874" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27819874</a>
评论 #28223274 未加载
decafbadalmost 4 years ago
<p><pre><code> mkose@casper:~&#x2F;Desktop$ .&#x2F;elm repl ---- Elm 0.19.1 ----------------------------------------- &gt; Basics.modBy 0 3 Error: Cannot perform mod 0. Division by zero error.</code></pre>
评论 #28226400 未加载
评论 #28227369 未加载
hitekkeralmost 4 years ago
The &quot;Elm at Microsoft&quot; link is broken and when I google for it, I can only find an archived package on Github.
评论 #28222866 未加载
评论 #28222879 未加载