Honestly, for a complete beginner starting today, I would start with Python. (I started with BASIC, which I don't think there's anything wrong with even today, but Python is very similar and the more modern equivalent.)
Then pick up some C.
I learned C years ago using a great little book called "Practical C Programming" published by O'Reilly. Once you're reasonably grounded in C code, it's not a stretch to learn how to wrap it in object-oriented techniques, which gives you C++, which is very very similar to Java. Once you know the concepts behind any one programming language, it's very easy to switch to another one.
C, C++, and Java are so similar that you pretty much can switch from one to the other with minimal effort. Python "looks" completely different in terms of coding style and syntax. Spend time learning both and you'll be well equipped.
One thing I like about Python is the command-line interface, you can just sit and play with statements interactively. How do you print something? How do you add 2 numbers? What's the name of the function that gives you the length of a string? Just type it into the command line and see what happens. Saves you from writing your code, run, errors, edit, rerun, more errors, etc.
As for an editor, learn how to use Notepad/TextEdit for simple programs to start off with (or quick fixes to existing code), but I would recommend finding a "smart" text editor with syntax coloring which makes it much easier to see what you're doing and navigate your way around ever-longer code files.