Types slow you down. New work is first completed in untyped languages. People start using the work. People complain there aren't types. Types are added. Work is now slow in the language. New work is now done in another language without types.
“Types slow you down” is the _stupidest_ excuse I hear all the time.
As if developers of untyped languages don’t spend ungodly amounts of time pretending types don’t exist, but needing to manually check them everywhere, wonder why shit blows up at runtime, litter their code with “typeof” style checks, litter their tests with type checking.
The types exist and need to be considered whether you believe it or not. Might as well let the computer help you out.
There are maybe some programs where "time to first run" is a critical metric. But where I sit we spend way way way way more time living with a program after it has already been written. This means maintenance, bugfixes, and refactors.
Even if what you say is true, I'll trade some initial coding time to buy more efficient maintenance.
I dunno, I think the productivity promises of dynamic typing have been conclusively disproven, so maybe next time people will be able to at least say "we know that isn't a good idea".
Maybe there is an argument there for non-programmers in technical fields, that use programming at their jobs, but it isn't their primary job. Like a data scientist or architect, trying to use something convenient and easy. The problem is, that usually it catches up with them (and with bigger programs), in terms of poor quality code and bad habits. The argument then becomes if they should have learned better practices and habits in the first place. Sometimes what seems like a shortcut, is not really so.
that might have been true in the 2000s, but it doesn't apply to modern languages with things like generics, ADTs, type inference, null safety, etc.
you know what really slows me down? trying to use a function in a dynamic language, and having no god damned clue what type of arguments it accepts, and having to figure it out by grepping through the code or dynamically instrumenting a running program.
I think its more along the lines of things are prototyped without types, the proof of concept mostly works, then people realize that types are needed to reduce bugs, improve speed, and create a maintainable base as the project grows. What people should do is rewrite from scratch using the prototype as a vague guide, but instead people try to desperately fix the prototype incrementally. Its not the types that makes things slow, its the size of the codebase, and the lack of expectations on quality and performance.
Rinse and repeat.