Elm in Production: Surprises & Pain Points

  Рет қаралды 33,382

Kevin Yank

Kevin Yank

Күн бұрын

Пікірлер: 68
@renedonner240
@renedonner240 6 жыл бұрын
One of the best tech talks I have ever seen - concept, content and presentation.
@jackgenewtf
@jackgenewtf 4 жыл бұрын
At 7:19, what you're describing is a "record", not an "alias". The code is defining a type alias to a record (giving the record a name, so that it is easier to work with), but type aliases doesn't have to be to records, you can define type aliases for tuples, other algebraic types, or even basic types (like give Int another name, though there's typically no good reason to do so).
@markli7641
@markli7641 7 жыл бұрын
I really like the tone and the voice.
@PietroGrandi909
@PietroGrandi909 7 жыл бұрын
Hiring: I've been actively looking for remote Elm positions during the last 7 months. I met some good developers willing to work with Elm. In my opinion, Elm might reduce the number of devs you can address with your job opening, but it will also filter only the first class people: are you going to build a team of 70 clockworkers or a team of 10 high performers? That's the question.
@AkosLukacs42
@AkosLukacs42 7 жыл бұрын
for some reason, this article from 2004 feels current: www.paulgraham.com/pypar.html
@Yetipfote
@Yetipfote 5 жыл бұрын
I worked with Elm in a company over 3/4 of a year and I can say this: while runtime errors can be completely omitted, your codebase WILL become much more verbose vs the same functionality implemented in pure JavaScript. A good IDE can help you to work much faster with shortcuts and Elm-plugin tho! Also you need to have a good understanding of static functional domain modeling with Elm's type system because, while providing a lot good stuff, it has its restrictions (e.g. no type classes) which make modeling complex business logic very verbose and tedious (e.g. you if you have a union type with a couple of members which are processed by algorithms A, B and C and some members which should be processed with A, B, D, E. So similar behavior sometimes but completely different other times). This actually _increases_ the amount of work instead of reducing it because you are in *statically typed land*. But by the time you HAVE a good code base maintenance and extensions with new features become much easier, provided you don't need to refactor high-level types first, which can be a pain in the bottom! Elm imho is a good choice for businesses which have a clear vision of what they want to achieve with their software and have patience and money to build a long-lasting, high-quality code base without runtime errors, which can be easily extended if well-planned/-modeled. It is NOT a good choice if you don't know exactly what you are going after and you want to rapidly prototype and test lots of different stuffs on the market. Other than that, from a developer perspective, Elm is a very nice language and Ecosystem
@bluesprodeep2079
@bluesprodeep2079 3 жыл бұрын
Always go with 10 high performers if available. So it's not a question.
@serenity_zero
@serenity_zero 7 жыл бұрын
thank you for addressing pain points of Elm in production: most videos and articles on Elm I've encountered are about toy projects and examples and/or generally only praise the language, making an impression of a _perfect_ front-end technology
@TheOddler
@TheOddler 7 жыл бұрын
Interesting talk, I first came in contact with Elm in college, and have since played around with it for some personal project and for fun. It's very cool to hear from a team using it in production. As for the last question about hiring, for me it would definitly be a positive thing. I was actually thinking of looking for a job where they use Elm, as I really like the language and would love to be able to explore it more in a professional context.
@DecebalDobrica
@DecebalDobrica 6 жыл бұрын
Hi Kevin, I love the fact you are asking that question at the end of this, while I consider this talk to be amazing and urge you not to delete this ever. Since I first heard of Elm it charmed me, I am a back-end developer most times, but love to work in small startups | new products where you might just need to wear all hats, I've worn them before. I consider the reactivity of elm to be the most promising feature of all and this feature alone should attract the kind of developers whom are interesting in joining such a powerful trend. I am passionate about crypto currencies and I feel there is no better match than Elm to build something at the forefront of something so dynamic and decentralized. I wish you good luck in your hiring process, in the small meetups we had in Exeter we always talk highly of Elm's architecture and consider it as something that helps some pain go away in the development process.
@opentrail
@opentrail 4 жыл бұрын
Thanks for sharing your experience of Elm. Very well communicated with great content and examples. Well done.
@becauseofcourse9700
@becauseofcourse9700 7 жыл бұрын
I'm an Aussie writing Elm and loving it. I'm not looking for a job, but if I was, your Elm involvement would be a big drawcard.
@stefanwille5960
@stefanwille5960 3 жыл бұрын
This is an excellent talk! Thank you!
@sriramsrinivasan2769
@sriramsrinivasan2769 7 жыл бұрын
Thank you for an excellent and helpful presentation. Your voice is measured and soothing as well.
@KurtMueller
@KurtMueller 7 жыл бұрын
Hi Kevin, I would love to watch more of your talks/videos regarding Elm. Specifically, I'd love to hear your opinion on creating large Elm apps and patterns you frequently use to manage them.
@kirillstepanov6551
@kirillstepanov6551 6 жыл бұрын
Thanks for a video, good points. I’m frontend developer and regarding your last question - elm for me would be a selling point. I’m learning it now, and it feels good.
@kevinpruett
@kevinpruett 7 жыл бұрын
very rebellious calling your single source of truth `State` instead of `Model` :) I dig it.
@chris.dillon
@chris.dillon 7 жыл бұрын
Fantastic explanation and slides. I think hearing that Elm is in production would lower my stress/worries because no runtime errors in production. If Culture Amp is the type where "everyone wears the pager" then no runtime errors would be an attractor whether I knew Elm or not, imagine someone picking up Elm on the job ... they are ascending in some sense into a job with less runtime errors and panic-y bug fixing / edge case stuff.
@silaspedrosaa
@silaspedrosaa 7 жыл бұрын
Awesome! Knowing that you're working with elm would definitely attract me.
@thopth
@thopth 7 жыл бұрын
Another excellent video about Elm. Thanks for your sharing.
@ericlubisse8461
@ericlubisse8461 7 жыл бұрын
Hi Kevin. Great video. Really honest appraisal. Pain points (and workarounds) are particularly useful.
@BrendanWeibrecht
@BrendanWeibrecht Жыл бұрын
Great talk, Kevin! This exactly matches my experience with Elm in creating my game, PathFinder, which you may have seen the beginnings of at an Elm hack night you hosted (aside from not using CSS modules in it). I loved the experience of writing in Elm, so for recruiting, Elm is definitely a big selling point for me. In an introduction to Elm talk I gave at GreenSync, the part that really made it click with the audience was that compiler-driver refactoring confidence you covered. I heard recently that Culture Amp is moving away from Elm, and I was quite surprised and disappointed to hear that. If true, I'd love to know why. I'll have to watch your follow-up video next to see if that's mentioned.
@tvgeist
@tvgeist 7 жыл бұрын
The option to write Elm would be a huge selling point for me.
@SylvainBrunerie
@SylvainBrunerie 4 жыл бұрын
Beautiful videos man, clear, honest and engaging, I'm looking forward to start building something using Elm!
@OndrejPinka
@OndrejPinka 7 жыл бұрын
This thread is rather 'old' but I'll anyway, me as totally inexperienced hobby coder, having possibility to work on Elm + (Phoenix) + Elixir stack, on real life projects, and being mentored by experienced developers would be an absolute honey pot.
@przemysawlib4309
@przemysawlib4309 5 жыл бұрын
Subscribed just for the visual style. How one makes such gorgeous vids?
@mark-me-myself-and-I
@mark-me-myself-and-I 7 жыл бұрын
Great video production values. Very clear speech and great sound quality over clear writing, conceptual expression. Never done one of these, and a helpful "how-to" is welcome. Reviewing your other videos, looks like you've taken production very seriously and built a nice studio area. Alas, I'm one of the last programmers in San Francisco using Windows, so I won't be able to fully benefit. Quick and easy, what's your breakdown and total of time spent on this particular video?
@wellyngtonamaral4097
@wellyngtonamaral4097 6 жыл бұрын
Awesome, thx. Starting with elm and loving it
@cwhy
@cwhy 7 жыл бұрын
Fantastic talk! The examples are very really helpful~
@nameczanin
@nameczanin 7 жыл бұрын
Answering the question in the video: to me, Elm is totally a selling point from a perspective of looking at job offer. It just feels safer to code with it.
@zoltanfranta8395
@zoltanfranta8395 6 жыл бұрын
Thank you for this great presentation for us!
@JoeBuza
@JoeBuza 7 жыл бұрын
Great presentation. Will start looking into elm soon.
@AaronMartinColby
@AaronMartinColby 7 жыл бұрын
It's been nearly nine months on since you posted this. How has your experience been in hiring? From an outside perspective, Elm appears to have attracted quite a bit more attention in 2017 than it had in 2016, and I'm wondering if you've also noticed any changes.
@zuluh42
@zuluh42 5 жыл бұрын
@@KevinNYank I love how you are combining React with Elm in your portfolio. You mentioned that you use React "for features that aren't well suited to Elm". It would be nice if you could share your feelings on this topic.
@mark-me-myself-and-I
@mark-me-myself-and-I 7 жыл бұрын
Thank you, Kevin. I'm learning/evaluating Elm after poking around in RxJS for some very complicated input event handling. Your segment on the "selective event handling" pain point was very surprising and helpful. I would love more depth, tips, reference links on this.
@mark-me-myself-and-I
@mark-me-myself-and-I 7 жыл бұрын
Thank you, the thread was very helpful
@abdellahcodes
@abdellahcodes Жыл бұрын
What a gem! 💎
@fabio1079
@fabio1079 6 жыл бұрын
The thing that I like the most in Elm, is it's compiler errors. It not just say the error message but also hints on how to fix it. Sometimes I purposely create errors just to use the hint xD
@gagaoolala9167
@gagaoolala9167 7 жыл бұрын
Does anyone know what font that is? I love it.
@harman8170
@harman8170 5 жыл бұрын
Love it best way to explain concepts keep it coming
@iskar0n
@iskar0n 7 жыл бұрын
Great video! I think functional programming is definitely selling point and attracts talented people, but could be a problem if you're looking for experienced seniors.
@7megas
@7megas 5 жыл бұрын
Great video, thanks.
@MR-cf7xi
@MR-cf7xi 7 жыл бұрын
Have you tried elm-css? Does it cover your expectation?
@Luis3m_
@Luis3m_ 7 жыл бұрын
Very Interesting, I would apply but I'm not located in the US sadly. Elm is a very interesting language and I guess it makes the job more attractive.
@bltavares
@bltavares 7 жыл бұрын
Really nice video. I specially liked the refactoring example on video. I've been following the community for a while, with no big project written in Elm, but I would like to get the feeling from someone working on it frequently. Have you found Elm code a bit too verbose? I know there is a constant discussion on the community regarding Typeclasses/Protocols/Generics, but I would like to know if you've felt the need to be a bit more abstract when working on the project.
@AkosLukacs42
@AkosLukacs42 7 жыл бұрын
great video! The funny part is (and I don't want to be offensive, and I'm interested in elm) that a lot of what people generally mention on the tooling side about elm, like sane refactoring, type checking, auto-format if your code is syntactically correct, is actually given, if you do use typescript. Of course, Elm's type system can give stronger guarantees about correctness than typescript, but I'm still puzzled, why ppl don't use it. Maybe it's origins? Or because Facebook feels they know it better, and they create their own typie-thingie instead of joining forces?
@Xania-js
@Xania-js 7 жыл бұрын
Great video
@enfisk154
@enfisk154 6 жыл бұрын
The "hacky" tactic mentioned should now be possible in pure elm using the Browser.Dom package, you can use the getElement method
@mark-me-myself-and-I
@mark-me-myself-and-I 7 жыл бұрын
I agree with others commenting about Elm being a plus -- from my perspective as a job seeker. From a candidate-seeking position, hard to say. I've queried Craigslist in the SF/Bay Area for 'Elm' with no hits. You might note if Culture Amp accepts remote workers (or in SF office :). Please note: cultureamp.com/ timeouts, but www.cultureamp.com/ works.
@TomerBenDavid
@TomerBenDavid 6 жыл бұрын
Can you share the excellent presentation please?
@unlugartrufado
@unlugartrufado 5 жыл бұрын
i think there are some mistakes with elm code In 6:00 (css => classes ?)
@labcrowd
@labcrowd 7 жыл бұрын
+Kevin Yank what was that console add-on you were using with sublime ?
@labcrowd
@labcrowd 7 жыл бұрын
Kevin Yank Ahh, OK. I thought it was like a console pane. One last thing. What plugins you use to smoothen your elm dev experience.
@Laser2017
@Laser2017 7 жыл бұрын
What syntax highlighting are you using?
@Laser2017
@Laser2017 7 жыл бұрын
It's Operator I believe. A $200 font.
@praveenperera
@praveenperera 7 жыл бұрын
Jobs link doesn't work, should be: www.cultureamp.com/jobs.html Hiring: Would make me more likely to consider a company using Elm. Lower quantity of candidates (probably), higher quality.
@StefanWallinWebDeveloper
@StefanWallinWebDeveloper 4 жыл бұрын
How are you dealing with CSS Modules nowadays?
@StefanWallinWebDeveloper
@StefanWallinWebDeveloper 4 жыл бұрын
Kevin Yank thank you for prompt and clear response!
@yanoopl
@yanoopl 7 жыл бұрын
If your backend is in elixir than you'll definitely find some talented devs interested in elixir&elm (popular couple).
@Laser2017
@Laser2017 7 жыл бұрын
Dialyzer!
@taishiyamada2190
@taishiyamada2190 7 жыл бұрын
Nice video. This Slide is available?
@mateja176
@mateja176 6 жыл бұрын
I'd also add Ramda to the list of things you get for free when using Elm.
@cristian91re
@cristian91re 6 жыл бұрын
Watching till 17:00 seems to me just a good old feature of a strongly typed language, something I can achieve using typescript for example, without all the hassle of limitations.
@cristian91re
@cristian91re 6 жыл бұрын
I partially understand, I never ever code using vanilla JS (i was very lucky because that plain language, without tools like babel/typescript, is a serious mess) as I started learning web development with Angular 2. I understand that everyone needs a better tool than plain js, really. I'm waiting for the spread of WebAssembly, i think that should fix the js problem probably better than Elm itself. Erlang will be my 1 choice along C (my background is C that's why probably I kinda love typescript). So yes, (web)dev will change a lot in the next few years, especially because web apps will be more and more become just Apps.
@jethrolarson
@jethrolarson 7 жыл бұрын
if I were job hunting I'd reach out. :)
@sompylasar
@sompylasar 7 жыл бұрын
Attracts.
@Will-tb8qm
@Will-tb8qm 7 жыл бұрын
prettier.github.io/prettier/ is that JavaScript code formatting tool.
@shalokshalom
@shalokshalom 5 жыл бұрын
30:00 You dont need to code CSS ever again: github.com/mdgriffith/elm-ui
Developer Happiness on the Front End with Elm
45:49
Kevin Yank
Рет қаралды 44 М.
Elm at Scale: More Surprises, More Pain Points
29:09
Kevin Yank
Рет қаралды 22 М.
Disrespect or Respect 💔❤️
00:27
Thiago Productions
Рет қаралды 40 МЛН
HELP!!!
00:46
Natan por Aí
Рет қаралды 71 МЛН
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,7 МЛН
Elm Europe 2017 - Matthew Griffith - Understanding style
21:21
Elm Europe
Рет қаралды 11 М.
UI Libraries Are Dying, Here's Why
13:28
Theo - t3․gg
Рет қаралды 320 М.
why are switch statements so HECKIN fast?
11:03
Low Level
Рет қаралды 427 М.
From Rails to Elm and Haskell - Richard Feldman
52:18
ChariotSolutions
Рет қаралды 70 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
"Code is the Easy Part" by Evan Czaplicki
38:26
elm-conf
Рет қаралды 41 М.
Elm and Web Components - Richard Feldman
24:38
React Vienna
Рет қаралды 10 М.
Elm in production by Richard Feldman
53:07
Devoxx
Рет қаралды 11 М.
Richard Feldman - Exploring elm-spa-example
44:42
Oslo Elm Day
Рет қаралды 17 М.
"Make Data Structures" by Richard Feldman
53:13
Elm Europe
Рет қаралды 29 М.
Disrespect or Respect 💔❤️
00:27
Thiago Productions
Рет қаралды 40 МЛН