I started C++ a few weeks ago..

I want to go to MIT for computer science, and for that i want to learn a few computer languages. Im 15 in 9th grade.

I know how to make loops and random numbers. I am about to go into arrays and pointers soon, but before i get to the hard stuff, i want to know if i should learn C++.


would it be more benifecial for me to learn a scripting language such as Python or C? so far i know HTML and Javascript (although i forgot alot of javascript)

what will the colleges want out of me? will they expect me to know C or can i just jump into OOP?

I started C++ a few weeks ago..

I want to go to MIT for computer science, and for that i want to learn a few computer languages.

Go ahead, let the rest of your life be decided by a ninth grader. (Hehehe.)

I know how to make loops and random numbers. I am about to go into arrays and pointers soon, but before i get to the hard stuff, i want to know if i should learn C++.

Stop worrying about learning languages, and start learning how to make computer programs. What is the easiest way for you to start and write a useable program, right now? If you wanted to make a tetris clone, right now, how would you do it?

would it be more benifecial for me to learn a scripting language such as Python or C?

Yes, learn Python. Forget about C. Or use QBASIC. It worked for Ken Silverman, after all. Python's a great choice.

what will the colleges want out of me? will they expect me to know C or can i just jump into OOP?

Colleges expect you to know nothing. Colleges want good grades. If you do something Interesting while in high school, that's very good, too.

OOP? What's the point of that? It's a buzzword, used to describe a way of organizing data and algorithms. On the whole spectrum of 'advancedness' of programming languages, OOP (at least as seen with C++ and Java) is very near the bottom. And by the way, MIT teaches its introductory course with a rather non-OOP programming language, Scheme. Scheme is a fun language to learn, by the way, especially after miring in the muck of C and C++.

Don't worry about arrays and pointers. C++ makes them hard. If you use a good book, not so hard, but still, painful. Pointers and arrays are very obvious once you've tried to write a few programs in languages that completely lack them. In high school I learned a lot of my early programming via QBASIC, and one of the first features I felt that QBASIC really needed was some way of accessing values indirectly. This is what pointers do. When I got taught what a 'pointer' is in my first semester of college, right at the moment I heard them called by their name, 'pointer', I understood them completely, since they fit a feature I was looking for. So don't worry about learning specific features of programming languages. They're not advanced; things like pointers and arrays are implementation details. And arrays are very straightforward. What counts as 'advanced' is the ability to be presented with a problem and easily see many ways of looking at the solution, which is something you get by writing programs, not learning features of languages.

Sometimes learning languages that express things in different ways than what you're used to is good. OOP has this effect on procedural programmers, Scheme has this effect on OOP people, and Haskell has this effect on everybody.


By the way, I hear that Caltech has much nicer weather than MIT. ;)

This article has been dead for over six months. Start a new discussion instead.