I've always wanted to learn how to program and so far all I've done was make a shitty program in Ruby, and a small unfinished Game.
I want to be able to do more so I was wondering what the best way to learn is.
I was thinking of installing Arch Linux on my old Netbook and pretty much forcing myself to figure out how to use it with only the Wiki online but now that I type it out, it sounds kinda dumb.
I would continue to make programs with Ruby but I just don't know what to make outside of stuff that is too hard for me.
I'm pretty much going to end up forcing myself to learn how to Program, I keep hearing that the future of the job industry requires knowing programming, and I want a job so if me not knowing how to Program is why I don't get a job, it would be embarrassing.
>>62161378
>>62162083
what distro should a complete noob to cli start with. ready to learn and tinker
>>62163390
Just use Debian
>>62163390
Gentoo
>>62163477
why not arch?
>>62161378
Ruby is a good choice.
There two rules of thumb:
-Learn a new programming language every year.
-Get good at 5-7 languages.
To get good at programming, you want to learn languages from several different paradigms. I.e. learning Python or Perl after Ruby wouldn't be such an interesting thing to do, since they are similar.
What you want is (in no particular order):
1) C
It's simply a must for every programmer. Just work your self through K&R ("The C programming language") and implement a few data structures in pure C (i.e. doubly linked list with operations). Then program a socket. Voila, you've learned a lot about what happens at low level.
Protip: Ruby is based on C (as Python is), so if you know C you can include C classes in Ruby and do a lot of funky things. It will also make your Ruby better.
2) HTML + CSS + JavaScript
Yeah, I know.. But get over it: Today every programmer need some basic knowledge about the web. Ask /wdg/ and make a simple 4chan clone. Then proceed at your own will. But since Ruby is very much about the web, this combination will make you able to work as full stack webdev and earn your own money! Cool isn't it?
3) Scheme
Every GOOD programmer has read "Structure and Interpretation of Computer Programs". It will really open your eyes about a few things and Ruby will never be the same for you again. Also it's a lot of fun. But take your time, the more experience you have, the more refreshing SICP will be.
4) Java (or C#)
Here, I said it. Java is ugly and annoying, but it will land you a job. I would recommend a couple of months with Java, if only to know why everybody makes fun of it.
5) Haskell (or Erlang, Elixir, Ocaml, Idris, Prolog, Elm)
This is more for advanced programmers, to challenge what you have learned. I recommend this after you worked through SICP, it will make things easier. It's more to polish your skills, pure functional languages are nice but more academical.
6) FRAMEWORKS in a language of your choice.
>>62163590
Thia guy know what he's talking about. I'll just ad this, though: instead of starting with Ruby, try C first. Pretty much every prog language is based on C or borrows something from it.
Once you learn C, I guess it'll be easier to pick up new languages. I talk this from experience, because I started out with Python and regret it. Newer languages are nice and fun, but they'll make you think that you can just write some shitty lines of code and voilĂ !
I'm also a novice programmer, but as I'm studying CS I need to program a lot, which I didn't when I used to program by myself.
>>62163686
Fug. Sorry about the typos, I'm a mess when I need to type from the phone.
>>62163590
>C classes
Ok then.
>>62163590
thanks for this