OK, I've got some - very limited - knowledge about programming. I've learnt the basics of algorithms in the school. It was hard to get used, but somehow I've got to learn more or less how programming logic works using Processing language (my main source was Daniel Shiffman's book Learning Processing).

Well, Processing did a good job showing me the basics, but, as you programmers may know, it's a poor language and no one really uses it to make their stuff most of times. So I don't feel like reading the rest of Shiffmans' book, since I already got the hang of the basic programming elements like variables, functions, conditionals, loops, arrays and even a bit of objects (though I haven't made a profound study of it yet, but the idea does not look complicated).

I know there is still a lot of stuff to learn about (especially objects, which are so important), but the limitations of Processing and my lack of time make me feel like I'm wasting my time if I insist on using that language. I'll still need Processing to do some university work, but I reckon that if I really learn how to program, doing anything on Processing won't be a problem.

Some people told me the best way would be learning C language. It'll be tough, but it would help me to learn everything that's related to a program running on a computer.

What do you think about? What is the best book to learn C/programming? Which language would help me more if you think C is not the proper one? Which elements of programming should I focus on next? How can I find exercises good enough to practise?

My objective is being able to work with programming and do whatever I need to with the help of the programs I'll make - at this point somebody will probably tell me to go through some low-level languages. I'm not close minded to them, but I'm still a beginner and that is not my purpose yet.

Please, help me. Since I got attention deficit disorder, I'd prefer reading stuff over watching stuff. That's why I can't simply take classes to learn it, 'cause I am unable to pay attention. But if you think it's really indispensable or that would really turn things a lot better, you can also recommend video stuff.

I'm most used to learn stuff by myself, that's how I've been surviving with learning pretty much everything since highschool. I know that learning programming will demand a damn lot of practice. I'm not afraid of it. I just need to know what to read, how to practise and what I shouldn't waste my time on. And I'm pretty sure that Processing is one of the things I shouldn't be wasting my short time if I really want to make big progress with the lack of the time I have.

P.S.: By the way, beside helping me, I hope this thread will help other people which want to learn how to program or how to make progress with it. Let's share some knowledge here, since, perhaps, it may become a very useful thread.

Edit:
I'll answer some questions, since crazoter said:

It's hard to answer your question without knowing the specifics.
[...]Hopefully these questions can help others make their answer more specific and tailored to your needs.

  1. Why do you want to learn programming?
    • Because I want to make things possible without help. I don't want to be the person who always waits for a programmer to join my party in order to make projects. OK, I know big projects demand many programmers. But I've seen people doing pretty good stuff all alone, like programs, bots, websites, webradios, auto-organizing data. By the way, I believe that's an extremely useful ability, maybe the most important ability for the future. Even if I'm working with multimedia and designing, programming is the foundation for the application of all that. So I want to do my own stuff to improve and create all the sorts of things you mentioned (apps, computer programs, websites, even games). I want my weakness to become my strength.
  2. How much time (e.g. a day or a week) are you willing to dedicate to studying programming?
    • I would practise programming all the day if I could, but I can't. I don't have how to foresee how much time I'll have everyday, but someone told me that if I wanted to learn how to program, I should program every day. I'm willing to practise every day, even if time is as short as 1 hour a day. I know it will be difficult, but I'm starting to get used to the idea that little progress everyday is way better than no progress at all. Anxiety is a dangerous trap that makes you give up easily if you are not aware of your progress. Stopping is the worst thing that could happen to anyone.
  3. How quickly do you want to be able to apply your new found programming knowledge?
    • I think it's always temptating to everyone to answer this question telling they want to do magic ASAP, especially because I'm looking for a job right now, and that would make me able to get it more easily. Though it just doesn't work like that (I suppose, at least). Real solid programming learning will take me more than some weeks or a few months. However, I hope I'll be able to make my own useful programs within one year, so I'll be prepared to make even more profound studies on programming from there. I don't know if it's a realistic goal, but if it takes some more time, it will be fine too, since I think a solid learning is built with time and practice. Of course I can't tell you I can wait all my life to start to make advanced stuff, since there are lots of other things I need to learn as well. Though it will be a constant learning for life, indeed, since we'll always have something else to learn about everything in life.
7 years ago*

Comment has been collapsed.

I think you should start programming with FreePascal because it's the simplest and you can learn how to code with it first, then learn new languages.

7 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.