Jump to content
MakeWebGames

Which OOP language?


Script47

Which OOP language?  

11 members have voted

  1. 1. Which OOP language?



Recommended Posts

So after a few projects I have left I wish to move on from PHP. I want to go in to a OOP language, which one should I choose? To make it clear I don't have a plan on what I want to make I just want to learn a good language and make things as I go along.

Edited by Script47
Link to comment
Share on other sites

As there are at least 50 languages with ""OOP"" features, more if you consider prototyping languages and the more esoteric languages found lurking more in the hidden depths of research laboratories, plus non-OOP languages which can be made OOPs like without too much work (C being a perfect example) should the question not be more along the lines of:

I want to learn an OOP language which is widely used in commercial environments and will be in use 10 years from now
or
I have a project that needs to be able to X and Y, running on Z hardware and I'd like to write it within the confines of an OOP language
ie. Pick the best tool for the job.

Bjarne Stroustrup's C++ book is good, though the earlier editions missed a lot of the features of well known C++ variants, commercially I use C++ a fair bit but in relatively small doses; for example extensions to operating systems, to database engines and to an extent other languages. Whether there is a large call for commercial C++ code I really cannot say, though I'm confident it will be around for a while.

Python on the other hand is a simpler language to learn offers a fairly decent set of OOPs features and is stable enough to warrant being taken very seriously in application development. There is a wealth of excellent documentation and libraries readily available around the 'net, making this a pleasant albeit lightweight OOPs language. It is certainly commercially viable, and I've no doubt it will outlive me in one form or another.

Or you could have a bit of fun and look at what is really a teaching language and to an extent the father of many OOPs languages in use today. Smalltalk is not one I've seen in production, though I have seen some cracking applications written in it. It's possibly not a mainstream language, but it can teach you a great deal about computer languages in general and certainly object orientated programming.

Link to comment
Share on other sites

So after a few projects I have left I wish to move on from PHP. I want to go in to a OOP language, which one should I choose? To make it clear I don't have a plan on what I want to make I just want to learn a good language and make things as I go along.

Do you also have a good reason ? Like: Objects make you smile a lot.

Link to comment
Share on other sites

I really don't need a reason to move on, do I?

Your asking: "I want to know the best language, but it must be OOP because that is the best ofcourse" ?

Why ask if you already know the awnser.

 

Tip: The lasting you need to know in a multi-core world is a old fasion programming paradigm that uses references.

Link to comment
Share on other sites

I certainly don't see where I wrote the last part about OOP being the best?

Thanks for the tip. :)

Sorry, i have writen this wrong. You didn't say this. You said, i'm using php i want to move on, give me a good OOP language to learn.

Than i would say: "Visual Basic or C# in Visual Studio 2010/2013 (.NET 4.0/4.5) is good enough and has a awesome IDE (Visual Studio)"

But if you don't want the big IDE and SDK, go for: Python or Ruby on rails.

But before you start and buy some good books.....

Like: "Design Patterns: Elements of Reusable Object-Oriented Software, 1995 by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ("Gang of Four")

 

Terminology invoking "objects" and "oriented" in the modern sense of object-oriented programming made its first appearance at MIT in the late 1950s and early 1960s.

so, it's extreemly old. how old, 1kb of memory kind of old. For example the latest programming language of Microsoft in Visual Studio is F# and that's a functional language.

The reason is very simple. Create a object that's a list. Now do a foreach loop on that list and add something from the rsult to that same list.

And now ask your self, how does he going to devide this process over multiple CPU's ? Awser, with a lot of work (overhead) and luck (thread-races).

And that has to do with that objects are references (locations in SHARED memory) just like a database. So, yes: you need transactions, cloning, locking and all that stuff just to make it work.

With functions (real functions) you don't have that problem. There is no difference between a value or a function.

So, if you want to learn a language that can also be used in the future.

Take something that also run's on a GPU or Multi-Core CPU.

Because where getting more slower cores than less faster ones.

Your OOP program will only getting slower and slower runnning on that one (and a bit...) core.

 

Happy Hacking: Roger

Inventor of Linq has a nice vid on you tube:

This is closjure, but it's for experts:

Ps: This changed only 11 years ago. 2002 was the last breakthrough in creating smaller IC's.

Where arrived at Quantum size, and can't get smaller without quantum effects. (And we are going to use this within 60 years from now.)

Edited by Lucifer.iix
Link to comment
Share on other sites

Sorry, i have writen this wrong. You didn't say this. You said, i'm using php i want to move on, give me a good OOP language to learn.

Than i would say: "Visual Basic or C# in Visual Studio 2010/2013 (.NET 4.0/4.5) is good enough and has a awesome IDE (Visual Studio)"

But if you don't want the big IDE and SDK, go for: Python or Ruby on rails.

But before you start and buy some good books.....

Like: "Design Patterns: Elements of Reusable Object-Oriented Software, 1995 by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ("Gang of Four")

 

Terminology invoking "objects" and "oriented" in the modern sense of object-oriented programming made its first appearance at MIT in the late 1950s and early 1960s.

so, it's extreemly old. how old, 1kb of memory kind of old. For example the latest programming language of Microsoft in Visual Studio is F# and that's a functional language.

The reason is very simple. Create a object that's a list. Now do a foreach loop on that list and add something from the rsult to that same list.

And now ask your self, how does he going to devide this process over multiple CPU's ? Awser, with a lot of work (overhead) and luck (thread-races).

And that has to do with that objects are references (locations in SHARED memory) just like a database. So, yes: you need transactions, cloning, locking and all that stuff just to make it work.

With functions (real functions) you don't have that problem. There is no difference between a value or a function.

So, if you want to learn a language that can also be used in the future.

Take something that also run's on a GPU or Multi-Core CPU.

Because where getting more slower cores than less faster ones.

Your OOP program will only getting slower and slower runnning on that one (and a bit...) core.

 

Happy Hacking: Roger

Inventor of Linq has a nice vid on you tube:

This is closjure, but it's for experts:

Ps: This changed only 11 years ago. 2002 was the last breakthrough in creating smaller IC's.

Where arrived at Quantum size, and can't get smaller without quantum effects. (And we are going to use this within 60 years from now.)

Thanks for all the in depth information pal. Just a question, did you fricken swallow a manual to do with all this!? :D

Link to comment
Share on other sites

  • 5 months later...

I've used Java, C++ and C#. However I have only liked Java so far. However I found it a lot easier to learn Java this time round (unlike the other 3/4 times I tried) mainly because I now have (to some extent) a programming background. I found C++ quite hard an never enjoyed it so stopped trying to learn it. As for C# I made a simple guess the number game.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...