No professional programmer, let alone game developer, would say that all low level programming / optimizations are bad.
But experienced professionals will tell you that things similar to the saying "premature optimization is the root of all evil" ...
The gist of most professionals opinions is that you should not focus on specific target or performance concerns too early in the life cycle. Partially because there is no point in optimizing a program or feature that may not make the cut into a final product anyway. Partially because by the time the product comes out, the exact appropriate optimization might change. Partially because clean logical code is easier to understand and modify, and you want to be able to change and improve as much as possible while learning what is fun and what isn't. And Finally because it is often true that developer time is more important than efficiency in many cases and they'd rather make 3 games that are fun and for sale, then 2 highly optimized games that are just as fun and just as for sale.
Also, don't confuse "premature optimization" with "building for a platform". An example of the type of optimization that would be discouraged is "oh man I have a great idea for how to make this highly detailed crafting system for this fantasy MMORPG i'm working on ... but I don't know which data structure or algorithm is the most efficient implementation". An example of the type of platform utilization that is NOT bad would be "oh man, since this game is for phones and tablets I have a great idea for how we can leverage the gyroscope to control the crafting system in a unique and cool way". See the difference is, in the first case, someone has a great idea and is letting the low level aspects reduce their ability to deliver a functional feature. In the second case, the developer is being inspired to create a more enjoyable or fresh experience in harmony with the target platform characteristics.