The following is a transcript from episode 31 of JS to Elm podcast released in 2018:
And it has sort of taken over a rather large smart container react component. We’ve stripped everything out and we’ve turned it into an entire Elm application embedded in here. And we’ve got some decisions to make as to whether we want to, how we want to move forward with this application. We can either move on to another part of the application and choose that and sort of iterate and do the same thing.
Do that again and again, and eventually we will. Come together and have to figure out how to sew or push out the last remaining pieces of the react applications. As you know, the ultimate goal is to have a complete LM application, as much as possible. The idea to replace the react application with LM entirely with the exception of any of the interior stuff that we need.
AWS signatures, API calls, things like that. The other option is to continue to grow our existing Elm application and sort of slowly take over the react as a single app, rather than trying to put all the little Elm pieces back together at the end. And frankly, I haven’t really decided which one I want to do or which one would be better or more viable or ups and downs.
I’ve got like a pros and cons list that we will probably go through once I have a decision, but it’s kind of up in the air right now. If you have any ideas, if you think one may be better than the other, or you have gone down this road, I would love to hear from you. You can get me on Twitter at JSL. You can email me at contact.
I think it’s, I think it’s a great language. I think it has over the last couple years, I’ve learned it has. Deep deep sort of features that make it specifically unique as far as somewhat, you know, C style syntax with a lot of functional style prototyping functions as first class citizens, things that have led me to better programming, paradigms and design decisions.
If you were going to do it from scratch, you would start with a folder. N PM in it. You know, uh, I installed a, I started a new create react app and it installed, I think, 890 something packages. This is both a positive of the ecosystem that I was able to get so much in, just a few quick installs and also a negative of the ecosystem that my.
Project which doesn’t do anything, but render a blank page requires 900 packages and several build steps in order to get out there. My idea with comparing this with C as a language is because C has sort of, uh, stood the test of time, right? It is fundamentally embedded in everything from Unix to Lennox, to systems, to the subset of superset languages like C plus plus languages that interact with.
You know, Java going C sharp Python, Haskel objective C, uh, which is sort of where I got my roots from. But would you want to write your next application in just C not likely, right. You wouldn’t have the build set, the tool chain, the, the sort of nice, nice tool developing and your user experience would not be particularly awesome.
Right? We don’t nobody today I think opens new. Project and, and says, I’m gonna write this entire stack in C while doable. You’re not really likely to do so. Right. You’re gonna have to reinvent a lot of paradigms and rebuild a lot of things and, and that sort of stuff, even C plus plus like, you know, depending on what you’re trying to build out for us, we’re, we’re building user facing applications.
Right. We’re doing lazy loading. Prefetching all that good stuff. And so this is an idea that I’ve had rolling around in my head a lot and sort of one of the reasons I started to explore other languages, I looked into Elm and I looked into pure script and I really wanted to get sort of into this vein.
Type script. Didn’t really appeal to me from. Foundation standpoint. I also didn’t really want to do a lot of angular as I really liked the sort of react paradigm. So obviously through this podcast, I I’ve, you know, put my money behind Elm and, and bet on Elm as a sort of long term, one of the. Long term outcomes to this sort of shift.
There’s also web assembly, right? This is new and coming out. This is where we actually ship assembly code that gets run natively in the browser that compiles from C and C plus plus and rust as compile targets. Right? These is standard memory management, non garbage collection applications, and the transition to high level languages that compiled to JS.
We had ASM JS, uh, and before that we had, um, native client and ACL project. Right. So it’s just been constant evolution, but it will likely be years before we see a mainstream tooling in. Web assembly, right? It’ll have its sort of niches and things, but you know, as, as browser support slowly moves out, it could be a very long time before we see it as a mainstay in web development.
They they’re piling a lot of things on the language and it’s constantly backwards compatible. At this point, we we’re working on a rays smush. You know, the language is going to sort of reach this sort of breaking point where it’s going to have to sort of either settle down. As a core or branch or, you know, I don’t think they can keep adding things at this pace, but we’ll see.
Uh, catch up with me on slack at J Tom chalk. Let me know what you think. I really think this has. Legs, uh, until someone points out that this is a ridiculous idea, and then I’m going to continue to research it and try and. Uh, hold on to it. So let’s go to picks. Uh, my first pick is a site called type classes.com and type classes is a site for learning functional programming.
It is brought to you by the authors of the HASCO book. Chris Martin and Julie, Chris Martin and Julie, Chris Martin and Julie, uh, Julie, I don’t remember your last name. Uh, Julie. Maru key. Sorry. Julie Maki and Chris Martin, they have been talking about making videos for Haskel and have done it. The site is up it’s called tech classes.com.
I think it is really super awesome. So check out the site and let me know what you think. I also found this really cool. My next pick is this really cool site called, uh, carbon.now.sh, which you may or may not already know about to create and share beautiful images of your source code. So you just type in your source code and it generates this awesome image and it even has like a tweet code button right there.
So you can just tweet your code out. It’s super rad. And my last and final pick is. Jay Phillips talks about web assembly, discussing what it is, how it can be used today and opportunities. It will unlock in the years to come. So we ended the, we ended my discussion with these sort of like, well, what about web assembly?
And where does that fit into the paradigm? And, and, you know, these things move slowly, but. There is opportunity today in web assembly. And if you were like, Hey, this is cool. Uh, check out J Phelps stock. It’s really, really good. Uh, and that’s it for this week. Next week, we will figure out what we’re doing with our Meow notes application.
As we sort of build it out in Elm, uh, as always check out the resources for all the links, um, and resources that I found to put this episode together. Please follow on. Twitter at JS LM, you can follow me at J Tom shock on Twitter. Um, you can email me. I’d love to get sent email contact JS lm.com and we’ll see you next week.