Script47 Posted November 14, 2013 Share Posted November 14, 2013 (edited) 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 November 14, 2013 by Script47 Quote Link to comment Share on other sites More sharing options...
a_bertrand Posted November 15, 2013 Share Posted November 15, 2013 C is not OOP, C++ is. Quote Link to comment Share on other sites More sharing options...
Alan Posted November 15, 2013 Share Posted November 15, 2013 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 noworI 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 languageie. 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. Quote Link to comment Share on other sites More sharing options...
Lucifer.iix Posted November 18, 2013 Share Posted November 18, 2013 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. Quote Link to comment Share on other sites More sharing options...
Script47 Posted November 18, 2013 Author Share Posted November 18, 2013 Do you also have a good reason ? Like: Objects make you smile a lot. I really don't need a reason to move on, do I? Quote Link to comment Share on other sites More sharing options...
Lucifer.iix Posted November 18, 2013 Share Posted November 18, 2013 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. Quote Link to comment Share on other sites More sharing options...
Script47 Posted November 18, 2013 Author Share Posted November 18, 2013 Your asking: "I want to know the best language, but it must be OOP because that is the best ofcourse" ? I certainly don't see where I wrote the last part about OOP being the best? Thanks for the tip. :) Quote Link to comment Share on other sites More sharing options...
Lucifer.iix Posted November 18, 2013 Share Posted November 18, 2013 (edited) 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 November 18, 2013 by Lucifer.iix Quote Link to comment Share on other sites More sharing options...
Script47 Posted November 18, 2013 Author Share Posted November 18, 2013 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 Quote Link to comment Share on other sites More sharing options...
Lucifer.iix Posted November 18, 2013 Share Posted November 18, 2013 No, i'm just doing this more than 20 years. I'm a software tester, so i have to read code for a job. Btw: "the gang of four" is a good topic to google on. If your intressed in programming patterns. (or learn about anti-patterns like the `Singleton`) Happy Hacking: Roger. Quote Link to comment Share on other sites More sharing options...
wrux Posted April 28, 2014 Share Posted April 28, 2014 Simple scripting languages like Python and Ruby are bloody good. You also have things like node.js which is pretty good Quote Link to comment Share on other sites More sharing options...
Script47 Posted May 1, 2014 Author Share Posted May 1, 2014 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. 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.