Learning to Program...

Started by
12 comments, last by DevFred 15 years, 9 months ago
Ok , so since I was 5 years old (when my grandma bought a computer) I have had a computer. When I was 12yrs old I downloaded Game Maker and started to make little games, ever since then I have always had Ideas for games and the like. Now I am 18 and I would not say I am the smartest person alive. I am awful at math (I dropped it after level 1, so I have not had to use math in 2 years to any great extent)but I have still been sticking with trying to learn C++. The only problem is that, although I am slowly making my way through the text I am using to learn c++ there are not many exercises to help reinforce the ideas taught, an I find that i forget a lot of the more in depth stuff. So, although knowing a little c++ I was wondering If it would be a good idea to switch to something a little more simple, such as Java as a first (serious) programming language? And also, do you have to be a genius at maths to be able to do a decent job at programming?
Advertisement
Many people find Python much easier to learn than C++ or Java. You may want to start there. The key is finding yourself a good text from which to learn.

As for math, at it's heart programming is 100% math and logic. Take heart though, many people find the learning of math to be much easier when it's applied math rather than theoretical math.

-me
Cool, I will take a look at Python. I think I might have jumped into the deep end of the pool before knowing how to swim with c++...
Yeah check out Python or C# it makes programming fun again after wrestling with C++.
Only functional programmers or if you plan on writing the next mathematica or something do you have to mess with math much so I wouldn't worry about it.
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
You could start with Blitz Basic.
Its much easier than either one of those and very effective.
Of course, if you want executables, it will cost you about 60 USD
but those were the best 60 USD I ever spent.
Quote:Original post by Appmonster
And also, do you have to be a genius at maths to be able to do a decent job at programming?


I hope not, or else I'm screwed! I think there are a lot of people like ourselves who have asked that question because we aren't particularly any good at math. We're just going with the flow seeing how far we can go without any advanced math and or hoping we can learn some on the way.

I would definitely give Python a look. I just started recently learning programming and as I was doing some research Python seemed to be the most mentioned when it came to starting languages. Now after using it for a little bit, I can see that it is pretty simple (as far as syntax goes). I don't have anything else really to compare it too, aside from what other people have said. I've seen some of what C++ code looks like and it isn't pretty. I think it will be especially easy for you because you started with C++, so give it a go.
Just an update, I have decided that I will have a shot at Java. I had a look at python and compiled some code, a simple hello world program:

print "Hello, here are some numbers: "               for i in range(10):               print i, 


But after some thinking, although Python looks like a great language I would rather learn a language that teaches OOP (I know Python does) but also has syntax close to that of C++ (Python Doesn't) so when i eventually do learn C++ It will come alot easier. Also I didn't like how python uses indentation instead of bracers ( { } ) for code blocks.

I decided on Java for a couple of reasons:

- Java is designed for use with the internet. This would make developing games with Online capabilities (No, I don't plan on making an MMO lol)easier then with c++.

- Java's Syntax is based on C, while its structure and stuff is based on C++. This would make the two languages just slightly easier to pick up after learning Java, not to mention the syntax of java resembles what I have been learning with of c++.

- C# also borrows ideas from Java, so if I ever wanted to go into consoles (xbox) it would be easier.
Quote:Original post by Appmonster
Just an update, I have decided that I will have a shot at Java. I had a look at python and compiled some code, a simple hello world program:

*** Source Snippet Removed ***

But after some thinking, although Python looks like a great language I would rather learn a language that teaches OOP (I know Python does) but also has syntax close to that of C++ (Python Doesn't) so when i eventually do learn C++ It will come alot easier. Also I didn't like how python uses indentation instead of bracers ( { } ) for code blocks.


What do you mean, you compiled it? Python is interpreted.

Don't sweat the syntax; you'll pick up C++ syntax quickly enough, it's the concept that's important. As for the braces, you'll probably use braces to indicate code blocks anyway, so why not just go with it?

The only reason that I can think of not to use python for learning OOP is that its flexibility let you do things that you won't be able to do statically typed languages like C++/Java/Etc (that is, variables in those languages stay the same type). It may mess you up a little later. But then, it may let you concentrate on getting the fundamental concept.Is it better to start in loose environment, or a restrictive one?
By compiled I mean, umm... I wrote up some code, bah you know what I mean =P
Quote:Original post by Appmonster
By compiled I mean, umm... I wrote up some code, bah you know what I mean =P


Just so you're clear, those are two very different things, writing and compiling. Writing is just that, writing. Compilation is the process of turning the code which you have previously written into a format that can be directly executed by a computer, or in the case of Java, another program called a Virtual Machine (machine = computer, sorta). You'll pick this up as you go, but don't use terms you don't know to try to make yourself sound smarter, because it doesn't work.

This topic is closed to new replies.

Advertisement