Sign in to follow this  
virus111

Super Beginner

Recommended Posts

virus111    116
Hey Everyone,
I'm just getting started in programming, and I had some quick questions. I started off with C# by reccomendation of a school counselor, but browsing the internet I have only seen talk of games written in C and C++.

If I am interested in eventually programming Windows games, what language(s) should I learn?

As far as I understand, C# is just the next generation of C++, so would most things that I learn in C# apply to C++?

I am also working towards my BSBA in Computer Information Systems, because math hasn't ever been my strongest point and the CIS degree still had some programming requirements. In your oppinions would that be a good choice?

I know this question is completely "noob" of me, but while playing online games I have noticed that there is alot of SQL involved, but I don't understand what it is used for. What is a database and how does it connect to a game that you are programming? An explanation for that would be great as well ^_^

Im not very artistic when it comes to drawing, so I dont know if I should pursue being a graphic artist... I guess I am just looking for some advice in general.

Thanks in advance

-Virus

Share this post


Link to post
Share on other sites
highendman    100
"If I am interested in eventually programming Windows games, what language(s) should I learn?"

If you don't care about cross platforming, C# is probably a good choice. I don't know it well, but from what I have heard, it's easy to learn.

"as far as I understand, C# is just the next generation of C++"
no. It's not the next generation, its a different language. (it uses the .NET framework)

"so would most things that I learn in C# apply to C++?"
it has a very similar syntax and you can easily switch between the languages. If you know one, it shouldn't be too hard to learn the other one.


So go for C# and if you are familiar with it, you could look at XNA, which is very nice for games. :)

Share this post


Link to post
Share on other sites
Super_Nova    116
Hi virus

If you want to get into games development you will need to learn C++, games development focuses around object orientated programming, which is only supported by C++ and not C#.

As far as C++ being a later version of C#, this is correct, but again the features you will want to use in creating games is only in C++.

Sql stands for "standard query line database", its much like an excel spreadsheet, the reason its used in online games is because information like char names, and items that the chars hold, and monster names and what map and location they are in the game world, is information that the server needs access to so that it can relay that information to the players computers around the world.

Online games are among the most complicated games to create, due to the fact you need a client and a server which work together sending data back and forth, and simple 2d game would be a good place to start.

Try using a program like yoyo games gamemaker, just to give you the basics of how games are put together.

Share this post


Link to post
Share on other sites
highendman    100
Quote:
Original post by Super_Nova
Hi virus

If you want to get into games development you will need to learn C++, games development focuses around object orientated programming, which is only supported by C++ and not C#.

As far as C++ being a later version of C#, this is correct, but again the features you will want to use in creating games is only in C++.


C# focuses even more on OO than C++. And C++ is older than C#.
Are you mixing up C and C# ? :)

Share this post


Link to post
Share on other sites
virus111    116
Thanks for the quick responses. Though now I have one person telling me c# is good, and one saying i need c++... hmm.

Also, I have been working with a game maker called Xtremeworlds, but It doesnt seem programming oriented at all. its basically just tiles and layers so far for visual effects. I'll check out yoyo and see how it works. Are there any good up to date sites that have in depth tutorials for either c# or c++?

-Virus

Share this post


Link to post
Share on other sites
highendman    100
no. You are mixing up C# ( c - sharp) and C. Theres a difference.

The right order is like this:


C -> C++
->C#


here are the wikipedia articles:

http://en.wikipedia.org/wiki/C_(programming_language) (C)
http://en.wikipedia.org/wiki/C%2B%2B (C++)
http://en.wikipedia.org/wiki/C_Sharp_(programming_language) (C#)

//e:

and theres no C+, either :)

But yes, C++ "evolves" out of C. C# is only similar to the C++ syntax, but it is really a different language. It's much more like Java

Share this post


Link to post
Share on other sites
oler1s    585
Like other beginners, you're making the mistake of quibbling over choice of first language in light of your future plans. You're wondering if that's the right language for whatever you plan to do sometime in the future, whereas the real concern is if it's the right language for you to be effectively learning in.

It is irrelevant where you eventually plan to work. It is irrelevant what kind of games you plan to make. It is irrelevant what kind of platforms you eventually intend to target. Programming is not language or platform specific.

You should pick an accessible language that enables you to construct meaningful programs, and gives you quick feedback. Something that focuses on the construction and design as opposed to language details. C++ is very poor in that regard, and C# and Python are significantly better.

This topic has been extensively discussed on the forum. Start by searching this forum on the language question. See what has been said, and consider that information.

Share this post


Link to post
Share on other sites
highendman    100
we can't choose a language for you, because there is no "right" language.
But would still recommend C#, because C++ can be very frustrating, it's hard to learn and even harder to write efficient code. C# is a bit more "user friendly" :)

Share this post


Link to post
Share on other sites
virus111    116
Thanks ^^

C# it is. Up until now I have been watching video tutorials on youtube, do you all reccomend books? or should I find more tutorials? I know there are articles written about it i just am looking for some general feedback from people that are programming already.

Share this post


Link to post
Share on other sites
Gamer Gamester    140
I'd choose C# based on what you said. Take this with a grain of salt (I have yet to use C#), but based on what I've heard C# should get you up and running much quicker than C++ (with which I've used plenty), which you can take your time learning on the side.

Though really, if I were a beginner again I would start with Python.

Share this post


