How to stay motivated in learning?

Started by
9 comments, last by Alessio1989 9 years, 10 months ago

Hello! I am on this forum because I want to know where I should go now. But first - Some story.

I wanted to learn how to program since I was 11, and I attempted to do so at 13 by diving into c++. I dipped my toe in and I realized that it is too tough of a language for a beginner. So I decided to learn Python. I started learning python at the beginning of 2013, and now I feel comfortable in the language. Now I want to move onto a different language.

So here I am, at 14 wanting to learn C++. I have an Ebook that I read every now and again on C++, but I seem to get demotivated from it. I understand that I have to read it to learn, but I want to get to parts I am interested in. Such as multifile programs, without learning pointers.


Then you should choose a managed language, like C# or Java (or even F# if you want to learn something different and still able to use the power of .NET platform... no, I cannot suggest you the other main horrible programming language for Microsoft's .NET..!)

C and C++ are native programming languages and you had to deal with pointers (especially with "raw pointers" at the beginning) and you need to understand how they work (and in general, how memory works), otherwise, all your attempts will result in shooting with a shotgun upon your ass! (Coarse but true).

Please also note that quite all modern programming language have pointers: maybe they are called "reference" or "handle" and you cannot deal with pointer's arithmetic... Or maybe they are hidden somewhere in the back-end of the language; but those little bastards are always there and a "null pointer exception" will surely happens someday even if your programming language claims to don't have pointers...

So in conclusion, the question I am asking is how to stay on task, and keep learning it. How I learnt Python is read a beginner tutorial, then try to do something, then Google it. I understand that I cannot do this with C++ because of more advanced systems. Anyone have any tips?


C++ it is not difficult, but it is a complex native programming language, with a lot of details. To understand C++ (and even C), you need to deal with pointers, with (virtual) memory management and possibly having at least a small, but decent, view of how your system works (i.e.: know the basis of how and what the hardware and the operating system do).

You are still young, staring learning C++ at your age could (but not necessary) become a huge burden.
In your title you are asking how to stay motivated. In my experience the best way to stay motivated are:

- Money/wage/reward (but that's not your case)
- Results.

Obtaining quickly and frequently results could be the best and the only way for you to remain motivated to learning. If you "don't like" the way Python motivates you, than switch to C# (or Java if you do not care about .NET and a lot of Windows API). If you have a good relationship with math, you could try to learning a functional programming language like F#, more robust and complete than Ocaml (and you have a full working compiler on Windows too!), with a good development environment and the full power of .NET.

With C# (or Java) you will be able to reach a lot of results, even graphic results. The language could be a little more complex compared to Phyton, but you will access to a very good development environment, tools (Vistual Studio), a huge framework (.NET), and even a lot of Windows APIs (even DirectX APIs via third party library like charp-DX).

Last advice: do not think yet at DirectX/Opengl/whatever, you still have a lot to learn (pointers and memory management included).

PS: hope you understand my “English” (dunno the right word to define an Italian trying to speak and write English).

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

This topic is closed to new replies.

Advertisement