3 ms·
The compiler will warn you about things like unimplemented functions that are required by behaviors, and there are plugins for various editors to display errors
by shadowfacts 6y ago
The compiler will warn you about things like unimplemented functions that are required by behaviors, and there are plugins for various editors to display errors/warnings inline.
There's also Dialyzer (and various IDE integrations) for some level of static type-checking.
- JohnHaugeland 6y agothere are language features directly for this. no need to rely on compiler hints or dialyzer. elixir people really should learn erlang. if you ever saw a coffeescript person struggling to do things that are straightforward in js, because they didn't bother to learn js? that's what you're doing now
- pjmlp 6y agoThis is the main reason why I learn programming languages to broaden my knowledge, but when it comes to production code, only platform languages matter.
- JohnHaugeland 6y agoWell no, it's just that Elixir is built on Erlang, so everything Erlang has is in Elixir If you learn the base language, you get more powerful in the descendant language as well
- pjmlp 6y agoIf one only uses the base language, no need to worry about the fate of the descendant language or how it exposes base language features.
- RandoHolmes 6y agoThis means you're arguing that one should never learn anything except machine code because machine code is what it all turns into at the end of the day. Only you DO use languages that end up as machine code, and the idea of understanding machine code to better utilize something like C isn't outlandish.
- pjmlp 6y agoNope, use C/C++/Perl/awk with UNIX, Java with the JVM, C++/Swift/Objective-C with iOS/macOS, Java/Kotlin/C++ with Android, VB.NET/C#/F#/C++ with Windows, JavaScript/WebAssembly with the Browser,.... and naturally Erlang/C with BEAM. No need for extra build tools, FFI with the platform language, additional debugging tools, the urge to create wrapper libraries that feel more idiomatic into the guest language, waiting for the guest language to come up with ways to expose new platform capabilities,... Guest languages are good for experimenting new ideas that eventually get adopted by the platform and then the world moves on, and they turn into the next CoffeeScript.