Which programming languages are the most useful for high school students to learn?

Quora Feeds

Active Member
Brent Royal-Gordon

The most useful language is the one that fits your projects.

The best way to learn to program is to pick a project and push it through until you're done, learning as you go. Individual languages are just tools to do your work in; experienced programmers often switch between languages as needed to fit the task at hand. In the last week I've worked in five different languages, because a different one was suited (or, in some cases, needed) for each task.

Once you've picked a project, choose an appropriate platform for your project, and then choose an appropriate language for that platform:

  • Phone or tablet programming: You don't have much choice here. Objective-C for iOS, Java for Android.
  • Desktop GUI apps: I'd recommend Objective-C for Mac, C# for Windows. On Linux, C# with Mono may be a good choice, but I have to admit I haven't been watching the Linux desktop space very closely.
  • Client-side web programming: Again, not much choice—you're going to be using HTML, Javascript, and CSS. (I'd steer clear of Flash unless you're doing the kind of work that really benefits from it.)
  • Server-side web programming: There are a lot of good options here. I prefer Ruby and the Rails framework, but Python and Django is another viable choice. Python is simpler and a little bit easier to pick up, but Ruby will teach you some very useful, advanced concepts and make them a natural part of your repertoire.
  • Command-line tools: Perl was my first love and I still think it's great in this space. Ruby and Python are good choices too. In general, you're looking for a scripting language—using C or C++ for this is a lot of hassle for little benefit.
When you've finished your first project, choose another, and don't let the language you've learned hold you back from choosing a different platform. All of the languages I've mentioned here fit into the general area of object/imperative programming. They all have different syntaxes and different styles, but once you have some experience with one you'll find that you can usually get the gist of code in the others, and learning a second language will not be nearly as difficult as learning the first.

Once you feel comfortable programming in personal projects, I'd recommend joining an existing open source project. Collaborating on open source is one of the best ways to learn—you'll be exposed to much more challenging and complex problems than you're likely to encounter in a personal project.

A lot of open source projects are written in C or Java, but Rails is of course written in Ruby and Django in Python, and you may find it very natural to move from working on web sites in a framework to working on the framework itself (or some plugin or library you've encountered while using that framework).

See Questions On Quora

Continue reading...
 
Top