3 ms·
I think you should reserve judgement until you've worked with a more sophisticated type system than Java. I held the same opinion for quite some time but Scala
by jeremyjh 14y ago
I think you should reserve judgement until you've worked with a more sophisticated type system than Java. I held the same opinion for quite some time but Scala and Haskell have showed me that much more is possible than I expected.
Still, on balance I prefer dynamic languages because I don't like to spend time defining and using type relations but I am no longer sure I really know which way is "better" for many types of tasks.
- drorweiss 14y agoI worked with statically typed languages (mostly Java) for many years and just recently started working with dynamic languages (python and javascript with node). I think it depends mostly on the task at hand... if you're on a small project with a small team, then probably the dynamic languages are more suitable. With larger teams, it starts to pay off to have more info encoded in the type system, so that everybody is on the same page. For a small startup, trying to get a product out quickly, the dynamic paradigm is a game-changer. Not only in the programming language, also using nosql database was a game changer for me in terms of development speed.
- Peaker 14y agoStatic languages like Haskell are the best of both worlds. You develop with roughly the same speed as dynamic languages, but then you get the performance and maintainability of static languages.
- acomar 14y agoHow much time do you spend instead on unit tests? Is it comparable? The idea with a Haskell (or more powerful) type system is to reduce the amount of unit tests you need to write (because the compiler enforces certain rules). It's all trade offs, but personally, I know I make mistakes, and I know I won't remember to check for all possible type errors in my unit checks. So I like that the compiler does it for me.