In an ideal world with all the time that you need I would learn C then C++ or Java, this would give you a great programming base. I normally write in Java now because the same program can run on different platforms eg. Windows/UNIX/linux etc. It is tempting to ask what sort of programs you want to write, this would make it easier to suggest a language, but if you are starting out then you probably won't know enough to answer. That's why C or atleast the basic concepts from C are worth learning first. They will stand you on good ground for most other languages anyway, especially C++ and/or Java. Hope this helps.