Earlier quoted context omitted.
To my taste, Linux puts a lot less roadblocks in my way than MacOS does. Maybe my complaints that follow are simply due to my ignorance, in which case I hope you will take the time to correct me, but as far as I know they're real roadblocks. I want to see the source to the ls command? dpkg -S /bin/ls; apt-get source coreutils. I have no idea how to do that on MacOS. I want to be able to compile it? apt-get build-dep…
http://opensource.apple.com/
How I Learned to Program
51–60 of 78 posts
Re: How I Learned to Program
#52The one point I really disagree on is Linux. Sure learning Linux will most likely teach you something about the platform on which anything you write will probably be deployed but that's really marginal (IMHO). You get things done (programming included) by getting all the roadblocks out of your way. Linux is (IMHO) a roadblock. The OP claims it teaches you researching skills by giving you problems everyday you need to…
I didn't start to really understand how things all work and go together until I installed Linux on my desktop, and started exploring that world. I don't disagree with using OSX, in fact I use a Mac to do all my work now. But I never got started or interested or developed an understanding until I started using linux. Linux almost forces you to learn the underworkings of your system, computing in general, and loves to…
Does this make Windows the double-necked bass?
Re: How I Learned to Program
#53The one point I really disagree on is Linux. Sure learning Linux will most likely teach you something about the platform on which anything you write will probably be deployed but that's really marginal (IMHO). You get things done (programming included) by getting all the roadblocks out of your way. Linux is (IMHO) a roadblock. The OP claims it teaches you researching skills by giving you problems everyday you need to…
To my taste, Linux puts a lot less roadblocks in my way than MacOS does. Maybe my complaints that follow are simply due to my ignorance, in which case I hope you will take the time to correct me, but as far as I know they're real roadblocks. I want to see the source to the ls command? dpkg -S /bin/ls; apt-get source coreutils. I have no idea how to do that on MacOS. I want to be able to compile it? apt-get build-dep…
But that aside, I'm not sure about the rest of your complaints. I just created couple new folders and 5-6 files named gooba and gooba2 and typed 'chmod +x $(find . -name gooba)' and everything worked (gooba's are executable and gooba2's are not). I don't think that extra dot is that bad and I actually like it better (it's more logical).
Also, you can install package managers such as: MacPorts[1] or Homebrew[2] or Fink[3] (I prefer Homebrew). Then you can install htop, iotop, ftop, and a million other unix apps.
in 'top', if you press 'o' (order), and then 'cpu', it sorts them by CPU usage. You can even set a secondary key by pressing 'O'. And you can always "alias top='top -o cpu'" in your .aliases.
[1] http://www.macports.org/ports.php
Re: How I Learned to Program
#54No offense to the author, but I was expecting more of an in-depth process article rather than an overview. Every "How I Learned to Program" article is fluff filled and really only inspiring rather than action orientated. I've never read a truly step-by-step guide on how someone has learned to program. Maybe I'll write it.
Get something you want to program. Get a reference. Program.
I am actually happy that someone told me pretty much this. It took a while until I realized how true this was. Just get something you want to do and keep that in mind when reading the reference. I know most people will start making tons of mistakes and writing really crappy code, but that's exactly what learning is about. Starting out with nothing and getting better. One learns from mistakes. Somehow people tend to forget this. Lots of people seem to be embarrassed making a mistake, causing them to don't do anything at all or not giving in that they are making mistakes. One can't learn that way.
I think the article sums it up pretty well and every programmer I know did it that way, well other than learning programming in school, which I myself don't really consider "learning to program", because I never met any person that actually learned programming ins school, meaning if they did they didn't ever program again.
Re: How I Learned to Program
#55Earlier quoted context omitted.
I'd say that the main advantage of Linux here is that it helps get you started; it's really easy to make a quick CLI tool, usually in the form of a shell, perl or python script, that is useful -- scratching an itch. This applies quite well to Mac OS, of course, but to run Mac OS you'll need a Mac...
You can also write python and powershell scripts in windows.
Re: How I Learned to Program
#56No offense to the author, but I was expecting more of an in-depth process article rather than an overview. Every "How I Learned to Program" article is fluff filled and really only inspiring rather than action orientated. I've never read a truly step-by-step guide on how someone has learned to program. Maybe I'll write it.
Step by step guide? Get something you want to program. Get a reference. Program. I am actually happy that someone told me pretty much this. It took a while until I realized how true this was. Just get something you want to do and keep that in mind when reading the reference. I know most people will start making tons of mistakes and writing really crappy code, but that's exactly what learning is about. Starting out wi…
Re: How I Learned to Program
#57Earlier quoted context omitted.
You can also write python and powershell scripts in windows.
Of course, but from my experience opening a CLI is completely unnatural to Windows users, much more than even Mac users.
Re: How I Learned to Program
#58The one point I really disagree on is Linux. Sure learning Linux will most likely teach you something about the platform on which anything you write will probably be deployed but that's really marginal (IMHO). You get things done (programming included) by getting all the roadblocks out of your way. Linux is (IMHO) a roadblock. The OP claims it teaches you researching skills by giving you problems everyday you need to…
To my taste, Linux puts a lot less roadblocks in my way than MacOS does. Maybe my complaints that follow are simply due to my ignorance, in which case I hope you will take the time to correct me, but as far as I know they're real roadblocks. I want to see the source to the ls command? dpkg -S /bin/ls; apt-get source coreutils. I have no idea how to do that on MacOS. I want to be able to compile it? apt-get build-dep…
Re: How I Learned to Program
#59What about http://www.codecademy.com ? Modern day way to learn to program or waste of time?
Re: How I Learned to Program
#60Earlier quoted context omitted.
For someone who already has a Windows machine (still the majority, I believe) you just replaced one roadblock with another. One is technical and the other is financial (buying a Mac). Really, Norvig sums this up best: "When asked "what operating system should I use, Windows, Unix, or Mac?", my answer is usually: "use whatever your friends use." " (I use a Mac and think it's swell, but I definitely couldn't have shell…
> you just replaced one roadblock with another. One is technical and the other is financial (buying a Mac) I think you hit on an important point. Most people seem to be approaching this from an adult / professional perspective. I'm thinking of the bright 14-year-old kid who wants to learn about computers. He (or his parents) may not be able to afford a $2000 Macbook, but he could build his own box relatively cheaply…
You cannot imagine how beneficial Linux has been in making it possible for students from countries like India to learn deeply and experiment with their systems.