I agree in principle but still think Python is best to start with, for two reasons.
First, many people need a simple introduction to the entire concept of programming-- codifying precise instructions to a computer to get specific results.
Second, python is a great tool for exploration of other low-level systems, eg the socket library, the posix library, the os library.
One can write an O(n^2) that should be an O(n) algorithm in Java just as easily as Python.
Bad code is bad code. On the scale of encouraging good practices and discouraging bad ones, Python does pretty well given the very low overhead to get started-- something Java does not have.
First, many people need a simple introduction to the entire concept of programming-- codifying precise instructions to a computer to get specific results.
Second, python is a great tool for exploration of other low-level systems, eg the socket library, the posix library, the os library.