2 ms·
> Your remarks apply only to cranking out new code. Static typing prohibits making fundamental changes to an existing body of code, like changing a core, widely
by josteink 8y ago
> Your remarks apply only to cranking out new code. Static typing prohibits making fundamental changes to an existing body of code, like changing a core, widely-used data structure. To make such a change, you have to be extremely sure that you want it and that you're doing it right.
I’m reading this and I have just no idea what to say.
With static typing you don’t have to be very considerate in this work, because you will have a compiler telling you if anything is broken, not to mention refactoring-tools which can help you reliably and automatically make those changes across your entire code base in a verified 100% correct way.
With dynamic typing however, you just have to guess and pray.
Clearly static typing is the superior option in this specific scenario where you are calling out static typing to be a disadvantage.
So what am I missing?
- reificator 8y agoMy pet theory is that it's proof of the Mandela Effect[0]... That or different people think differently and value different things. Nah, probably the Mandela Effect. [0]: https://en.wikipedia.org/wiki/False_memory#Commonly_held_false_memories https://en.wikipedia.org/wiki/False_memory#Commonly_held_fal...
- kazinator 8y agoI don't necessarily want the compiler diagnostics to go away; I just don't want them to prevent me from running the program. A good language has a run-time type in every object, regardless of the type checking system, and allows programs to be run safely even if they are incompletely checked or if inconsistencies have been positively identified.