Which OOP language to learn?

OK there doesn’t appear to be a proper forum for this, so random will do:

I want to learn an Object-oriented programming language, but I don’t know which one! I would be looking for one that I can do completely for free, and has a wide range of tutorials available on the web.

I’ve thought about C++ and Java, but maybe there is a better language to learn.

Also - links please! (compilers/tutorials)


Id suggest Java followed by Python


lol thnx, I knew someone would say google.com :run: but on the first reply! :trout:

Personally depends what fields your interested in since this is a web design forum i recommend Java since you can do applications,applets,and server side with it

I don’t like c++ just becuase for a compiled language i feel its too bloated with all the extra features…

Python is great, it has ways to embed the vm into an exe, you can use it as server side with webkit, and for linux it doesn’t matter about embedding it since most distrobutions include 2.3/2.4, it also has support for pretty much every graphics library i can name


Lingo :stuck_out_tongue:

Python, definitely :slight_smile:

Java or C++ (direct X), both are really nice and very simular, if you ever want to switch its just learning a few small changes.

Objective-C :thumb:

Oh, and signifer123… you say you don’t like C++ because it’s compiled? So is Java, but you recommended that… :stuck_out_tongue:

It’s even interpreted, too!

Actually he said “for a compiled language i feel its too bloated with all the extra features…”

I learned Java and I really liked it. It was easy for me to jump over to other languages also.

I love C#. Its structure seems way more logical than C++. One disadvantage is it only works with windows systems.

IMHO Java is really THE OOP language. It’s not as practical when it comes to real product, optimization, etc, but as an ideal OOP language, it is definitely the language to start off with. With its virtual machine, you don’t have to worry about all the unnecessary handling and processes, but only focus on the actual OOP parts.

The true OOP? Bah… have you seen Objective-c? :stuck_out_tongue:

#import "Integer.h"
#import "Arithmetic.h" 
#import "Display.h"

   Integer *num1 = [Integer new], *num2 = [Integer new];
   int x;
   printf("Enter an integer: ");
   scanf("%d", &x);
   [num1 integer:x];
   [num1 showstars];
   printf("Enter an integer: ");
   scanf("%d", &x);
   [num2 integer:x];
   [num2 showstars];

   [num1 add:num2];
   [num1 showint];

[num1 showint]? that’s just dumb :stuck_out_tongue:

Err… no… that’s actually wonderful once you start using it. It’ll help you know what the arguments should be:

- (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index;

Then you call it like…

[mydoc insertObject:person inEmployeesAtIndex:5];

You’re just not used to it…

[LEFT]Java is you’re key cause you almost have to program OOP unlike C++ and Python. Also its by far the most practical language to learn right now since there are more jobs are in Java than any other language…

There are also some great GPLed tools Eclipse, tomcat, ant, and jboss

C# from my brief experience is also a very good learning language it is very similar to Java. You can actually run all compiled .net on other platforms with Mono.

i’m trying to learn java, i’d suggest it for oop:) hard to learn at first, but great once mastered

Visual Basic really easy to learn and its really fun!!

Java and C#.

Eclipse is a great IDE for using Java (http://www.eclipse.org/), and my current favorite is C#, and you can get the free Express for it also (http://msdn.microsoft.com/vstudio/express/visualcsharp/).

Most OOP languages are very similar. If you are familiar with Flash to a certain degree, then you can learn AS (2.0) instead. The syntax among Flash, Java, and C# is very similar, so learning one after learning the other should not be difficult.