Where to study programming

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
I think it's 4th generation development language.

C++ is 3rd generation.

But yeah C++ is used for games, we did some performance testing for a project and using C# our performance was non-existent, arithmetic was the main problem, when we actually did a comparison we got 2-3 FPS in C# VS. 26FPS in C++ just because of the weak arithmetic performance in C# ,that was while back tho (about a year) so things might have changed...
 
Last edited:

Threepwood

Senior Member
Joined
Aug 27, 2007
Messages
806
Cool, well then I won't throw out my c++ books right away, strangely enough I thought c# would be considered better as it's newer.

Wouldn't think of limiting myself to one, especially as I haven't even got any yet. :p
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
Cool, well then I won't throw out my c++ books right away, strangely enough I thought c# would be considered better as it's newer.

Wouldn't think of limiting myself to one, especially as I haven't even got any yet. :p

My personal opinion is that Java is the best language to learn in but yeah there are people who swear by C#

I did Basic -> Turbo Pascal -> Delphi -> .NET -> Java -> ASM -> C++ -> etc.

Out of all of them I found Java the best language to learn in because it forces you to use certain design principles but to each his own...
 

Threepwood

Senior Member
Joined
Aug 27, 2007
Messages
806
You mean you think it's (Java) the best to start with?

I'm pretty sure that it's a lot personal preference and also depends on the outcome goal/type of program you want (the language you would use), not really knowing jack about coding though :D

(My experience in coding) = (a few lines of QBASIC my friend taught me long ago) + ((one half finished programming diploma/course in C++) - (any part of the course that actually had any programming involved))

As for me, if I'm ever going to get serious into programming it's going to be around games, finished and klaar :p

But I don't rule out learning something else if it would help with that.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
As for me, if I'm ever going to get serious into programming it's going to be around games, finished and klaar :p

But I don't rule out learning something else if it would help with that.

Depending on the game you do need to know how to program, games can get quite complex.

On that note the reason I prefer Java over C#, which is the only 2 choices for beginners these days IMHO (unless you have someone lecturing you), is that C# supports things like overloaded operators that beginners snap up right from the start, for example:

String test = "test";
String test2 = "test";
if (test == test2) WriteToScreen("Yay"); //just a method to write to console.

In C# this could would write Yay but in Java it would not. Beginners would not understand why this is, but if you started with Java this is one of the things covered. It can just make things confusing for a beginner when moving between languages.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Depending on the game you do need to know how to program, games can get quite complex.

On that note the reason I prefer Java over C#, which is the only 2 choices for beginners these days IMHO (unless you have someone lecturing you), is that C# supports things like overloaded operators that beginners snap up right from the start, for example:

You don't think Python deserves an honourable mention?

String test = "test";
String test2 = "test";
if (test == test2) WriteToScreen("Yay"); //just a method to write to console.

In C# this could would write Yay but in Java it would not. Beginners would not understand why this is, but if you started with Java this is one of the things covered. It can just make things confusing for a beginner when moving between languages.

This is so true...
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,049
You don't think Python deserves an honourable mention?
Python is a 4G language that has gained incredible support quite quickly. It is quick to learn, and powerful in its own way. I wouldn't recommend it for someone serious about programming - not to start with. They way it handles variables could set you back if you jumped to Java/C#/C++ without the proper knowledge.

If you are going to enter programming as a career choice, I would definitely recommend learning the concepts first, and not worrying about the language. Java is good to learn with, but it also ties you into a language. C++ is the same but better - great in its own way (esp. gaming, OS dev, etc.), but until you learn a new language you are stuck with it. Find a good course that includes the concepts (even better if you are exposed to 2+ languages), and start there.

It's worth mentioning (again) that C# is easy to move to from both Java and C++, so it's a short step to a language/framework/platform combination that is well supported (and wanted) locally. :)
 

Threepwood

Senior Member
Joined
Aug 27, 2007
Messages
806
By concepts you mean basically theory and stuff like if, then, else statements etc?

The course that I was doing taught that stuff, but it's been a while, I'm sure I still have the material to brush up on that stuff though.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Python is a 4G language that has gained incredible support quite quickly. It is quick to learn, and powerful in its own way. I wouldn't recommend it for someone serious about programming - not to start with. They way it handles variables could set you back if you jumped to Java/C#/C++ without the proper knowledge.

If you are going to enter programming as a career choice, I would definitely recommend learning the concepts first, and not worrying about the language. Java is good to learn with, but it also ties you into a language. C++ is the same but better - great in its own way (esp. gaming, OS dev, etc.), but until you learn a new language you are stuck with it. Find a good course that includes the concepts (even better if you are exposed to 2+ languages), and start there.

It's worth mentioning (again) that C# is easy to move to from both Java and C++, so it's a short step to a language/framework/platform combination that is well supported (and wanted) locally. :)

IMO, Python is awesome for trying out quick ideas you have, or for learning intermediate to advanced concepts: you can quickly and easily see how something works.

