Members - Reputation: 209
Posted 30 October 2012 - 05:53 PM
Then i started having trouble, not to begin with, but later. I found i had no idea what to do and could not find anything on the internet that solved these problems. So i looked around at other languages, did lua, python, java, c , c# and many other libraries, but i made no progress. I was quite annoyed that after all this time my work did not pay off, so i have gone into a programming limbo, programming for a day at a time and not achieving anything because of this anger. I also started having trouble staying commited because of it perhaps turning out like it did the first time.
You may wonder what the purpose of this. I think it is mainly to warn new people not to do what i did, and end up in this mess. However, i would like to know if anybody has had the same problem and has gotten through, and how. I really like programming so i will not give it up any time soon, regardless.
Thank you for your time
Members - Reputation: 971
Posted 31 October 2012 - 12:44 AM
C++ is, as you have already found out, a very complex system with lots and lots of nuances, tripping stones and annoyances. It is a great language if you either now how to program, know about OOP, FP, memory management and so on and it is still my favourite language, but it is hard for a beginning coder to learn and even if he can learn it, it is still hard to get it right. So I would recommend to look at this language again after a few years of experience.
Lua is nice as a scripting language, but it's too small a language for serious programming and has a few problems that may be confusing even to experienced users of other languages. You may want to take a look at it again after you learned your first language.
Of all languages you tried, Python may be the one best suited for a beginner. It allows you to learn concepts one step at a time, from the very beginnings (Hello World in one line of code, no need to know functions or object orientation to get started) to very complex and high level concepts (functional programming, threading, object orientation) and a huge standard library. I, personally, think it has the cleanest syntax of all these languages, the smoothest learning curve and is still very popular among professional programmers.
Java is the language of choice for most programming courses in colleges and universities around the world. I seriously don't know how this could have happened. The language is okay on first sight but it is tiresome to write, is really only good at object oriented programming and has lots of other annoyances. It it very well documented and it has a larger standard library than Python, though. Because it is so much used in teaching, it is also very easy to find information on the internet about almost every topic. I'd still not recommend it.
C is, like C++, a great language, if you know how to use it *correctly*. I would not recommend you to learn it as your first language, it has no direct support for many modern concepts, it requires you to write lots and lots of boilerplate code and to take care of literally every bit of your program.
C# is easier to learn than C++ and not quite as annoying as Java, but it is still much more complex than Python (at least concerning the beginner's steps).
So, my advice: Buy a good book on programming in Python, go through it step by step, don't rush things. Don't proceed to the next chapter before you really understand the contents of the previous one. Ask here if you have questions about the topics. Train yourself to thing algorithmically. Whenever I see some piece of software, I think about how they may have done it.
Hope that helps.
my blog (German)
Members - Reputation: 122
Posted 31 October 2012 - 01:23 AM
Things that i do is learning from point 0, means i start from the very basic about the tools/tech, like C++ that i'm going thru this time.
In practical, i try to detach some of my ready-experience at the moment of my practice. Sometime it will be easier for me to absorb new things, or even to refresh some old-forgotten method/knowledge.
Someday, after finish my practice, then i'll start to develop by mixing everything i learned from the training & all experience i've ever had before.
And yes, i agree, that the key is our passion in work, enjoy & not easily give-up as mentioned,
and also sometime need some break or little vacation in purpose to regain a fresh mind, then start again.
Have a good day.
Members - Reputation: 841
Posted 31 October 2012 - 01:48 AM
- Put C++/Allegro aside for some time. Try some higher-level library/environment like Unity.
- Alternately download some simple open-source games. Start modding these - you will learn a lot if you see how things are done. Although beware that they are often not written using good programming practices ;-)
First technology demo of my game Shinya is out: http://lauris.kaplinski.com/shinya
Khayyam 3D - a freeware poser and scene builder application: http://khayyam.kaplinski.com/