3 ms·
It's pretty terrible IMO. * IDE refactoring is impossible because it can't infer the types, so if you do want to make large refactors it's a huge time sink *
by likeabbas 4y ago
It's pretty terrible IMO.
* IDE refactoring is impossible because it can't infer the types, so if you do want to make large refactors it's a huge time sink
* It takes 3x longer to read and understand what the code is doing
* Requires almost twice as many unit tests for things that would normally be resolved by the compiler
* ci/cd can actually be slower since there's no incremental compilation
- candiodari 4y agoAnd please note: whilst Python tooling is brilliant, absolutely brilliant, it cannot match what you have in eclipse for java tooling or msvc++ for C++ or C#. And pytypes doesn't really change that.
- adamc 4y agoWhile this is all true, some things are much easier in Python because it is a fairly high level language. We had an in-house language for web pages (history) whose runtime we had upgraded to Java (originally, C++). Trying to write tools that analyzed and helped debug those pages was painful, because... everything had to be reified into types, and what Graham says about sculpting is true. Java is an awful language for exploratory programming. Horses for courses.
- excitednumber 4y agoAnd in most places exploratory code becomes production code because that’s life.
- adamc 4y agoSometimes. And that's fine, for values of "production" that are "occasionally we need to run this to understand/debug this other code".
- eddsh1994 4y agoYou still need types for objects in Python - the only difference is they're in your head (or annotated)
- adamc 4y agoYes, but their implementation can be sculpted without as much protocol (interfaces et cetera).
- cosmotic 4y agoAnd if you think Eclipse tooling is great, wait till you try IntelliJ!