Hello everyone, this is very first my post here, i am 16 years old
beginner in programming and game development, well not absolute
beginner, playing a bit with console: simple field in console, player
controlled character and few “enemys” following player. I am learning in
c++ for now, and i started to notice that i hardly concentrate in
learning… Then i am about to go and code something i visit 9gag or
something like that and stay there for hours.. If not IT lessons in
school, i think i wont be learning at all, because only they motivate me
Any ideas how to start learning properly? Thanks for anything :)
Please log in or register to post a reply.
It was the same problem for me..I found it hard to concentrate..I had a
lot of tabs opened in my browser (FB, CNN, YouTube and so on..), I
didn’t know how to start learning normally. Then I told myself…if I
want to be a professional programmer, I have to work hard. It will be a
long way to the top. And it is only BAD when I just sit and do whatever
except learning programming. The most important is to set your goal
and find a motivation. It worked for me, I hope it will work for you
too. Good luck! :)
Wasting time on the Internet can be a problem even for professional
developers. :) I’d advise getting a plugin for your browser that will
let you block those sites, at least at certain times of the day. For
example, I have Facebook and other social media sites blocked on my work
computer (by my own choice) except for a little while in the morning and
during lunch. (Note that I’m not recommend a complete ban on using the
Internet - you’ll have to look up documentation, StackOverflow posts,
etc. while coding, and that’s fine. Just block the unproductive
time-sucking sites.) More generally, try to create a space where you’ll
be as free of distractions as possible, so that it’s hard to find
something to do other than coding.
The other thing is just to force yourself to get started. Once you get
started, it’s easier to keep going. Tell yourself that you’ll just code
for five minutes, then go through with that. After the five minutes,
most likely you’ll want to keep going.
Finally, try to set a specific block of time each day for coding - for
example, 7pm to 9pm (or whatever you have time for / whatever works in
your schedule). Don’t allow yourself to do anything else during that
time. If you don’t feel like coding, the rule is you have to just sit in
front of the computer with the IDE open and the cursor blinking at you.
Pretty soon, the boredom will force you to start coding something.
I think it’s important to choose projects that interest you and make
sure they are small enough so you can see progress. If you want to do
work in a certain area, design a project that incorporates it. One of
the worst things you can do is to start a huge project as a beginner.
Even an advanced programmer will get bored with a very large project. If
I am working on a project that absolutely bores me, I have no choice but
to get away from it for a while and do something else. That can be
dangerous because I may never start it up again. Also, try to design
code that’s as modular as possible, so you don’t constantly rewrite the
same thing when you start a new project. When you are browsing the web,
visit a few programming sites so you stay interested. One thing that’s
kept me programming games as long as I have is that there is so much
variety in it. Modeling, programming, sound editing, you name it. If it
was just programming, I would probably get too bored. Going through
tutorials are very boring, so verge off and design a small project that
uses what you’ve learned so far, or change the tutorial code to do other
I started a new hobby project a few days ago. It’s supposed to become a
virtual life simulator with neural networks and evolution. It’s a
project that could grow really large.
I realized I needed to build it in small steps, adding only the bare
minimum of code needed for the feature I was working on a the moment. I
keep a todo list with small pieces of functionallity I want to add.
Whenever I thnk of something I want to build that is not directly
related to the task I’m implementing at the moment, it goes into the
This way, I have a working code base I can test and evaluate at all
times. I get immediate feedback and motivation, since I don’t get lost
in the endless chain of “wouldn’t it be cool if…”.