followed tags: 10
followed domains: 0
badges given: 0 of 0
member for: 1866 days
I am slightly late to the party - this thread I mean. I am working on Linux (as my office desktop) again after 4 years and after staying on Ubuntu 14.04 LTS for 2-3 days I couldn't stand it (no offence to anyone :P) and then I replaced it with Elementary OS (Freya) which is pretty much still in Beta and uses Ubuntu 14.04 as its core.
So yeah Elementary OS it is.
PS. I have been supporting it (as in financial support) as per my capacity and I am actually planning to learn Vala to support it as a developer because it's one effort that needs attention and support both - they are keeping things simple, and trying to keep things very stable (but then I am lazy so I am not so sure about Vala part).
I am still learning. I started learning by doing it wrong. I started learning by reading books not typing the code and testing the programs I would study in the books.
In my opinion the best way to learn coding is by doing. Pick bash (the shell you use in Linux) and do something that you always wanted to do. That's not really "programming" programming but then again you are making your computer/OS do something for you. Like sorting all the files and save them in another folder which has a certain string in it. Or recursively find all those tax related documents you don't know where you have kept and bring them at once place.
Language? If I recommend a language to you I will be prompting you to commit a mistake I myself committed when I started to learn it. See what you would do in your courses that could get some or more help from programming. There is C, then there is Java; Python, Ruby, JS, Scala, Haskell - you name it. There is no good programming language and there isn't bad either.
Look at some videos of some programming languages. See, how the constructs work, how they are typed. Chances are one would make more sense to you than the other. Basically there is no one way. Also, let's say today you learn Python and tomorrow you have to do some other work and you'll have to learn a Language XYZ and trust me you will be able to do that just fine. So learning to program is not really learning to "program in a specific language". Yes, you do start with a language but your goal should be to learn how computer works, how the code works after you write it and compile it.
Enough background. Now your question - the post title. I learned programming by reading K&R. My mistake was for almost a year I just kept reading the book and never tried a simple odd program on a computer. I could have. I had access to one old machine every Friday for 30 minutes (two of us). No, I am not too old, it's just that where I am from computer weren't that commonplace a decade and half ago. I still believe that is one of the best books to start coding with, but I don't recommend it to anyone any more and that is because I don't start anyone to start coding in C.
Look at some of the MOOCs. Here's a list - https://www.mooc-list.com/categories/computer-science-programming-software-engineering?static=true. Out of these I had recommended https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#! to a teenager sometimes ago and I was told it's good. Maybe have a look. I had also read "How to Solve it by Computer" which is by Dromey. You could check it out in a library if you wish.
But don't spend much time on deciding the language or the course. You can never find the best one really. Just start with the first one that you can make sense of in a decent manner and then just carry it forward from there. Good luck!