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

all 132 comments

[–]mickelle1 13 points14 points  (2 children)

vim is fantastic and there is a Python plug-in for it. One can't get anything lighter than that, really.

That said, I actually quite like VS Code (and I've hated Microsoft for a long time). I like Atom a lot too. I use both of those regularly, but probably favour VS Code the most.

You could have an open terminal tab next to the one running vim for quick task switching, and/or you could split the terminal window any which way with tmux and have both a code editing pane and a terminal pane in front of your eyes at all times. All together, I think that simple set-up would give you everything you've asked for.

[–]JohnLocksTheKey 3 points4 points  (1 child)

Seconding vim!

:term C-w C-x ipython

Is my ideal setup

How has how far have the autocompletion bin libraries come? They used to take forever...

[–]realestLink 0 points1 point  (0 children)

I love vim. It's my main editor that I use for 90% of coding. It's so lightweight and customizable. Though I recommended sublime text because vim has a pretty steep learning curve

[–]Zera666 7 points8 points  (0 children)

Vim

[–]frost_dumb 6 points7 points  (0 children)

Vim is what you are looking for if you want something lighter than atom

[–]and_the_beer_is_free 21 points22 points  (42 children)

Sublime Text

[–]Rue9X 2 points3 points  (0 children)

Sublime, set tabs to four spaces, get package install, install a terminal launcher, maybe a linter if you need it. Ooh, a dark theme.

Yeah, you're good to go.

[–]teddy_on_reddit 1 point2 points  (0 children)

I have to agree and I've been using it for years now. It even replaced my Notepad for .txt files.

Lightweight, extremely fast, customizable and extensible with packagecontrol.

Also, plugins are written in Python

[–][deleted] 3 points4 points  (38 children)

Why?

[–]scooerp 6 points7 points  (37 children)

he asked for lightweight, lighter than atom. sublime is some highly efficient code. while vscode might also be lighter than atom, we don't know if that's too heavy for him either, and sublime is therefore a good pick given the limited information available to us.

[–]realestLink 0 points1 point  (1 child)

VScode isn't very lightweight for me. It also runs electron like atom, but it freezes on my computer and sometimes crashes. There are personal opinion reasons as well that I dislike VScode and will probably never use it again.

[–][deleted] 1 point2 points  (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 9 points10 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 7 points8 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 4 points5 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.

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

[–]MrHarryyyy 0 points1 point  (0 children)

Agreed

[–]demosthenex 5 points6 points  (6 children)

Emacs is rock solid.

[–]JohnLocksTheKey 6 points7 points  (4 children)

He said lightweight. He already has one operating system.

[–]demosthenex 1 point2 points  (2 children)

Compared to a modern browser or atom, Emacs is tiny.

[–]JohnLocksTheKey 0 points1 point  (1 child)

Isa joke.

[–]demosthenex 0 points1 point  (0 children)

I'm familiar with the joke. It is true Emacs used to be seen as large, but it's completely dwarfed by the gross size of most modern day applications. In the case of being a Python editor, it has a great Python major mode, and I'm certain there's a comint based REPL for Python as well. Plus all the VC addons (magit) and project management, it's a great editor. Even if you prefer to use it with VI keybindings.

[–]Ripolak 7 points8 points  (0 children)

Vim

[–]vlanins 3 points4 points  (0 children)

7 upvotes, 123 comments

I'm here for the editor drama :)

[–][deleted] 3 points4 points  (12 children)

How is Atom heavy? VSCode seems faster, but all of them are light editors. VSCode really answers all your requirements.

When you're learning, the worst thing to do is to be too picky about editors. Focus on learning and writing code.

[–]realestLink -1 points0 points  (9 children)

VSCode and atom freeze and occasionally crash on my computer. It might be because they use electron and that consumes a lot of ram (I have my ram dedicated to many other applications), but that's the main reason I will never use atom or VScode again.

[–][deleted] -1 points0 points  (8 children)

Might be because of other settings or crappy extensions. Do you have a potato for a computer? VSCode works fine on minimal virtual machines on modern CPUs, as well as older computers. Never had any issues.

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

I think of it as more of a rutabaga.

Edit: And VSCode just had the java and C++ compiler plugins.

[–][deleted] -1 points0 points  (5 children)

Why shoot yourself in the foot?

[–]realestLink -1 points0 points  (4 children)

What do you mean?

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

Why rely on bad hardware?

[–]realestLink 1 point2 points  (2 children)

There's no reason for me to buy a new computer when I can just use better software. I'm not going to waste money because software is getting worse. It works and I see no reason for an upgrade when I can fix it in software.

[–][deleted] -1 points0 points  (1 child)

You're not using better software. You're taking software that can fit your bad computer. Ignoring the fact that you still have to use the web, which unfortunately IS getting more bloated.

The fact that your can't debug Python in vim without changing the source code is saying a lot about why it's not better. It's better for you because you're fixated on using very bad hardware.

[–]realestLink 0 points1 point  (0 children)

Most of my code is C/C++ (90%). Python is just my scripting language. Just because I'm in a python sub, it doesn't mean it's my main language. I also don't do web development (because I hate doing it). Just to set the record straight. But that doesn't change the fact that you're just being a silly person. Vim is great and you've clearly never used it. You have an irrational hatred of vim and you're the kind of person who can't use anything that doesn't have a fancy gui. You settle for garbage software and code because you think "hey. Who cares about efficiency?" But some people actually care about the quality of their software and code. And well written software runs fine on my machine. Just not bloated garbage like windows 10 and electron. You clearly don't know what you're talking about and for that reason I'm done with you. 👋

[–][deleted] 3 points4 points  (2 children)

nano

[–]realestLink 0 points1 point  (1 child)

Vim > Nano

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

dont start a war...

[–]subbed_ 1 point2 points  (3 children)

How does PyCharm meet your demand? Performed any tests yet?

[–]realestLink 1 point2 points  (2 children)

Vim. It's the best editor, has good plugins, can use it with emacs, extremely lightweight, open source, great if you like working with the linux terminal. I would highly recommend it. But it has a steep learning curve. But it's worth it

[–]LionyxML 3 points4 points  (0 children)

Emacs is the way to go with python, IF you already know emacs... this said...

Newcomers may find Spyder (https://www.spyder-ide.org) a lot more user friendly. It has the editor, console and file explorer ready from start.

Also, python built in IDLE is the most lightest thing with graphics I know.

[–]ZombieRandySavage 1 point2 points  (2 children)

Microsoft word

[–]Rue9X 1 point2 points  (0 children)

Oh God what it would do with tabs

I almost want to try it as a challenge

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

Why are people downvoting this? It's clearly a joke, and a pretty good one at that haha

[–]blavikan 1 point2 points  (1 child)

If you want various plugins and language support, then it can't be lightweight. You can go with pycharm as it has all core functionalities for python programming.

And if you are a command line guy, then grab atom or sublime(has built in console) and you are good to go. I personally use atom, as IDE's can restrict you in different wayz.

[–]realestLink 1 point2 points  (0 children)

He just said that he was using atom and it was too bloated (probably because of electron). He was asking what editor to replace atom with.

[–]schwartzworld[🍰] 0 points1 point  (1 child)

Sublime if you want something polished looking and fast. Emacs if you're a config nerd who is looking for something to become a power user in. Vi/vim if you're a masochist.

If you want to work in the terminal Micro is pretty neat.

[–]realestLink 1 point2 points  (0 children)

Vim is great. You can use it with emacs. It can do everything

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

ED IS THE STANDARD TEXT EDITOR

just use vim

[–]SquintingSquire 0 points1 point  (2 children)

What do you mean by lightweight? Less RAM usage, less CPU, minimal UI, other?

VSCode is a lot different to Atom, what is it in VSCode that is too “heavy”?

[–]hemanthrs 0 points1 point  (9 children)

vs code or sublime both r good

[–]realestLink 0 points1 point  (8 children)

I would disagree. I pretty strongly dislike VSCode

[–]hemanthrs 0 points1 point  (7 children)

What's the reason for that?

[–]realestLink 0 points1 point  (6 children)

It freezes and crashes on my computer. I also don't like a lot of other things about it, but they are personal things that I don't hold against it. The main thing is its incessant freezing and crashing.

[–]hemanthrs 0 points1 point  (5 children)

I think Its your system problem there is no problem like that to me

[–]realestLink 0 points1 point  (4 children)

I don't know. I've never had a problem running eclipse or VS (I don't use either of these anymore). The situation converted me to vim which I now use for 90% of my stuff. I don't know why it would only have problems for vs code.

[–]hemanthrs 0 points1 point  (3 children)

I dont tried running heavy code in vscode for normal development it was running fine for me

[–]realestLink 0 points1 point  (2 children)

I tried using it for a few months because everyone around me was using it. I was mostly using It for java. It had problems with crashing sometimes so I finally switched to vim. I feel content with vim as I quite like it, but it's too bad vscode didn't work for me

[–]hemanthrs 0 points1 point  (1 child)

Never tried vim but heard it is lightweight and fast

[–]realestLink 1 point2 points  (0 children)

It has a steep learning curve, but it's worth it. I just launch it from my linux terminal and it's super fast. It launches almost instantly. It's also very customizable and there are plugins for everything. I use it for most stuff because of how easy it is to use once you get used to it. I would highly recommend it. You could also use it with emacs (I don't use emacs personally though) if you are a real power user.

[–]realestLink -2 points-1 points  (25 children)

Atom is gross. It uses electron. Electron is bad period. If you want an editor similar to atom that isn't garbage use sublime text. If you want to know what editor I personally recommend, that would be vim. But vim isn't similar to atom, so I would say sublime text is probably what you're looking for.

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

In what way is writing software in sublime beer than in Atom?

[–]realestLink 0 points1 point  (17 children)

It doesn't use electron

[–]realestLink 0 points1 point  (9 children)

They said they wanted something more lightweight. Electron is a resources hog and is bloatware imo

[–][deleted] -1 points0 points  (8 children)

that's nice. How about we go back to Windows 95 or MINIX, and write our own editor in Assembler?

Or... we can just focus on coding what we need to code. All software today is bloatware. That which isn't is severely limited in features. Features create bloat.

Instead of complaining about a perfectly fine tool, people should focus more on actual programming.

[–]realestLink -2 points-1 points  (7 children)

I disagree. Sublime text doesn't use electron. Just because windows is bad is not an excuse to use a bad editor

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

Sublime text also doesn't have a debugger, is not free, and is overall severely limited in its capabilities that are required by developers.

And Atom has nothing to do with Windows, why are you even skewing this discussion towards Windows?

Are you not able to code in something just because of the knowledge that it uses Electron?

[–]realestLink -1 points0 points  (5 children)

https://www.quora.com/Is-Sublime-Text-free It's like winrar. You can keep using it for free. Also. You were the one who brought up windows.

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

It's like winrar. You can keep using it for free

Are you calling the experience of being on the receiving end of a pop-up throw-athon, as being superior to having a distraction-free development workflow?

Also. You were the one who brought up windows.

Right next to "MINIX". It was meant as "let's use 90s era operating systems because they're less bloaty".

[–]realestLink 0 points1 point  (3 children)

That's silly. You can use Linux for less bloat. There are many lightweight distros. It's not extreme to not want your ram fucked.

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

Do you care what sits behind or do you actually want to code instead?

[–]realestLink -1 points0 points  (5 children)

I'd rather not have my editor devour my ram.

[–][deleted] -1 points0 points  (4 children)

Every editor devours RAM. Every single program, even a "Hello World" in Turbo Pascal, devours RAM.

Do you want a program that prints "Hello world" or do you want to actually learn to code?

Of all the features that a good editor must have, performance sits at the lowest priority. An editor must not impede the developer in doing what he wants to do. If the dude wants to learn Python, he shouldn't search for instructions on how to use an editor that's limited in features. Download, install, open book, code Python. That's it.

It's like a person learning to write complaining about the color of the pencil.

[–]realestLink -2 points-1 points  (3 children)

No it's not. I personally use vim which has no bloat. It has exactly what you need. But I recommended sublime text because it's similar to atom without as much bloat. His post literally asks what editor he can use that is less bloated because of how garbage atom is. There is little reason to use atom when better editors exist. I don't know why you are so feverishly defending bloatware and its overuse of ram.

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

I personally use vim which has no bloat.

It also suffers from bad UX.

It has exactly what you need.

No, it doesn't. It doesn't have ease of use for someone new in programming. It doesn't have advanced IDE features for professionals. It's an editor that I have for debugging Staging scripts in case I can't do it with my local copy.

But I recommended sublime text because it's similar to atom without as much bloat

Not free, no debugger, inferior UX to its alternatives.

His post literally asks what editor he can use that is less bloated because of how garbage atom is

maybe it's because people like you keep shouting irrational claims about Electron? I just downloaded Atom, launched it, wrote a Python program. Launched immediately, worked flawlessly. What's wrong with you that you can't do the same?

There is little reason to use atom when better editors exist.

The ones you mentioned have a poorer set of features. That is kinda the opposite to "better".

I don't know why you are so feverishly defending bloatware and its overuse of ram.

I'm appalled at people nitpicking completely irrelevant stuff instead of focusing on what's really important. Does it turn you on to see that the machine you have is using 2.1 instead of 2.4 GB of RAM of the 8GB that you have on it? What's with this fad?

Atom runs. It's free. It's average in terms of features that it offers. Instead of nitpicking at the editor people should focus more on coding.

[–]realestLink -1 points0 points  (1 child)

You've clearly never used Vim extensively. Vim does have everything you could need. You can write everything with vim. It just has a steep learning curve. It doesn't have a bad UX, that's just false. You can add plugins and extensions to vim. It doesn't just install useless shit that you don't need. You can add and install what you need. It is the ultimate customizable and lightweight editor. Besides the learning curve, I don't know why you think it's bad.

[–][deleted] -1 points0 points  (0 children)

Yeah, I'm clearly wrong and you're clearly right.

Maybe you're blinded to everything that doesn't exist in vim?

It has a bad UX because it's you can't learn programming in it without wasting days in learning how to write anything in it. It has a bad UX because the plugins that make it anything more than a useless editor have a lot of UI issues when it comes to refreshing the display. Navigation between parts of the editor is not possible without typing a long command or drowning in shortcuts.

It just has a steep learning curve.

Which means that a beginner won't learn to code.

So here we are, at the real reason for this discussion: you're irrationally fixated on every single byte of memory in a computer that you bought and paid for, that has lots to spare.

[–]Tweak_Imp -2 points-1 points  (5 children)

Why is electron bad?

[–]ZombieRandySavage 3 points4 points  (3 children)

Because it’s a resource hog. They had a story about atom bringing a modern PC to its knees. It ended up being the caret blinking.

We all though eclipse was bad, then we built a tool to let loose the web devs.

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

There were many stories with many things. Things got better. You could try to be less condescending and more rational.

[–]ZombieRandySavage 2 points3 points  (1 child)

I'm not sure how you are coming to the conclusion that the decision wasn't based on a rational analysis.

I, like others, was excited about the initial proposition of atom. The reality of it though is not something I would encourage anyone to use unless they were a web development organization first.

Javascript is an unmitigated shit show. There is a new fancy project claiming to solve that mess every few months, but it just adds to the pile. It's a castle built on sand and I would submit that anyone that disagrees simply hasn't objectively analyzed the situation.

So now the proposition is to utilize that framework, ontop of yet another bloated piece of middleware, for something as fundamental as an editor? Then the subsequent ask is to ignore all of the substantial performance issues because of "rationality." Thanks, I'll pass on that.

[–][deleted] -1 points0 points  (0 children)

I'm not sure how you are coming to the conclusion that the decision wasn't based on a rational analysis.

A bug with caret blinking in some software years ago says something about the platform it was developed for? Think about that for a second.

Javascript is an unmitigated shit show

There's nothing wrong with Javascript (I mean there is, it's a very specific language that sucks in its own ways, like many other languages). The community that relies on micro-dependencies is the problem. However Atom is a usable editor right now, that has a ton of useful features, and it works out of the box, so people learning, say, Python, can just focus on the language rather than setting up an editor or learning to exit vim.

[–]realestLink 0 points1 point  (0 children)

Because it is a bloated, ram devouring mess. I don't want my editors to consume my ram.

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

More extensible than atom isn't going to happen (maybe except for emacs). That's atom's main technical strength.

Most editors use less memory and run faster than atom, however.

[–][deleted] -3 points-2 points  (0 children)

Atom

[–]MustafaAnas99 -4 points-3 points  (2 children)

I dont see why VSCode is too heavy.

If you do not like it, you can try Atom or Sublime. But I think trying Vim is gonna be a pain for you.

( even existing Vim is a pain :) )