Question:
is MAC - Computers good for programming? ( c++, java, Symbian etc.. ) !?
iirrv
2010-01-25 09:14:33 UTC
Hi I am Student of IT, in Finland.
I would Like to get a New laptop and consider getting Macbook pro as a strong candidate.

Since I haven't used Macintosh Computers much I would like to ask, is it OK to get Mac for my programming career?!

I have to Study/ Program on Visual studio c++, Java, Mobile Java ( Using Net-Beans), Unix ( putty), Assembly language, Symbian/Symbian Mobile Programming ( on Carbide mode for Windows and also in Linux).

My Question is: is it possible to do Program these on Mac-OS, Environment?
I have been hearing a lot about VM & Boot-camp aswell. Will it be good enough to work, as on Windows Environment Natively? Provided I will also need linux for Symbian Programming.

Is running OS virtually as good as running natively for Programming Work?
AND is it possible to have Windows and Linux Both on Mac? good Enough for work..
_ or is there anyway out? Please Advice!

Looking forward for your suggestion.

Thank-you.
Thirteen answers:
2010-01-29 06:02:37 UTC
It's superb for all Programming Work.

Trust me.I guarantee it.
jplatt39
2010-01-25 10:04:41 UTC
Okay, Mac OS X is a UNIX. You can't do visual studio C++ in it -- I believe -- but you can certainly do C++. You will also find that VM and bootcamp are stable enough of a Mac to run Windows. As for running Linux, Carbide can run on the Macintosh -- again, Mac OS X is a UNIX and Linux is a UNIX-derived OS. It is not simple or straightforward, but it is apparently not on Linux either. Here is a page about setting it up which claims to be about Linux but is apparently good for both OSes:



http://developer.symbian.org/wiki/index.php/Developing_for_Symbian_on_Linux



Yes by the way Boot Camp will allow you to run Windows AND Linux on a Mac, if that's what you want. But Mac OS X and Linux are close enough -- and yes I acknowledge there are differences -- so I have to wonder if it's worth the bother. Oh, Java and Net Beans will OF COURSE work on a mac. But since you are already on UNIX and have openssh available, why use PuTTY? It's just an OpenSSH client and you can do everything the same with what they have.



Oh, for Assembly language try this:



http://yasm.darwinports.com/



You can use it on any OS you are using for intel right now.
R.C.
2010-01-29 07:06:06 UTC
Wow, there are a lot of answers here.



I'll try to boil it down - if your question is, "Can a Mac run Windows?"



Yes. Any Intel Mac can. Your best bet is to use BootCamp (comes with OSX and now supports Windows 7) and buy a full copy of Windows 7 - you can probably get a good discount through your school.



BootCamp is a dual-boot solution, not a VM solution, so you are running Windows directly on your hardware, just like any other Windows machine.



To run both OSX and Windows, especially with all the software you mentioned, you'll want to get the biggest hard drive available.



If your question is, "Is Mac OSX a good platform for Windows Development?",



No, you can't even run Visual Studio under OSX.



If your question is "Is OSX a good platform for Unix Development?"



Yes, since it's based on Unix, it is extremely Unix-like. You would have no need for PuTTY, you can just use ssh from a terminal window.



So, the question back to you is, why do you ask? If you need to run Windows, it will be cheaper just to get a Windows machine. If you're going to get a Mac either way, though, you can get it and know you can run Windows on it. Be aware, there are a lot of strong feelings about Mac for some reason, so you'll have a lot of people telling you how smart or how dumb you are for getting one if you plan to bring it to class.
2010-01-25 09:26:30 UTC
"Symbian/Symbian Mobile Programming ( on Carbide mode for Windows and also in Linux)" says no. You'd have to install Windows or Linux on the computer at extra cost. (Even Linux - you'd need Boot Camp to dual boot, and that comes extra.



Buy a good Windows computer and you can install Linux to run on it also - at no additional cost. The same hardware you'd get in a Mac, you'll get in a PC for less money. (The only differences between tham is that the Mac costs more [to buy, to maintain, to upgrade and to repair] and the operating system is a proprietary version of a free operating system [FreeBSD].)



Running in a virtual machine is running natively - you install the native OS in the virtual machine. It's just slower. It's possible, though, to have Windows, Linux and FreeBSD on one computer, each running natively, but one at a time. (Running in a virtual machine means that you can have more than one OS running at a time.)
el tom
2010-01-25 15:33:54 UTC
Interesting to see the lack of logic in Apple fanboys' answers. No, Mac hardware and OS X is not a good choice for development, unless you plan to develop for (and only for) Mac/OS X.



