Amanda<3 Posted February 24, 2011 Share Posted February 24, 2011 I've been looking into OOP for various reasons. So far this is what i've collected: 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? Makes your code easier to maintain, as well as helps other developers that may be editing something job's alot easier. Gives you a better understanding of how other languages like C work to a degree Overall it sounds great. So is there anything i should know before starting to learn OOP? Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted February 24, 2011 Share Posted February 24, 2011 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. Quote Link to comment Share on other sites More sharing options...
Amanda<3 Posted February 24, 2011 Author Share Posted February 24, 2011 What language would you recommend? I've not much experience with actual programming languages, more or less just Web Development languages, but i'm looking to learn into the more powerful languages, so any suggestions would be appreciated. Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted February 24, 2011 Share Posted February 24, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.