What path to take.....

Started by
8 comments, last by azherdev 15 years, 9 months ago
Hello all So im wanting to dig into programming. My main issue is I want to learn something that I can use in the future, career wise. As of now I have been reading articles on c#,C++,Python and Java. I noticed that most people like Python. Though looking at job postings,I barely come across jobs that require Python. Everything seems to be c#.C++ and Java. Looking at different scripts, Python seems to be the most easy to understand. I guess my issue is that I dont want go all out and learn something, then find out that theres no work out there. Also wanted to note that I dont want to learn just how to program for games, but also apps and scripts as it seems there is a lot of jobs out there for that. Then move on from there to game programming.
Advertisement
Well, in my opinion, i would choose C++. But its up to you (how you like to write, what features you want managed for you, ect...).

As a suggestion, i would try writing a small text RPG in each of those languages to see which one you like most, and feel good with. All 3 (C++, Java, and C#) can get ya a job.

You're probably going to learn more than one programming language, one way or another. If you're looking more than five years ahead to a career, learn python to get comfy with programming in general, then C++, C#, whatever. A lot of game scripting engines use python too, so it will come in handy.

If you're not just looking at games, you might want to check out the Perl programming language, too.
hmm I was reading that perl is horrible language.

One thing I do know is that the best way to learn is to do it. My plans are to know enough to get a junior position and then learn more from there. That is the only hold back I could see Python having, is the fact there isn't to many jobs out there for it.
It doesn't matter which language you start with.

If I were you, I wouldn't start with C++. One of the underlying design principles is that "the programmer is always right". This is rarely true for beginners [smile].

Don't be put off by the lack of jobs that specify Python. As has been mentioned, any competent programmer will probably know a half dozen languages or more. Of 3 languages, not all of them need to be career oriented.

Do consider some of the lesser used languages, such as functional or logical languages. Learning a completely different paradigm can make you a better programmer.
If you understand Python the most as your first language, I say go with that. As long as you learn the basics of how to program, you can pick up other languages later. Eventually, like theOcelot said, you're probably going to have to learn another language for some reason later on.
Quote:Original post by snoop101
hmm I was reading that perl is horrible language.

One thing I do know is that the best way to learn is to do it. My plans are to know enough to get a junior position and then learn more from there. That is the only hold back I could see Python having, is the fact there isn't to many jobs out there for it.


I haven't used it myself, and I have heard it's weird. But it seems to be used a lot for server-side web scripting, and other text based stuff.

Quote:One of the underlying design principles is that "the programmer is always right". This is rarely true for beginners.


That, I think, is one of the best ways I have ever heard the problem with C++ explained. Yet it also partly explains why it's so powerful. Brilliant!
When studying natural languages, it makes total sense to study a specific one. For example, if you want to spend your vacation in Italy, learn Italian. It would be crazy to suggest any other language. It's quite easy to learn Italian, because
a) you already know at least one other language (english)
b) you already know the basics of what a language actually is
c) you already know how to read
d) you already know how to write
e) a couple of other reasons

Now when you learn your first programming language, you don't know how to program yet. That poses a new kind of problem: you have to learn two different things, a language and programming, at once.

Once you know how to program, picking up other languages is a lot easier than learning your first language, because you already know what programming is, what a compiler does, what a syntax error is, what a variable is, how to call functions etc.

So do yourself a favor and learn programming with a language that supports beginners. Stay away from C++.
Perl's not so bad! But personally I wouldn't recommend it at a first language. In some respects it's very free-form in its syntax, which can be a nice convenience when you already know traditional program flow. But that flexibility may be a bit overwhelming for a beginner. Furthermore, Perl's object-oriented functionality is unusual compared to languages where that aspect is a first-class element of the syntax.

The main advantages to Perl lie in it's cross-platform support, the wide library of CPAN modules, and (to a degree) the specialisation: I've seen some very well-paid web industry roles for quite basic Perl dev simply because it's not generally the 'flavour of the month' language.

But I should reiterate, it wouldn't be my choice of beginner language... (which, for what my opinion is worth, would be C# - syntactically similar to C++ but with a gentler learning curve, plus support for all sorts of applications via the .NET framework, cross-train to ASP.NET and you can get into some game development through the XNA framework.)

Just my 2c, feel free to ignore ;)

Visit http://www.mugsgames.com

Stroids, a retro style mini-game for Windows PC. http://barryskellern.itch.io/stroids

Mugs Games on Twitter: [twitter]MugsGames[/twitter] and Facebook: www.facebook.com/mugsgames

Me on Twitter [twitter]BarrySkellern[/twitter]

If you are going to get a job in serious game development studio, you will be required to know C++ since it is used for most console game development and AAA titles for PC. But, scripting language will also be a major bonus.

As suggested, I'd start with C# to avoid major learning curve of C++ but get the feel for structure and syntax. If you don't have a solid C++ knowledge on your resume, you will not be making anything other than casual games - which might be your thing.

In terms of learning, I would suggest: C# -> Python -> C++
On your resume, have at least: C++ (first listed), C#, Python/Pearl/etc

My additional 2 cents.

This topic is closed to new replies.

Advertisement