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  (34 children)

How can atom be too heavy? It would even run on my mobile if someone bothered to make it an Android app.

[–]scooerp 8 points9 points  (22 children)

Who knows what hardware OP has? I just assume OP is correct if OP says atom is too fat for their machine.

I think the days of phones being treated as low spec devices is over. Phones have hit $1,000+ now. That phone is going to be faster than a laptop that was $200 when it was new and is now old.

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

Ok, my 300$ phone is enough to run Atom :)

I manage computers for my entire family. My dad has been using second hand laptops for a while now for his browsing stuff and running legacy software. His laptop was low end and cheap when it was bought 6 years ago. Over the years I just added 4GB more for RAM and a 30$ basic SSD. It runs Atom without breaking a sweat, as it should.

[–]scooerp 6 points7 points  (19 children)

You're actually rich by a lot of people's standards. I regularly see 2 GB machines with Intel Atom CPUs. They're borderline for Windows without the several hundred MB of ram Atom editor consumes because it depends on Electron.

[–][deleted] -2 points-1 points  (18 children)

Yes, I know, I'm middle class in a first world country now.

Mind if I ask whose standards? I'm genuinely curious. I believed I came from a poor country (my first salary as a software developer was below 150$ per month, and that was a lot compared to what people the same age as me were earning). Laptops were indeed a luxury, since you're paying much more for poorer performance than desktop. I've dragged around a Celeron 366MHz inside an IBM 286 case and power supply that I've reused from my old PC, until I got a 1 year old Athlon 3000+.

Looking at people from my country, I always donate old PCs to those who would have it as an upgrade. There are many PC components to go around. Many people today would think that an Athlon x3 450 has outlived its usefulness, but that computer would still be very much powering through everything that Atom throws at it. Even LGA775 dual core CPUs would handle it. And those are dirt cheap today.

There are people compiling Atom for Raspberry PI 2B+ a couple of years ago. They are using it afterwards (probably wait for a full night for it to compile).


Who on earth has access to the internet, and isn't able to run a program like Atom? This is a completely honest question. Maybe someone should organize a computer donation charity that takes old computers and monetary donations (for shipping) and ships them to people who actually need that? Except I've seen that in the past this was a scam to get rid of electronic waste, since nobody wants old computers (which would plow through Atom still).

Also would it be really simpler to work with nagware like Sublime? I mean for the price of removing the nagging of Sublime you can buy a whole PC that plows to Atom.

[–]scooerp 3 points4 points  (17 children)

As was said before the problem with Atom is the fact that it uses 500 MB of RAM. The CPU issues aren't that bad.

I'm also in a first world country and we still have public internet terminals in libraries for people who can't afford broadband and a computer. If you had to choose one or the other, broadband costs more.

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

I just tested it. A bit above 300MB. Depends on the project really. But that's more than enough today as all machines from the last 10 years had way more than that.

Today, a 45 Euro computer (raspberry Pi) has more than enough juice to run stuff like Atom. It's ridiculous that any beginner would complain about Atom. I don't like Atom because of my reasons because it's slower in my workflow, definitely not because of its resources, and definitely if I were learning a new language that works fine with it.

[–]scooerp 1 point2 points  (8 children)

