I regret nothing. Say what you want.
Edit: I just saw the two typos. If you find them, you’re welcome to keep them.
I code using grep’s search and replace.
I code using a telegraph machine in morse code.
I code using punch cards hand cutting each hole with a xacto knife
“Me who codes with the text editor that came with Ubuntu”…
So VIM?
Doesn’t it ship with nano these days?
Both, last I checked.
More like gedit
I think gedit is a great text editor.
Don’t you have to install that? I thought Ubuntu came with vi and nano.
vi in base Ubuntu isn’t really vi. It’s vim-minimal.
I write all my code on paper and use OCR to convert it. It almost works sometimes.
text editor application that came with Ubuntu
nano
shivers
I’m probably in the minority but I think it’s fantastic! No extra baggage, super quick to work with, and it does syntax highlighting pretty well!
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.
There are dozens of us!
Just wait until you try Micro
Bloat! Who needs an editor 1000 times the size of their previous one?
It’s also self explanatory, which is great if you’re new.
Ed and Vim are basically arcane by comparison.
Sure, but learning the very basics of vi/m (and by that I just mean navigation, selection, cutting, and word jumps like e and b), you’ll immediately run circles around anyone using nano
And by learning nano you’ll run circles around everyone who struggles to remember how to fuck exit vi/m.
Fair enough haha
Ed
lol
Nah man, I’m with you, nano is no nonsense get shit done editor. It might not have advanced features but I’m not an advanced man.
I doubt they mean nano
Probably this
Sublime! There are DOZENS of us! Dozens!
I’m doing my part
Code in MS Word because it handles tabs correctly, unlike all code editors.
Tab means “move to the next tabstop”, not “advance a fixed amount”.
(I don’t do it, I’m not THAT insane)
Me: hits return.
Word: “Sure, here, a new line. I already indented it for you, same as the one before. Like a good IDE.”
Me: “That’s nice of you, Word, but I want this one to be indented one tab stop less than the line before.” Hits delete.
Word: “Delete, you say? Sure, back to the line before.”
Me: “No, no! Just delete one tab! Maybe, if I select the line and hit dele…”
Word: “Why of course!”
Me: “Shit, it’s gone. Undo! Hmm… Move the thingy here on top?”
Word: “Move all the lines you say? No problem!”
Me: “Nvm, I’ll just indent everything by hand with spaces.”
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 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.
Yeah, if you had really bad locality of reference I imagine that would be very helpful.
I’m currently working with some code that partly was written in the punch card era.
And then there is a colleague who programs in Notepad++ directly on the test server and then just copies his code to prod.
(yes, he works alone on that project)
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.
Gedit is all one needs in life
The person that codes in MS paint
This feels a little bit like Brainfuck tbh.
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:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
If we instead transposed those 8 instructions onto the 8 most common letters of the alphabet, it would look more like this:
eeeeeeeeaneeeeaneeneeeneeenesssstonenentnneasostonnIntttIeeeeeeeIIeeeInnIstIsIeeeIttttttIttttttttInneIneeI
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.
I can see exactly one use case: context-aware OCR of code.
I do it in nano over ssh. The shortcuts suck but it gets the job done.
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 recommend “micro” which is like Nano but uses modern shortcuts. Making it a terminal editor which feels more like using notepad than something esoteric.
You can enable modernbindings in nano to get standard shortcuts like ctrl-s for save.
Did not know this. Will certainly look into it because my nano over ssh days aren’t over yet haha.
One word: ed
?
Ed is the most user unfriendly text editor ever created.
?
It is a text editor from the 50s or 60s, so right off the nat you aren’t getting a product you’re at all familiar with. Its been a while since I cracked it open but from memory you can only view one line of code at a time. You have to specify the line of code that you want to view, the commands are esoteric, and there is no help available in the application itself. As I recall it was pretty much immediately replaced with better editors, such as og vi.
Its sort of like programming in
sed
. Sure, you can, but why?From Wikipedia:
Known for its terseness, ed, compatible with teletype terminals like Teletype Model 33, gives almost no visual feedback, and has been called (by Peter H. Salus) “the most user-hostile editor ever created”, even when compared to the contemporary (and notoriously complex) TECO. For example, the message that ed will produce in case of error, and when it wants to make sure the user wishes to quit without saving, is “?”. It does not report the current filename or line number, or even display the results of a change to the text, unless requested. Older versions (c. 1981) did not even ask for confirmation when a quit command was issued without the user saving changes.
Yes, was poking fun at Ed’s only error message being a relatively unhelpful
?
.D’oh!
Oh, I remember ed! He’s the talking horse from that old black and white show, right?
No one can code with a horse, of course. That is of course, unless the horse is the famous mr Ed.
Perfect! Though we shouldn’t give Netflix and co any ideas on more classics to dredge up and ruin.
ED! ED IS THE STANDARD!
deleted by creator
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.
Vim and emacs are text editors.
Vs code is a code editor (but really it’s also just a text editor)
Maybe they mean IDEs like visual studio?
I’ve never really heard it called a coding GUI before.
I see you’ve never used emacs.
“it’s a bit limited for an operating system”
“People never quit Emacs, they just die at some point.”
Vim (and NeoVim) are as much coding environments as VS or JetBrains. The difference is in the defaults.
Vim and emacs usually run in the terminal and require keyboard commands to complete actions.
A GUI IDE like vscode or pycharm has mouse driven menus and buttons, although of course it’s possible to use keyboard commands.
That to me is the difference. Personally, I use vim mod with pycharm and some messy hybrid combination of vim commands and ctrl + ?
Vim and emacs usually run in the terminal and require keyboard commands to complete actions.
It is most certainly not usual to run Emacs in the terminal.
although of course it’s possible to use keyboard commands.
And you can use Emacs with a mouse.
I thought emacs was all about ctrl + ?.
https://www.gnu.org/software/emacs/
I use vim, but considered emacs. I thought the plugins like organisers and such seemed a cool idea.
I thought emacs was all about ctrl + ?.
It is, but you have gui features
I use Emacs and neovim. Each is better in different scenarios.
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.
Interesting, I didn’t know that about VSCode.I’ve used it briefly and I must have always installed some default plugins to make it work with python!
The only query I’d have on that definition of IDE is that they all require an external compiler or JIT interpreter to execute code, because the versions of the compilers changes so frequently it’d be crazy to release an ‘all included’ IDE. (The old MS Visual Basic is an example of ‘all included’)
But yeah, pycharm or phpstorm are “ready to run” bar the code compiler or interpreter, I don’t have to open a terminal or something to run code I’ve written.
Guy this is just semantics.
If you want to uphold a specific definition of what constitutes an IDE that’s fine, but what does it matter if others consider plugins to be integration.
It’s fun to talk about.
I never quite understood the massive hard-on programmers have for splitting hairs.
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”).
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
I’d say build and run tools are pretty integrated into vim. Type
:mak
and there you go, it’s not like vs studio would be a single process either.Vocode integrates consoles for whatever you want. I use node and sql all the time.
My understanding has always been:
-
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.
-
For me a web app IDE includes a DB manger, HTML previewer, etc.
A text editor edits text, an IDE is an Environment that Integrates Development tools.