4 ms·
for me, the built in goroutines is what moves the needle. The rest of the stuff is very nice, but built-in concurrency is pretty nice. Yes I know about Erlang
by ryanobjc 12y ago
for me, the built in goroutines is what moves the needle. The rest of the stuff is very nice, but built-in concurrency is pretty nice.
Yes I know about Erlang, no I won't touch Erlang again.
- findjashua 12y agoElixir?
- midas007 12y agoElixir 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.)
- rdtsc 12y ago> Yes I know about Erlang, no I won't touch Erlang again. Curious, what makes you say that?
- ryanobjc 12y agoStrings basically. I ended up joining Google back when, and ultimately I realized that "the web = strings" and Erlang is particularly bad at that. 128 bits for a 7-bit ascii character? At the time, there was no good binary<->string utf8 libraries, not sure what the state of the art is now.
- coolsunglasses 12y agoHaskell is statically compiled, has lighter weight green threads than Erlang, and a better type system than Go. You can even do CSP in Haskell. Check it out :) http://chimera.labs.oreilly.com/books/1230000000929 http://chimera.labs.oreilly.com/books/1230000000929 http://hackage.haskell.org/package/async http://hackage.haskell.org/package/async