this post was submitted on 25 Oct 2023
2326 points (99.2% liked)

Programmer Humor

32571 readers
143 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

I'm trying out Obsidian for taking notes, and this made me laugh.

you are viewing a single comment's thread
view the rest of the comments
[–] kogasa@programming.dev 30 points 1 year ago (5 children)

Vim is absolutely not an IDE. It has no integrations with any language. It's just a powerful text editor. You can add language plugins and configure it to be an IDE.

[–] hperrin@lemmy.world 17 points 1 year ago* (last edited 1 year ago) (2 children)

That's what most IDEs are. VS Code doesn't have any native integrations. Everything is provided by plugins. The default plugins that ship with VS Code can be disabled, and you'll have just a powerful text editor.

(To do this, go to Extensions tab, click the filter icon, select "Built-in", and go down the list to disable all of them. Or just build a version with no built-in plugins.)

[–] kogasa@programming.dev 15 points 1 year ago (1 children)

Sure, and VSCode without any plugins is a text editor, not an IDE.

[–] bioemerl@kbin.social 2 points 1 year ago (3 children)

In that case every IDE is "just a text editor" because basically every IDE is built around modularity in this same way. This is just nitpicking over what is preinstalled.

[–] fushuan@lemm.ee 6 points 1 year ago

Eclipse, visual studio, pycharm, idea... Those are full blown IDEs. They come with all the extras. All the text editors that can become IDEs have extensions or plugins that enable what these other actual IDE do natively.

Nowadays using vscode to debug a running program is common, but that was something only restricted to full blown IDEs some years ago, I'd say that vscode is lightweight IDE that can be expanded, but vim is a text editor first and foremost. You can't really debug code in vim AFAIK, the most you get is syntax highlighting, linting, automatic whitespace removal and auto formatting? Not sure about the last one.

[–] Lime66@lemmy.world 2 points 1 year ago

You cannot remove java from idea. Therefore it is not just a text editor because support for the language isn't added through an extension

[–] kogasa@programming.dev 1 points 1 year ago

IDEs are designed to support a software development workload. A text editor is designed to edit text files.

[–] DrQuint@lemm.ee 2 points 1 year ago* (last edited 1 year ago)

Ah, so Code is the same as Vim if... I go out of my way to either disable things on one or install things on the other.

Or... Or... Code is an IDE (that you can strip down) and Vim is a text editor (that you can strip up).

We don't stop calling a computer one just because it can still boot without most of its modules. The default presentation matters.

[–] Bo7a@lemmy.ca 10 points 1 year ago (5 children)

No offense intended here - But why is this being upvoted?

vim absolutely is an IDE if that is how you want to use it. Syntax highlighting, linter, language specific autocomplete, integrated sed/regex. And much, much more.

[–] reverendsteveii@lemm.ee 22 points 1 year ago (2 children)

my car is absolutely a boat if you put a boat motor on the back of it and waterproof it

[–] bioemerl@kbin.social 8 points 1 year ago

"You see here my car has positions for all the parts of a boat so it's easily made into a boat and it's already waterproof but it's just a normal car"

[–] naught@sh.itjust.works 7 points 1 year ago* (last edited 1 year ago)

I don't know that's a fair anology. Vim does what a IDE can do without almost any setup with LazyVim and Lunar Vim and a bunch other prebaked setups. Instead of writing your vscode config in JSON or using a GUI, you can use lua. It's more like turning car into a track car or something where you're already a mechanic

[–] kogasa@programming.dev 10 points 1 year ago (1 children)

Syntax highlighting, linting, and language specific autocomplete are features supported by plugins and scripts. Plain, simple vim is a powerful extensible text editor. The extensibility makes it easy to turn into an IDE.

[–] Euphoma@lemmy.ml 3 points 1 year ago (1 children)

There's syntax highlighting by default in vim though.

[–] kogasa@programming.dev 5 points 1 year ago

Yeah, there is a generic syntax highlighting scheme. I had forgotten because it's not very good for some languages, I'd replaced it with a LSP-based implementation years ago.

[–] killeronthecorner@lemmy.world 9 points 1 year ago* (last edited 1 year ago)

The things you're describing are still just text editor features. An IDE generally has specific functionality for building, testing, packaging, debugging etc. for one or more programming languages/environments.