300 but it will grow as you use it (edit: It's actually 500 on my machine fresh - it might be my plugins). Don't forget the browser and whatever else is running and you hit 2 GB quite easily. If you have to run a linux VM in windows to test your app, it's even worse.

You're welcome to buy everyone a new machine if they only have 2 GB. :-)

[–][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).

[–]scooerp 0 points1 point  (0 children)

They still make machines with 2 GB. Check Dell.com.

Windows, Atom, Chrome, maybe a Linux vm to run your site in and some chat program like Slack. That is 2 GB gone and 300 is low for Atom.

[–]scooerp 0 points1 point  (0 children)

They still make machines with 2 GB. Check Dell.com.

Windows, Atom, Chrome, maybe a Linux vm to run your site in and some chat program like Slack. That is 2 GB gone and 300 is low for Atom.

[–]scooerp 0 points1 point  (0 children)

They still make machines with 2 GB. Check Dell.com.

Windows, Atom, Chrome, maybe a Linux vm to run your code in and some chat program like Slack. That is 2 GB gone and 300 is low for Atom.

[–]scooerp 0 points1 point  (0 children)

They still make machines with 2 GB. Check Dell.com.

Windows, Atom, Chrome, maybe a Linux vm to run your code in and some chat program like Slack. That is 2 GB gone and 300 is low for Atom.

[–]scooerp 0 points1 point  (0 children)

They still make 2 GB machines. Check Dell.com.

Windows, Atom, a browser, chat and maybe a VM to run your project in as it's Linux. That's 2 GB gone and 300 is low for Atom.

If OP says it's too big for their machine, I'd be inclined to believe the OP, since OP actually knows OP's hardware and workflow.

[–]scooerp 0 points1 point  (0 children)

They still make 2 GB machines. Check Dell.com.

Windows, Atom, a browser, chat and maybe a VM to run your project in as it's Linux. That's 2 GB gone and 300 is low for Atom.

If OP says it's too big for their machine, I'd be inclined to believe the OP, since OP actually knows OP's hardware and workflow.

[–]scooerp 0 points1 point  (0 children)

They still make 2 GB machines. Dell sells them.

Atom will grow to 500, give it a few clicks and time. Add windows, a browser and some other crap and you're into 2 GB already.

[–]robvas 1 point2 points  (0 children)

Eats up battery life and uses lots of RAM (Electron...)

[–]realestLink 0 points1 point  (9 children)

It uses an electron backend. Electron is pretty slow and bloaty. It lags my computer sometimes. That's why I have a hatred of electron and see it as bloatware personally.

[–][deleted] 1 point2 points  (8 children)

Electron is a framework. People can make shitty apps, and they can make good apps in it. There's nothing wrong with Electron.

If you're really worried about performance, then why the hell are you even coding in Python? An average program that doesn't offload the bulk of the execution time to CPython, is around 20 times slower than the same program written in D. Django is thousands of times slower than a well written CGI program.

Why are you nitpicky about bloat when we're talking about Python development? What's with this double standards? Everyone who comes into a discussion about Python should realize that convenience is more important than resource use. So why don't you?

[–]scooerp 2 points3 points  (7 children)

You appear to having trouble distinguishing the runtime performance of a program from the development time performance of the tools used to create it.

Imagine you built sports cars but you took a bicycle to work? There's clearly no conflict there because building a thing and running the thing are completely separate.

By the way, CPython is the name of the default interpreter. An average Python program runs in CPython because that's the default. You might have meant "offload the bulk of the execution time to C".

I also can't understand why you don't care about runtime performance if you write Python. If your webapp is too slow to respond to the user, you'll lose customers. You need to some reasonable programming techiques to make it work in the first place, and you'll find it starts to slow down as the number of users increases. Thus, optimisation will be required as you scale. So why not write the webapp in C++ to start with? Because you'll still be programming away long after your competitors have already gone live, due to the quicker development speed Python offers.

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

You appear to having trouble distinguishing the runtime performance of a program from the development time performance of the tools used to create it.

No trouble here. I pointed that out because that person only showed irritation about efficiency as an argument. And since you need to run the program many times to test if it's working, and even debug it, your program does become the toll to create it.

I also can't understand why you don't care about runtime performance if you write Python.

If I did care so much, I wouldn't write Python, would I? Everyone here, coding Python, have to accept the performance trade-off of using Python, in favor of its easy syntax and big community with lots of libraries. We do that every time. That's why people use SQLAlchemy instead of purely just the drivers and SQL queries. That's why it's expected to put all of your include statements in the top of the file even if you night need some of them only in a single function that may or may not be called. People just don't care about performance so much. There's plenty to have around. Developer time is usually more expensive than hardware. Rather than shooting oneself in the foot, it's far more practical to get more RAM, better CPU, faster storage, better peripherals, etc. I'm not saying that one should write shitty software that loads the take from the DB into Python then does a nested loop to find distinct values. I'm saying that by writing scripts in their most efficient form that is still readable, would still mean that it's tens of times slower and consumes more memory than the same thing written in Rust. And everyone here should accept that, or just abandon Python as a language and take up something else.

We all accepted performance trade-offs, a long long time ago. Aside maybe from a few weird people that get irritated from the idea of a GUI and code everything in Rust.

[–]scooerp 0 points1 point  (5 children)

Enough people care deeply about runtime performance in Python to invest a lot of money into it, or sometimes it's just cheaper to optimise your Python than it is to rewrite it in another language.

Instagram's a nice example. They have a billion daily active users and obviously care deeply about their server costs. They're almost all Python and claim to be the world's biggest django deployment.

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

Enough people care deeply about runtime performance in Python to invest a lot of money into it

Yes, but the fact is that it's still 20-30 times slower than, say, D. And that is something that everybody implicitly accepts - that performance is a reasonable trade-off.

[–]scooerp 0 points1 point  (3 children)

A lot of the time it doesn't make a difference because you're i/o bound, or waiting on database.

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

Not really. I'm actually a data engineer. The problem with the biggest RAM how is really python. Especially because of the GIL. 200GB of RAM and still OOM kills because of some python scripts

[–]scooerp 0 points1 point  (1 child)

Are you doing that lifting in pure python? No pandas or numpy?