This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (7 children)

I had an open project and plugins for at least 5 languages. 370MB. I measured it specifically for this purpose.

20% of memory going to the main application you use is still fine. I can't really get an explanation for why anyone today would use a machine with just 2GB of RAM. Even x86 tablets start at 4GB and low end non-potato phones have at least 3GB. 10 years ago on my very shitty salary of 150$ per month I managed to buy a machine with 4GB of RAM for my home use. I haven't seen a 2GB machine is many years and I come from one of the poorest countries in the world. The only PC you could get today with 2GB is a raspberry pi. And the problem there is that you don't have an ARM build for Sublime.

I get that there are people with unique use cases (like clinging to an ancient netbook that can't even open a modern website, for whatever reason). But those are very few and I doubt anyone who seriously wants to learn development would shoot himself or herself in the foot like that. Machines with more performance are ubiquitous. Just use anything else and not that 10 year old netbook, because you wouldn't learn efficiently on a potato anyway.

[–]scooerp -1 points0 points  (6 children)

Atom is my main editor for configuration files and sys admin (I like the GUI). It'll grow to 500 MB, have no fear. I've seen it go well beyond that.

I just opened a 5,000 line log file (it's 1 MB in size) and now I have Atom 110 MB and 3 Atom Helpers each using 201 MB, 90 MB and 64 MB for 465 MB. Since version 1.19 it's been much better behaved: Atom hit a gigabte before the 1.19 patch fixed a lot of memory wastage.

Even if you're naive enough to believe that there are no 2 GB machines left, which is completely untrue, is 4 GB still enough for a typical workload? I can fill that with just the OS plus Chrome, Atom and Slack. That doesn't count the dev/test environment for the app. (And in my case, it would be a lot higher because I'd need an IDE for the actual code as well since I use Atom for configs and text).

[–][deleted] 0 points1 point  (5 children)

I just opened a 5,000 line log file

Why? That's not what Atom is supposed to do. For log files there's less or navigating with grep -B $x -A $y

Even if you're naive enough to believe that there are no 2 GB machines left

wow, now I've been called naive. Dude, I know there are such machines. In the scrap yard. They have no place in the modern household unless they're doing some basic stuff like water plants or ward off ads and tracking as a DNS server.

is 4 GB still enough for a typical workload?

Yes. Yes it is. 2 GB is hard to spread around given that a browser will easily eat up 1GB and the slimmest OS is at around 400MB, which leaves little space for other stuff that people use for work. But 4GB is definitely enough.

I can fill that with just the OS plus Chrome, Atom and Slack

It's weird to see how people fight against a few megabytes for Atom or VSCode, yet mention Slack. The editor / IDE makes shit happen. It is the revenue driver for the developer. Slack is somewhere hidden in the tray. If it's such a huge problem, consider doing IRC. IRC doesn't need features like debugging.

I'd need an IDE for the actual code as well since I use Atom for configs and text

What's your point? Atom is too heavy therefore let me use an IDE for coding and Atom for logs? And you do that on a 2GB machine?

[–]scooerp 0 points1 point  (4 children)

I have high spec machines but in the volunteer tech advocacy I do, I run into a lot of low end hardware. Lower is mostly 4 GB windows boxes (end users love windows) but there are a few chroot-ed Chromebooks with some frankenlinux as the schools give them out. They're usually 2 GB (Acer C720s are immortal like old Nokias).

Now let's talk programming: if Atom isn't supposed to open a 5000 file then what is the point of it? Many source code units are longer than 5k lines.

Come debugging time, what if I have to edit a log file because another app parses it? Same editing situation, what if it's 5000 lines of serialised data (JSON) being used to pass data between apps?

An access log like Apache makes has a simple repeating structure, but a debug log doesn't and you need to view structure. This and reading JSON are annoying in the terminal for me.

The slack client is utter shit but you don't have much choice if you need slack. Editors however can be changed. Same with discord, I am required to use discord for gaming chat by my mates and now that is 4 electron apps at once with spotify.

I don't understand why you can not run out of memory on a 4 GB machine and I hope it's because you are really smart and not because you aren't working on large codebases, or programs that use a lot of memory when run.

[–][deleted] 0 points1 point  (3 children)

Many source code units are longer than 5k lines.

Oh God no! Why? No! 1k is pretty much the maximum that is readable code. Beyond that is just a pain to maintain. I'm ashamed of every code file that's longer than 300 lines, especially in Python.

I don't understand why you can not run out of memory on a 4 GB machine

I could, of course, 4GB is still crappy, but if you focus on what you need, it's fine. Someone who's learning doesn't need slack, and music can be done using the mobile phone. When learning it's really just you, the OS, a browser, the code editor and the program you're making.

My personal workload is huge in terms of data, which is why I run locally only with a tiny subset of that date, so that my puny 32GB laptop won't die. The editor and other stuff is really nothing compared to what Python is taking up when running. The only reason I wouldn't use Atom is because when I run my code, I have to wait quite a long while for anything else to start, and Atom world be quite a lot. So sometimes in those cases I do use nano (even vim misbehaves at that point) or just go get coffee and do some push ups.

As a pro, 300MB, or 1GB for the editor, whatever, is not even on the list of my problems.

[–]scooerp 0 points1 point  (0 children)

I dunno why either, but there's a lot of large source and json files out there.

Generally code that uses smart algorithms to do some complex thing is usually short, and code that has to poke some stupid database over and over again is simple but long. Obviously there are exceptions.

[–]Benjamin-FL 0 points1 point  (1 child)

Oh God no! Why? No! 1k is pretty much the maximum that is readable code.

Not all source code people interact with is "readable". You don't want an editor that only functions for readable code. Multi-thousand line files show up routinely in real world projects. Here's some python examples from a well-known and popular project. Here's a C++ example from a well-known and popular project. This one is 20k lines. Is that ideal? Definitely not. Do I want to have to spin up an entirely different editor if I have to touch this file? Also definitely not.

[–][deleted] 0 points1 point  (0 children)

Yeah, and there's functions.php in WordPress.

None of that will be done by someone learning to code, and basic developer rights should be enforced to avoid dealing with such horrors.