An interesting take on why dynamically typed languages became so popular and why staticly typed languages are making a comeback.
Great talk and I completely agree with him. Static typing has a lot of benefits but the old style use cases had a lot of extra overhead. As languages have matured, that overhead has come down a lot and so it’s not surprising that they have gained back traction recently.
I have the same take as well. Basically fast accessible IDEs with instant feedback and type interference allows you to not have to add types to things where it’s already obvious.
Mostly agree with him. The place I am not sure about is that static typing ever left. Has any enterprise supported language ever been dynamically typed? I do not know of one. The dynamic typed stuff came out of FOSS including early web development. Enterprise never really embraced that anyway. In the end it comes down to speed to write versus scale, speed of execution, and ability to test and standardize. Not sure this has really ever changed.
Other issue is his talk focuses on web development as if it was the only thing out there. Every use case has preferred stuff and drivers. Like quick research programs and data science for example. Most of those languages are dynamically typed. They are also typically throw-away stuff where speed of writing is the defining factor and speed of execution is not. The big counter balance there is sometimes speed is important. The issue there is execution speed on multicore systems where compiler auto parallel and auto vectorization can trivially generate C code that is 100X the speed of a basic Python app. So the story there is can you productively write code that can generate hardware specific compiled code that is parallel and how hard is that code. In Python you actually can using a combination of numpy and numba together so it is not a limitation always but it takes some thought and probably depends on the kind of code your writing. In C, just write good loops and turn on the compiler flags and done. So sometimes just better to write some C code.
Regarding the question of any dynamically typed language having enterprise support, Id argue lisp (of the common variety) was supported by developed by and inovated by corporate folks, and is dynamically typed. Symbolics, Xerox, etc. Dynamic typing has been around for a long while.
I do not think Lisp was ever an enterprise language. Might have been used in R&D, and sure it is in a few products. CAD software sometimes uses Lisp as the extension language. That does not make it an enterprise language, though I guess it depends on definition.
One little correction to the video: Objective-C is a dynamically typed language, with optional static typing that is only for the compiler’s information.