Live data from Hacker News

How I Learned to Program

rdegges.com

61–70 of 78 posts

Re: How I Learned to Program

#61
post #51

Earlier quoted context omitted.

http://opensource.apple.com/

I'm not sure what you mean by that. Maybe you're trying to say that, yes, there are a hell of a lot of serious roadblocks?

He's responding to your first comment

I want to see the source to the ls command? ... I have no idea how to do that on MacOS.

The rest have been addressed, but as for this:

The equivalent on MacOS involves signing up for a developer account with Apple, signing a contract that promises God knows what, and downloading a multi-gigabyte disk image.

It involves running an installer from your install disc, or, admittedly, in the case of the most recent release, downloading a multi-gigabyte disk image from the app store. You don't need a developer account if you just want to install the software.

Re: How I Learned to Program

#62
post #45
post #27

The 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…

You go to

http://www.opensource.apple.com/release/mac-os-x-1072/

or use wget or curl to download the source for what ever you are interested in.

Re: How I Learned to Program

#63
post #45

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…

If I had to choose between a pretty and easy to use OS (that lets me write programs in peace and not have to manually fix everything from Terminal), and the ability to manipulate my OS's "ls" command, I'd choose the pretty OS every day. I wish we could have both, but now that we have to choose, that's my decision. But that aside, I'm not sure about the rest of your complaints. I just created couple new folders and 5-…

> If I had to choose between a pretty and easy to use OS (that lets me write programs in peace and not have to manually fix everything from Terminal), and the ability to manipulate my OS's "ls" command, I'd choose the pretty OS every day. I wish we could have both

Fortunately, you can: just use a current Debian on well-supported hardware. (Until a year ago I would have recommended Ubuntu.)

> I don't think that extra dot is that bad

There are a zillion things like that in MacOS that are just that little bit harder to use, for no good reason. Requiring five extra keystrokes in `top` to get an actual list of the top processes is another example. You can come up with justifications for why the roadblocks are there, or rationalize that they're not that bad, but they really add up.it

It's like Apple's vaunted relentless focus on user experience just doesn't extend to programmers.

> 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.

If you're comparing MacPorts, Homebrew, and Fink to Debian or Ubuntu, I think you haven't used Debian or Ubuntu. I didn't realize iotop and htop had already been ported to MacOS, though. That's cool. Thanks for letting me know. Powertop, latencytop, strace, and dstat no, though, I guess?

Re: How I Learned to Program

#64
post #45

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…

You go to http://www.opensource.apple.com/release/mac-os-x-1072/ or use wget or curl to download the source for what ever you are interested in.

I probably don't have to point out to most readers that this is a lot more work than `apt-get source coreutils; apt-get build-dep coreutils`.

Re: How I Learned to Program

#65
post #61
post #51

Earlier quoted context omitted.

I'm not sure what you mean by that. Maybe you're trying to say that, yes, there are a hell of a lot of serious roadblocks?

He's responding to your first comment I want to see the source to the ls command? ... I have no idea how to do that on MacOS. The rest have been addressed, but as for this: The equivalent on MacOS involves signing up for a developer account with Apple, signing a contract that promises God knows what, and downloading a multi-gigabyte disk image. It involves running an installer from your install disc, or, admittedly,…

So the answer to "How do I find the source to the ls command?" is "click around a web site perusing long lists of packages, trying one after another in an effort to figure out which one the ls command is from, then manually download nine files one by one from http://opensource.apple.com/source/file_cmds/file_cmds-212/l...? Is that a fucking joke? If that's your idea of fun, go ahead, but I have a computer to do that kind of thing for me. I have an operating system with package management, not a hobby.

> You don't need a developer account if you just want to install the software.

Perhaps this has changed since the last time I did it, a couple of years ago; it did then.

Re: How I Learned to Program

#66
post #64

Earlier quoted context omitted.

You go to http://www.opensource.apple.com/release/mac-os-x-1072/ or use wget or curl to download the source for what ever you are interested in.

I probably don't have to point out to most readers that this is a lot more work than `apt-get source coreutils; apt-get build-dep coreutils`.

Yes, it is. But on the other hand it is more discoverable. All I had to do is type "mac os x source code" in google search. It is a little harder to find out about apt-get source coreutils.

First of all you need to know about apt-get. Then you need to know that ls lives in coreutils etc.

Re: How I Learned to Program

#67
post #55

Earlier quoted context omitted.

Of course, but from my experience opening a CLI is completely unnatural to Windows users, much more than even Mac users.

And most Windows aren't developers. The fact that linux has a CLI isn't a particularly compelling reason not to use Windows though, since Windows also does.

You are not seriously comparing CMD.EXE with gnome-terminal and bash, are you? Come on.

Re: How I Learned to Program

#68
post #27

The 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…

It's funny that you mention the keyboard shortcuts!

When I talk to old hackers on Linux about moving to OSX, I tell them, "well, if you move, you don't have to configure your power management and display drivers and it has Emacs keybindings in all the windows!" and they get excited.

When I talk to young CS undergraduates --- all of whom have Macs, because it's not an engineering college --- I tell them, "you should learn Emacs; I know it's in a terminal, but it has all of the OSX keybindings you already started to learn!" and they get excited.

Re: How I Learned to Program

#69
Thanks for writing this up. Read the whole thing, took it to heart. Right now I'm making the leap to web developer in a year, without prior experience.

Was wondering what milestone achievements I should hit in Linux, given my goals? Goal details here:

http://news.ycombinator.com/item?id=3552656

Re: How I Learned to Program

#70
post #64

Earlier quoted context omitted.

I probably don't have to point out to most readers that this is a lot more work than `apt-get source coreutils; apt-get build-dep coreutils`.

Yes, it is. But on the other hand it is more discoverable. All I had to do is type "mac os x source code" in google search. It is a little harder to find out about apt-get source coreutils. First of all you need to know about apt-get. Then you need to know that ls lives in coreutils etc.

You don't need to know that ls lives in coreutils; dpkg -S /bin/ls tells you that, although it is true that you have to learn a little bit about how dpkg and apt work to get to that point. You do need to know what package ls lives in to figure out which tarball to download from Apple's web site.
Post reply on HN