4 ms·
"intellectual laziness of dynamically typed languages" Ouch. So if I choose to use python, ruby, javascript, lisp, - I am 'intellectually lazy'?
by binarymax 13y ago
"intellectual laziness of dynamically typed languages"
Ouch. So if I choose to use python, ruby, javascript, lisp, - I am 'intellectually lazy'?
- stcredzero 13y agoAll one has to do to avoid intellectual laziness as a programmer, is to have enough curiosity to constantly re-establish how much one doesn't know. The surprising part is that it might take 10 years to approach an accurate answer. Also, as you probably know, it's possible to program static typed projects in a Lisp.
- lmm 13y agoThe world was different when those languages were designed; type theory was not as mature as it is today. IMO if you're designing a new language today and not giving it a real type system, yes, that's intellectually lazy. As for using them... eh. My subjective view is that scala is much better than all those languages, outside certain small domains. But that's not exactly objective fact. I will say that if you don't know scala then you're being intellectually lazy - even compared to ocaml, it's different enough to be worth knowing, and it's a language you'll learn something from, whether you ultimately find yourself using it or not.
- rwallace 13y agoYes, and this is a feature not a bug. As Larry Wall observed, three cardinal virtues of a good programmer are laziness, impatience and hubris. Laziness is important because I have more things on my to-do list than hours in my lifespan, and more things I need to know than neurons in my brain. I didn't choose Python only or even primarily because it's dynamically typed, but nonetheless, every thought I don't have to think about static types is a thought I can instead think about something I actually care about.
- asdasf 13y agoOdd that you cite Larry Wall given that he thinks haskell is one of the most important languages for any programmer to learn. I always find it weird that people try to use someone famous to support their opinion when that famous person disagrees. Perl lacks a type system because that was what made the most sense for perl. That doesn't mean it makes the most sense period. >every thought I don't have to think about static types is a thought I can instead think about something I actually care about. Static types do not add something to think about. You already have to think about what things are. Static types just let the compiler ensure that you didn't make any mistakes. Passing a user object into a function that wants a string isn't suddenly useful because there is no type system giving you an error.
- raiph 13y ago> Perl lacks a type system because that was what made the most sense for perl. Perl 5 that is. Perl 6 has a (gradual) type system.