Sign in to follow this  
themagicalrock

Is learning two languages at a time a good idea?

Recommended Posts

To start, I have never programmed a thing in my life. I have followed the game industry for a long time, and I think I finally want to start programming. I have been told that learning two languages would be a good idea, do you agree with this statement?

Share this post


Link to post
Share on other sites
It's good to learn multiple languages ... eventually. When you're just starting out pick one and focus on it until you feel comfortable and then learn the other languages.

Share this post


Link to post
Share on other sites
Quote:
Original post by SiCrane
It's good to learn multiple languages ... eventually. When you're just starting out pick one and focus on it until you feel comfortable and then learn the other languages.


Thank you, I will do that.

Share this post


Link to post
Share on other sites
Quote:
Original post by DevFred
Have you picked a language yet?


I am thinking of Visual Basic .net, because I hear it is easy, and a second language i would have picked would be python.

Share this post


Link to post
Share on other sites
Quote:
I have followed the game industry for a long time, and I think I finally want to start programming.


Ok. First write one program. That will turn out a big enough challenge, perhaps taking a week or a month.

Quote:
I have been told that learning two languages would be a good idea, do you agree with this statement


If you go the programming path, then some formal education, at least one area of expertise, and ability to learn arbitrary number of languages will be quite welcome and give you a competitive edge.

If you're doing this for gaming industry alone (aka the job and money), and not for your passion of game development, then you'll need to know C++ at guru level.

If you find you like programming, then you'll likely have no choice but to get some formal education background. That gives you the advantage (since you'd be passionate about it), to choose between a variety of fields to work in, and not be constrained to an insanely competitive niche market.

Share this post


Link to post
Share on other sites
Quote:

If you're doing this for gaming industry alone (aka the job and money), and not for your passion of game development, then you'll need to know C++ at guru level.


I have also heard, that C++ is also to complicated for a beginner to learn, so I am going to stay clear of that field for a while.

Share this post


Link to post
Share on other sites
Quote:
Original post by themagicalrock
Quote:

If you're doing this for gaming industry alone (aka the job and money), and not for your passion of game development, then you'll need to know C++ at guru level.


I have also heard, that C++ is also to complicated for a beginner to learn, so I am going to stay clear of that field for a while.

Yup it's like learning 2 languages at once!

Share this post


Link to post
Share on other sites
Quote:
Original post by themagicalrock
Quote:

If you're doing this for gaming industry alone (aka the job and money), and not for your passion of game development, then you'll need to know C++ at guru level.


I have also heard, that C++ is also to complicated for a beginner to learn, so I am going to stay clear of that field for a while.


