DEV Community

Tips for Programming with a low end PC.

tobe on July 17, 2020

DISCLAIMER: The term low-end is subjective, this is intended to help anyone with a less than powerful pc. For the past few months I've been using ...
Collapse
 
pavelloz profile image
Paweł Kowalski

If you have low end PC, first advice: dont use vs code. Use Sublime text :)

Collapse
 
oloryn profile image
Ben Coleman

Yup. I used to use Sublime Text for just that reason (though in my case it was a case of wanting something that would work well inside of Lubuntu running under VirtualBox on an old, non-virtualizing Windows laptop. VSCode was too sluggish for that, but Sublime Text did fine. I have since upgraded both laptop and desktop to faster, virtualizing machines, and have switched to VSCode. Right now, VSCode's Remote-SSH implementation is keeping me there.

Collapse
 
lautarolobo profile image
Lautaro Lobo

Thank you mate, VSCode gets quite lagged sometimes, gonna try Sublime Text. Hopefully I'll get a different laptop to work with in the next few months...

Collapse
 
phantas0s profile image
Matthieu Cneude

If you have a very low end PC, go for a tiling windows manager (i3), the shell (Zsh is good), Vim, and a light linux distribution like Arch Linux.

If you don't have a very low end PC, you should try it. You will learn very useful skills.

Collapse
 
adeleke5140 profile image
Kehinde Adeleke

But is Arch easy for beginners to Linux?

Collapse
 
fernandomaia profile image
Fernando Maia

Nowadays, most distros usually installs everything out-of-the-box for their users, which is ok in most cases, but this comes with a cost: some of this stuff isn't necessary for your use. It basically install what it thinks might be useful for their userbase.

Arch is somewhat different: it's pure. It doesn't come bloated with unnecessary software, or even a Desktop Manager. It gives you the option to choose what you wanna use. And that's where the idea of Arch being available only for hard users comes from. It's installation might not be as easy as an Ubuntu installation but it's still a Linux distro after all.
They have probably the best wiki available with detailed explanations on multiple subjects, which saved me many times, that has a complete Installation guide which covers probably everything regarding this topic.

The description provided by Matthieu is my current setup for a while now, and I'm pretty happy with it. It's entirely optional, since my PC specs are pretty decent (Intel i7, 8GB RAM, 256GB SSD) for a 2015 Dell laptop, but it's my go-to setup.

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

Thanks for the explanation. I'm currently using Xubuntu with XFCE on a old 2015 Hp laptop. I've got only 2GB of ram and an old i3-4005U processor. A few tabs in Firefox developer's edition freezes everything and it's a real pain.

What would you advice? I've heard of stuff like openbox and i3, but don't really know if they'd run smoothly on my old pc.

Thread Thread
 
fernandomaia profile image
Fernando Maia

I'm a little bit biased on this, because I've never used openbox before, and I've been using i3 for quite some time, so I'd probably suggest i3 here.

I must say that even though it's a better option for your situation, the browser you'll be using is still the same, and browsers loves some RAM, so you might be able to open more tabs, but don't expect much or you'll get disappointed.

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

Thank you. I just installed Regolith that comes packaged with i3-gaps and it's been okay-ish

Thread Thread
 
phantas0s profile image
Matthieu Cneude

Only okay-ish? What don't you like?

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

Lol, Regolith is quite good. It's based off Ubuntu and it's not difficult to understand for a noob. I especially love the workspaces and keyboard-centered navigation.

The okay-ish part is just how complex it is to customise. I saw a lot of rices on reddit and wanted copy it but I've been stuck for 2days trying to install Polybar. I'd go to github and read the docs but it's either I don't get it or I get errors. That's why it's been okay-ish

Thread Thread
 
phantas0s profile image
Matthieu Cneude

Thanks! It's difficult to jump directly in this kind of customization, and sometimes it's not very well explained for beginners. You can check my article on i3. I'm not using polybar, but maybe it can help.

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

Thank you

Collapse
 
phantas0s profile image
Matthieu Cneude

Even as a beginner you can learn quite a lot only by trying to install all of that.

I'm writing a book about that, if you're interested ;)

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

I'd check it out 😁

Collapse
 
alchermd profile image
John Alcher • Edited

I sadly work with a similar situation. My laptop broke down, leaving me no choice but to work with an Intel Celeron, 2GB RAM, 32GB HDD beast of a machine. Here's my take on how I managed to survive (so far):

  1. Ditch whatever OS you currently have and install Lubuntu. It only takes 300MB of RAM on idle. And you'll need as much of it as possible.

  2. VSCode is out of the window for me as well. VIM or Emacs would've been perfect for me, but I don't know these two enough to be productive. The best compromise that I found is with Sublime Text.

  3. Manage you browser tabs religiously! Web content is so massive nowadays that 2GB will be eviscerated by 3 unsuspecting tabs. I use Firefox as my browser because it feels snappier than Chrome, but YMMV.

  4. Keep a close eye on your storage. Running and rebuilding Docker containers for a while may swallow up storage space on your end. Good ol' docker system prune should do the trick most of the times. Keep your download folder clean and delete any unused files after you're done with them and you should be golden 😁

