5 ms·
Python programmers are crying out for types it seems. It’s a shame the Python foundation haven’t blessed a spec. Better to get everyone working on a single slig
by petesergeant 10mo ago
Python programmers are crying out for types it seems. It’s a shame the Python foundation haven’t blessed a spec. Better to get everyone working on a single slightly imperfect standard than a morass or differing ideas.
- ReflectedImage 10mo agoSpeaking as a Python programmer, no. Using types in a prototyping language is madness. The point is you drop things such as types to enable rapid iteration which enables you to converge to the unknownable business requirements faster. If you want slow development with types, why not Java?
- philipallstar 10mo ago> Using types in a prototyping language is madness. It's not a prototyping language or a scripting language or whatever. It's just a language. And types are useful, especially when you can opt out of type checking when you need to. Most of the time you don't want to be reassigning variables to be different types anyway, even though occasionally an escape hatch is nice.
- ReflectedImage 10mo agoTypes are not always useful, they increase the line count per delivered feature by 3x to 4x, which results in a corresponding increase in bugs in the delivered code and an corresponding increase in the overall software development costs. It's very foolish to just use types in all programming projects.
- solarkraft 10mo agobecause i want fast development with types.
- ReflectedImage 10mo agoYeah, but that doesn't exist. Types and fast development are directly opposing goals. This goes all the way back to Lisp vs C in the 1980s with C programs having triple the development time as Lisp programs. To modern day with Turborepo taking 3 months to write in structually typed Go vs 14 months in statically typed Rust.
- maccard 10mo agoHave you written any go code? it's the closest I've come to actually enjoying a type system - it gets out of your way, and loosely enforces stuff. It could do with some more convenience methods, but overall I'd say it's my most _efficient_ type system. (not necessarily the best)
- petesergeant 10mo agoIf you can’t do fast prototypes with types, you need to get better at using types. It’s very fast to throw stuff together in TypeScript.
- ReflectedImage 10mo agoNo one can do fast prototypes with types, all they can do is convince themselves they are faster than they really are. Having worked in both dynamically typed and statically typed software development shops, the statically typed programmers are considerably slower in general. Usually they only have 1/3 of the output as programmers who use dynamically typing. Statically typed programmers also tend to be much less ambitious in their projects in general. They still think they are "fast programmers" but it's complete fiction.
- woodruffw 10mo agoCould you elaborate on what you mean? There are various typing PEPs; they even have their own category[1]. [1]: https://peps.python.org/topic/typing/ https://peps.python.org/topic/typing/
- dcreager 10mo agoAnd the PEPs are now collated into a larger single typing spec [1], even hosted on a python.org subdomain. (Previously it was hosted on readthedocs) [1] https://typing.python.org/en/latest/ https://typing.python.org/en/latest/