3 ms·
>Type systems add friction and force programmers to deal with details from the very beginning. In the long term this might often be a good thing, but it certain
by carlmr 7y ago
>Type systems add friction and force programmers to deal with details from the very beginning. In the long term this might often be a good thing, but it certainly isn't ergonomic.
In Rust, I agree, but I find coding in C#/F# which are decently typed, but with GC, is much faster for me than using e.g. Python. Typescript is much easier than Javascript.
Lack of types usually leads to worse auto completion, errors maybe only found on some edge cases which I didn't try and a huge slow down if I need to add a feature when I've forgotten about the code, since they provide a lot of documentation where you know that it's not stale.
I wouldn't use python at all if it didn't have pandas.
- shpongled 7y agoTotally agree. If I'm writing anything nontrivial then it's going to be in a statically and explicitly typed language. There can be some friction, but the additional tools and speed in refactoring make up for it, IMO. At this point I only use python for pandas and matplotlib, or for sending small psuedocode snippets to coworkers
- dgb23 7y agoAuto-completion for some dynamic languages has gotten much better with the right tools/editors/plugins. I get where you are coming from but I would argue that there is a bit of a perception issue here. You can surely write fast in typed languages but you also have to write more and think more. But I fully agree with the benefits. Errors, changing/refactoring and documentation. I wonder if we can have the best of both worlds some day. Prototype dynamically and then add types and abstraction progressively in the same language and code base. In theory this is doable with Lisps, but only in a self-imposed, possibly unstructured way.