Update: I managed to salvage my girlfriend's laptop and it has modest yet considerably better specs (Intel i5 and 4GB of RAM). I still follow my rules above and I manage to hover around 2GB of RAM usage, with PyCharm Pro instead of Sublime. Those ~2GB worth of extra RAM sure do come in handy when my workflow starts to become complicated.

Bonus Tip: with a limited amount of resources, Postman is a huge killer. With a bit of tinkering and creativity, I managed to get a ton of value out of HTTPie using JSON files on disk as my payload(s). Combine it with your homegrown shell/Python scripts and you'll get a sexy API smoke test suite that you can commit on your VCS. Neat-o!

Collapse
 
mirkoperillo profile image
mirko

If you use Firefox you can give a chance to Resting.
It's a browser extension that take inspiration from Postman and with the goal to be lighter

DISCLAIMER: I'm the creator and the maintainer of Resting

Collapse
 
tobenxe profile image
tobe

These are some great tips John!

Same thing happened to me, laptop broke down and I didn't have enough money to get a new comparable one, so got something I could work on in the meantime.

Collapse
 
0916dhkim profile image
Danny Kim

My laptop has 8 GB of RAM and a coffee lake i5 CPU with Windows preinstalled, which is more than adequate for everyday tasks and web dev. The laptop hit its limit when I started working on a medium sized React-Native project in which I needed to run

  1. Dockerized PostgreSQL server
  2. Android emulator
  3. Dev server
  4. Web browser

Docker & emulator were just enough to bring my laptop to its knees, and the development process was very painful. Then I tried to install Ubuntu (not Lubuntu), and Linux magically solved all performance issues at once. Ubuntu hits swap file from time to time, but it never freezes or spits out BSOD. The only downside I can think of is that I cannot use my fingerprint sensor anymore on Linux because it uses proprietary driver.

Collapse
 
adriansandu profile image
Adrian Sandu

The used market is flooded with office OEM computers that were cycled out by companies. You can get a second gen i5 with 8GB of RAM for very convenient prices. If you make any money from your coding, you should look about getting at least something like that. You will thank yourself later.

I have been working on such a machine for about 5 months until the current crisis started: a Dell Optiplex, with an i5 2400 and 8GB of RAM (that later got upgraded to 24GB with two extra sticks of 8GB). It is more than capable to run PHPStorm, Photoshop and a bunch of browser tabs.

Take a moment to look on eBay, Facebook market, Gumtree or whatever portal is there in your country for selling and buying stuff. Just because you can't afford a new computer, doesn't mean you have to suffer using an ancient and underpowered one.

Collapse
 
phlash profile image
Phil Ashby

If you want a syntax-highlighting editor that is a bit more graphical than vim, good ol' Notepad++ is very nice (on Win API devices), or you may even find your system text editor is quite capable, gedit on Gnome desktops is actually usable!

I am not going to dispute your definition of low end, but will remind folks that we have a habit of moving our expectation window with regard to this term - "640k should be enough for everybody" :)

Collapse
 
tobenxe profile image
tobe

Great comment Phil, definitely agree with you there.

Collapse
 
madza profile image
Madza

What specs would be considered low in 2020?

Collapse
 
tobenxe profile image
tobe

That's tough, my judgement is a bit off at times because while I am a developer I also play video games and edit videos occasionally (So for the things I want to do 4GB is low, but good enough for the most important thing I do: mostly programming).

It really depends, ballpark for me is <4GB RAM.

Collapse
 
madza profile image
Madza • Edited

Yup, I was thinking the same! Something in the lines of dual-core cpu below 2ghz, <4gb ddr3 ram, low capacity 5400rpm hdd and some integrated graphics...

Thread Thread
 
adeleke5140 profile image
Kehinde Adeleke

This is the precise spec of the pc I use for Web dev

Thread Thread
 
lautarolobo profile image
Lautaro Lobo

Sadly I'm using a notebook with similar specs.... work gets tedious.

Collapse
 
huncyrus profile image
huncyrus

I would say, try to code on a rapsberry pi 2b+, with desktop mode. But fine if you can think of an older platform under pc, like a core2duo (because early "i" series is still perform well). Or an ultra version of low-end cpu. Imho.

Collapse
 
garretharp profile image
Garret • Edited

I actually dont suffer from a low end PC as I spent quite a bit, however, I actually do all of my programming on gitpod.io. It's an amazing online code editor that is basically VS code hosted for you. I would say it's probably the same as what github codespaces will be when that releases. I have to say though I am looking forward to github codespaces.

