4 ms·
Elixir is neat, but it takes dynamic languages much farther away from static type checking. Static compilation and compilation speed make Go very attractive fo
by midas007 12y ago
Elixir is neat, but it takes dynamic languages much farther away from static type checking.
Static compilation and compilation speed make Go very attractive for large projects.
- rdtsc 12y agoErlang has dialyzer type checker. Depending on how well users refine their types that can produce very good results. Combine that with property checker (PropEr or QuickCheck) + Erlang's default process isolation and fault tolerance, and I think it can make for a more reliable system. I think I'll take that into production over just having a statically typed program. (Just going off my gut feeling and experience). http://learnyousomeerlang.com/dialyzer http://learnyousomeerlang.com/dialyzer ( not sure if Elixir supports it though, but it seems so: http://elixir-lang.org/docs/stable/Kernel.Typespec.html http://elixir-lang.org/docs/stable/Kernel.Typespec.html )
- midas007 12y agoYeap thanks, have used both. It's just optional, and therefore doesn't get used much on open source projects. So the average quality of code suffers. Whereas something like Go where extra import are hard errors, making best-practices mandatory keeps code to certain standard and it's zero work to setup.
- rdtsc 12y agoYap, makes sense, I see your point. Haven't heard of mandatory dialyzer type coverage yet. It would be kind of commit hook of sort, still external to the compiler though...
- midas007 12y agoUgh. What's most needed is a erlang-platform like haskell-platform.... bring together vital tools (proper/dialyer/etc), have a great package index (like hackage/pypi/rubygems) + package manager and have a skeleton project generator (rails-ish) that sets up what was asked for. Convention > configuration The easier it is to get going and contribute, the more people will use it. (Haskell pushed hard on this later on and has really benefited. Node did it early.)