3 ms·
I feel like this is the direction Julia is going in. It's in this interesting space between statically and dynamically typed languages - technically it's dynami
by m0th87 11y ago
I feel like this is the direction Julia is going in. It's in this interesting space between statically and dynamically typed languages - technically it's dynamically typed, but you get a lot of the safety and performance guarantees afforded by static type systems through Julia's aggressive type inference [1]. As the type system gets richer, it should only get better on this front.
If you haven't checked out Julia yet, it's a beautiful language. There's a reason why Graydon (the guy who made the very early versions of Rust) likens it to a Goldilocks language [2].
[1] https://stackoverflow.com/questions/28078089/is-julia-dynamically-typed https://stackoverflow.com/questions/28078089/is-julia-dynami...
[2] https://graydon2.dreamwidth.org/189377.html https://graydon2.dreamwidth.org/189377.html
- mamazmaz 11y agoThe difference between Julia and Big Bang is that Big Bang will check your types at compile time. You'll know before any of your code executes whether or not it will yield any type errors. Edit: (Disclaimer, I work on big bang)
- KenoFischer 11y agoHow do you handle, say deserialization of objects over a network (to give the canonical non-trivial example)?
- eru 11y agoI don't know about Julia or Big Bang, but in Haskell your values conforming to types for serialization / deserialization would typical be checked once when parsing, and throw an error (or use a Maybe type) if anything is off.
- KenoFischer 11y agoYes, that's the standard approach, but I was wondering how that meshed with not having to declare types (maybe the answer is just, that's the one place where you have to - or that's disallowed), but I was curious.
- eru 11y agoIn Haskell, if you don't do anything weird, you don't have to declare types either in the norm case: it can all be inferred.