Question:
Is it true you Mac OS aren't good for programming?
2016-01-26 18:17:50 UTC
My teacher hates apple products, he always has something mean to say about Apple and apple users. The other day he said that mac computers sucked because you couldn't even "program" they way you could with windows computers.

But I don't understand, I've seen a lot of programmers with macbooks.
Twelve answers:
Impaled
2016-01-28 18:14:06 UTC
I've developed on Windows 95 through Windows 10, Linux since Slackware debuted, and on Mac OS X through a few releases.



Mac's foundation is Linux, and Windows is not, so Macs imho are automatically better. But when you get up into the windowing system APIs, I didn't see much difference between the two.



Mac vs. Apple is just a fan-boy argument, imo. Anyone who seriously loves coding will try their hand at any platform, and just go with the ones they really like while not denigrating the people who prefer the ones they don't.
Andy T
2016-01-27 22:20:36 UTC
Seeing MacBooks running what? It can run Mac OS X and Windows since the market has pretty much spoken on that point.



Mac OS X I assume, it is almost a decade since OS 9 or older, those sucks to high heavens, fetch few ancient issues of MacWorld from such time would hint you of that.



Mac OS X stood out from OS 9 because it isn't really 100% Apple product, them knew OS 9 sucks to high heavens in technical sense and licensed true UNIX kernel. The bad part is what Apple stamped onto it.



I know that OS X selected Objective-C as programming platform of choice, the old Pascal is gone with old Mac OS, but it is a strange choice. Effectively dead as described prior, Wikipedia says it is of different OOP paradigm compare to all others. Which means this locks you in to iOS and Mac OS X programming, this is not a language where you can transplant your hard skill or soft skill to a different platform either by choice or demand.



Compare to Java, C#, C++, or JavaScript. The soft skill you accumulate there effectively usable everywhere.
2016-01-27 11:44:46 UTC
It would depend on what you are programming and what platform you want to target.



For mobile app and web design/development, OSX. You can target all mobile platforms and there are a great amount of design/team tools.



If you are doing something specific like C# stuff or systems programming, get a Windows PC.



Linux is pretty multipurpose (any language and platform except iOS), you can almost any IDE (eclipse, intellij idea) and if that's not even enough you can be productive with vim and tmux sessions. However there are not a lot of good design tools on Linux. Gimp is cool, but it is no Sketch or Photoshop (yes WINE is an option, but lets only consider native here).



I'd say for development (my opinion) that it goes something like this: OSX , Linux > Windows



Where OSX and Linux is a toss up. If you are doing anything mobile, pick OSX, otherwise Linux is fine.
dallenmarket
2016-01-29 20:12:52 UTC
The others have it right. Mac coding is Unix based and thus more universally accepted than any DOS based programming as used in Windows. Your teacher is just another uninformed Mac basher, who unfortunately is in a position of authority. He needs to be reported through proper channels in the school. An opinion is one thing, but a total distribution of misinformation is not! Simple question for you to ponder: If you can't program a Mac, how do they write programs for Mac? Oh and also, why do you have "Terminal" and "Console" applications (located in Applications/Utilities and installed as part of the Mac OS) in EVERY Mac? They are used to "program" directly into the OS, just like the old DOS programming commands were done.
Quentin
2016-01-27 01:28:43 UTC
With programming there is console programming and programming for the graphical interface.



There is a lot of programming that can be done for the console. General purpose programming languages can be used. So C++, Python etc. The OS does not make any difference. This can be done on any OS.



There is also internet programming. HTML, CSS and languages such as JavaScript, PHP, Ruby. These can be done on any type of computer. The Mac comes with Apache server which is the same used by most servers.



There are online computing platforms. https://codenvy.com

This is supposed to be the way things are going. There is a free member option. Again it works on any computer on the internet.



Given the 3 (popular) operating systems, Windows, OSX, Linux, program written for one will not work on the other OS. (There are work arounds.) All the APIs are different.