Collapse
 
huncyrus profile image
huncyrus

You can have a bunch of other editor, such as: any text editor (vi,vim, nano, notepad++...). With some trick you could have a proper IDE also (emacs if you willing to spend a month with just pure plugin/makro write).
Also, for development - if your work does not contain graphical/design/video things, then totally a good option to switch for a lightweight linux. It will suxx, for sure.

But one thing, what you really have to learn. Patient. Many times I used very old machines, but my tasks required high performance, so in exchange, I just sittin' on a chair, readin' a book while the machine loading or do anything.

[tl;dr]

I do remember, when I was student around 2000, I was so happy, when I was able to switch from a very old 286 (with math co proc) to a used p2@300 mhz machine , while everyone else played on tualatin or had athlon+ already. And I was fairly glad, because finally I was able to run borland delphi and compile my stuff at home, not just writing blindly, bringing in into school and compile it.

Collapse
 
ybbond profile image
Yohanes Bandung Bondowoso • Edited

Upside is you don't have to touch your mouse as much, The downside is that you have to learn vim :*

I can say the reverse.

Learning Vim is... fun! Stress reliever when the Jira Task «In Progress» is >3 and you've feel too much.

Having learned not to use mouse is an endless pit of dismissing actually good software because of poor keyboard support.

Written with Vimari, an emulation of Vim for any <input>.

Collapse
 
phantas0s profile image
Matthieu Cneude

That's why Vim is so good. It's fun.

Many lost themselves in endless discussions about fast and slow and mouse and keyboard. They forget something really important: fun will always make your more productive.

Vim is the gamification of coding.

Collapse
 
cben profile image
Beni Cherniavsky-Paskin

On the fun angle, mandatory mention to vim-adventures.com/ :)

Collapse
 
huncyrus profile image
huncyrus

I never heard this before :D this is my new favorite nonsense for vim, I definitely will quote you :D
(to be frank, it is really good on many places, but it is just a mature text editor)

Collapse
 
eljayadobe profile image
Eljay-Adobe

The one thing I really like about Vim is that it is a zen-like experience for me. I truly become one-with-the-keyboard. The editor is out of the way — out of sight, out of mind. I never have to touch my mouse, even if I'm using a graphical Vim. Fingers on home row the whole time. It's magical. Maximum throughput, although most programming time is thinking rather than typing (but there is heavy output typing in bursts).

Collapse
 
ybbond profile image
Yohanes Bandung Bondowoso

this is also true to me, and affect my apps preference greatly.

I abandoned many great apps because they have poor support for keyboard movement. In minimal, they has Emacs style movement (C-b, C-n), but force me to reach to keyboard to use sidebar.

Using (Neo)Vim, I am the master of refactor for my project, because like any article you’d found in the internet, programming is more reading & editing rather than writing. Vim provides convenience for reading, editing and writing. Vim(like keybinding) is good.

Collapse
 
tobenxe profile image
tobe

Vim is great now that I know how to use it decently enough. I guess that was mostly referring to the learning curve for becoming an efficient user.

Starting out, you work slower during the learning period but I think after a few days, vim starts to pay off. After a few months (and years I presume), the value is undeniable.

Collapse
 
enygmator profile image
Eny 🍀 (Tarun Aditya)

For any low-end PCs (like the one I have), I would personally recommend using the New Microsoft Edge browser since, (I don't know how) it uses so much lesser memory than Google Chrome Browser despite BOTH the browsers being based on the same Chromium codebase and having all the same features (edge has one or two extra super-awsome features like "collections"). (I'm sure MSEdge uses memory tweaks under the hood).
I have seen edge use, less than half the RAM chrome uses.
Now, don't say I am an MSEdge fan. cuz I am! 😂

Collapse
 
stealthmusic profile image
Jan Wedel

At home, I still have a 2012 MacBook Pro upgraded to 4GB RAM and SSD.

I think it also depends what you are building, although you did not state it in your article AFAIK, I think you assume frontend development.

This is actually a resource killer when running chrome and maybe even compiling a typescript SPA, running Karma and Cypress.

But when it comes to backend development (eg Java), it is possible with significantly less resources.

And regarding the IDE: I still run the latest IntelliJ on my old Mac, both for frontend and backend. IntelliJ has its indexing magic, it takes considerable amount of CPU when starting, but afterwards it runs pretty snappy.

Collapse
 
laranikal profile image
Carlos Kassab

To add to your article, taking the advantage of your initiative, I want to mention my computer.

I am using an HP Pavilion dm4 I bought in 2010, it has an i5 second generation, these are the full features: support.hp.com/us-en/document/c028...

The only change I have done is, I increased memory to 8GB and installed a 500GB SSD.

