It is, it seems, an age-old question: which is better - Windows PC or Mac. Although I look at the learning to code aspect of each system it is too easy to get drawn into the Mac versus PC debate.
IS MAC OR WINDOWS BETTER FOR PROGRAMMING?
It all depends on what you are trying to achieve. There is no right or wrong answer. In many cases it will depend on the preferences of the user. I will therefore approach this blog article from my own perspective having used both Windows and Mac systems for many years.
The Everyone Can Code curriculum will guide you through Swift Playgrounds, an app that teaches coding for kids through a world of interactive puzzles and playful characters. It’s great for students age eight and up, and will help you introduce coding in the same language used by professional app developers. Dec 21, 2019 Rabbids Coding! – a fun educational game that teaches the basics of coding – is FREE to download and play! Find out how to get Rabbids Coding! For FREE, and make sure you tell your friends! If you missed this, well, next time join the Tech ARP Facebook page to get these updates quickly! This list contains 2437 video game titles released for Classic Mac OS (1 through 9.2.2) and MacOS (MacOS X). 1 This list is incomplete; you can help by expanding it.
SWITCHING FROM PC TO MAC
The Mac is, quite simply, a beautifully clean and simple system to use. I was a die-hard fan of Windows and built all my own PCs for many years. I travelled to the local computer fairs each weekend where I delighted in roaming around the stalls looking at the latest and greatest processors, the processors I could never afford to purchase. There was something engaging about building your own PC in those days. Would the system boot up after the case was closed? Would the operating system install? Would all the drivers be recognised? When I look back I wonder how I managed to get anything done with all the time required to build and troubleshoot!
However, about 10 years ago I made the move to Mac and have never looked back. The ease of use and tight integration between the operating system and the hardware have meant that I have had pain free computer use for all of those 10 years. My iMac is always on and the only time is it rebooted is during one of the many power cuts here in Queensland, Australia.
THE PROS OF CODING ON THE MAC
reliability
durability
Xcode can only be run on a Mac
the integration between hardware and software
the Apple ecosystem
the user interface
As mentioned above, the Mac is, in my experience, a solid and reliable system that I can just turn on and begin using. The mainstay of my work is an iMac, and a Macbook Air for when I am out of the office. Both computers are incredibly reliable and an absolute pleasure to use.
The main selling point about using the Mac for coding has to be the access to Xcode and Swift. If you are serious about iOS app development then you really need to consider Xcode. If you want to use Xcode then you need a Mac (I know there are cloud alternatives but you cannot really beat a local install…yet). You just cannot ignore the Apple ecosystem and the massive potential in the App Store.
Apart from Xcode, most of the other software I use is available for Windows. Everything else is cloud based such as CodeAnywhere which is my go to platform when I am out and about. Having the flexibility to work on any computer in any location around the world is a reality I used to dream about years ago.
The stability of the Mac and the lack of maintenance allows me to focus on productivity. I can work quickly and effectively on my iMac or Macbook Air. There is tight integration between then and the use of features such as Airdrop is great for sharing files.
The user interface is a pleasure to use. It is clean, simple, and carefully thought out. There are not layers of sub-menus and unnecessary features that I find on a Windows machine. If you need to dig a little deeper and if you are so inclined then you can use the Unix Terminal. I rarely see the need myself.
I love the trackpad on the Macbook Air. I have yet to experience a PC based trackpad to rival those on the Apple devices. Pinch and zoom are extremely useful when looking at lines of code. I hate (sort of) the Magic Mouse. The ergonomics are just not quite as refined as I expect from an Apple product. I much prefer the Logitech MX Master 2S.
Using a Mac is peaceful. What do I mean by this? Well, I do not have jet plane fans screaming in the background. The iMac is whisper quiet, even when under load. The Air does power up its fans from time-to-time but rarely when just coding. It does struggle with Xcode unless I reboot prior to starting it up. I realise there are great PCs out there these days but nothing engages me as much as the Apple ecosystem and ease of use.
THE PROS OF CODING ON A WINDOWS PC
upgradability
cheaper (initially)
wide array of development tools
The number 1 pro has to be the flexibility of the Windows OS. Being able to load and run just about any piece of software is a real plus.
Windows PCs tend to be cheaper…initially! Be careful though as the build quality will often match the price paid.
If you are a game developer then Windows is still where the action is at. Apple gamers constantly grumble about the lack of gaming availability although there is huge potential. Let’s see what Apple Arcade will bring in terms of development potential.
There are many development tools that are just not available on Apple. However, with many developers moving to cloud based systems this really is diminishing in terms of a reason to stick with either Windows or Mac.
Upgradability of the PC hardware. Simple. Macs are renowned for being extremely inflexible when it comes to upgradability. Need a faster graphics card to aid with rendering? No problem on a PC. Not too easy, and often almost impossible, to upgrade hardware on a Mac. External GPUs are now starting to make a dent in this area but there is still a long way to go to get the reliability for which Apple is renowned.
IS MAC OR WINDOWS BETTER FOR A COMPUTER SCIENCE STUDENT?
I would go with Mac every time. Having owned many Windows laptops and Mac laptops I know that the Mac is, in my opinion, a far superior product. Many will say that Macs are more expensive but the total cost of ownership is not much different. Macs have a higher resale value. I have experienced far fewer issues with my Mac systems. In fact, I have never experienced an issue.
Apple run Back to School promotions each year and usually have reduced pricing or a giveaway. Recently this has been Beats headphones.
The main benefit for me would be, quite simply, the all day battery life and the reliability. I can get 10 hours use from my Macbook Air.
The other thing to remember is that if you want to run Windows on a Mac then you can. Using the Bootstrap functionality you can install Windows and dual boot (read about my recent experience with that below!). The other option is Parallels.
71% of Students Use or Prefer to Use a Mac
LEARNING TO CODE ON A MAC VERSUS WINDOWS COMPUTER
When learning to code you generally need access to a coding editor such as Visual Studio Code (Mac and Windows variants available), a reliable internet connection, a browser, and an endless supply of coffee. However, I must point out that I must be the odd coder around as I do not drink coffee. (What is your drink of choice when coding? Leave comments below!)
Since most tutorials are delivered via video, this means that a reliable internet connection would seem to be even more important than the computer you choose to use.
Unless you are coding the next blockbuster game release then you probably will not need a top-of-the-line laptop or desktop. An entry level computer will suffice. My caveat to this would be development on Xcode.
Coding Games For Middle School
At the end of the day it all comes down to personal choice. The Windows PC versus Mac debate has been ongoing for years and I am sure if will continue for many more.
Buy the computer that you believe you will be happiest using. Do not rely too heavily on the words scribbled on the pages of blogs such as this one. Your needs will be different to mine. You will have your own preferences.
If you are thinking about upgrading your computer or purchasing a new one then let me know in the comments below. What will drive your decision?
If you have recently upgraded or purchased a new computer then which one did you go for and why?
WHAT SCREEN SIZE IS REQUIRED FOR CODING?
The bigger the screen the better your experience will be in my opinion. I find myself with multiple tabs open in Visual Studio Code and the 13” screen of the Macbook Air just does not provide the same experience as the 27” screen of the iMac. Having more screen realestate allows me to work much more effectively.
If you are using Xcode then a larger screen really is required. Although panels can be closed, you do really need to be able to have the room to move around. Having to constantly open and close panels on the Macbook Air is a little frustrating.
There are many screen sizes and resolutions available. My personal choice is to go for at least 27” (which fits in nicely with the iMac I use!). However, I also use a widescreen external monitor with my Macbook Air. The 34” ultra-wide monitors such as the one from LG featured below is stunning and allows for multiple windows to be placed side-by-side. For coding, video editing, Photoshop, etc this is a beautiful screen to use.
WHAT ARE THE MINIMUM SPECIFICATIONS FOR USING XCODE?
As I mentioned previously, if you are serious about developing iOS apps then there really is no better route than Xcode. However, it is a beast of a program and comes in as a 6GB download. As a minimum, you will need:
1.4 GHz processor
8GB RAM
Latest OS release
Honestly, I find myself struggling with 8GB RAM and when it comes to compiling (building) the project files then things can really slow down on my Macbook Air. I have learnt that a reboot of the computer prior to starting to work with Xcode helps. However, having the additional resources of the iMac truly makes things development more pleasurable.
Guess what I did last week. I installed Windows on a Bootcamp partition on my iMac. Almost 2 hours to download and install (slow internet connection). There were no installation issues and the process was extremely straightforward despite the multiple reboots. However, once the install had completed I did experience issues with the keyboard - the extended number pad did not work, the sound drivers seemed to be causing glitches (lesson learned…do not wear headphone when testing sound for the first time), and a couple of other minor issues that I had long thought would have been addressed since my last use of a Windows system.
The main reason for the install was so that I could record a demo of software use. All I wanted to do was record a screen capture. On a Mac I simply open Quicktime and record. Not so easy on Windows without downloading additional software.
1 hour later and I had removed the partition. Will I reinstall again? Unsure. I just need a computer that works and it seems that, currently, my best choice is to stick with my iMac.
Learn serious code. In a seriously fun way.
Swift Playgrounds is a revolutionary app for iPad and Mac that makes learning Swift interactive and fun. It requires no coding knowledge, so it’s perfect for students just starting out. Solve puzzles to master the basics using Swift — a powerful programming language created by Apple and used by the pros to build today’s most popular apps. Then take on a series of challenges and step up to more advanced playgrounds designed by Apple and other leading developers.
Robots and drones await your commands.
Now you can make robots do incredible things with code you write yourself. Learn to program connected devices like the Sphero SPRK+, LEGO® MINDSTORMS® EV3, and drones by Parrot, and watch them come alive right before your eyes.
Real Swift code.
Real simple. Real playful.
Learning to code with Swift Playgrounds is incredibly engaging. The app comes with a complete set of Apple-designed lessons. Play your way through the basics in “Fundamentals of Swift” using real code to guide a character through a 3D world. Then move on to more advanced concepts.
What you see is what you code: Create code on the left side of your screen and instantly see the results on the right — with just a tap.
Conquer levels, puzzles, and coding concepts.
Starting with the “Fundamentals of Swift” lesson, you’ll tackle goals using the same code professional developers use every day. As you move along, more advanced concepts come into play. You’ll continually build on what you’ve learned and create even more complex code.
Fundamentals of Swift.
You’ll start out by learning the important concepts you need to understand code.
Commands
Functions
Loops
Parameters
Conditional Code
Variables
Operators
Types
Initialization
Bug Fixing
Master the basics,
then step up to more challenges.
In addition to the built-in library of lessons, Swift Playgrounds includes a collection of extra challenges — with new ones added over time. Go deeper on a topic you’ve already studied or try your hand at something new. You’re not just building fun creations, you’re building your skills, too.
A big world of playgrounds from a big community of developers.
Discover dozens of channels with fun new challenges created by leading developers and publishers. Subscribe to your favorites and you’ll receive their latest creations right in the app. Now there are no bounds to your playgrounds.
A new way to create code.
On the best device for learning.
Easily drag braces around code, wrap existing code in a loop, or choose from dozens of drag-and-drop snippets included in Swift Playgrounds — right from your iPad or Mac. Take full advantage of powerful Multi-Touch, multitasking, and split view capabilities on iPad. Also, enjoy the view from your Mac. The larger screen makes room for a new sidebar with a complete table of contents and quick access to other Swift files. Just tap, drag, or type text and numbers. Then interact with what you’ve created.
QuickType and coding keyboard.
Write an entire line of code with just a tap. With QuickType for code, the Shortcut Bar automatically and intelligently suggests commands as you go. When typing is the best option, iPad has an innovative keyboard designed for coding. Simply touch a key to access multiple characters, then drag to choose the one you want. Experience similar code suggestions on Mac, which comes with even more help to complete your code.
Snippets Library.
Quickly drag commonly used pieces of code from the Snippets Library to minimize typing.
Touch to edit.
Coding Games For Mac Os
Conveniently drag the boundaries of a statement around existing code.
Help is just a tap away.
If you come across a command that’s hard to understand, simply tap it and hold. A menu of options will appear. Choose the most relevant one and get the answer you need.
Jump-start your creativity with Starting Points.
Use what you’ve learned to create something brand new. With Starting Points, you can get a head start on more advanced coding, add multiple files to your playground at once, and use iPad features such as Multi-Touch interactions, accelerometer, and gyroscope. Personalize your project by adding graphics, audio, and more. Then easily share with friends, family, or the world. Students can also share code with classmates when teachers use Starting Points to create lessons.
Explore your creations in full screen.
Immerse yourself by using the vivid Retina displays of iPad or Mac. Simply tap the center divider, then drag to view your code or live project on the full screen. You can also customize built-in games like Battleship and Brick Breaker, then immerse yourself by letting them take up the whole screen.
See your code crawl, roll, or fly through the sky.
Watch your code spring to life by programming real robots, musical instruments, and drones. The Accessories channel is filled with engaging playgrounds that let you configure and control popular educational toys like LEGO® MINDSTORMS® EV3. And that’s just the beginning.
Sphero playgrounds let you guide this spherical robot through tricky courses, accelerate over jumps, and change colors.
Dash playgrounds challenge you to make it sing, dance and respond to sensor inputs to react to their environment.
MeeBot playgrounds guide you through coding Jimu Robot Meebot’s six robotic servo motors to make him move in lifelike ways. Or even dance.
Tello EDU playgrounds let you command multiple Tello drones to fly in a swarm, perform flips and other acrobatic movements, and push the limits of your creativity.
Explore robots, drones, and many other connected devices that support Swift Playgrounds.