Page 3 of 4

Re: Im a noob i know

Posted: Wed Feb 10, 2010 3:03 pm
by OmegaGDS
Ginto8 wrote:It's nice to see someone ~12yo is getting into programming. I'm not really the person to ask about a "starting language" (I started with C++), but I've heard a lot. Python is probably a good idea if you want to get into games, because it has stuff like PyGame, but it also allows you to use it for other things that may catch your interest (which, believe me, will probably happen often). From what I've heard it's a bit easier than C++, but it also isn't too high-level (Visual Basic is NOT where you want to start...). So try Python; it'll help you in the long-term ;)
I've heard that python is pretty good, but I have never used it myself

Re: Im a noob i know

Posted: Wed Feb 10, 2010 4:52 pm
by eatcomics
I know lots of people use pygame, and from what I've seen, I think I would recommend it. It should teach you the basics of game programming, and programming in general.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 4:56 pm
by OmegaGDS
If someone wanted my personal recommendation, I would recommend starting with Java.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 8:34 pm
by wtetzner
hayk0510 wrote:The head guy of the gears of war team was talking about a switch from C++ to Haskell in the future of gaming.. I don't have the link now, but I can post it if you want.
I want it. Could you post the link?
Haskell is a cool language, but I don't know if I'd want to use it for game programming. Games have a need to keep state, and in my experience Haskell isn't really the best choice for that kind of thing. Although if it's to use Haskell's concurrency features, like STM, then I suppose it would make sense.

I'm partial to Clojure, but I suppose most game developers don't want to use a language that runs on the JVM, since they need them to run on consoles.

Anyway, I'd like to see what they had to say about using Haskell for game development.
And in any case, switching to Haskell would almost certainly cause games to be more stable :).
avansc wrote:The C programming language is TINY compared to languages like C#.
Yes, C is tiny compared to C#, but C++ is massive. There is a big difference between C and C++.

(BTW, the following isn't aimed at you, avansc. It's just my opinion of C++.)

C is a nice, clean little language, while C++ is huge and complicated. If you don't believe me, when should you use a virtual destructor?
Most people only use a subset of C++. The problem with this is that it's usually not the same subset that other people are using.
Also, C++ is not portable. Different C++ compilers have all kinds of incompatibilities with each other, which is in large part because C++'s grammar is so complicated (it's basically unparsable).
Another problem with a complicated syntax is that it is difficult to make tools for working with the language: editors, syntax highlighters, language translators, etc.
Not to mention C++ is the only language I know of where link errors are a common problem.

It's my opinion that C++ is a poorly designed language.
I don't mean to offend anyone who likes to program in C++, it's just my opinion.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 9:36 pm
by ZachO
OmegaGDS wrote:I've heard that python is pretty good, but I have never used it myself
So you recommend java? if so is it simple? Because i still haven't completely decided but I cant start programming until summertime because of school work.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 9:41 pm
by wtetzner
ZachO wrote:
OmegaGDS wrote:I've heard that python is pretty good, but I have never used it myself
So you recommend java? if so is it simple? Because i still haven't completely decided but I cant start programming until summertime because of school work.
I'd say start with Python. Java's not a bad language, but in my opinion Python is overall a better language. And it's not like you can only choose one language. I say learn as many as you can.
But both Java and Python are good languages to start with.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 9:44 pm
by davidthefat
wtetzner wrote:
hayk0510 wrote:
C is a nice, clean little language, while C++ is huge and complicated. If you don't believe me, when should you use a virtual destructor?
Most people only use a subset of C++. The problem with this is that it's usually not the same subset that other people are using.
Also, C++ is not portable. Different C++ compilers have all kinds of incompatibilities with each other, which is in large part because C++'s grammar is so complicated (it's basically unparsable).
Another problem with a complicated syntax is that it is difficult to make tools for working with the language: editors, syntax highlighters, language translators, etc.
Not to mention C++ is the only language I know of where link errors are a common problem.

It's my opinion that C++ is a poorly designed language.
I don't mean to offend anyone who likes to program in C++, it's just my opinion.
I noticed that, I tried even writing a simple input output program using Turbo C++, I got so much syntax errors and stuff, I just gave up... I will be sticking with DevC++

Re: Im a noob i know

