There are good tools and bad tools, we just tend to forget the ones we depend on the most. Let's try to write a web page with concurrent access without a database, or let's try to write a web server using C or Assembly and no libraries, because we don't want to rely on tools.
Our industry is built on layers and layers, every layer is a tool to the next layer, how can we claim better tools don't make better applications?
Sure, it does not guarantee it, because what the tool does is raising the baseline, however raising the baseline gives you time to push the top higher.
Let's take the web server example: The most commonly used web server is nginx. Written in C (possibly C++ now?), with no libraries except Linux headers.
The layers are there to make developers more productive, not to make code quality better. In fact, layering is probably the most expensive thing that computers do today.
Our industry is built on layers and layers, every layer is a tool to the next layer, how can we claim better tools don't make better applications?
Sure, it does not guarantee it, because what the tool does is raising the baseline, however raising the baseline gives you time to push the top higher.