Best language for beguinner?

Started by
19 comments, last by JonConley 13 years, 6 months ago
There is a few things to consider regarding C#

For the windows platform I would strongly consider C# due to its strong relation with the .NET platform, its connection to ASP, and also as the native choice for forms applications (RAD). Combine that with the strength of Visual Studio and the MSDN documentation, and you got a pretty serious development studio.

I don't mean to underestimate Python though, it also has a lot going for it and they are both good choices for games. But, if GUI, web development and windows integration matters, I would seriously consider C#.

Quote:
C# looked decent as well, but somewhat more codes that "doesn't do anything just needs to be there"

I wouldn't worry about that. Unlike Python, C# has a lot of syntactic similarities with C++ and Java, something that could be an advantage too. I think all the languages we have discussed are pretty efficient syntactically and free of redundant constructs.

Of course, the fact that C# is a statically typed language makes the syntax a bit more "picky", but that also has the advantage of making the language slightly "faster" at runtime, which I believe it is.

Yet another thing to consider is the fact that C# is compiled while Python (usually) is interpreted on the fly. This could have an impact on things like deployment, as well as runtime efficiency. When it comes to writing server maintenance and configuration scripts its hard to beat Python, or Perl for that matter.

In the long run you may want to consider learning both =)

[Edited by - pulpfist on October 12, 2010 6:24:24 PM]
Advertisement
actually there is a book on game maker, it's titled "game maker apprentice". and i think there is a new one already coming out. it seems to me that game maker managed to find a niche market and do it best - click and create 2d game development, both for win and mac.

darkbasicpro is still active, and free (in a sense, go to the website for more info), and capable of doing 2d and 3d. a good thing to understand the game logic and math aspect instead of spending time with libraries, compilers, linking, etc, etc. since it based on basic, it's a good starting point. trust me, you don't want to understand OOP, headers, lib, sdk, api, screen coordinates, matrix, game logic, all at the same time.

i'm NOT saying you shouldn't start to learn things one by one, a language first, then OpenGL/DX, then going into sound OpenAL/FMOD, and then into physic (Bullet, etc). Of course, object loading, image loading, etc, etc.

So if you want a beginner language that focus on the game dev aspect, before you feel confident enough to move into real development setting, darkbasicpro is quite okay.
Quote:Original post by phantom
Quote:Original post by JonConley
Those negatives though won't normally come up when begining game dev.


No, the negatives of C++ are there from the very start, there is no getting away from them. Now, you might not be aware of them but that in fact makes it WORSE rather than better.

While there are a few dissenting voices the general recommendation here is to start with C# or Python. Both of these make it easier to learn to program (the goal here) without worrying about the pitfalls and problems something like C++ brings with it.


Now, now. Be fair. You can sidestep most of C++'s beginner problems by being properly introduced to the language. Never-mind the fact that nobody actually does teach it properly, everyone insists on starting with char arrays and pointers.

Also never-mind the fact that even if taught correctly a new programmer will inadvertently stumble into a dark pit (some kind of low level language feature they are unfamiliar with) from which they can see no light. At around this point they are likely to be eaten by a grue...

Yeah, Python or C#.
_______________________"You're using a screwdriver to nail some glue to a ming vase. " -ToohrVyk
Thanks guys, really great suggestions.
What are the pros and cons of DarkBASIC vs Python and C#?

EDIT: I looked at some DarkBASIC code and it looked really simple.
I remember using the Visual Basic language when I was a teen and having
lots of fun with it. I've looked at codes from both BASIC, DarkBASIC, Visual Basic, and QBasic and I really loved the simplicity of it.
The con of DarkBASIC though is that it can only be used for game making
and not applications?

Do you think I should even consider learning any of those before Python or C#?

[Edited by - torarin on October 13, 2010 3:21:11 AM]
English! Haha!
I would like to put my idea for a best first language, but it feels like I've
been doing that a lot lately. Why don't you search the forum, there are
books worth of pages here, only discussing the best first language!

-Best of luck finding the best language for you to start with!
Quote:Original post by torarin
Thanks guys, really great suggestions.
What are the pros and cons of DarkBASIC vs Python and C#?

EDIT: I looked at some DarkBASIC code and it looked really simple.
I remember using the Visual Basic language when I was a teen and having
lots of fun with it. I've looked at codes from both BASIC, DarkBASIC, Visual Basic, and QBasic and I really loved the simplicity of it.
The con of DarkBASIC though is that it can only be used for game making
and not applications?

Do you think I should even consider learning any of those before Python or C#?


Ahh, I remember DarkBASIC! I didn't know it was still around. Anyway, you don't, and I wouldn't recommend you learn any BASIC variant, it's unnecessary.

I'd recommend you go with Python, or C#. And between the two, I'd recommend C#, because it's easy to download Visual Studio and start building things straight away, slightly more so than Python (in my experience).

Here's a link to the free version of Visual Studio, Visual Studio Express:

http://www.microsoft.com/express/Downloads/

You will of course want the C# version, should you choose to try C#. And some language tutorials can be found here:

http://www.csharp-station.com/Tutorial.aspx
I would recommend Java. IDE (probably NetBeans or Eclipse) support is great, language is simple to learn, IDE writes half of the code for you.

Java standard library has support for 2D graphics, sound, networking, windowing, everything crossplatform. It's a viable alternative for C++ (as long as you're not writing AAA games). As an example of a popular Java game (some people like to rate languages by amount and popularity of games written, which is wrong ;f) you have Minecraft, which you must have already heard about.
OpenGL fanboy.
Actionscript is a fun language. It can either be used in a Unity style, and written in small chunks in Flash, or used to develop a complete program in FlashDevelop/Flash Builder. I'm not sure how accessible it is for a beginner.

Libraries such as flashPunk and flixel are great ways to start.

Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info

C# or Python are both great. But if you are planning to go into the industry, C# is more common along with C++. otherwise if you are doing game programming as a hobby, any language is fine. I learned C++ before learning C#. I would say that is not recommended because the learning curve for C# would of felt much lower than C++.

This topic is closed to new replies.

Advertisement