VM & Boot-camp are nothing but virtualization layers which allow you to install Windows on the Mac hardware, i.e. you still have to pay for the expensive OS X and for a copy of Windows then run them on the same hardware, either alternatively (which basically means you would be running Windows for your development) or in parallel (trust me, you don't want to do that since Windows on top of OS X will be really slow).



Bottom line: for any programming tasks targeted outside OS X (Microsoft tools, Symbian) avoid Mac/OS X and instead buy cheaper PC hardware powered by Windows.
Iwillnotexist
2010-01-25 10:07:54 UTC
A Macbook is precisely what you need. The Mac ships with 2 DVDs - the Mac OS X Install DVD and the Applications Install DVD. The latter is for GarageBand loops, which unless you happen to be a musician is useless to you. The former, however, is more interesting. It contains the installer for something called Xcode - the official development environnement for Mac OS X. It is very powerful as an IDE, and with it comes what you likely most want - GCC (GNU Compiler Collection) and Java (javac).



The version numbers are 4.0.1 and 4.2.1 for GCC (Good enough - I built my own GCCs, 4.4.3 and 4.5.0 from svn revision control and releases) and 1.6.0_17 for Java, which is to say the latest. The GCC bundled with Xcode is tuned to Apple's whims and is more focused on Obj-C than on other languages, with the result that it is slightly incompatible with the GNU's version of GCC. However, that same GCC can be used to compile Assembler to binary code. I have nothing bad to say of Java on Mac OS X - if anything it is a touch better than elsewhere. You merely have to keep updated with the latest Java Updates # for Mac OS X and you're safe. Netbeans exists for Mac OS X, and it is easy to download and install.



To be honest, as I hate the presentation of Xcode (It was made for Obj-C GUI programming more than anything else), I use the variety of text editors for Mac lying around. My favorite is a very cute application called Smultron - very user-friendly. Takes down Xcode's unfriendliness single-handedly.



Visual Studio doesn't exist for Mac, but there is a way around this - Boot Camp.



Symbian can be booted alongside Mac OS X.



As for Boot Camp: It allows dual booting of Mac alongside Windows, so if you wish to install Windows it is an easy matter of reading the Boot Camp instructions and following them. Windows will then run at native speed, so there are no worries there. You will be able to install everything that you wish on your Windows partition and everything will run precisely as a Windows would run, like Visual Studio C++. Notice, however, that Boot Camp was only designed to boot Windows: Going into triple- or quadruple-boot is generally no-man's-land in computing and needs to be done VERY carefully. For this reason, if you do wish to boot Mac, Windows, Linux (Ill guess Ubuntu) and Symbian OS, I recommend you buy a 500GB hard drive, partition it 5- or 6-way (A spare partition is always useful, believe me) as soon as you get your Mac, then proceed to install all OS-es you need.



VMs are not recommended by me - they are awfully slow, though if you need rapid switching you're welcome to use them.



You might run in a few bumps in the road to Mac OS X. Some cons are that Mac uses its own filesystem format, called HFS+. Linux understands it but Windows does not unless through free third-party drivers, which if I am not mistaken are included in Boot Camp. Windows also uses a new filesystem called NTFS, which Mac does not understand (the feeling is mutual), unless you use the free NTFS-3G driver from Tuxera. The layout of Mac OS X is roughly identical to Unices, but has a few (not a lot) different tweaks. For reference, the GUI Terminal is found at /Applications/Utilities/Terminal.app. Suffice to say you won't encounter much problems.



Pros include utilites you won't find in Linux, such as my favorite, open. If you type open "name-of-file" it will open it in whichever GUI app it usually opens in, which makes you think "why didn't somebody think of that earlier?". Or for example the command say. Type say "This is cool" in the Terminal with speakers on and listen carefully. Look around on Internet for more of these hidden gems which make Mac so great an OS.



Finally, I would like to conclude that Mac OS X is an excellent platform. I will confess my hate of Linux here, but Mac OS X makes up for it. It is very Unix-like, but is idiot-proof and manages to conceal Terminal work (because the command prompt is so named in Mac OS X) from the mere mortals in a way no Linux distro will ever manage.
Just Jess
2010-01-28 13:00:04 UTC
There's advantages and disadvantages to anything. It's possible to build a cross-compiler for just about any system/architecture/kernel combination you can name, and most higher level languages have good cross-platform options.



Visual Studio, on the other hand, has some serious problems.



First, is the fact that when Microsoft updates a standard, backwards compatibility often suffers. If, hypothetically, they decided .NET wasn't "cutting edge" enough anymore, your .NET knowledge would be about as useful as my MFC knowledge is. You are better off learning the windows API and manually using resource compilers, and using a decent editor like Emacs or Vi rather than an IDE whose interface is going to be inconsistent with other IDEs, handles things for you (and thus prevents you from learning them), and gets shuffled around whenever the people distributing your environment feel like it. Not to mention the unwanted overhead that gets added to your compiled code.



The second big problem is portability. If you learn Visual Studio, you are stuck using Windows computers, which can effectively ground you to your home computer. Many businesses won't let you develop solely on your own system. Some of them will require you to use Visual Studio, but as everything is IDE driven with that system, you won't have any problems; it will be like driving an automatic after driving a stick shift. Other businesses, which cannot afford the extra overhead, security, and maintenance expenses having a commercial operating system comes with, will just not be an option for you. They may let you PuTTY into their servers, but then you're doing all your development on your work computer, which makes it impossible for you to reliably test any of your code on the safety of your own computer, where breaking something won't cost you your job.



A mac is just as good as any computer for development. Don't pay too much attention to the operating system you use; when you're an accomplished developer, it really won't matter at all.



What will matter is having tools you can use. You should make a USB stick with a few cross-compilers and other tools you can use on all the computers you develop on, and slowly add tools as you end up working on more architectures. After a while, you'll find friends that exist no matter what computer you are on and will get comfortable with them.



One of those tools should be the best way to compile Windows native code from any system in the world: MSYS/MinGW with the Windres resource compiler. You can find that here:



http://www.mingw.org/



If you do a little yahoo searching, you'll even be able to find scripts that will build your whole cross-compile environment for you. I would highly reccomend building three toolchains, one you can run from Linux, one from Mac, and one from Windows. That way you have a consistent environment you can use anywhere.
deonejuan
2010-01-27 13:47:02 UTC
Mac is usually a hardware upgrade when the features you want aren't there. Development is s-l-o-w on a Mac and especially so if you are targeting the PC platform. Macs were meant to be a positive experience coming out of a pretty Apple carton. Then, it takes about 2 years to want something with more horsepower.



Inasfaras Java -- that comes from Apple, and, for whatever reason, Apple is always one Java version less than what the latest JDK is being used.



I might consider a Mac if Objective-C was my goal to get in on the "gold rush" iTablet, iPhone, iJobs phenomenon. I used to be a MacEvangelist, but over time saw hardware was the only option for upgrades. Expensive hardware.



Linux is better. AMD64.
?
2010-01-25 09:32:55 UTC
Yes - I do exactly this - I use a Mac for all my development work.



I use Xcode and/or a terminal window for native Mac development or generic *nix work.



I have VMware Fusion with Linux x86-64 and Windows VMs for developing and testing Linux and Windows versions of my code.



It works perfectly - it's like having 3 systems in one laptop. The only caveat is that you need plenty of memory if you want to run 2 or more systems simultaneously - at least 2 GB, preferably 3 or 4 GB.
Pfo
2010-01-25 09:23:19 UTC
Mac is the worst platform for programming. The community is just not there. The reason why Windows sits on 90% of the world's desktops is because Microsoft catered to their programming community, they nurtured it and made it the largest in the world.



You can program anything on a Mac that you could on Windows, but you'll be doing most things by hand. With Windows, a huge library of existing code is available, open source, to study and play with. This is absent with Mac, you'll be doing most things from scratch.
?
2016-04-05 07:52:19 UTC
They are very different languages is some ways, both object oriented but C++ can be a little tougher to get your head around. Either would be good to learn but if you don't have a lot of programming experience then start with Java, it is slightly easier. Sorry, can't help with the myspace question as I don't use it but looking at it, it seems to use PHP and CSS so neither language would be better in that case.
2010-01-25 09:45:22 UTC
Yes you could use virtualization software such as virtual box and vmware, or you could multi boot. At my university most people with MacBooks had both windows and mac os installed, and booted into windows to use Visual Studio. Macs are very good computers.
?
2016-09-13 00:48:05 UTC
It's actually good


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