You don’t need the fastest computer on the market
Many people believe that in order to learn programming and to write code you’ve got to have the fastest and the most modern computer available on the market. Maybe, this is because in movies and on TV we usually see programmers in that typical cutting-edge hi-tech environment.
If you’re an experienced software developer who have to work on heavy business applications or other similarly complex projects, you do need the very fast hardware: the best CPU, many gigabytes of RAM, etc.
But when you only want to learn programming, the power of your computer is not very important. During your learning process most of the time you’ll be reading books, watching video tutorials, googling, and writing relatively simple and short code. None of these types of activities sounds intimidating even for a ten years old dusty and rusty machine.
Among the words “writing code” the first one is the main one. As you write code, the process itself is the same as when you write any text on your computer, and it requires equally tiny amount of the resources even on the pretty old desktop PC or laptop.
When you enter characters from your keyboard, it will be an easy ride for any computer. Actually, you can even write code on your smartphone if you like.
But if your computer is fast — it’s great
There are several exceptions from what has been said above, since certain development environments are much more than just text editors — they offer programmers tons of useful options and tools, so using them is more than just writing text.
They make the development process easier, but at a cost of high requirements for the computer hardware. If you had an obsolete computer, creation of projects with such a development environment would be very slow and uncomfortable. In some cases a really old and slow PC can even be not enough to run this type of software.
Also, when the code is written, you have to test it to see whether it works. This is the moment when a slow PC can cause some inconvenience, since in order to run your application or a website usually you’ve got to use software allowing you to do that, which may require a lot of computer resources.
If your computer is slow, every time you need to test your code it will take quite a long time, which might be pretty irritating, because you will be checking your code not only when the entire project is completed, but after each small chunk of code, like a function or its logical part, is written or edited.
Usually even on a slow machine everything will likely still be working, just not as fast as it could. So if you don’t mind waiting 30 or 60 seconds instead of 5, then it won’t be a problem.
What computer will be enough in your particular situation
It’s always a very subjective matter, but here I’ll try to describe at least the most typical and general situations. Also, I’ll show you what computer I chose when I had the same question in my mind.
If you’ll be focusing on learning technologies for web development, like JavaScript, PHP, Ruby, or Python, then almost any desktop PC or laptop will be enough.
If you’re going to learn C# or Java (including the Android platform), you still can usually do it with a relatively slow computer, but it’s advisable that you have a pretty fast one. Not the best on the market, but not the worst either, since these are the languages for which you’ll likely be using those heavy development environments I was talking about in the previous section.
As for learning programming languages for the Apple platforms (Objective-C and Swift), we’ll discuss them in this article a little bit later.
In general, if you can afford to buy a fast modern computer for learning programming, then it won’t be a wrong thing to do. But if your wallet is almost empty, you can always find a good inexpensive option too. The lack of money for top-notch computer won’t stand on your way if you decided to learn programming.
Just keep in mind that RAM nowadays is often a bottleneck in programming, so the more you have the better.
And, if it’s possible, get a computer with an SSD instead of HDD. It will have a huge positive impact on overall productivity of your machine. It can literally give a second life even to an old and slow desktop PC or laptop.
What about a computer from Apple?
If you want to learn how to create software for devices made by Apple (iPhone, iPad, iMac, MacBook, etc.), then you’ll be learning such programming languages as Swift and/or Objective-C. In this case you’ll need to buy one of computers from Apple, since only they can provide you with a full-fledged development environment for these platforms.
Of course, it’s always better if you can purchase the latest MacBook or iMac. But it’s no secret that Apple devices are expensive. So, if your budget is limited, you might also consider buying, for example, some used MacBook from the previous generation. Usually they are still good enough to do what you need as a programmer. Another option is a Mac mini — the cheapest Apple computer you can find.
Naturally, Apple computers can be used not only to develop software for iOS and macOS platforms. They are versatile products that are very popular among programmers writing code in JavaScript, PHP, Ruby, Python, C, Java, etc.
Actually, these devices are ones of the best computers for a programmer, since they are very quality products, comfortable to write code on. Right out of the box macOS offers you tools which are extremely handy in programming, like a powerful command line. So if you can afford such a product, then it will almost always be your first choice regardless of what stack of programming languages and tools you prefer.
If you cannot buy an Apple computer and don’t plan to work on products for iOS or macOS, then you still can get some advantages that macOS have compared to Windows — just install Ubuntu on your non-Apple computer. This operating system also has an excellent command line and in general in itself is much closer to macOS than to Windows. So, from the programmer’s perspective, it’s almost as handy as the operating system from Apple.
Desktop PC or a laptop?
It doesn’t matter whether you learn programming on desktop PC or laptop. Use whatever you have or want to buy.
What really matters is that the display of the computer be really good and comfortable to look at, since you’ll be doing that a lot. It must be clear, preferably the matte one (not glossy), with a soft moderate backlight.
A keyboard must be comfortable for you too, so don’t buy the laptop with the one with tiny close-set keys.
One display or two?
Perhaps, you’ve already seen that many programmers use several displays — two, three, or, sometimes, even more.
You needn’t more than one screen while you learn programming. Whether it’s a display of your laptop or a monitor connected to a stationary PC, it will be enough at least until you’ve finished your initial programming education.
But in general it’s really convenient when you can open your code editor on one screen and see the result of your job on the other, without the necessity to constantly switch between different windows. It does make the development process faster.