this post was submitted on 23 Oct 2023
10 points (81.2% liked)

Ask Experienced Devs

1234 readers
2 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

Hi experienced devs , I am a beginner programmer. I mostly use code completion and go-to source , and rename function and objects, code-pretty. Other features not so much. What features do you use often And what features are not that useful in an IDE and can be considered bloat? P.S.- Which is that one feature that you can't live without?( sorry for sounding like tiktok wannabe)

you are viewing a single comment's thread
view the rest of the comments
[–] thtroyer 12 points 1 year ago (2 children)

I'm reluctant to call much "bloat", because even if I don't use something doesn't mean it isn't useful, to other people or future me.

I used to code in vim (plus all sorts of plugins), starting in college where IDEs weren't particularly encouraged or necessary for small projects. I continued to use this setup professionally because it worked well enough and every IDE I tried for the main language I was using wasn't great.

However, I eventually found IDEs that worked for the language(s) I needed and I don't have any interest in going back to a minimalistic (vim or otherwise) setup again. It's not that the IDE does things that can't be done with vim generally, but having a tool that understands the code, environment, and provides useful tooling is invaluable to me. I find being able to do things with some automation (like renaming or refactoring) is so much safer, faster, and enjoyable than doing it by hand.

Features I look for/use most often:

  • Go to (both definition and usages)
  • Refactor tooling (renaming, inlining, extracting, etc).
  • Good warnings, along with suggested solutions. Being able to apply solution is a plus.
  • Framework integrations
  • User-friendly debugger. Ability to pause, drill in, and interact with data is immensely helpful with the type of applications I work on.
  • Configurable breakpoints.
  • Build tool integrations. Doing it on the console is... fine... but being able to set up what I need easily in the IDE is preferable.

Features I don't use or care so much about? Is there much left?

  • My IDE can hook up to a database. I've tried it a few times, but it never seemed particularly useful for the apps I work on.
  • git integration. I have a separate set of tools I normally work with. The ones in my IDE are fine, but I usually use others.
  • Profiler. I use it on occasion, but only a few times a year probably.

I do code in non-IDE environments from time to time, but this is almost always because of a lack of tooling than anything else. (Like PICO-8 development)

[–] emma 1 points 1 year ago (1 children)

Isn't PICO-8 an IDE? I guess it doesn't really fit the traditional defitinion, but it includes a code editor, image editor, and music editor.

I would argue that PICO-8 is an IDE for game development on a fictional console, but I could understand why others would disagree. It is not necessarily what you would think of when you think of an IDE, but it is a development environment specially integrated with tools for game development. You can make an entire game without leaving PICO-8, and that sounds like an IDE to me.

[–] thtroyer 2 points 1 year ago

I think that's a fair argument. PICO-8 definitely could be called a primitive IDE. I think it's closer to being a primitive game engine with so much of its focus being on graphics and sound tooling.

While you can code simple things within PICO-8, I've found that as I've built bigger things, I work better in an outside editor, even if it only gets me smaller fonts, splitable windows, vim bindings, limited linting, and somewhat broken code completion.

This isn't a criticism of PICO-8 as an environment. I think there are a lot of strengths in its simplicity, especially for beginner coders.

I tend to make a distinction between a customizable editor with some support for a language (like vim+plugins) vs a dedicated all-in-one tool that fully understands the language and environment (IDE). PICO-8 is hard to place on that spectrum given it's an all-in-one tool, but switching to a modified editor gives you more features.