7 ms·
one question: why is every single person in the YC Hacks photos using a variant of the macbook? i'm someone who is about to pursue a CS degree, and also embarki
by gotrecruit 12y ago
one question: why is every single person in the YC Hacks photos using a variant of the macbook? i'm someone who is about to pursue a CS degree, and also embarking on an autodidactic journey in software development and i'm entirely used to windows machines and do not personally like the mac interface that much (possibly simply out of habit). why is it so prevalent for developers and programmers to use macs? are windows machines inferior for such purposes?
- soperj 12y agoAs a non-mac user, the one thing that mac does have over windows is ready access to a unix terminal out of the box. That's about it. If that's what you want though, just go with linux and skip the apple tax.
- gotrecruit 12y agomust i use linux? are windows machines really so terrible to use for software development and programming?
- jonny_eh 12y agoUnless you stick with MS dev tools like Visual Studio and .NET, unfortunately, I'd have to say yes. You can still use Windows for general software development, many people do, but most tutorials and tools are aimed at unix compatible systems. Also, when it comes time to deploy a server on AWS (or any cloud provider other than Azure), it'll help to know your way around a unix-like OS. Also consider that for iOS development you need a Mac, and those seem more lucrative these days than Windows apps.
- jorgeortiz85 12y agoI've found there are two very different worlds of software development. For convenience, I'll label them the "Microsoft" world, and the "Open Source" world. (The labels aren't completely accurate, but I think they're largely descriptive.) The Microsoft world runs .NET, Visual Studio, C#/VB.NET/ASP.NET, targets the Windows desktop runtime (tho increasingly also the web), relies primarily on proprietary (and usually non-gratis) libraries and tools, etc. The Open Source world revolves around *NIX, uses open-source languages (gcc, clang, Java, V8 Javascript, MRI Ruby, etc), targets the Linux runtime and sometimes OS X/iOS, relies primarily on open-source (and gratis) libraries and tools, etc. The ecosystem differences go pretty deep. For example, even though either world can interop with practically any SQL database, inhabitants of one will largely choose Microsoft SQL Server while inhabitants of the other will largely choose MySQL/PostgreSQL. Both can have great software development or terrible software development. It's possible to mix and match (eg, using Windows doesn't preclude you from writing Ruby). But startups tend to choose the Open Source world, likely due to the combination of lower licensing costs and the "hackability" of open-source software. I'd argue that due to those same reasons, the Open Source world has produced more innovation in the last decade.
- greggman 12y agoWindows machines ROCK for software development. Microsoft's tools are second to none. I say this as someone that's done mostly Linux and Mac dev for the last 6 years. I massively miss the MS toolset.
- gotrecruit 12y agowhile i would love to believe you because as mentioned, i am partial to windows, why is it that you seem to be very isolated in your view? the other responses seem to support the idea that Macs are better for software development. also, as a mildly interesting anecdote, when i was in india for a project, i noticed that indians generally all use windows machines for software development too. i rarely see apple machines there.
- dpritchett 12y agoMS does have a nicely integrated set of developer tools, but they are not particularly useful for people who aren't developing for a Windows platform. Most consumer-facing Websites don't run windows, nor do most cell phone apps. There are plenty of Windows jobs building corporate software (think intranet web apps and desktop GUI applications) and so there are indeed many devs who build that stuff and enjoy doing so on Windows. I imagine there is an overlap between the Indian devs and the Windows-related dev jobs. Personally, I build OSS-based web applications on Linux. My last machine was a Mac and while I enjoyed it I chose Linux this time around because of the lower sticker price and the better native integration with OSS tools.
- greggman 12y agoYou're right. It really depends on what you are making. MS's tools only target MS platforms. So if you're not trying to make something for an MS platform, or specifically Windows, then they're out of the question. Mac has the advantage it's a flavor of unix so if you're writing server software you're on a machine that's closer to your target environment. Similarly if you run Linux. But, the tools on both of those don't come close to MS's tools when actually writing the software. At least that's mine and many other people's experience. As just one example, state of the art debugging on Linux is still command line GDB. Even many of my mac friends switch back to GDB to debug on Mac. Where as on Windows Visual Studio's debugger has always been amazing to work with for like 20 year? (19?) Maybe Valve+RadGameTools will fix this with their work on LLDB but it can't be too soon. As for India I'd assume they don't want to pay the Apple tax. Best Buy lists 147 PC laptops for under $499. The cheapest Apple is $999. And that's just on brand stuff. Go to further off brand stuff and the prices get even cheaper. I'm not judging quality or specs. But people without money would seem unlikely to pick the $999
- pizza 12y agoNo, I think a large group of people use Windows to develop and push their code to a remote Linux server.
- soperj 12y agodefinitely not. I'm am a programmer and we are a windows shop that doesn't do any .net programming. Sometimes it's a little bit more difficult for some languages or frameworks (ie: django) but really there's not much you can't do.
- tzhong 12y agoMac == XCode == iOS app development
- mikeknoop 12y agoWindows: good window manager, bad stack Ubuntu/linux: bad window manager, good stack OSX: good window manager, good stack Window manager: how much time you spend fussing with UI settings and how reliable it is day-to-day Stack: how much time you spend installing, maintaining packages necessary for what you want to do (apps, libs, envs, etc.)
- gotrecruit 12y agothanks for the concise response. i'm curious though: as a layman in technical details but a fan of the tech world, i've always been under the impression that since windows was developed by a engineering-centric organization like MS, it should be far better for such technical uses, as opposed to OSX, developed by a design-centric company like Apple. am i completely wrong in that view?
- mikeknoop 12y agoIf you're doing popular web-stack programming (python, ruby, node) you'll have a far better experience on a unix-based operating system since much of the tooling is designed with it in mind. Windows has ports here and there, and there's always Cygwin, but it's going to feel like a compatibility layer the whole time you're using it (especially if you're following guides/stack overflow help). I've used all three stacks for years and couldn't happier with my latest MBPr (hardware or software wise).
- icelancer 12y agoI strongly preferred Windows/Linux machines for a long time until I gave in to Apple. Their machines are just superior from a hardware standpoint if cost is not highly relevant. OSX took the intelligent step forward of basically reskinning BSD (not exactly but it's concise enough) and adopting the Intel platform on the hardware side was enough to bridge the gap and eventually overtake it in many tech circles.
- gwillen 12y agoYou will be a bit hosed pursuing a CS degree on Windows. People do it, you can make it work, but you'll be constantly fighting to get your system to do useful things.
- greggman 12y agoit really depends on what you want to do. If you want to do iOS dev you're pretty much required to have a mac. Mac's also run a flavor of unix so they're closer to most web server environments than windows. On the other hand, if you want to do graphics (GPU/Shaders) or games all of that is pretty much exclusively Windows based. There's nothing wrong with Windows. It's a fine OS.
- davidw 12y agoBecause they haven't yet mastered Linux, the hacker OS :-)
- mecheng123 12y agoIt also depends on your location. From what I read/see American developers all have macbooks, but I'm currently attending a high tier Western European uni and there hardly any macs at all (only professors that came here from USA have them, lol). The CS program here uses Windows & Ubuntu.
- gotrecruit 12y agothat's actually my personal observation as well. i've traveled extensively around the world doing projects (some of my own previous startups), and in places like eastern europe and india, i've rarely seen macs at all. however, when i was in college in the US, i noticed that pretty much anyone who does anything remotely close to programming or graphics design uses a mac. definitely speaks to the marketing prowess of apple.
- buyx 12y agoIt depends on where in the world you are, and what sort of development you do. I rarely see regular business app developers with Macs where I am (South Africa). Indeed Macs are generally used by the wealthy here (weak exchange rate+middle-income country), or those who need to develop for iOS. Universities either use Linux or Windows in CS labs. A huge percentage of the developer community worldwide uses Visual Studio, and most run it on Windows, rather than a Mac running a VM.
- theoutlander 12y agoWindows is great for development and so are other platforms. People who claim that OSX is better are simply biased or drinking the typical apple fan boy kool aid. If anything, I would compare the development tools and in that sense Visual Studio is the best IDE out there! My schooling was in Solaris, Windows and Unix. About 15-20 years ago open-source software was mostly available on nix variants and not as much on Windows. Most people didn't want to pay for software, so they chose nix... OSX happens to be a variant of FreeBSD (if I remember correctly), so it can run everything that runs in *nix. IMO, it was mainly used by graphics designers because of better hardware and some standard software that came with OS X. I think if you looked at Photoshop, you could do the same things regardless of the OS. At home, I use Windows on a Macbook because I like the form factor of the Macbook and because Windows makes me more productive. I've done startups / developed under various platforms and there's not a single system where you're restricted....other than typical iOS stuff on the Mac and Windows Phone stuff on Windows. With new frameworks, you can develop for any mobile platform on any OS. I think OS X fans have probably based their opinion off of a handful of issues they've faced in Windows. Nobody seems to compare and contrast specific issues where Mac is a winner. People that complain about Windows have probably not tried to install and configure remotely complex products on Linux like mail servers for instance. Their complaints are not usually first hand experiences. IIS on the other hand was a PITA to configure in Windows, but it really isn't as bad as people made it look. I've coded in many languages/frameworks on Windows just fine: - NodeJS / Server side JS - Python - C++ - C - Java - Ruby / RoR - R - Matlab - Web based HTML5 / JS - C# - VB The only time I was forced to use OS X was for developing iOS apps around in 2007. As far as your CS degree goes, I would start out with learning typical core computing concepts: - Algorithms - Data structures - Processor Architecture - Compilers - Memory Management - Etc. In addition, I would keep a few different kinds of OS's handy and set up the same stuff across all of them to see how it's done and what the issues are. Along the way, keep blogging about your experience so you can always refer to it. This helped me quite a lot in picking the right platforms before venturing into a new project. And btw, I write software in Windows that runs on all OS's and cloud services (although we're sticking with Azure for now).