4 ms·
I'm a go user right now, but I really want to ditch it because I'm in total disarray with the way the go language is managed and the deafness of the go team. Be
by aikah 11y ago
I'm a go user right now, but I really want to ditch it because I'm in total disarray with the way the go language is managed and the deafness of the go team. Been looking at D,Nim and Crystal.
- D is neat but I'm not interested at all in unsafe stuffs and don't want to have to debug programs or 3rd party libs that relies on that, I want a safe language.
- Nim looks really good, although some features like (foo_bar = FooBar ) are just disgusting
- While Crystal is new and libs is non existent, it feels like a good candidate for the long run. I hope it will have the same concurrency capabilities as go. Good luck with the language.
- p0nce 11y agoD has a memory safe subset (@safe). You could argue that Rust 3rd party libs rely on unsafe blocks.
- kibwen 11y agoThe person you're replying to wasn't even talking about Rust. You'd also be vastly overestimating the amount of Rust libs that need unsafe code. For example, Rust's most mature web framework, the one powering crates.io, doesn't use unsafe code at all: https://github.com/iron/iron https://github.com/iron/iron
- steveklabnik 11y agoCrates.io uses Conduit, not iron.
- kibwen 11y agoAh, so it does. :) Fortunately Conduit doesn't use any unsafe either.
- zak_mc_kracken 11y agoHave you looked at the new generation languages on the JVM such as Kotlin or Ceylon?
- kodablah 11y agoI am assuming your requirements are statically typed with GC, no separate VM, and lightweight runtime. One language I have been watching with a keen eye lately is Pony[1] though the docs are not quite complete. 1 - http://ponylang.org/ http://ponylang.org/
- Dewie3 11y agoIf you don't like unsafe stuff perhaps you should be a bit wary about Nim as well. The attitude seems to be that unsafe things aren't that big of a deal as long as you decent tools to debug them.
- Pharohbot 11y agoWell if you have decent tools to debug them, why should he be wary?
- jwecker 11y agoQuick fix, in nim: foo_bar = fooBar Foo_bar = FooBar foo_bar != FooBar That is, it's case sensitive with the first character of the identity. I've mentioned elsewhere that this one bugged me at first, but in practice it simply means that you get to use the language as if your preferred convention (whether snake or camel) is the "official" one- even when calling other libraries. Nothing more and nothing less. Cases where you need both styles but need them to be different things tend to be non-existent / code-smell.
- aldanor 11y agoWhat about Rust though?