I coded several of my early mobile app releases entirely in gedit. Good times.
I sometimes forget how good we have it now. I wrote those apps around 2012 and the DX for the platforms was basically non-existent. Virtually every platform had shit documentation, shit version management, a shit IDE with minimal refactoring features, a shitty debugging experience, and everything felt like it was being botched together by 3 guys in their spare time.
It's incredible now that we have things like hot reloading. You can literally save a change and BAM it's on the screen seconds later. On native platforms no less. Astounding.
I recommend "micro" which is like Nano but uses modern shortcuts. Making it a terminal editor which feels more like using notepad than something esoteric.
I used to copy code into nano over ssh. Then I randomly tried pasting the server address in my file browser and it connected over SFTP. This was ages ago. I was using Crunchbang Linux, maybe around 2011 or so.
I genuinely do a lot of coding in Kate, the standard KDE editor. It's enough to do a lot of things, has highlighting, and is more than enough when you just need a quick fix.
I am also still using nano when editing stuff in the terminal. Please, don't judge me.
Yep, I came here to say that Kate is really nice. Even though I'm an emacs user and won't use it.
Nano, on the other hand, can't do almost anything, so I can't recommend that people make heavy use of it. It's ok for random small edits, but that's it. (By the way, YSK that you can set your terminal to use Kate as the default editor by setting the $EDITOR variable.)
Geany is a nice GUI option. It's a bit more capable but still lean.
It's probably time for me to re-evaluate the host of coding editors out there. For the most part I just use good text editors. Though I do love Spyder, I only use it for a certain subset of tasks.
Pff, real programmers use butterflies. We open our hands and let the delicate wings flap once. The disturbance ripples outward, changing the flow of the eddy currents in the upper atmosphere. These cause momentary pockets of higher-pressure air to form, which acts as lenses that deflect incoming cosmic rays, focusing them to strike the drive platter and flip the desired bit.
So an IDE is a code editor that ships with an LSP server, not just an LSP interface? (Doesn't have to be LSP as such but "stuff that an LSP server does").
Text Editor: just writes text, no formatting (other than line endings)
Code Editor: A family Text Editors that have additional capabilities such as syntax highlighting. And optionally a plugin or extension ecosystem. (VSCode, vim family, Emacs, even gedit )
IDE: An application that includes Code Editor functionality, but also includes tools for a building on given tech stack. This comes out of the box, are a "part of" the application, are peers to the code editor, and cannot be removed, but can optionally be extended through plugins or extensions.
I would say that an IDE is something that includes build/run tools integrated into it. Everything else is just a text editor. (But that's just my opinion of course)
To expand on my point, I don't think it makes sense to call vs code an integrated development environment if it doesn't actually have the environment integrated.
Visual studio and idea would be examples of IDEs, they actually have all of the tools and frameworks needed to run the languages they were built for out of the box.
You can't run node or python out of the box with just vs code for example, without their respective tooling, all vscode can do is edit the code and editing code is not functionally different from editing any other text.
So I maintain that both vim and vscode are text editors and not IDEs
Vs code has no integrated environment though, it's just a text editor that supports plugins, you still need to install python or node or .net or Java or gcc, etc.
As far as vim requiring keyboard commands, that's really only the case if you leave mouse mode off
set mouse=a
And of course, to muddy the water further, we have tools like https://helix-editor.com/ which, more closely approximate vs code, while happening to live in a terminal.
I maintain that in order to qualify as an IDE and not a glorified text editor, you must be able to, out of the box, without external dependencies, run and build the code it was built for (idea/visual studio) otherwise it's not very integrated, and I don't think you need to have nice graphics for that qualification.
For what it’s worth, I can think of one thing that would make brainfuck even worse: Instead of using 8 arbitrary characters (it only uses > < + - . , ] and [ for every instruction) for the coding, use the 8 most common letters of the alphabet. Since it ignores all other characters, all of your comments would need to be done without those 8 letters.
For example, “Hello World” in brainfuck is the following:
This is such a waste of time to the point where it infuriates me. I know the standard answer is "why not?", but it's just cringe to, like you are trying too hard to purposely be stupid, whereas with standard text editor you can say already they cba'ed to install anything so it was a case of initial setup vs. long term productivity.
At uni I did a lot of my Java coursework in notepad, then I’d have to take it into a computer lab on a floppy, tar it and upload it to a unix terminal so it could be emailed to the professor. Java syntax with only the command line compiler is not fun.
I also love it. It was my go-to back when I had to walk inexperienced sysadmins through configuring stuff, in my tech support days. I really appreciate all the commands being listed at the bottom.
At one of my jobs around 2010 there was a dev in the office who wrote all his code in Notepad. When I joined the staff they were still using Classic ASP. My job was to help them (finally) migrate to ASP.Net. He intended to develop .Net apps in Notepad rather than learn how to use VS. I got laid off due to cutbacks and never found out what kind of luck he had wit dat.
Gedit was my main text editor for years. I also used it for work. It has all the basic features that you need for coding. For everything else I use the terminal.
I used Notepad++ for virtually all coding I did (Python, JS, various Markup Languages, Action Script back in the day, etc) for a couple decades. The only reason I use VSCode now is because I inherited a nightmare of a legacy spaghetti bowl and needed the function tracing to attempt to figure out anything. I still prefer N++ for most small projects.