Link to post
Share on other sites
BGrizzMayne    100
Yeah, picking a language is sometimes hard. I'm a super n00b as well, slowly learning some C++. I struggle with for loops and some of the harder stuff, so I'm not rushing because I want to make sure I know everything like the back of my hand.

But I'd recommend python to learn some basic programming concepts. Eventually, you'll need to know C++, but starting elsewhere definitely is a good idea (coming from a beginner trying to learn c++)

Share this post


Link to post
Share on other sites
kiwibonga    183
Quote:
Original post by virus111
Hey Everyone,
I'm just getting started in programming, and I had some quick questions. I started off with C# by reccomendation of a school counselor, but browsing the internet I have only seen talk of games written in C and C++.

If I am interested in eventually programming Windows games, what language(s) should I learn?

As far as I understand, C# is just the next generation of C++, so would most things that I learn in C# apply to C++?


C# isn't exactly the next generation of C++; it's certainly inspired by C++, but it's much more similar to Java than C++. It's a different philosophy altogether, and it's not going to replace C++ anytime soon.

Ultimately, learn -any- language. You don't have to start with a language that you'll stick to your entire life -- just learn one, and it'll be very easy to pick up another one. C# is probably a better starting language because it's so easy to debug, but you'll find a lot more game-oriented libraries for C and C++.

Quote:
I am also working towards my BSBA in Computer Information Systems, because math hasn't ever been my strongest point and the CIS degree still had some programming requirements. In your oppinions would that be a good choice?


Personally, I dropped out of computer science because of math, but that never prevented me from programming on my own time. If you ever find that you're just clinging to that program because it has the word "computer" in it, but that it won't lead you exactly where you want to go, don't be afraid to switch fields. Programming is like being a car mechanic -- it's easier and faster if you get formal training and professional experience in it, but the tools and knowledge are available to everyone. Not getting the degree doesn't mean you can't be a programmer.

Quote:
I know this question is completely "noob" of me, but while playing online games I have noticed that there is alot of SQL involved, but I don't understand what it is used for. What is a database and how does it connect to a game that you are programming? An explanation for that would be great as well ^_^


Wikipedia could explain that -- a database is usually a set of tables, where each table is made up of columns and rows; you send queries written in SQL (simple query language) to a database server (the program that manages your databases), and then the server sends a response back; a list of rows containing data that you can use in your program. When you submit a post on this board, the forum software sends a query to a database server and inserts your post text into a database, along with your user ID, a timestamp, and other data. When someone views your post, the software sends a SQL query to retrieve the post, based on the variables you see in the address bar of your browser (topic_id=589114). The forum software then populates a template with the retrieved data and serves you the page you're seeing now.

Quote:
Im not very artistic when it comes to drawing, so I dont know if I should pursue being a graphic artist... I guess I am just looking for some advice in general.

Thanks in advance

-Virus


I would not recommend any artistic field unless you have tremendous natural talent, because there's just so much supply, and so little demand. It's not easy to break through, and if you lose your job, you're not guaranteed to find another one quickly. Your CIS degree will open more doors, IMO.

Share this post


Link to post
Share on other sites
virus111    116
Thanks Kiwi for hitting all of the questions I asked. Very helpful. And yeah, so far C# seems pretty straightforward. Though I really haven't done much with it. Im sure I'll be stopping by here alot as I go to ask for help. Thanks everyone.

-Virus

Share this post


Link to post
Share on other sites
jyk    2094
Quote:
Original post by Super_Nova
If you want to get into games development you will need to learn C++, games development focuses around object orientated programming, which is only supported by C++ and not C#.

As far as C++ being a later version of C#, this is correct, but again the features you will want to use in creating games is only in C++.
I'll echo the question asked earlier: are you confusing C# with C? (Even with 'C' substituted for 'C#' the above is not entirely correct, but as written, it's pretty much entirely incorrect.)

Share this post


Link to post
Share on other sites
steviedisco    109
A programmer should be able to program into any language. Once you've learned the concepts with one, you should be able to move across to another language taking what you know with you. it's only really the syntax which is different, unless you move into a different paradigm like functional languages.

Roll up your sleeves, learn one and concentrate on that without thinking what it's like on the other side of the fence. It'll take you a while to become proficient in your first language. More haste, less speed and all that.

Personally, I would recommend C#. I use both C++ and C#, and C# is definitely easier to learn, with less that can go wrong. You pretty much don't have to worry about memory management, corrupt heaps and things like that - garbage collection is taken care of for you.

With C++, a lot less is given to you and you have to take detours all the time to do some of the simple things you can do with C#. For instance, to read a xml file in C#, you just reference the System.xml assembly and use the ready-made objects in that namespace. Job done. In C++, you have to either roll your own or download someone elses' solution, for instance TinyXML and TinyXPath, get those compiled, installed and working without errors for your different configurations and even then they're just not as nice to use. The .NET Framework is a thing of beauty.

To be honest, the only major advantage C++ has over C# is speed. On your first few projects, you're much better off learning programming and game development concepts with as few obstacles as possible and C# with XNA gives you just that. You'll only get yourself in a big frustrated mess if you try to do it in C++ first time. The trade off in execution time is well worth it IMO.

I've been programming professionally for 12 years, and am working on my first 3D game/render engine in C++, and even for me it is a challenge. XNA doesn't give you everything, so there's still room to learn a lot with it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this