Python is good. Java is what AP Computer Science uses as a first programming language in US high schools.
Both of those have large standard libraries that help you develop meaningful applications fairly soon, without a bunch of add-on libraries, and both are cross-platform by design, so what you develop on a Windows box will likely run on Mac, a Linux server or even a Raspberry Pi.
Both have a lot of free online tutorial support, and large communities on places like StackOverflow and CodeProject, as well as experienced developers answering questions here.
One thing I suggest to anyone new is to look at "Learn Python the Hard Way" and read the introduction to the free online book. Even if you don't plan to make Python your first language. Zed Shaw mentions a number of good habits for learning a programming language. Mentally underline the part about typing in example code rather than using copy/paste.
An important point is that learning to program is not the same thing as learning a programming language. Programming is as much a way of thinking about the solution to a problem as it is writing the code in a particular language.
It really doesn't matter what you start with, though, provided that you have a good source of information and a proper computer to work on. (Mobile devices and "Chromebook"-style laptops are designed for users, not for developers.) I started with a language (APL) that almost nobody uses any more, for example. If you can learn enough to make programs that do something you find interesting to work on, then you've got a good start--no matter what the language is.