Yes, it is complicated, even for experts. But it remains a fact that solid knowledge of C++ is almost mandatory for getting into industry, something which you mentioned as your only motivation (there might be other, but you didn't mention it).

This is why it's important to first clear out your goals. Rather than aiming for some broad understanding of many languages from day one, get your feet wet first, then see if starting with several completely different languages works for you. To start, get things working first. Grabbing too much of completely unfamiliar territory is likely to leave you more frustrated than you need to be.

Share this post


Link to post
Share on other sites
From what you all have said, I have decided to start by learning C++, because you have been saying it is crucial to get into the career. Thank you all for the opinions.

Share this post


Link to post
Share on other sites
Quote:
Original post by themagicalrock
From what you all have said, I have decided to start by learning C++, because you have been saying it is crucial to get into the career. Thank you all for the opinions.


Huh? Ugh...

I mentioned formal programming education, which will give you, among many things, ability to learn languages effectively. Among them, C++.

To get into industry (any kind), you need a degree, as high as feasible. And if getting into industry is your only goal - go for degree. Try languages on the side and learn programming as part of degree (bonus points for extra work on the side, extra bonus points for C++ work). But degree is what will matter.

Starting with C++ *is* the worst idea. But somewhere along the path you'll very likely need to learn it. C++ will give you the ability to prove solid understanding of lower level details, and understanding of programming. It's the very reason why it's poor beginner's language.

Share this post


Link to post
Share on other sites
Quote:
Starting with C++ *is* the worst idea. But somewhere along the path you'll very likely need to learn it. C++ will give you the ability to prove solid understanding of lower level details, and understanding of programming. It's the very reason why it's poor beginner's language.


I disagree with this. I started with C++. Well actually I taught myself Basic on a TRS 80 as a young kid but I didn't get too deep into that. C++ is hard but if you get the right books and make sure you understand what you are doing before you move on. I think learning visual basic is a waste of time. By learning VB you will pick up poor programming practices like not having to declare your variables and such. That's just my 2 cents.

Jack

Share this post


Link to post
Share on other sites
The problem with learning to program with C++ is that you have to worry about learning to program AND learning the various pieces of insanity which is the C++ language.

While it is doable it is not a sane way to go about things; I'm willing to bet many of the C++ experts around here didn't start with C++, and while I'm not an expert by any means I started with BASIC, moved to 68K assembly on my Atari, had a short stint with Java back when it first appeared before even getting to C++. Now I know how to use a number of languages to varying degrees and find most langauges easy to pick up (with the exception of damned functional programming... stupid paradigm change...).

"Bad habbits" can be unlearnt and they are just as easy to pick up with C++ as they are with Visual Basic, normal Basic, Python, C#, Lua or a multitude of other languages because while learning a language is pretty easy once you know how to program being able to work within a language effectively requires different thought processes for different languages; programming C# as you would C++ is not good at all.

Btw, you DONT have to know C++ to a 'guru' level to get into the games industry; solid understanding yes, but not a 'guru' by any means.

Now, while I wouldn't advise starting with VB.Net as such (I honestly believe C# or Python would be better) it not a terrible place to start either... better than C++ at any rate [smile]

Share this post


Link to post
Share on other sites
I'll give you my advice coming from a top-down perspective.

I started working with the easy stuff first. I first did web application development (PHP/Perl). Then, I started using java and .NET(VB&C#). Now, I use c++.

If you go this route, I would recommend using a "scripting" language like perl or php first. It will give you instant gratification and won't force everything on you at once. The difference between them is that perl is for general programming, while PHP was built for programming web applications. If you have no interest in website stuff, go with perl.

The two best books I've found to start on these are:
"Learning Perl" by Randal L. Schwartz (O'reilly)
"PHP for the world wide web" by Larry Ullman (Peachpit press)

Now, you have two options: start with c++ or go with Java or .Net. If you go the .Net or Java route, be prepared to have to learn a lot, then unlearn things when you get to c++. They might have development kits that correct your syntax and make it easy to use "objects", but it'll be very hard to understand all the new concepts and why/how they're better. IMO, c++ is the best harcore language to start with because it doesn't force you to use concepts like inheritance, classes, polymorphism, windows management, etc. You can create very nice, simple programs in c++.

The best book I've found on c++ is:
"c++ programming" by Larry Ullman & Andreas signer (Peachpit press)

Remember that even at this stage, the most you'll be getting is command-line terminal output for your programs/games. I'd reccomend focusing on organizing your program's data and logistics, rather than graphical output at this stage. The book I reccomended you will slowly introduce you to object-oriented programming. This is paramount for code organization, and reduction of code. Once you have a solid grasp on object-oriented progrmming, then I'd reccomend using a c++ library that will let you output simple graphics like ascii characters on a screen.

After this, you can start using the real fun stuff by importing openGL/DirecX/Ogre3D/Havok libraries into your c++ program and calling their input/output functions with c++.

Hope this helps.

[Edit] Python is also a good scripting language to start out with, though I don't know any good books on it.

Share this post


Link to post
Share on other sites
i think the main problem with starting out in c++ is that it is (mainly) object orientated programming (OOP) and this would be difficult place to start, i would recomend starting with basic C, and then moving onto c++ (ps dont use borland its annoying and out-of-date)

VB might be a good place for beginners to start learnign a codeing language but again this is out of date (becoming), i started in VB but that was 6years ago (in college) and now at uni they dive you straight into c, upgrading to C++ and to c~ and others and i have found this a good stratedgy to follow, as my course leaders are finely in-tune to the industry.

Share this post


Link to post
Share on other sites
Learn an estoric language, im thinking bF or LOL. When noone but you understands what you are doing, it makes you look smarter, and gives you an undisputable amount of job security.

Share this post


Link to post
Share on other sites
Quote:
I started with C++. Well actually I taught myself Basic on a TRS 80 as a young kid but I didn't get too deep into that


Quote:
Original post by phantom

and while I'm not an expert by any means I started with BASIC, moved to 68K assembly on my Atari, had a short stint with Java back when it first appeared before even getting to C++.


Funny, I started with ZX Spectrum BASIC, made one game, and later three in C64 BASIC. Logo was promoted in those times as well, since it taught the core concepts well, such as loops and sequential actions.

It would seem, that fewer people can claim programming exposure through C++ than the hype would indicate.

IMHO, scripting languages today are the proper first contact when going the self-learning route. Lua and PHP would IMHO both work, Python as well, but that one has a few functional concepts, which could be more difficult concepts than pure imperative programming.

Share this post


Link to post
Share on other sites
To be honest I started with C++. I mean from as far back as simple Hello World. Its not hard if you have time and patience, but there are 1 or 2 little syntax tricks. But still, I recommend learning a scripting language first, like Python.

Share this post


Link to post
Share on other sites
Quote:
Original post by 15Peter20
VB might be a good place for beginners to start learnign a codeing language but again this is out of date (becoming),


VB6, maybe so, VB.Net however is new and appeared the same time as C#.

Share this post


Link to post
Share on other sites
Hmm, I keep seeing a lot of languages thrown around and reasons not to go C++ blah blah. Personally I tried Visual Basic and didn't get it. So I went and started learning C++ and I picked that up and understood that better to what it was I was actually doing. Call me weird...

Anyway, that's more or less besides the point. I don't think I saw any posts as to why to use a language other than to avoid using another language for mysterious/unlisted reasons. I am going to offer my advice to use Python as a beginning language for the following reasons as below. While I have never personally used it I have seen it before. Here's my thoughts as to why it would probably be a good choice.

It would be beneficial to learn a language that doesn't rely on event based programming like VisualBasic does. It's easier to transition to an event based language then it is the other way around, from events to direct program flow. Also Python is popular and has a good number of people that use it, so should have lots of documentation and people who will know how to help you if you do get a little stuck. Also, there is the popular PyGame library which will come in handy when you want to make games, which sounds like that is what you're wanting to do. Also, once you download and install Python off their website you won't have to worry about compiler settings and configurations nearly as much as other languages and should be a simple process. Which eliminates problems you would have to put up with if you were adding in other libraries/API's in C++ etc for things like DirectX for the first time.

While I loved that I took the C++ path, I think most people would probably be better off starting with Python in today's times for the reasons I just listed above and other benefits that I haven't thought of. Time to go to bed now. Whatever language you choose, good luck to you!

Share this post


Link to post
Share on other sites
Quote:

I don't think I saw any posts as to why to use a language other than to avoid using another language for mysterious/unlisted reasons.


That's because the language is by and large irrelevant when learning to program so long as the language has a readily available IDE, readily available learning aids (documentation, userbase to question), and does not otherwise generally impede the beginner while learning to program.

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