Mark Damon Hughes has written an article claiming Macs Make Programmers citing some very wierd examples as to why. He misses the mark so many times that I have decided to take action and correct his misunderstandings.
The basic premise of the article is this: Because Mac’s come pre-installed with development tools and have a fairly large install base it makes programmers, wherein Windows and Linux come short. If that does not sound like fundamentally flawed reasoning on face value I don’t know what to think of you, but since the reddit submission to the story has recieved 100+ upmods there clearly are a lot of people who have fallen for this crap.
Since ohlai from Reddit has already stated why this reasoning is way too flawed to apply to Linux better than I ever could I’m just going to copy and paste it here,
Wow. This shows a pretty fundamental misunderstanding of GNU/Linux, especially since the whole damn thing was built and is maintained by hobby programmers.
Additionally anything you need to get going is a single package manager command away from being installed.
This guy kinda throws out his argument for not having to install anything additionally buy say that XCode needs to be installed from the OS X DVD.
![]()
Also, IIRC, C & C++ aren’t part of a standard OS X install, but need to be installed separately or at least need to have some sort of license agreement accepted.
Finally the author overlooks that OS X is based off of BSD UNIX, and that Linux shares this history insofar as it is based off of UNIX. To get started using a command line, Linux would be no more hostile than OS X.
FWIW, Linux also has BASH, as does it have CSH, TCSH, ZSH, KSH, and a whole fuckton of other shells. On a modern distribution, you also have access to Lisp, ml, ocaml, MIPS, flasm, nasm, haskell, D, a mega-fuckton of other language compilers/interpreters, including ObjectiveC.
As for Windows, Mark starts off with “But MS Windows ships with nothing. No BASIC. No C compiler. You’re trapped, stuck playing with Solitaire and MS Paint” which pretty much sums up the tone for the rest of his article, sensational and perhaps even delibrately misleading.
It is irrelevent what Windows ships with, or what any OS ships with, you can download various frameworks and APIs to get started with programming. Mark seems to forget there is this thing called the internet which most people have access to. Glossing over this Mark moves on to pinning Visual Basic to beginner or hobbyist programming, like it’s the only langauge that exists on Windows which is suitable for beginners and hobbyists.
As a novice programmer I went out and read about how to get started in programming. Back then I, as a novice programmer, was not aware of what Python was or what Ruby was. Someone who wants to be a programmer but doesn’t know the first thing about programming would probably google it. After learning about various langauges the next step would probably be to pick one to learn. Pick any, from C++ to Mark’s beloved Python, it is very easy to get access to either on Windows.
He also for some reason or another insists that Microsoft has killed hobby programming. Considering Microsoft has invested so heavily in XNA, released various IDEs for their languages in the ‘Express’ line and how hard they work in third world countries to get kids familiar with Windows one has to wonder just how Microsoft plans on killing hobby programmers. Mark insists that since Microsoft is not supporting Visual Basic it is delibrately discouraging novice programmers who are in it for the fun. I don’t know if he is aware we are no longer in the 1990s, there are dozens of languages suitable for beginners available on Windows, Python included.
If Python is ideal for beginners then the best Mark could say is the difference between OSX and Windows for novice programmers who are interested in programming specifically for Python is a Google search.
I’m only 20 so I don’t really know, but from the ancient programming textbooks I’ve read BASIC itself has a reputation for being a bad teacher to novice programmers, but we’ll leave that for some other time. The point is, there are far more languages a novice can pick up on for Windows than Visual Basic, which is fairly obvious, but apparently unclear to Mark.
Let’s move on, as Mark does. So what else has Microsoft done in an effort to reduce the number of people who code on Windows (and, you know, help make it sell)? Apparently being a professional Windows developer is not cheap, starting at $300. That’s right, kids who just want to code at home are now professional Windows developers who need to spend at least $300 to make their dreams come true. Is there any real limitation to Microsoft’s free offerings? For the record all my projects use Visual C++ Express and various free APIs, my only expense thusfar has been the 3D models, which are not even related to programming. I don’t know what Mark means by ’serious’, but if he means ‘work in a professional environment’ then sure, big companies will be more than willing to throw around thousands of dollars for support and productivity tools only they will need (which novices won’t).
Perhaps the only thing I can agree with Mark on absoloutely is young hobbyist programmers of today make the dedicated professionals of tomorrow (who will work for companies which pay for the $12000 software but what right do I have to say that?) Of course I don’t agree with him on the semantics. He is wrong when he generelises and says “once you teach someone to program, it’s completely addictive”. Programming is like anything else, you either like it, or you don’t, or you fall somewhere in between. There are many people who don’t like to program, they’re just not interested in it much like there are people who don’t like going camping and there are people who do, or there are people who like reading novels and there are people who don’t.
Delayed teaching is an interesting concept, the idea that if you wait until college it’s too late to code, period. I don’t think that’s true, there seems to be a misunderstanding in the programming world. The best programmers probably did start young, however this is a reflection of their desire to program more than anything else. Likewise we could say the best tennis players started young, it doesn’t mean it’s too late to play tennis when you’re in college or even past that stage in life but odds are if you liked tennis when you were younger you are more passionate about it. I actually started programming in college and while I don’t mean to speak ill of my fellow classmates I did probably do a lot more than they could, even the ones who did start at a young age. I mean in second year my friends were making Windows Form Based ‘First Person Shooters’ and I was going the whole way with a 3D shooter. I had the passion and dedication to do it, doesn’t matter if I coded while young or not.
Unlike Mark I blame the lack of programmers on the work conditions. Programming is probably one of the more underappreciated professions in the industry today. What I find disturbing is even those who claim to be most passionate about programming have strange goals, if I take, say, Facebooks original developer, and ask him ‘what do you want to be in five years?’ the answer will probably be ’stinking rich!’
So why do people still get into the field? Because they love it, enthusiasm makes programmers, not Macs or Windows or Linux.
While I don’t want to sound like I’m out to assassinate Mark’s character saying such things as:
I suppose Linux and Windows users don’t notice this, they probably think it’s great, because they have no taste. To a Mac user, it’s repulsive and dysfunctional.
When referring to the quality of software does not help your credibility in the world of software engineering.
Elitist much?