3 ms·
> my code will work You mean your code will compile and run. Whether it behaves as desired is completely unknown without testing.
by xapata 10y ago
> my code will work
You mean your code will compile and run. Whether it behaves as desired is completely unknown without testing.
- Koshkin 10y agoLet's say, "there is high probability that my code will work correctly right away". (This is especially true for Haskell.) [Edit] To be fair, this is not only, and even perhaps not so much, due to the static typing per se but also due to the mental discipline the particular programming language may require from the programmer even to write code that can be successfully compiled.
- xapata 10y ago> there is high probability that my code will work correctly right away I'll bet my Python code has a similar probability of working correctly on the first run, conditioned on the complexity of the task.
- zzalpha 10y agoActually, based on my experience, what I found most remarkable about writing code in Haskell (which I admit I haven't done much of) is that I'd spend an enormous out of time wrestling with the compiler, but once I finally got all the type errors to clear out, the odds were surprisingly high that the code would "just work", which is not an experience I had with even other compiled languages (Java, C#, etc). 'course, it probably wouldn't work fast, and it was 50/50 whether I'd introduced space leaks, but...
- Koshkin 10y ago> conditioned on the complexity Indeed, difference in complexity is the key here.
- xapata 10y agoI'm confused. Are you agreeing with me?
- jdmichal 10y agoIt's a back-handed agreement. Static typing increases value with project complexity and head count. So yes, if you only ever do small tasks with low or singular head count, then dynamic typing probably works OK for you.
- xapata 10y agoAs complexity increases, the probability approaches zero that any code works exactly as desired on first execution. I'd still take that bet. Of course, I'd have to be able to use the REPL about as often as a someone uses a compiler.
- tome 10y ago> I'll bet my Python code has a similar probability of working correctly on the first run, conditioned on the complexity of the task. Having developed professionally in both Python and Haskell, the probability for me was significantly higher in Haskell.