I have installed CentOS 7 with XFCE and all of this:

  • IntelliJ IDEA
  • ATOM Editor(It seems it works faster than VS Code)
  • Opera Web browser
  • Google Chrome
  • Thunar file browser.
  • smplayer as music player.

The very good news is that with all of those apps open, my computer runs very fast and only consuming 3.1 GB ram.

This is, we do not need windows 10 and the last computer in order to have fun.

Even it runs on battery and works very good.

Collapse
 
pontakornth profile image
Pontakorn Paesaeng

I have 4GB desktop at home. I cannot run Windows effectively. Also the Window is pirated, so I got rid of it.

I use Manjaro Linux. I want to try Arch but I still need a ready to use distro. XFCE is ideal desktop environment. I also combine it with OpenBox.

Main editor is Code OSS (VSCode Clone without tracker). I also use NeoVim.

Collapse
 
innprogress profile image
Arnold A.

Sublime Text was the only editor that worked well for me on my 1.1 gHz, 4 gb ram trash pc, glad I now can use VS Code on better pc.

Collapse
 
tuilipshrm profile image
heytuilip • Edited

If you have a low end PC/laptop, use a very lightweight Linux distro like Arch Linux with a very lightweight WM like BSPWM and use Sublime Text and Qutebrowser for stuff like searching Google but don't make Qutebrowser your primary browser because it lacks features that are sometimes necessary.

I had a 10 year old laptop and I used the stuff I metioned above and even in 2GB RAM, it worked fine!

Collapse
 
tominekan profile image
Tomi Adenekan

If you have a low end chromebook. (speaking to myself) with 4 gigs of ram, 16 gigs of storage and Intel Celeron. You need some help (speaking to myself again). Here are some tips:

  • Use galliumos. GalliumOS is a light Ubuntu based distro with XFCE4 (around 2 gigs burn to bootable USB)

  • Continually clear your cache. Storage caches cause a lot of pain and sorrow because they are usually hard to find and separate from the important stuff (I'm looking at you Google). Clearing the caches usually will save your dying storage.

  • Use the terminal. The terminal is the one app that can do it all. It has a web browser (lynx, I wouldn't use it though), a text editor, (vim, nano, emacs), a file manager (I don't need to explain this one). A system monitor (top, htop, dmesg). Multiple programming languages (python and Perl usually come default installed on the system).

  • One app at a time, the tiny RAM won't be able to multitask at all, especially when running electron apps like vscode.

  • Avoid Google chrome, it may be hard to do that on a chrome book 😂. Google chrome and RAM are like mouth and food. One eats the other. Try Microsoft Edge (dev for linux) or Firefox.

  • Get a new computer as soon as possible. As you get better at programming, there will be more advanced tooling that will take up more memory, space, and processing power. I am at that spot right now and things are getting tough. (I'm getting a new one this month though).

Sorry if this was kind of long. Happy coding 😀.

Collapse
 
brandonwallace profile image
brandon_wallace

7 years ago I bought a $160 US dollar computer with a Intel Celeron processor, 2GB of RAM, and a weird version of Windows that only lets you open one application at a time. Before buying it, I said to myself "There is no way a computer this cheap this computer will run". I took a chance and bought it anyway. I installed Linux immediately without even booting into Windows. It runs beautifully. I have added a stick of RAM to it. 7 years later I am still using it.

Collapse
 
zenulabidin profile image
Ali Sherief

I noticed that Codesandbox uses a lot of memory when you open a project, and that can finish a lower end PC's memory pretty fast. So better to use repl.it or stackblitz or one of the other alternatives.

Collapse
 
webdev_chen profile image
Uchena Miller

The Ide is better for clean codes and programmer productivity.. so I don't suggest going lower than sublime text or brackets. I use Vscode send I put it in top tier among other editors I've used before..your right about disabling unused extensions. It helps ram. I'm using a low and pc so I can relate but at the same time I need better productivity

Collapse
 
gtobar profile image
Guillermo Tobar

Thanks for your post.

If you are developing a mobile app, use bitrise and fastlane to compile in the cloud. You don't need to invest in a mac :)

Collapse
 
zilti_500 profile image
Daniel Ziltener

Another solution: Spacemacs :P

Collapse
 
michaeltr profile image
0100110101 • Edited

What can i build in low end laptop with Spec Intel i3 4300,hdd 128, grapic card Intel hd,ram 4gb,what can i build with that Spec in 2021(in programming)

Collapse
 
codingmaster profile image
Coding Master

Thank you for this article! I have a 5+ year old pc running Windows 10 with about 4gb ram, so this will improve the way I use it.

Collapse
 
gchrbn profile image
guy cherubin

I am currently using a 4GB ram and AMD E1 CPU laptop..I installed vim and customized it and i found it to be great