Earlier quoted context omitted.
I was also confused by it. However I read the last sentence as the author making a meta-point by using purposefully incorrect grammar, a sort of reversal of the first sentence about c++ code compiling but leading to segfault--like an artistic statement. If it was an accident, then all the better!
:) English is not my first language, and it is a rare construct. I thought it was correct. Out of curiosity, how should it read?
A Farewell to FRP
221–230 of 246 posts
Re: A Farewell to FRP
#222As someone who is just getting started with frontend development, I decided to go with Elm instead of learning JS and React. I found the whole experience very pleasant, even as a beginner. Not only is the elm code I write reliable, but I've found that adding more features does not bloat my code. Refactoring a codebase as it grows in elm is pleasant, and following the Elm Architecture guides me on the correct structur…
What resources are you using to learn Elm?
Re: A Farewell to FRP
#223Earlier quoted context omitted.
Ah, sounds like Erlang/Elixir would be a better fit since the BEAM is the king of lightweight threads/processes. You said C++ so that's why I suggested Rust, generally a GC tends to preclude spaces where C++ excels which is why I would think you'd want to try something other than Go. On the Rust side there's things like mio for fast io but coroutine/light threads aren't really a focus afaik. I would still think you c…
You just can't be happy if someone else is using Go, can you.
Re: A Farewell to FRP
#224As someone who is just getting started with frontend development, I decided to go with Elm instead of learning JS and React. I found the whole experience very pleasant, even as a beginner. Not only is the elm code I write reliable, but I've found that adding more features does not bloat my code. Refactoring a codebase as it grows in elm is pleasant, and following the Elm Architecture guides me on the correct structur…
Bold move, but a good one, I think. I've been considering starting my students (just friends I mentor) on Elm for a while, but it's only this year I've heard of local companies hiring for Elm here in Salt Lake City.
Re: A Farewell to FRP
#225Earlier quoted context omitted.
>didn't require the annoying C debugging cycle Are we talking C or C++ ? C compiler is basically useless for compile time error checking because C type system is ridiculously weak. C++ on the other hand can buy you a lot of things with templates, richer type semantics, etc. And also keep in mind that C++11 and onward is very different from C++ of yore and it catches a lot of errors at the compile time - move semantic…
Both languages have approximately the same problems for debugging. Explicit memory references are hard to follow, lack of overflowing protection requires a lot of extra caution to catch the errors, and failures lead to an unforgiving stop with at most a core dump. C++ is much better for statically catching errors, but templates and copy/move semantics make it even harder to debug. And yes, I imagine C++11 is much bet…
I agree that C++ can have the same issues but the frequency is not comparable because you don't drop to those unsafe parts if you don't have to.
So with C++14 I get that "if it compiles it runs" feeling comparable to say C#.
Re: A Farewell to FRP
#226Earlier quoted context omitted.
I personally use ClojureScript with type annotations from Plumatic (former Prismatic) Schema and it works really well. Obviously it's not the same as an actual typed language, but it gives me a good-enough starting point to leverage some typing information and perform some rudimentary (runtime) type checking. I also feel it's really nice as some kind of "inline documentation" to be able to see the type of your parame…
I have heard only good things about Schema, and I probably should have invested the time to understand and use it more intensively.
Re: A Farewell to FRP
#227Earlier quoted context omitted.
In general, you're unlikely to need them. Instead of cobbling together disparate libraries for a virtual dom (React), state (Redux), immutability (Immutable.js), and types (Flow / TypeScript), the entire language and its core libraries are developed as a holistic (but still modular) unit. In this way, Elm is the BSD to JavaScript's GNU/Linux. Strong typing and immutability are baked directly into the core language, e…
"In this way, Elm is the BSD to JavaScript's GNU/Linux." Is there X such that X is the Plan9 to Elm's BSD?
Re: A Farewell to FRP
#228Re: A Farewell to FRP
#229Earlier quoted context omitted.
My understanding is that the tools are the answer - it's a linter that must be run before landing/merging. See https://youtu.be/hEx5DNLWGgA for a demo of such tools.
Tools are just band-aids over an unsafe type system, and they are all too easy to ignore or never use them in the first place.
Re: A Farewell to FRP
#230I moved from React/Redux/Typescript to Elm a few months ago, and I'm now on my second serious project with it, making mobile application with Cordova. I've found it an absolute pleasure to use, and I especially like that you can be pragmatic about it; if there is something that is annoying to do in Elm then you can simply drop into Javascript/Typescript using ports. Coming from languages like Actionscript/Javascript/…
Perhaps you are using Elm to compile to HTML / CSS / JS which Cordova compiles to native code?