learn C or C++ ??

Started by
43 comments, last by Promit 16 years, 7 months ago
Quote:Original post by Wikipedia
http://en.wikipedia.org/wiki/Scripting_language

Scripting languages (commonly called scripting programming languages or script languages) are computer programming languages that are typically interpreted and can be typed directly from a keyboard. Thus, scripts are often distinguished from programs, because programs are converted permanently into binary executable files


Notice the last line:
"Thus, scripts are often distinguished from programs, because programs are converted permanently into binary executable files."

Im not saying that Python should be classified as a scripting language exclusively on this description. However, you can't blame me for my assumption.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.
Advertisement
Quote:Original post by Mercenarey
I have only seen Python being used as a scripting language. And since it is interpreted, it is far from as fast as a binary program, like those created by C++.


A program written in pure x86 assembly should be faster(in theory) then a C++ program, why don't you program in assembly?

Quote:Original post by Mercenarey
However, no matter if you can develop all with Python or not, you must admit that it is best utilized as a scripting language, since it is interpreted, and thus slow. Games are known to be power hungry.


You make it sound like he'll get 2 frames per second. It's slower, not slow. I think if you actually took the time to learn Python, Mercenarey, that you'd find it is a lot easier to make programs with then C++ and is fast enough for most people. Anyone working by themselves isn't going to be making anything close to commercial quality anyway.

Quote:Original post by Mercenarey
No matter what, I still recommend the guy to learn C++ - especially if he wants to work in the industry.


Our point is that he doesn't have to learn it first. He can deal with basic computer science concepts first and struggle with syntax later.

Quote:
He stated clearly that he wanted to work in the industry. And he named areas like networking. I couldn't imagine doing that in an interpreted language exclusively.


Twisted

You need to let go of your prejudice and misconceptions about "interpreted languages". All they are is bytecode that is executed by a virtual machine instead of the actual machine. That's all. "Scripting" is an issue of definition that, in the end, is pointless. There's no actual difference. Python is a programming language, period. If anything, the fact that it doesn't need compilation is a pro for a beginner. There's nothing C++ can do than Python can't(the opposite is true in some cases, I can show you examples that take 8-10 lines of Python instead of thousands of lines in C++).
Ok, it seems I wandered into a camp of Python zealots.

I can't see what this has to do with my initial recommendation. And I can't see that my recommendation is worse than yours.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.
Quote:Original post by Mercenarey
I can't see what this has to do with my initial recommendation. And I can't see that my recommendation is worse than yours.


Your initial recommendation is this:

Quote:
If your choice stands between C and C++, there is no doubt that you have to choose C++.


And I agree with it. However, if the choise is not limited between C and C++, I feel Python or C# are far better choises for a beginner. I'm far from a zealot, I've just worked with all those languages and can compare(Have you?). However, your recommendation is not 'worse'. It's not a race. We're just exchanging opinions here. You have the right to have yours, although you have failed to provide any real argument here: you just classify Python (which you admit that you don't know yourself) under the vague term 'scripting language' without explaining why that matters at all).
It feels like a race, because I have had to defend against everyone here, and I even recieved minus points in the process.

You are advising a guy, who wishes to work in the industry and who wishes to do networking to use an interpreted language.

I will stick with C++. Lets just agree to disagree then.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.
Hello,

First off, I can't believe the discussion got this heated, but I knew it was the moment the poster posted this topic. The two languages were C# and Python. Everyone fight about which language he should learn first, but I noticed that two languages get mention very quickly. I swear a mod. or an admin should just make a sticky about not posting this stuff and should redirect them to older topics before they do.

Well to the poster of this topic I say you should sit back and look at your skills. If you always challenged yourself in life than I can say as an opinion you can go to learn C++, but be advise it is hard to grasp some topics.(That is why I learned C++ first, but I know I am no were near a master. Hell I wouldn't even consider I am in the intermediate section either.) For example, pointers, abstract classes, derived classes(in a way), and some other topics. I do not know if C# or any other language have those topics since I only learned C++ and Visual Basic so far, but it can get hard at times in those topics.

I would actually advise you to just learn any language you want and just come here for help if you need it. That is what this community is for. Anyways you can always heed the advice that was given numerous times to you before, which was learn either C# or python (This IS a programming language, and not just a scripting language. I know a previous poster said that it was not a programming language, but it is. There is actually an article on GameDev.net website about someone who choose to try to make a game in a week and he used python for it.) as a beginner language.

Well I wish you much luck in your journey and if you EVER need help just come here and ask your questions, because there is people in this community who cares to answer them.

~Carl J. Loucius
Quote:
You are advising a guy, who wishes to work in the industry and who wishes to do networking to use an interpreted language.


Yes, I am. I really don't see why not.
Quote:Original post by Mercenarey
Ok, it seems I wandered into a camp of Python zealots.


No you've wandered into a forum where high level code is generally preferred to unnecessarily difficult languages like C and C++. The vast majority of beginners come to this forum with limited programming experiance and wanting to make a game. In general this forum tends to recommend using higher level languages that make learning to program easier so that the beginner can focus on learning the ins and outs of programming and writing games rather than irritating syntax and undefined behavior issues related to C++.

In particular this means that the forum tends to recommend python with pygame and C# with XNA. Both of these languages are much easier to write correct code in than C or C++ and in general will lead to a beginner being more sucessful at writing their game.

Quote:Original post by Mercenarey
I can't see what this has to do with my initial recommendation. And I can't see that my recommendation is worse than yours.

Your initial recommendation of C++ is flawed for several reasons.


  1. C++ and C have largely undefined behavior in cases where code is incorrect. This makes it very difficult for a beginner to learn by experimentation. Reading outside an allocation or returning a pointer to a local variable are both incorrect, but tend to work "correctly" until they don't This means that a lot of beginners write code they think is correct and only starts breaking after they've written thousands of lines.

  2. You emphasize speed as an important reason to choose C++. Ignoring the fact that C++ is not necessarily faster than managed solutions (and is sometimes slower) this implies that beginners need to and are capable of writing high performance code. In general this isn't the case. Unless you make significant algorithmatic mistakes asteroids is going to run just fine on a modern computer regardless of whether it's being interpreted, compiled or anything else.



You honestly believe a network programmer who only knows Python will get a job in the industry?

IMO only gameplay programmers at the highest level would get away with only knowing python.

Last words from me, cya around.
Quote:CalvinI am only polite because I don't know enough foul languageQuote:Original post by superpigI think the reason your rating has dropped so much, Mercenarey, is that you come across as an arrogant asshole.

This topic is closed to new replies.

Advertisement