Im a noob i know

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post 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
Image
Image
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
Posts: 2528
Joined: Sat Mar 08, 2008 7:52 pm
Location: Illinois

Re: Im a noob i know

Post 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.
Image
User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post by OmegaGDS »

If someone wanted my personal recommendation, I would recommend starting with Java.
Image
Image
User avatar
wtetzner
Chaos Rift Regular
Chaos Rift Regular
Posts: 159
Joined: Wed Feb 18, 2009 6:43 pm
Current Project: waterbear, GBA game + editor
Favorite Gaming Platforms: Game Boy Advance
Programming Language of Choice: OCaml
Location: TX
Contact:

Re: Im a noob i know

Post 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.
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.
User avatar
ZachO
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 84
Joined: Wed Dec 30, 2009 3:45 am
Favorite Gaming Platforms: DC, Atari 2600, GC
Programming Language of Choice: Python
Location: Troy, AL

Re: Im a noob i know

Post 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.
User avatar
wtetzner
Chaos Rift Regular
Chaos Rift Regular
Posts: 159
Joined: Wed Feb 18, 2009 6:43 pm
Current Project: waterbear, GBA game + editor
Favorite Gaming Platforms: Game Boy Advance
Programming Language of Choice: OCaml
Location: TX
Contact:

Re: Im a noob i know

Post 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.
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.
User avatar
davidthefat
Chaos Rift Maniac
Chaos Rift Maniac
Posts: 529
Joined: Mon Nov 10, 2008 3:51 pm
Current Project: Fully Autonomous Robot
Favorite Gaming Platforms: PS3
Programming Language of Choice: C++
Location: California
Contact:

Re: Im a noob i know

Post 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++
User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post 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.
Image
Image
User avatar
ZachO
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 84
Joined: Wed Dec 30, 2009 3:45 am
Favorite Gaming Platforms: DC, Atari 2600, GC
Programming Language of Choice: Python
Location: Troy, AL

Re: Im a noob i know

Post 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++
User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post 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.
Image
Image
User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post 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.
Image
Image
User avatar
wtetzner
Chaos Rift Regular
Chaos Rift Regular
Posts: 159
Joined: Wed Feb 18, 2009 6:43 pm
Current Project: waterbear, GBA game + editor
Favorite Gaming Platforms: Game Boy Advance
Programming Language of Choice: OCaml
Location: TX
Contact:

Re: Im a noob i know

Post 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.
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.
User avatar
OmegaGDS
Chaos Rift Regular
Chaos Rift Regular
Posts: 123
Joined: Mon Jan 18, 2010 3:20 am
Current Project: GMN (C++)
Favorite Gaming Platforms: PC, PSP / Psp Emulation, GameCube, SNES, NES
Programming Language of Choice: C++
Location: Kentucky
Contact:

Re: Im a noob i know

Post 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
Image
Image
User avatar
hayk0510
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 21
Joined: Tue Mar 10, 2009 11:03 pm

Re: Im a noob i know

Post 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. :)
"Manually managing blocks of memory in C is like juggling bars of soap in a prison shower: It's all fun and games until you forget about one of them."
User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: Im a noob i know

Post 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.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
Post Reply