# Which OOP language to learn?

**URL:** <https://forum.kirupa.com/t/which-oop-language-to-learn/183226>\
**Category:** random\
**Created:** [March 24, 2006, 8:10pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226 "2006-03-24T20:10:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![nightshade](https://avatars.discourse-cdn.com/v4/letter/n/41988e/32.png) [@nightshade](https://forum.kirupa.com/u/nightshade)\
**Post date:** [March 24, 2006, 8:10pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/1 "2006-03-24T20:10:06Z")

</div>

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)

Thanks!:hr:

---

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [March 24, 2006, 8:34pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/2 "2006-03-24T20:34:02Z")

</div>

Id suggest Java followed by Python

[http://www.google.com](http://www.google.com)

---

<div class="post-metadata">

**Author:** ![nightshade](https://avatars.discourse-cdn.com/v4/letter/n/41988e/32.png) [@nightshade](https://forum.kirupa.com/u/nightshade)\
**Post date:** [March 24, 2006, 8:39pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/3 "2006-03-24T20:39:30Z")

</div>

lol thnx, I knew someone would say [google.com](http://google.com) :run: but on the first reply! :trout:

---

<div class="post-metadata">

**Author:** ![signifer123](https://avatars.discourse-cdn.com/v4/letter/s/858c86/32.png) [@signifer123](https://forum.kirupa.com/u/signifer123)\
**Post date:** [March 24, 2006, 9:04pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/4 "2006-03-24T21:04:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![foodpk](https://avatars.discourse-cdn.com/v4/letter/f/0ea827/32.png) [@foodpk](https://forum.kirupa.com/u/foodpk)\
**Post date:** [March 24, 2006, 9:16pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/5 "2006-03-24T21:16:17Z")

</div>

Java.

---

<div class="post-metadata">

**Author:** ![Bokke](https://avatars.discourse-cdn.com/v4/letter/b/5f9b8f/32.png) [@Bokke](https://forum.kirupa.com/u/Bokke)\
**Post date:** [March 24, 2006, 9:21pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/6 "2006-03-24T21:21:51Z")

</div>

Lingo 😛

---

<div class="post-metadata">

**Author:** ![955](https://avatars.discourse-cdn.com/v4/letter/9/4bbf92/32.png) [@955](https://forum.kirupa.com/u/955)\
**Post date:** [March 24, 2006, 10:51pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/7 "2006-03-24T22:51:31Z")

</div>

Python, definitely 🙂

---

<div class="post-metadata">

**Author:** ![Templarian](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/templarian/32/7152_2.png) [@Templarian](https://forum.kirupa.com/u/Templarian)\
**Post date:** [March 25, 2006, 1:20am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/8 "2006-03-25T01:20:07Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Jeff\_Wheeler](https://avatars.discourse-cdn.com/v4/letter/j/59ef9b/32.png) [@Jeff\_Wheeler](https://forum.kirupa.com/u/Jeff_Wheeler)\
**Post date:** [March 25, 2006, 2:22am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/9 "2006-03-25T02:22:34Z")

</div>

**Object** ive-C :thumb:

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

It’s even interpreted, too!

---

<div class="post-metadata">

**Author:** ![TheCanadian](https://avatars.discourse-cdn.com/v4/letter/t/67e7ee/32.png) [@TheCanadian](https://forum.kirupa.com/u/TheCanadian)\
**Post date:** [March 25, 2006, 2:41am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/10 "2006-03-25T02:41:50Z")

</div>

> [@nokrev](#):
>
> Oh, and signifer123… you say you don’t like C++ because it’s compiled? So is Java, but you recommended that… 😛

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

---

<div class="post-metadata">

**Author:** ![SlowRoasted](https://avatars.discourse-cdn.com/v4/letter/s/a698b9/32.png) [@SlowRoasted](https://forum.kirupa.com/u/SlowRoasted)\
**Post date:** [March 25, 2006, 2:50am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/11 "2006-03-25T02:50:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![freeskier89](https://avatars.discourse-cdn.com/v4/letter/f/f475e1/32.png) [@freeskier89](https://forum.kirupa.com/u/freeskier89)\
**Post date:** [March 25, 2006, 2:56am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/12 "2006-03-25T02:56:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MTsoul](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@MTsoul](https://forum.kirupa.com/u/MTsoul)\
**Post date:** [March 25, 2006, 2:59am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/13 "2006-03-25T02:59:10Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Jeff\_Wheeler](https://avatars.discourse-cdn.com/v4/letter/j/59ef9b/32.png) [@Jeff\_Wheeler](https://forum.kirupa.com/u/Jeff_Wheeler)\
**Post date:** [March 25, 2006, 3:03am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/14 "2006-03-25T03:03:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![MTsoul](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@MTsoul](https://forum.kirupa.com/u/MTsoul)\
**Post date:** [March 25, 2006, 3:25am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/15 "2006-03-25T03:25:12Z")

</div>

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

int
main(void)
{
   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 😛

---

<div class="post-metadata">

**Author:** ![Jeff\_Wheeler](https://avatars.discourse-cdn.com/v4/letter/j/59ef9b/32.png) [@Jeff\_Wheeler](https://forum.kirupa.com/u/Jeff_Wheeler)\
**Post date:** [March 25, 2006, 3:26am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/16 "2006-03-25T03:26:23Z")

</div>

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

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

```

Then you call it like…

```auto
[mydoc insertObject:person inEmployeesAtIndex:5];

```

You’re just not used to it…

---

<div class="post-metadata">

**Author:** ![expensive\_pen](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/expensive_pen/32/554_2.png) [@expensive\_pen](https://forum.kirupa.com/u/expensive_pen)\
**Post date:** [March 25, 2006, 3:47am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/17 "2006-03-25T03:47:09Z")

</div>

[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.  
[/LEFT]

---

<div class="post-metadata">

**Author:** ![hybrid101](https://avatars.discourse-cdn.com/v4/letter/h/7993a0/32.png) [@hybrid101](https://forum.kirupa.com/u/hybrid101)\
**Post date:** [March 25, 2006, 5:44am UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/18 "2006-03-25T05:44:42Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![AdamZZ](https://avatars.discourse-cdn.com/v4/letter/a/e19adc/32.png) [@AdamZZ](https://forum.kirupa.com/u/AdamZZ)\
**Post date:** [April 17, 2006, 5:31pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/19 "2006-04-17T17:31:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [April 17, 2006, 5:38pm UTC](https://forum.kirupa.com/t/which-oop-language-to-learn/183226/20 "2006-04-17T17:38:26Z")

</div>

Java and C#.

Eclipse is a great IDE for using Java ([http://www.eclipse.org/](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/](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.

👼

[Next page](https://forum.kirupa.com/t/which-oop-language-to-learn/183226.md?page=2)
