So I just graduated from high school and am heading to college with the intention of getting a BS in physics. I took a semester of programming in Pascal my senior year, but had to drop the class the second semester (to get a freakin' art credit to graduate. God**** arts...), so I didn't learn nearly what I wanted to get from of the class. I learned the basic syntax of programming in Pascal, input and output, data types, loops, nested loops, and just generally writing a lot of programs to calculate stuff (all console applications). Since I wasn't in the second semester I didn't learn about functions, libraries, window applications, or any of the good stuff I see online sometimes. In my free time I will sometimes write little programs to do things like calculate Pi, find Fibonacci numbers, etc. Now that you know where I stand, what programming language should I learn (or should I stick with Pascal)? I know Pascal is a pretty ancient language, and I don't think it's very widely used. I'd like to get very skillful at programming in general, so why not do it in a language I will be using in the future? What language would you recommend for a fairly newbie programmer?