Jump to content
MakeWebGames

Object-Oriented Programming the way to go?


Amanda<3

Recommended Posts

I've been looking into OOP for various reasons. So far this is what i've collected:

 

  1. C, C++, Perl, Python, and other various languages all use a OOP approach. PHP integrated it in version 5 or something, but its good to learn?
  2. Makes your code easier to maintain, as well as helps other developers that may be editing something job's alot easier.
  3. Gives you a better understanding of how other languages like C work to a degree
  4. Overall it sounds great.

 

So is there anything i should know before starting to learn OOP?

Link to comment
Share on other sites

1) C & perl are not OO languages

2) yes and no, all depends how you write the code ;)

3) For sure not, OO doesn't explain how C works as C is not OO, C++ is on the other side. Yet saying all OO languages are the same is also not correct.

4) Great? Yes? For what?

Now I will give you my impressions:

- PHP OO implementation is as ugly / poor as possible, they do offer some stuff but it is soo weak that you can as well code without and your code will not be that much worse.

- OO offers first the "encapsulation" idea, where you have your data and all the functions to handle / work with your data within one class. Some times it is not even useful, some times it is just incredibly powerful.

- OO like offered by C# or Java is really great, yet I do prefer C#

- OO like offered by C++ or PHP => no thanks

I personally code a lot in OO (but I do work mainly with .NET / C# currently), when I was working with PHP I was programming procedural.

So no there is no single answer, OO is not the ultimate thing to learn but it can be both powerful and more readable if used wisely. If I was you, and wishing to learn something more than simply PHP then go for another language / plateform, but don't believe that learning OO in PHP will open you the doors of every other OO languages.

Link to comment
Share on other sites

Well this is a somewhat difficult question to answer. You have a lot of different possibilities depending on what you want to do and where / how you want to code.

All rounded languages:

- Java

- Python

- C++ / C

- C#

- VB.NET

Scripting languages

- Python

- Ruby

- Perl

Compiled and running in virtual machines (make the code compiled run on more platforms):

- Java

- C#

- VB.NET

Compiled and running natively (which makes the code compiled run only on the compiled platform):

- C / C++

Platform specific:

- Objective C (Mac OSx / IOS)

- C# & VB.NET (are more toward windows environment but runs nicely on multiple others via Mono)

Easier to learn:

- C# / VB.NET

- Java

Harder to learn:

- C / C++

Now Java & C# / VB.NET offers nearly the same kind of capabilities meaning:

- You can develop GUI

- You can develop Console (read command prompt) applications

- You can develop Web applications

- You can develop Phone applications

As you see the choices / options are virtually without limit. Now, if you ask me what I code with I will answer you C#, and I can even tell you why, but that doesn't mean it is the best solution for all problems nor the only right choice. As always you must a bit think what are your goals. Also if you work in a team, the team normally already have a language and you must normally comply to the standards of the group. If you are alone then you need to choose on which platform you want to develop Linux, Mac or Windows depending on that the tools available will not be the same. If you choose windows then I would personally tend to go to Visual Studio so either VB.NET (I don't like it), C++ (not easy), F# (I would not pick that), or C#.

If you say Mac or Windows I would then tend to go for Java, knowing that you will have an harder time but on the other side your application will be more easily ported on any platform (yet the honestly the framework is not as nice as .NET).

Now if you say you want to develop 3D games, then I would go for C# or C++ everything else is not really an option.

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...