4 ms·
I think the types argument is bullshit but it's just my opinion. Do python or ruby devs really feel they are less productive than java devs because they have no
by joelbluminator 8y ago
I think the types argument is bullshit but it's just my opinion. Do python or ruby devs really feel they are less productive than java devs because they have no types? What I see happening is languages like java becoming more dynamic (var etc) and languages like ruby/python getting better IDEs (auto completion will continue to improve).
- IMTDb 8y agoI don't know about ruby and python but in JS there a significant number of projects that aim at adding a type system on top of the launguage
- joelbluminator 8y agoI don't think it's such a huge trend, if it was Python wouldn't be one of the top 3 most popular languages in the world. Yes, there is typescript for Angular. Outside of that how often is it used? Pure JS is still used tons.
- scns 8y agoIt may not be a "huge trend", but those investing into static typing reap the rewads. Facebook rewrote messenger in ReasoML, bugs reported by users went from hundreds a year to less then ten. Fearless refactoring is another plus, the compiler will find everything you need to change to make the program run correctly.
- philwelch 8y agoPython 3 has type annotations and there are static type analyzers for it.
- UK-Al05 8y agoVar is hardly more dynamic. Type inference is comes from statically type functional languages.
- meijer 8y ago> Do python or ruby devs really feel they are less productive than java devs because they have no types? Yes, I do.
- joelbluminator 8y agoOK, it's a fair opinion to have. But that's all it is, an opinion. Also - what makes you stick to python/ruby then?
- strken 8y agoI'm absolutely terrified of refactoring in big python, ruby, or javascript codebases, because there's less chance that I'll be able to find all the side effects of changing something. Tests help, but maintaining high-enough test coverage over possible code paths can be harder and less useful than working with a type system and writing fewer tests.
- cutler 8y agoJava's var is only for type inference so nothing to do with dynamic typing.
- lmm 8y ago> What I see happening is languages like java becoming more dynamic (var etc) and languages like ruby/python getting better IDEs (auto completion will continue to improve). I agree that that's what's going to happen in the short term, but var doesn't mean becoming dynamic; type inference doesn't compromise soundness at all. I think it's going to be much easier for sound type systems to get good-enough inference (indeed Hindley–Milner already offers "perfect" inference: you don't need to write any explicit types if you don't want to) than for dynamic languages to retrofit soundness. And while one can live with a few unsound constructs as long as it's locally clear when unsoundness is happening, as soon as you have pervasive soundness issues with action-at-a-distance your type system becomes almost useless.