Should I learn Lua or C++?
Recently I ran into this video and I thought it would be something helpful for newcomers to the programming language. But I was wrong. http://www.youtube.com/watch?v=W6237BI6ziY
This video does almost something I do in my books about website scraping (in Java and Python): comparing apples and bananas.
So this video is not objective. It compares two programming languages by their description only. For example the difference between C++ and Lua is not only that C++ is used almost everywhere. The learning curve of these languages differs. For C++ you have to learn a lot to get a simple application run feasible (memory management, pointers, pointer-pointing-pointers — value by reference or content). In Lua this learning curve is very steep: you jump ahead and you can write applications.
But do not understand me wrong: I like C++ it is a nice tool. Sometimes it is good to have a Java application re-written with C or C++ because it runs faster and consumes less memory (naturally there is a solution in Java too but sometimes it is more straightforward with C or C++) — as my old mentor told me lately over a beer.
And this goes for almost all languages: they cannot be compared by such subjective manners.
What about game development
If you watched the video you can ask this question: Lua is a nice tool for developing games. For the beginning of course. If you plan to create games you probably want to do it lean: with a short time to market. And if you want to do this with C++ then you would be everything but not lean — because of the learning curve of C++.
With Lua you can start very fast with games. You create your apps and you can see if they are meeting the customer-needs or not. And if you think game development is quite not that thing you want to do for a living you can switch to another programming language a bit easier because you already know the concepts behind programming — you only have to learn the language keywords.
Do not watch those videos where the title looks like “Should I learn or ?” or if you watch it do not trust the contents. This is because they only state things which are the pros of both languages and sometimes facts which are ridiculous (for example in the Java vs Python part). If you really want to learn a programming language do the following:
- go ahead and ask some pro developers (over 10+ years of experience with a given language) what they think
- look at the job market what is needed
- look at available material for the language
- if you are a newbie programmer: learn something with a steep learning curve (Lua, Python, Ruby, etc.), after this you know how programming goes and can extend your knowledge in other languages too
That’s it. Be objective with such videos and judge if it is needed. Or at least do it better than these short videos do.