>>118>"I bring shame to every gentooman"No big, Holmes, we're all learning here
If you become one of the people who actually knows their shit on their own I will be proud of your dick
I was about to write a good-sized post on my critique of the image but I have to look at what it's trying to do; it's a kick in your ass attempting to free you from information paralysis because there is so much shit on the internet about everything it's easy to get caught up in looking for the "perfect" resources, or really any resource you want to use at all.
Your image is a good resource. The lesson-based format of LPTHW and CodeAcademy is much more digestible than a sprawling textbook and you will go from 0 to practical in a shorter amount of time. Of course, the downside is the lessons are short and you are basically enjoying a crash course in Python (the "big sprawling textbook" I mentioned, Learn Python from O'Reilly, is 1600 or so pages minus how large the references, appendix, and index sections are but honestly that's about as small you can make a Python book without chopping out whole sections of resources).
Assembling a computer is a refreshing hands-on project but as far as you are concerned they are all still black-box components with connectors. Peering inside the black boxes is the scope of computer architecture but computer architecture will not help you to put together your computer.
Here are my comments:
1.) LPTHW and CA are good resources. If you are like me and learn better from big textbooks, go ahead and try Learning Python by Mark Lutz. The most challenging thing you'll do is actually picking a resource and sitting down with it.
2.) Forget all nagging doubts wondering if you are doing it the right way. You are doing it the right way. Don't wonder how Dennis Ritchie or Ken Thompson would have learned this stuff, because we know how they did that; they went to university and got graduate degrees in doing it.
3.) The Learn Linux the Hard Way site is dead but it's here on internet archive:
https://web.archive.org/web/20130926213426/http://nixsrv.com/llthw.
4.) Peering into the computer architecture folder, I see the book by Hennessy; Hennessy is a text for computer engineers, for the most part. You want to use Computer Systems, A Programmer's Perspective. It's written by two professors at Carnegie Mellon University and it's a very, very good text looking at hardware for software people.
TL;DR:
1.) LPTHW and CA. If you like big textbooks, read Learning Python.
2.) Putting together your own computer is an essential thing to know, mostly as a psychological "don't be afraid of tinkering," but honestly won't teach you much.
3.) Ubuntu is good.
4.) By this point you are beyond "C the Hard Way" and you could just read KNR or, my personal favorite, "C Programming: A Modern Approach." That title makes it sound like a shit textbook by an unmotivated and uncreative college professor somewhere but it's beloved by all who use it and it's essentially the modern version of KNR.
4.) SICP is also very good. It's what MIT used for their intro course in computer programming for a long time before switching to Python.
This course will teach you a lot about programming, some about Unix, and it's as good a path as any other. Like I said, don't get caught up in worry about "the best path;" they are all good paths, and the best path is
the one that actually gets you to programming. (testing italics)
For OP: just rule out C++. Don't do that shit first. Listen to this man:
>>115Everyone in the thread has their personal language preferences. I am an EE-tard and so am biased towards low-level languages like C, ASM, and HDL. Lab rats and physicists like Python.
Perhaps you don't have a concrete answer to "Why do you want to learn how to program." Maybe you just want to learn the basics and figure it out. We ask because learning this stuff, especially on your own, could be difficult without a reason to come back to. Maybe you don't have profound motivation like "I must learn to code or my dog will explode" but it helps immensely to have a drive when you falter, and you probably might.
You will not go wrong learning Python. Like I said, I learned C. Python is great but if you want to become a very good programmer you will need to look deeper. If you already have a good desire to learn deeper, you can just start with C or Common Lisp (with SICP). For C, you can use KNR or the KN King book I mentioned earlier in my post (i've used both and I really like KNK). For Lisp, there is no other place to start but SICP.
You will not go from 0 to practical in the fastest amount of time with C or Lisp, which is why we ask your motivation, because you will need it. C is good if you want to learn deep but still use languages practically, soon; SICP will teach you even deeper than C but it's a really, really slow cooking method. With SICP, you'll become a superior programmer… eventually.