I definitely think your rant is more of Compiled/statically typed code vs script code.
You would write C/C++ code you would face the same kind of issues.
Concerning the compile time, I think it’s matter of production pipeline; obviously in scripted language it’s instant so you do small modifications => run the output, while in compile languages you don’t. I used to work in video game industry (before Unity/Unreal Engine) frameworks and I promise you don’t build the whole game every time you make a change. On other hand, you run into way less errors as compiler catch most of them.
Currently working on a webapp with Crystal (Mithril/Typescript in front, PG as database), I can tell that it’s way less productive than if I wrote it in Ruby on Rails, but mostly because I chose a lightweight stack (Kemal).
So compared to Sinatra or ExpressJS, I would say the productivity is almost the same. A bit more of boilerplate, but so far using JSON::Any
for simple objects and data mapping for complexes/redundant structure and I’m good.