Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 I want to learn OOP
Index -> General Discussion
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
noodle




PostPosted: Sat Jun 02, 2012 4:58 pm   Post subject: I want to learn OOP

I'm 9 year old and I have been looking and reading a lot of tutorials/guides about doing C++, I have watched a variety of video tutorials too, but I have had some difficulty learning certain aspects of C++ (I think I have some of the basics down, such as Functions, but moving down, things are becoming more "difficult" to read and properly understand, I am far from getting to OOP). This has been repeating in a cycle for a few months. I think this partly to blame with the fact that I often read the lessons without practicing them, but I have a difficulty putting what I read into application.

If anybody can help me with issue. It'd be appreciated. I know everybody here is doing Software Engineering and have countless degrees, plz no be 2 condescending.
Sponsor
Sponsor
Sponsor
sponsor
Raknarg




PostPosted: Sat Jun 02, 2012 5:04 pm   Post subject: RE:I want to learn OOP

I'm no expert, but Turing I'm pretty sure is an OOP language, and infinitely simpler. Perhaps you shouldtry that, things will make much more sense there than in C++
Senecide




PostPosted: Sat Jun 02, 2012 5:26 pm   Post subject: Re: I want to learn OOP

I personally would recommend start learning programming with Python. The advantage is that it's widely used and have very simple syntax. That way you can learn faster, be able to create programs, and then apply them to other languages. Being only 9 and learning C++ by yourself sounds a bit scary.
mirhagk




PostPosted: Sat Jun 02, 2012 6:56 pm   Post subject: RE:I want to learn OOP

C# is one of the easiest languages to learn and use, and is 100% object oriented. I am in the process of writing high school courses on learning C#, so I can give you those if you want to try to learn. Good job for trying to learn so young, you'll be much better off in life.
Amarylis




PostPosted: Sat Jun 02, 2012 10:37 pm   Post subject: Re: I want to learn OOP

noodle @ Sat Jun 02, 2012 4:58 pm wrote:
I'm 9 year old and I have been looking and reading a lot of tutorials/guides about doing C++


I envy you, when I was 9 all I did was sit around and day dream. I'm fairly sure I wanted to be a dolphin when I was older, at that age.
Aange10




PostPosted: Sat Jun 02, 2012 10:53 pm   Post subject: RE:I want to learn OOP

Indeed me too Amarylis. But anyways, suggesting 3 different lagnauges is probably not going to help him much. At least, it never helped me any.


I'd honestly suggest starting with Turing soley because of the Turing Walkthrough. I'm not saying Turing is better (it's not) or easier to learn (debatable) than any of the other languages, but you have way way more resources here to learn Turing.

True, there are a lot of documents and blah blah on C# and Python, but it's much more confusing than Turing. Not to mention Turing Walkthrough alredy has a ton of information in it that is understandable. You (and me) would be lucky to get through a C# or Python document without getting confused.

And for icing on the cake, Turing is the most active form, and also one of the easiest to get help on (given that the environment is the same for everybody, and there are no other library to worry about needing to know.)


I personally suggest Turing. I'm not saying not to do C# or Python, but do start here, then progress.
jr5000pwp




PostPosted: Sat Jun 02, 2012 11:28 pm   Post subject: RE:I want to learn OOP

I agree with Aange10, however, I discourage attempting to learn OOP through turing's current implementation of OOP. Instead, you should learn OOP through a more friendly OOP language such as C# or Java after you've established a strong programming foundation. Turing is a great place to start and learn about functions, procedures, variable types, input, graphics and such. Once you are comfortable in turing, then you can try and learn C# or Java with OOP.

I started to learn turing last September, and from November-January, I knew enough about turing to make a very cool minecraft 2d game. Learning to program in turing is great because all of your resources are easy to understand, while resources for other languages don't explain things as well. So from experience, I would suggest you take Aange10's advice and learn turing for a few months. The Turing Walkthrough has enough to get you started, along with the help section of these forums, and the semi-good documentation available online.
Amarylis




PostPosted: Sun Jun 03, 2012 9:21 am   Post subject: RE:I want to learn OOP

Turing also has the example programs (<- how I learnt it, before I found out that there was a help file)
Sponsor
Sponsor
Sponsor
sponsor
QuantumPhysics




PostPosted: Sun Jun 03, 2012 9:38 am   Post subject: RE:I want to learn OOP

Dont. It's pointless. But if you do, then learn C# that's the closest ill ever go to it. Oh and UDK... but thats just for the fun of it Smile

EDIT: And wow. For a nine year old you have quite a wide-span vocabulary. I wish I had much wisdom at nine years old.

@Mrighak i second that, since it has built in drag drop functions its very easy to learn the commands, because it pretty much gives them for you. (sorry if i spelled you name wrong)
jr5000pwp




PostPosted: Sun Jun 03, 2012 11:04 am   Post subject: RE:I want to learn OOP

@QuantumPhysics Ever heard of copy and paste? That way you never misspell someone's name.

In addition to the drag and drop features(no one uses those) you have a very good debugging system, there is tooltips for all the functions, what they do, what parameters they accept, and what they return. And not to mention the simple yet powerful XNA game library.

@noodle It's your choice, if you want to have a very easy start to programming then learn turing, but also realize that you will have to relearn some things when you switch to a new language(Will be a lot easier though), or start with C# or Python and go straight into a more general use language.

Either way, there are people on this forum who would be glad to help you if questions arise whichever path you choose.
bl0ckeduser




PostPosted: Sun Jun 03, 2012 12:06 pm   Post subject: Re: I want to learn OOP

Well I'm certainly no programming expert (I'm a hobbyist), but I think C++ is probably not a good choice for a first, beginner language, because it is known to be very complex, and it is designed for professional use. Furthermore, I believe OOP is most useful for larger programs, which, being a beginner, you are unlikely to write. I agree with Senecide that
Senecide wrote:
Being only 9 and learning C++ by yourself sounds a bit scary.
Although OOP seems to be very much in vogue and is apparently popular in industry (which makes it wise to learn it), my personal advice is to learn how to write simple programs and algorithms before you learn OOP (I hope nobody calls me a heretic over this). Many simple programming tasks from which you could learn much have no reasonable need for OOP.
mirhagk




