Where do I go next?

Hey Guys,

I'm currently in AP Computer Science A in my senior year of high school. For those unfamiliar with the course, it focuses heavily on Java and it's object oriented programming. As a prospective Computer Engineer who's also interested in Computer Science my question is where do I go from here/ What languages are worth learning? 

Mandarin, china / asia will be the future. For programming it really depends on where and how you want to support yourself in the future. I think there is no real " this is essential ", just get in touch with companies and see what they are looking for, base your courses on this knowledge and their needs, if you plan on going to colledge, stating the fact you want to work in this field.

There ARE essential programing languages. You don't have to master them but you should be able to do some stuff in C and you should be able to understand assembler.

For clarity, C and c++ are both good, though just c and assembler are the basis of which he is speaking. It would be a good idea to pick what you have heard of as the "Major" languages, then do the rounds, a bit here and a bit there, so you can say you have worked in them, that way when you are asked to use them during an interview or something of the like, you are at least lightly versed in the differences among them and can adapt.

Really depends on what you like to do. Strong OO theory will carry you pretty far, but don't neglect Functional theory - its becoming very dominant in disruptive tech.


Figure out what you enjoy doing the most (platform, product type, market) then learn the language(s) that dominate that segment. 

C, C++, Assembly. Keep in mind, though, it's never a bad thing to learn a language. If there's a language that you think might be useful to you, it's probably a good idea to spend a little time looking at it. I can't imagine any situation in which it would be a bad thing to have known any particular programming language. If you're interested in computer science, I'd look into C, C++, C#, and Java. Assembly is good to know if you're going to be doing engineering, as is C and C++. Those are the ones I'd recommend knowing fairly well. C# and Java may not show up a whole lot if you're doing really low level work (as they are a bit higher level), but if you intend to get into any kind of software development, it's extremely useful to know how to use higher level languages effectively. Not so much if you intend to work more on hardware. It really all just depends what you're getting involved in.

But like I said, it's never a bad idea to learn a language you think you might use at some point. Nobody is going to look at you worse for knowing a language rather than not.

Except maybe whitespace...

or chef.....

don't learn one of those...