You're absolutely right in that it's not quite perfect for a beginner, but then NO language is.
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,049
IMO, Python is awesome for trying out quick ideas you have, or for learning intermediate to advanced concepts: you can quickly and easily see how something works.

You're absolutely right in that it's not quite perfect for a beginner, but then NO language is.
Perhaps you misunderstand my intent: Python is perfect for the casual programmer looking to create something quickly. Not so good for teaching programming concepts. :)
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
Perhaps you misunderstand my intent: Python is perfect for the casual programmer looking to create something quickly. Not so good for teaching programming concepts. :)

That's true. But I also think you're misunderstanding me! I'm not looking for a duel :p

If you're talking about syntactical concepts, then true, python isn't the greatest. But I think Python is good for teaching other concepts, such as code-commenting and structure.
 

Gnome

Executive Member
Joined
Sep 19, 2005
Messages
7,208
You don't think Python deserves an honourable mention?

Haven't really used it so couldn't comment, I usually play it on the safe side when it comes to programming languages and keep to those with large communties/examples/etc. and is quite popular.

For beginners that is, when you can actually program, the language is a tool and it shouldn't take you long to switch between languages, that is my opinion at least.

It's worth mentioning (again) that C# is easy to move to from both Java and C++

x2
 

Threepwood

Senior Member
Joined
Aug 27, 2007
Messages
806
How do you compare C to C++? I realised the one book I have is actually teaching C, using a C++ IDE basically. My other book is on C++ OOP.

I ask 'cos the the one on C reckons there is "very little overlap" between C and C++?

Is plain C really much different and/or is it easier to learn than C++?
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,049
How do you compare C to C++? I realised the one book I have is actually teaching C, using a C++ IDE basically. My other book is on C++ OOP.

I ask 'cos the the one on C reckons there is "very little overlap" between C and C++?

Is plain C really much different and/or is it easier to learn than C++?
C is very simple in comparison, and in fact the uni module that I did started with C, and then moved onto C++ (which is an extension of C).

To quote Wikipedia...
Developed by Bjarne Stroustrup in 1979 at Bell Labs as an enhancement to the C programming language and originally named "C with Classes", it was renamed to C++ in 1983. Enhancements started with the addition of classes, followed by, among other features, virtual functions, operator overloading, multiple inheritance, templates, and exception handling.
 

FarligOpptreden

Executive Member
Joined
Mar 5, 2007
Messages
5,396
Python is a 4G language that has gained incredible support quite quickly. It is quick to learn, and powerful in its own way. I wouldn't recommend it for someone serious about programming - not to start with. They way it handles variables could set you back if you jumped to Java/C#/C++ without the proper knowledge.

If you are going to enter programming as a career choice, I would definitely recommend learning the concepts first, and not worrying about the language. Java is good to learn with, but it also ties you into a language. C++ is the same but better - great in its own way (esp. gaming, OS dev, etc.), but until you learn a new language you are stuck with it. Find a good course that includes the concepts (even better if you are exposed to 2+ languages), and start there.

It's worth mentioning (again) that C# is easy to move to from both Java and C++, so it's a short step to a language/framework/platform combination that is well supported (and wanted) locally. :)

C# FTW! My varsity degree started off with Java (OOP principles), followed by some C/C++ combination and eventually moving on to VB.NET. Since I then had the basics down, it was an easy migration to C#, which is now my language of choice.

I also had loads of exposure to XML/XSL and a bit of PHP during my multimedia modules. I also love XML - it allows you to easily create dynamic content on your pages in spite of not having a proper database to store information.
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,049
C# FTW! My varsity degree started off with Java (OOP principles), followed by some C/C++ combination and eventually moving on to VB.NET. Since I then had the basics down, it was an easy migration to C#, which is now my language of choice.

I also had loads of exposure to XML/XSL and a bit of PHP during my multimedia modules. I also love XML - it allows you to easily create dynamic content on your pages in spite of not having a proper database to store information.
:D These days it's very much a case of C# or Java as a primary language - apart from the C++ purists, of course.
 

FarligOpptreden

Executive Member
Joined
Mar 5, 2007
Messages
5,396
Yeah, a good friend of mine is one of those "purists", being as old-skool as he is. :p He's very good at what he does though. I even prefer C# for game-dev, using the XNA framework.
 

sn3rd

Expert Member
Joined
Jan 18, 2008
Messages
4,305
How do you compare C to C++? I realised the one book I have is actually teaching C, using a C++ IDE basically. My other book is on C++ OOP.

I ask 'cos the the one on C reckons there is "very little overlap" between C and C++?

Is plain C really much different and/or is it easier to learn than C++?

The basic syntax is the same, and most things from C will work in C++, but not the other way around. In super simple terms, you could think of C++ as an object-oriented C. Function definitions and usage, conditional statements, loops, etc are all pretty much the same. But you can't (AFAIK), declare something as private, for example, or attempt inheritance, when using a C-only compiler.
 
Top