PostPosted: Sun Jun 03, 2012 2:45 pm   Post subject: Re: I want to learn OOP

bl0ckeduser @ Sun Jun 03, 2012 12:06 pm wrote:
Well I'm certainly no programming expert (I'm a hobbyist), but I think C++ is probably not a good choice for a first, beginner language, because it is known to be very complex, and it is designed for professional use. Furthermore, I believe OOP is most useful for larger programs, which, being a beginner, you are unlikely to write. Although OOP seems to be very much in vogue and is apparently popular in industry (which makes it wise to learn it), my personal advice is to learn how to write simple programs and algorithms before you learn OOP (I hope nobody calls me a heretic over this). Many simple programming tasks from which you could learn much have no reasonable need for OOP.

I agree in that there is no need to dive right into object oriented programming, but you should learn OOP before you even think about writing a large project, because the concepts in it (modular, extensibility) are an absolute requirement for a successful large project. I believe you should learn all the major programming paradigms, but if you don't have the time, OOP should be the priority with functional being 2nd (the first will teach you how to write programs that you can extend easily, and maintain easily, and the 2nd will teach you how to utilize multi-threading, and truly powerful concepts to get stuff done quicker, both in terms of processing and writing).

Do not start with C++. It's an older language and is really only popular in embedded systems (even then variations of basic, or other languages are common). Most of the programming nowadays is with either mobile or web platforms, both of which C++ is useless for. While it's a great language to learn, and something useful to have under your belt, it's becoming less and less popular, and it's too difficult to start with.

It is entirely up to you what you'd like to learn, but here's my personal suggestion:

If you already know some basic concepts of programming, what a variable is, what functions are, loops etc, then switch over to C#. It's an easy to learn language, if you use visual studio you have drag and drop functionality for building graphical programs, and there is a HUGE amount of support if you go the MSDN forums (microsoft actually pays people to just go around answering questions). It also has a beautiful help system, and just simply typing the function name will show you all the information you need to know about it.

If your entirely new to programming, and you're not thinking about the long term, or want a slightly easier time learning the basics, then start with the basics with Turing, but get out quick. DO NOT LEARN OOP IN TURING! I can't stress that enough. Turing's OOP was tacked on so that it could say it has it, but it's unnecessarily complex, and near useless. Switch to C# (or another language if you prefer) before you get too far into the language.
Amarylis




PostPosted: Sun Jun 03, 2012 9:35 pm   Post subject: Re: I want to learn OOP

mirhagk @ Sun Jun 03, 2012 2:45 pm wrote:
DO NOT LEARN OOP IN TURING! I can't stress that enough. Turing's OOP was tacked on so that it could say it has it, but it's unnecessarily complex, and near useless. Switch to C# (or another language if you prefer) before you get too far into the language.


Having followed the above quotation myself, I find that after I learnt some basic C#, Turing made a lot more sense to me. Also, playing around with Turing classes can be a fun exercise if you're bored on a Sunday evening
jr5000pwp




PostPosted: Sun Jun 03, 2012 10:27 pm   Post subject: Re: I want to learn OOP

Once I learned C# I found myself constantly attempting to grasp why the people at holtsoft would use such horrible syntax. For example, instead of doing something simple like:
code:

DoubleRect myRectangle = new DoubleRect(0.5, 0.5, 25.27, 27.25);
double area = myRectangle.Width*myRectangle.Height;

They have a complex method something like this:
Turing:

var rectangle : ^realRect
new rectangle
rectangle -> initialize(0.5, 0.5, 25.27, 27.25)
var area : real := realRect (rectangle).Width*realRect (rectangle).Height

However, something like:
Turing:

var myNum : int := 25
put myNum

may be easier to understand at first than:
code:

int myNum = 25;
Console.WriteLine(myNum);

Many people take the Turing->C#/Java/Python route, however, it seems as if noodle already knows the basics of programming (variables, functions, probably IO) so he may be best to dive straight into C# or Python.
[Gandalf]




PostPosted: Mon Jun 04, 2012 4:04 am   Post subject: RE:I want to learn OOP

Take a look at wtd's Reflections on OOP, there's some good material in there!

With concepts like this, you often just have to expose yourself to them enough, and eventually they'll "click". Then, after working with them some more, they'll "click" again. Learning is a continuous process. Smile
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 30 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: