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?
August 6th, 2008 at 11:03 am
I agree. To say that there are a lack of programmers because the tools dont come preinstalled on a computer is rediculous. That might of been true before say… the internet.
I am a C# developer by trade, I’m not sure how good mono is but I know that I would never develop on my mac because it simply doesnt have Visual Studio
Strangely enough his article did open my eyes a bit to Mac dev and I did have a quick play with Python last night. So I guess it wasn’t all bad!
August 6th, 2008 at 1:28 pm
Windows’ ecosystem of APIs becomes an actively hostile environment to programming for beginners when you compare it to OS X. Its API is outdated and breaking its back to support legacy software whereas things like AppleScript and shell languages (also applicable to *nix distros) make many things possible, not to mention the Automator app. Compare AppleScript, Cocoa, Core _whatever_, AppleScript, Automator, first-class bridges between Cocoa and other languages, and the shell to Windows’ VBS, the byzantine COM, Command Prompt, and Windows API. On Windows, access to good, modern, and well-documented APIs is difficult and almost everything echoes of the decrepit age of legacy software. .NET is an excellent effort, but it’s nowhere on the level of ease as, for example, Python. Non-.NET Visual C++ shouldn’t even count as a hobbyist language.
And it’s the attitude of the companies that should worry potential developers: Microsoft has this tiered structure where you might be an “Express” hobbyist, a professional, an enterprise, or any number of levels. To gain access to higher echelons, you pay cash. Express-level software not only limits the APIs you can use but cripples *debugging*, which is vital enough to an IDE to seem draconian. Compare that to XCode where you get the same IDE and tools Apple uses internally. You can even open up Applications like iTunes in Interface Builder and mess with the GUI. If you want an active connection, you fork over the money for an Apple Developer Connection subscription. But the tools and the documentation are available for everyone.
*nix distros definitely compete with OS X on accessibility of programming. But Windows is no match at all.
August 6th, 2008 at 2:01 pm
I feel that it is legitimate to say that languages that are difficult to install will be ignored for greener pastures. C# and Python are a heck of a lot easier to get started in than SBCL + Emacs + SLIME + no native lib support, and its like this for almost any language that doesn’t come with a Next/Next/Finish installer…
August 6th, 2008 at 2:35 pm
Windows is no match in accessibility of programming? What a load of wank.
You must have missed the memo on all the free and excellent Express Versions (from Visual C++ to Visual C#) they released, with VisualStudio being one of the prime IDE’s on the market place (And I am a mac developer and can compare the two systems easily).
Or Microsoft’s program where they give all their professional versions for FREE to students. From Sql Server to Visual Studio.
You must have missed the extraordinary XNA effort, which makes game programming REALLY accessible, not like allegro / sdl or ogre or pygame. Check out: http://creators.xna.com and feast yourself on the freely available tutorials and entire games whose source code is released.
You missed the push with .NET 3.0/3.5, LINQ, ASP.NET MVC and .NET WPF etc. GDI+, WIN32 etc. are almost history… you don’t have to use this sh*t if you don’t want to.
C# is an excellent managed language.
August 6th, 2008 at 3:03 pm
The OS X Terminal is a nice introduction to the command line.
August 6th, 2008 at 3:42 pm
Well done! Good Article.
If you want to programm it doesnt matter which computer you are on. I made my first lines of code on an TRS-86 (or something like that, i was 6).
The System you work on is total irrelevant as long as it allows you to compile stuff.
I worked on various systems, i like windows best, so i use it. If i have to use other for special project, ok i cope with that. But saying …. is better because …. is just bulls**t.
Btw. i hate this elitist mac users who claim to “be proud to use a mac”. Proud of what? Buying a piece of hardware? Thats an achievement.
I better stop before i get started… again.
… Good article
August 6th, 2008 at 4:54 pm
I think i have to disagree with you on one aspect:
“Unlike Mark I blame the lack of programmers on the work conditions.”
To me, i differ.
- Working to get paid.
- Working to have fun.
These two differences are fundamental. I refer “work” as in “spending time with a programming language”.
For me as a hobby programmer I am at home at ruby. I am sure many people are at home with python too.
You are right that it does not matter much about mac vs windows whether something comes preinstalled or not, but that still leaves the question of how many programmers use windows and how many of these use which specific language.
I am using Linux mostly these days.
August 6th, 2008 at 5:42 pm
I used OSX for about 9 months on a Macbook pro PPC and more recently on an Mac Mini Intel. I came from a Linux background. But I eventually removed OSX and installed Ubuntu Linux on my Mac Mini… I liked OSX quite a bit. But I went back to Linux precisely because it is so much better of a development platform. I have a single “apt-get” command that I issue on a fresh install that sets up every development tool I need without any interaction. I just run the apt-get command; wait 10 minutes; and I’ve got everything I need.
The Fink and Darwin Ports projects are nice, but tiny compared to Ubuntu’s package repository. And many times I had package dependency breaks on OSX.
Finally, I didn’t care for the OSX user interface. Granted it looks better than anything else and for light work it’s fine. But when if comes to heavy duty WORK I like more control over my UI. I’m not saying Ubuntu LOOKS nicer! But when I get to work I quickly forget about flash and polish… So OSX is the desktop I’d give to my parents or use for a media center, but it was too restrictive for me to do work.
And it’s critical that OSX is a BSD UNIX flavor. I would not have even considered it as a development platform if it were not for the fact that I can get to a shell (which is also the only reason I got an iPhone! Also based on BSD.) Now we can get to a REAL argument! BSD versus Linux! I’ll stay out of that argument since I could easily argument on one side or another depending on my mood. I used OpenBSD for about 4 years.
So I used OSX for quite a while. I got pretty familiar with the tools. I gave it a shot. I’d go back if a job required it. You can’t really argue that its BAD.
August 6th, 2008 at 5:47 pm
Apostrophe’s and they’re use’s.
August 6th, 2008 at 6:03 pm
Linux is best, everything is free and the source is freely available.
OS X is next - Open source runs natively and Cocoa is a great API.
Windows is last - Bad API and the Express versions are watered down compared to the real thing. If express is so great why do companies pay loads for the higher level versions?
As a hobbyist, cost is everything. You are already giving up time to learn, why would you want to give up time AND money?
Linux Open API - Open Tools =O Cost
OS X Open API - Some Tools cost $ = Some $
Windows - Bad API Visual Studio is expensive. = Expensive Enterprise
This is in general. You could do Python on Windows and cost you nothing more than the OS, but at that point why not get Linux or OS X which is less expensive.
August 6th, 2008 at 6:06 pm
> “since the reddit submission to the story has recieved 100+ upmods there clearly are a lot of people who have fallen for this crap.”
it’s not clear what an upmod means. does it mean an article is interesting and worth considering? does it mean the modder aggrees with the article’s thesis? does it mean the modders wants to be recommended more articles ‘like’ this one?
August 6th, 2008 at 6:19 pm
As for my opinion on the subject at hand:
Correlation does not imply causation. What kind of people purchase macs versus windows? Or what percentage of people who are afraid or unknowledgable about computers buy macs versus windows?
I’ve managed open source projects that try to be friendly to all newbie developers regardless of platform. It seems that windows users are *afraid* of installing applications, as if they might contain viruses or slow down their system. I have to justify to them why they need sqlite and python and django to run the code so that they can do front-end work. People who have macs naturally ramp up more. They can dive in and then get comfortable with the environment. Windows is pretty terrifying. When possible we use Eclipse, but for any programming that actually requires the command line, the discomfort rises considerably when using windows. If downloading was not a problem, why would there be such much infrastructure for downloading updates and features behind the scenes? Windows does things for you, but makes it magic to interact with. Macs do things for you, but everything is still in plain sight. It’s a lot gentler for getting involved with. Maybe I’ve misunderstood— is the “making programmers” aimed at actual beginners?
August 6th, 2008 at 8:14 pm
I am a professional developer, and I use both the Express and Professional versions of Visual Studio. I also use Xcode on Mac.
Sorry, but the Express version of Visual Studio wins hands-down in a comparison to Xcode for normal tasks (editing, project organization, debugging), with one exception: The Xcode profiling tools rock. There really aren’t an equivalent in Visual Studio at all. Another cool Xcode feature is to trivially distribute builds across computers. But in general, developing on Xcode is a pain compared to Visual Studio.
Similarly VS beats every Linux-based development environment I’ve tried. I’m a few years out of date there, though, so something may have matured recently that I’m not familiar with.
Oh, and just to set the record straight: I hate Microsoft, and would love to see Mac and Linux tools dominate. And I agree on the question of APIs: Win32 sucks, as does DirectX (I’m a game developer). But I can avoid dealing with either of those directly by using wrapper-APIs that have a decent design, some of which are even cross-platform.
Even if I WERE to develop on Mac, I’d still want to be developing cross-platform (hmm…do I want to cut my profits by 9-10x by excluding Windows? Umm…no.), so the Cocoa API itself is not directly relevant to me.
YMMV.
August 7th, 2008 at 2:11 am
I’ve been programming for 28 years, and my platform of choice at this time is windows.
You can create a text file with a .js or .vb extension and run it as an application, and there is plenty of free help/docs to get you there if you look on the internet.
The .NET framework comes pre-installed on XP/Vista. You can use plain old javascript to compile .NET executable applications (with all the bells and whisltes) using nothing more than javascript, a text editor and a command line. No IDE is neccessary, nothing to download. Out-of-the-box. And anyone who scoffs at .NET has never really tried to use it. Microsoft has an entire subdivision of the company dedicated to documentation. I’ve looked at plenty of API docs for so many things, and I find MSDN to be extremely well organized and useful. I can’t say the same for many others in regards to programming documentation.
Newbies with macs are pretty good at spouting off misinformation as long as it enforces the reality distortion field they live in.
August 7th, 2008 at 6:02 am
I’m a new convert to Mac, and I appreciate the platform for its solid UNIX implementation and the lack of any driver issues.
But the comments here have been great, very informative about what people are doing on the various different platforms. neimad’s comments for example have me very intrigued. Thanks for sharing.
August 7th, 2008 at 6:07 am
>it’s not clear what an upmod means
I believe upmods mean one thing and one thing only: the person doing the upmodding hopes that more people will get exposed to the ideas revealed in the headline/article/comments of the story.
This doesn’t mean they agree. I might upmod an article that supports my enemy, but does so in a way that makes them look ridiculous.
Anyone who thinks upmodding is used soley for expressing agreement with an item, or expressing approval of the quality of an item is kidding themselves.
OK, now THAT was off topic, wasn’t it!
August 7th, 2008 at 10:45 am
I hate these language platform wars. Anytime people say that one is better that the other, I just think less of that person for saying that because what it comes down to is whatever you’re comfortable with. All programming environments have things that are bad and good about them.
I like C#. Why? I’ve been programming with it for a number of years, it has what I consider to be good documentation and you can write code pretty fast in it. That’s not to say you can’t do the same with others but I have no idea how to write for other languages or where I’d find documentation for them.
Netflix I believe is written on ASP.NET. Facebook is written on PHP. Both are sites that take an incredible amount of traffic and require some pretty complex engineering efforts. You can be an amazing programmer in PHP as much as ASP.NET
August 7th, 2008 at 3:07 pm
Visual Basic damages programmers’ minds! Stay away! There is *no* reason beginner programmers can’t start with C# or Java. I started with PHP and made sure I learned as much about OOP as possible (yes, OOP principles apply to PHP). My transition to C# was actually quite fun because I didn’t have the enormous syntax learning curve required to transition from a BASIC-like language.
I will say this — the *nix based operating systems are a lot more *fun* to work with, IMHO, simply because *nix-like systems have so many tools that are handy for manipulating text files (which, ultimately, are the core tools of programmers).
September 20th, 2008 at 9:03 am
[...] | user-saved public links | iLinkShare 3 votesThats Games » Blog Archive » Enthusiasm Makes Programmers>> saved by eJd2NHa2Rxgoaxg9ronqMkA5x 2 days ago4 votesJimmyjane Contour M+Afterglow Sensory Set>> [...]
October 24th, 2008 at 1:31 pm
duloxetine and weight gain
October 24th, 2008 at 3:47 pm
and duloxetine
October 25th, 2008 at 2:33 pm
tadalafil pills
October 29th, 2008 at 11:00 am
Very nice site!
cheap viagra
November 4th, 2008 at 3:23 pm
I don’t even know,fellow!) continued to write in the same vein, it is interesting people!
November 6th, 2008 at 1:57 pm
At first I did not believe, but watching the video, I was shocked!!!Barack Obama met with Father of Russian mafia 5 years ago!!!!watch the video now
November 13th, 2008 at 1:22 am
hz7uihjf5avgid6y
January 3rd, 2009 at 12:31 pm
bwt9Cu hi nice site thanx http://peace.com
January 11th, 2009 at 11:42 am
this post is fantastic xhamster video porn =-P
January 11th, 2009 at 10:42 pm
Wonderfull great site X video 0161
January 13th, 2009 at 6:33 am
Best Site good looking free lolita child porn >:-]]]
January 13th, 2009 at 9:59 am
Best Site Good Work 14yo little lolitas rsxow
January 13th, 2009 at 12:11 pm
perfect design thanks porn yourtube yuisrg
January 13th, 2009 at 1:36 pm
Gloomy tales hardcore little lolitas hpnzvr
January 16th, 2009 at 2:14 am
Cool site goodluck
xtube free porn =O
January 16th, 2009 at 2:21 am
this post is fantastic xmovie review
January 17th, 2009 at 9:53 am
I’m happy very good site free young lolita girl porn pics ibsv
January 17th, 2009 at 8:01 pm
i’m fine good work 89 free clips downloads 81028
January 18th, 2009 at 12:04 am
Very interesting tale tube porn piss 4877
February 9th, 2009 at 4:42 am
The pharmacist - always kept that prescription for cheap viagra pricesand diet and are the effects of optometrist and optometrist school can have cialis generic adding drugs illegally.
March 16th, 2009 at 5:13 pm
Man, I will bookmark your blog and take the feeds also, if you don?t mind
July 17th, 2009 at 3:59 pm
Time does not exist.
November 6th, 2009 at 1:18 am
comment4
November 17th, 2009 at 11:28 pm
ro ro ro freedom lolit abbs elwebs