(Which vim can do if configured, I don't really have an opinion about that tbh)

[–] nautilus@lemmy.dbzer0.com 4 points 1 year ago

ladies please, you’re all beautiful

[–] fushuan@lemm.ee 3 points 1 year ago

You can't run and debug things in vim, can you?

[–] bioemerl@kbin.social 5 points 1 year ago (1 children)

It literally has a built in scripting language.

[–] kogasa@programming.dev 6 points 1 year ago (1 children)

So it's an IDE for vimscript...? No.

[–] bioemerl@kbin.social -1 points 1 year ago (1 children)

You're not a normal text editor if you have a built in scripting language.

[–] kogasa@programming.dev 5 points 1 year ago (1 children)

I'm not a text editor. But anyway, would you call a shell script that invokes python.exe $1 a Python IDE? Why would you? Vim isn't designed to facilitate the use of vimscript, vimscript is just an extensibility feature of Vim.

[–] bioemerl@kbin.social 2 points 1 year ago (1 children)

Vim isn’t designed to facilitate the use of vimscript, vimscript is just an extensibility feature of Vim.

Vim is designed to edit code, by the people who were doing it back in the 70s and all of its features are there to enable better, faster, and more efficient editing.

It has scripts for the sake of those scripts enabling integrated developer features. Because they're part of vim they're in the environment and the program is used predominantly for development.

[–] kogasa@programming.dev 1 points 1 year ago* (last edited 1 year ago) (2 children)

Vim is designed to edit code

To edit text files. It doesn't matter if it's code, configuration files, or plaintext. There are no interpreters, no compilers, no debuggers, nothing designed to support any particular framework or language or workflow. All of that is possible to add through the extensibility features.

Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.

Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.

Vim is a highly configurable text editor built to enable efficient text editing.

https://vim.org/

Vim is a text editor which includes almost all the commands from the Unix program "Vi" and a lot of new ones. It is very useful for editing programs and other plain text.

-- https://vimhelp.org/intro.txt.html#intro.txt

--

It has scripts for the sake of those scripts enabling integrated developer features.

Those features aren't enabled nor integrated. They're added to Vim at its extensibility points. Baseline vim doesn't have them.

[–] bioemerl@kbin.social 2 points 1 year ago (2 children)

Those features aren’t enabled nor integrated. They’re added to Vim at its extensibility points.

And that has to be just about one of the pettiest to distinctions known to man.

It's still built to write code. Yes text is code, but vim is not a text editor in general,. It's made for programmers, nobody else is crazy enough to learn such obtuse syntax or want to have a developer with a scripting language built into it.

The features are in the editor. They are integrated with the editor. Yes, it's through plugins, but they're still part of the editor instead of part of some different program.

The word integrated literally just means you don't go into some other program to run your build.

It's an integrated environment for development.

It's an IDE!

It has debuggers.

It has syntax highlighting

It has compiling.

Even if you have to install them as plugins, it's designed to be doing all of those things.

[–] kogasa@programming.dev 3 points 1 year ago

And that has to be just about one of the pettiest to distinctions known to man.

If it's a petty distinction, why not acknowledge what I'm saying and move on? What is the point of this conversation for you?

It’s still built to write code. Yes text is code, but vim is not a text editor in general,

It's built to edit text, not just code. Yes, text is code, but Vim is a text editor in general.

The features are in the editor.

Once you put them there, yeah.

They are integrated with the editor.

Once you put them there, yeah.

Yes, it’s through plugins,

.

but they’re still part of the editor

..

[–] insomniac@sh.itjust.works 0 points 1 year ago

It’s not petty, you don’t know what an IDE is.

[–] nogrub@lemmy.world 1 points 1 year ago

i don't care if vim is an text editor or ide but i just wanted to ask if they even had debugger back when vim was created ?

[–] xmunk@sh.itjust.works 3 points 1 year ago (5 children)

Yea, vim really isn't anything near how useful emacs is.

[–] _dev_null@lemmy.zxcvn.xyz 10 points 1 year ago (1 children)

Emacs really is powerful, all it needs now is a decent text editor.

[–] spauldo@lemmy.ml 5 points 1 year ago

It has one. It's called evil-mode.

[–] nautilus@lemmy.dbzer0.com 4 points 1 year ago

emacs is solely for watching the text version of Star Wars and you know it

[–] kogasa@programming.dev 2 points 1 year ago

Not at all what I meant. It's just, out of the box, a powerful text editor that can be configured and built on if desired. If you want it to be more than a text editor, you can easily make it so.

[–] nickwitha_k@lemmy.sdf.org 1 points 1 year ago* (last edited 1 year ago)

Eh. Both are good choices. I prefer vim for my workflows - I like the terminal.

ETA: Will have to give Emacs another go though at some point.

[–] themue@mastodon.social -1 points 1 year ago (1 children)

@kogasa Hehe, shit, so long done something wrong as I use #vim as an IDE. Okay, some own helpers, some plugins, the direct integration for #golang via LSP and since some time also ChatGPT and Copilot. But hey, it's no IDE. 🤪

[–] kogasa@programming.dev 3 points 1 year ago (1 children)

Like I said, Vim can be made into an IDE by adding and configuring plugins. Basic barebones vim is designed to be a powerful, extensible text editor, not an IDE.

[–] AffineConnection@lemmy.world 2 points 1 year ago

It's designed to be an extended vi clone above anything else.