3 ms·
I tried Go after a few years of Ruby, and compile-time errors is what annoyed me the most. Bzzt that variable is defined but not in use, fail. Bzzt that functio
by cryptolect 13y ago
I tried Go after a few years of Ruby, and compile-time errors is what annoyed me the most. Bzzt that variable is defined but not in use, fail. Bzzt that function is defined but not used, fail. Bzzt that library is included but not used, fail. Felt like I was getting a rap across the knuckles with each failure as I was trying to learn Go.
The try/fail/modify/repeat cycle of REPL-driven-development is what appeals to me. I "get" the value of strongly typed languages, but I'd prefer to opt-in to strictness, rather than have it forced upon me.
- virtualwhys 13y agoInteresting, felt the same way, and then something changed, rather than feeling punished by the type checker, the type checker became my ally, teaching me about my mistakes at compile time. Other than for quick scripts I have no interest in dynamic languages now, fully converted to the Typed side ;-) Ruby and Scala are quite similar in some ways: terse syntax, functional, MOP capable (implicits), mixins (traits), etc., but yes, you have to prove to the type checker that your intentions are correct/sound.
- thesz 13y agoHaskell will give you REPL-driven development and strong typechecking (an optional one in the last haskell compiler). BTW, Go is not that strongly typed. It seems Google engineers don't like strongly typed languages.