With OSX you can program using XCode. The language is called Swift. You can also program in C++. The professional version of XCode is available for FREE download. Amateurs can get access to all the professional stuff for $99. (Compare that with Microsoft's Visual Studio MSDN for $13,299) This is the same thing that all the apps that can be seen on Macs have been developed with. Your teacher must think that Adobe Photoshop grew on a tree.



Windows change completely every couple of years. The Windows 10 is completely different to Widows 8. (I haven't seen Windows 9 so I can't say) There was also the Metro interface. Then there were loads of other versions. Windows 95, Windows 98, Windows 2000, Windows Millennium and many more all different.



Macs have a consistent look and feel to the interface.



If you want to program for the iPhone that can be done on a Mac. Note that Apple keep the desktop operating system different from the iPhone. The two are different and used in different ways. But Microsoft want to turn the desktop/laptop into a giant smartphone. A consistent interface for all those users of Microsoft smartphones (ie <2% of users). It looks a joke and nobody likes it.



C++, Fortran

https://software.intel.com/en-us/intel-devtools-by-os/osx



Ruby on Rails

https://gorails.com/setup/osx/10.10-yosemite



Java

https://developer.apple.com/library/mac/documentation/Java/Conceptual/Java14Development/00-Intro/JavaDevelopment.html



SQL with Oracle database

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Chris
2016-01-27 05:47:21 UTC
It greatly depends. If you write Python or Java code, the system doesn't matter at all.

If you want to create apps for iPhones, you actually *require* MacOS.



Your teacher might be alluding to the fact that MacOS offers less customiziation, at least superficially. Apple has their "it just works" philosophy, and that sometimes means that you're stuck with a certain process and can't change how it works.



I'm also no fan of Apple, but that's mostly because of the Scientology like atmosphere and the price tags. And the fact that most Apple fans are beyond biased when it comes to comparing their holy iDevices to anything else.



Anyway. If you want to create a C# application, you best bet is a Windows PC. But telling people that Macs are no good for programming is biased and stupid.
Marvin
2016-01-26 21:21:42 UTC
I feel the same. I run Linux on my macbook air.



In Linux and Windows most coding is done in C, and C++. Also C# and Basic are popular with Windows.



On OS-X most programming is done in mainly Objective C. The language is not all that popular, and effectively dead. You will seldom encounter it anywhere else.



I am not knocking objective C, I am just pointing out that it is pretty useless outside of mac.



Also Apple changes its API's frequently. A typical app must be updated every year. I have Linux apps from the late 90's that still run, and Windows apps that are ten years old that still run.



You can use cross platform tools like SDL, and Qt, and the GNU tools if you prefer C++, but then remember you will still end up re-compiling with every major update to the OS.
Tom
2016-01-26 18:23:59 UTC
Mac OS (and Linux) are Unix based so they are inherently better for coding since they can natively compile code. You can use compilers like GCC and G++ on mac/linux. You can still code on Windows of course, there are just more hoops to get through.
friday
2016-01-26 21:16:20 UTC
Nope. If programming on the Mac is so bad, then there wouldn't be any developers programming apps for the iPhone or iPad (because you can only develop iOS apps on a Mac).
Dave
2016-01-26 18:24:34 UTC
Almost all my customers who write code use Mac or linux. PC is rare in that field.
Pepe
2016-01-27 21:34:01 UTC
yes
2016-01-26 19:02:23 UTC
There are only a few "logical" reasons to get a mac.



1) you are designing software for Mac/IOS

2) you are not very tech savvy



mac takes linux, and locks it down to bare minimums and makes its very user friendly. There is much less malware for mac then on windows. BUT they dont allow you to have much freedom with your computer. you usually cant upgrade them, you usually cant repair them yourself, and getting them repaired is extremely expensive.



But macs are needlessly expensive. you are paying a LOT for the apple "brand name". Also apple as a company is the bottom of the barrel. they are one of the top offenders for getting everything cheap from china (and quite literally working them to death), and they have extremely shady business tactics, such as getting patents on things like the "rectangle shape" and suing everyone who uses rectangle (i only wish i was joking...).

They just do soooo much shady and underhanded business tactics (could read things on google for years on all the things they do), that as a company i hope they die. (they NEED to die). they are the epitome of evil.



And so buying macs, you are supporting them and this **** behavior... so its hard to not look at mac users with ill intent. as they are either pricks or ignorant people.





Windows is really a crap platform. But it atleast allows your freedom of hardware. and even as an operating system its more open then macs are. But windows is now heading down the path of profiting off your data and spamming you with advertisements. so ehhh.





Linux is the master race operating system. Its secure, free, open-source. everything about it is good. The only problem is for things such as playing games its not QUITE there. it has pretty good gaming support, but many games are not supported, and gpu drivers are also close but still not quite there yet. There also not a lot of commercial software support (such as adobe suite and etc).



Now there are lots of free open-source alternatives, but if you rely on specific software, it may not work on linux (there is always WINE or running a windows virtual machine, which will drastically help with supporting that stuff).



But i think it still has a few more years until its more ready for the average user, or maybe slightly above average user. If you dont mine fiddling with things and problem solving and know how to use google and online forums effectively, linux is already a great operating system, aside from being a good gaming platform. (but its very close to that).





EDIT: there are quite of few games which have native linux support. using WINE/play on linux, you can get a lot of games working properly (requires some time tweaking things to get it working). For things that wont work you can either dual boot windows or run windows in a VM with gpu passthrough (very difficult, not recommended for people that dont know what they are doing).



I never said it was a "gaming platform", but its not too far away from being one. (as long as you dont mind getting your hands dirty). id say within a few years, linux will be a viable gaming platform. i mean steam is making a lot of headway in linux (with steamos, which i dont know if that will succeed or not, but its still paving the way for linux gaming and pushing it full steam ahead).



with vulkan API, if games decide to support it (they would be crazy not to), its really going to change gaming on linux entirely. openGL is kind of a turd, which is one reason linux gaming isnt really a thing yet. new api and little better support from gpu vendors, and linux is a gaming platform.



nvidia gpu drivers are "almost" as good as windows gpu drivers. amd closed source drivers are absolute ****. the open source amd drivers are actually better then the closed source ones, but still not even close to windows amd drivers.



like what are you even talking about? do you even use linux?


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...