Posted: Wed Feb 10, 2010 10:32 pm
by OmegaGDS
ZachO wrote:
OmegaGDS wrote:I've heard that python is pretty good, but I have never used it myself
So you recommend java? if so is it simple? Because i still haven't completely decided but I cant start programming until summertime because of school work.
Java is definitely simpler and more user friendly than c/++. And it improves a little on some of c's mistakes. Its what I started out with, but I hear that python is pretty good too.
NOTE: I've never coded in python, so for a best reference, you probably should ask someone who has coded both in java and python. I'm biased.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 11:01 pm
by ZachO
So was the transition from java to c++ not to bad?
If so i think i want to cut out the middle man and start with java and move onto c++

Re: Im a noob i know

Posted: Wed Feb 10, 2010 11:18 pm
by OmegaGDS
ZachO wrote:So was the transition from java to c++ not to bad?
If so i think i want to cut out the middle man and start with java and move onto c++
Not to bad. The fact that Java isn't the simplest language means that it gets a lot of concepts that you will confront out into the playing field. I feel like c++ just takes many of the concepts more in depth. As far as paradigms, C++ supports more than java does. Basically, if you learn Java first and understand it, learning c++ won't be bad at all (in my opinion).

That is how I got started. I learned Java first, then moved to C++ (which I like a lot more than Java, but probably wouldn't understand if I didn't have Java first).

I hear that python is easier than Java, and that it would be a good language to learn if you want to learn only one language, but it leaves out on the finer details (also my opinion). Things like set and get statements are non-existent in python, but are used in Java.

In my opinion (<= that phrase is getting pretty cliche), if you want to learn a user friendly language that will be more helpful to you in the long run (eventual transition to C++), I would use Java. The way I see it, learning python first would just create more work for you. I would start with Java to make a transition to C++ smoother, and if it is too hard, then use python.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 11:27 pm
by OmegaGDS
Java and Python are kind of like cars.

Java is like a 5 speed manual, and Python is like an automatic. They both do the same thing, but the manual gives you more control and insight into what the car is doing.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 11:38 pm
by wtetzner
OmegaGDS wrote:Java and Python are kind of like cars.

Java is like a 5 speed manual, and Python is like an automatic. They both do the same thing, but the manual gives you more control and insight into what the car is doing.
I wouldn't say Java gives you more control. In fact, I'd say Python gives you more control. Python can do anything Java can. Python also has some pretty cool metaprogramming abilities, like the ability to modify a class at run time, that Java doesn't.

I'm not trying to beat up on Java, it just doesn't seem like you know anything about Python.

Re: Im a noob i know

Posted: Wed Feb 10, 2010 11:57 pm
by OmegaGDS
Your right, I don't know much about python, but from what I have seen, python... cuts corners. But hey, I'm biased. ;) Not saying python is bad or anything, but that... I guess it seems to be more user friendly

I'm not putting python down either, but I guess that I would recommend what I know. I guess it just depends on what your POV is

Re: Im a noob i know

Posted: Tue Feb 16, 2010 1:47 am
by hayk0510
wtetzner wrote: I want it. Could you post the link?
Haskell is a cool language, but I don't know if I'd want to use it for game programming. Games have a need to keep state, and in my experience Haskell isn't really the best choice for that kind of thing. Although if it's to use Haskell's concurrency features, like STM, then I suppose it would make sense.

I'm partial to Clojure, but I suppose most game developers don't want to use a language that runs on the JVM, since they need them to run on consoles.

Anyway, I'd like to see what they had to say about using Haskell for game development.
And in any case, switching to Haskell would almost certainly cause games to be more stable :).
Here is the link.. but it's a slide show, so you will have to DL it.

http://www.st.cs.uni-saarland.de/edu/se ... sweeny.pdf


Sorry for being so late, I don't come around these forums much.
I found it really interesting, I hope you enjoy it. :)

Re: Im a noob i know

Posted: Tue Feb 16, 2010 8:28 am
by avansc
wtetzner

"(BTW, the following isn't aimed at you, avansc. It's just my opinion of C++.)

C is a nice, clean little language, while C++ is huge and complicated..."

Haha, no offense taken dude.

Yeah I feel C is way more "sanitary", altho i do not know if id say its a "poorly designed" language,
i just don't think it would have grown to what it is if it was. but thats just my opinion, it may be that its just riding on daddys(c) back, which is completely plausible.

as for you virtual deconstructor question, im not a C++ so i might be imbarasing my self.

if you have have a class shoe; then a derived class poo : public shoe;
and you do something like

shoe *nike = new poo();
then delete nike.
the poo's destructor does not get called if shoes destructor is not virtual.

ps: nike please dont sue me.

Oh and then with your python can do anything java can and more.. yes i think python is a fantastic little lang. its aptly named. but, does python have anything like java's JNI?

note: im not saying any only language it better. most languages dont try and do the same thing. so to compare them is well.. just not smart.