337
submitted 11 months ago by 257m@lemmy.ml to c/programming@programming.dev
you are viewing a single comment's thread
view the rest of the comments
[-] shapis@lemmy.ml 32 points 11 months ago
[-] railsdev@programming.dev 10 points 11 months ago* (last edited 11 months ago)

I’d kill for an IDE on macOS that uses the native UI. I guess my hot take when it comes to GUI applications is: respect the platform you’re running on. Your core codebase should be separate from the UI in a way that the application looks like it was written by Apple on macOS, Microsoft on Windows, Google on Android, etc.

I could go on forever about this but some examples:

  • VS Code, Microsoft Word, Excel, etc all lose their minds and crash when moving a file while it’s open on macOS, a limitation that doesn’t exist in UNIX-based file systems. Did they port some FAT/NTFS driver somehow? You also can’t Command + Click the title of the document to pull it up in Finder.
  • Firefox, while I love it to death looks like a clunky Windows application
  • Oh yeah, Google Chrome looks way off too
  • GIMP looks like GTK because it is GTK on macOS, Windows
  • Electron apps that are just wrappers around websites
[-] shapis@lemmy.ml 4 points 11 months ago

Entirely agree with this.

And at least as far as Firefox goes I'm running it on gnome and there's a beautiful theme that makes it look native for it. I'm sure there's one for windows too if you look.

[-] hairyballs@programming.dev 2 points 11 months ago

Firefox is really badly integrated in MacOS. The fn + arrow shortcut doesn't work, for example, it's not integrated in the menu system (the menu shortcuts don't work) etc. But there is Sideberry, so...

[-] MangoKangaroo@beehaw.org 2 points 11 months ago

"I’d kill for an IDE on macOS that uses the native UI." Possibly dumb question from someone who hasn't used MacOS for ages: isn't that what Xcode is?

[-] railsdev@programming.dev 1 points 11 months ago

It sure is, but I write code primarily in Ruby (which it doesn’t really support).

[-] MangoKangaroo@beehaw.org 2 points 11 months ago

Well shoot. :(

[-] EvanHahn@bigshoulders.city 1 points 11 months ago

Might not meet your needs, but Nova kinda does that: https://nova.app/

[-] hairyballs@programming.dev 1 points 11 months ago* (last edited 11 months ago)

The desktop website is so bad... I ask for a light theme in my settings, they don't care (it's white on black) because it's HARD to add a few CSS rules. Then there is a flash of light which could give a seizure to someone with a condition. It's shitty design at its peak. That doesn't really inspire confidence...

[-] railsdev@programming.dev 0 points 11 months ago

Definitely going to take a hard look at this when I get the chance. I’ve been using VS Code for work (but it drives me crazy) and Smultron for personal stuff but it’s more of a basic editor.

[-] mdhughes@lemmy.ml 5 points 11 months ago

Some languages really do suck so much they're all but unwriteable by plain text, and need constant compiler tree parsing to get right.

But that's an incentive to quit using bad languages. Write in something you can read and write in ed, and you can hold it in your head.

[-] flumph@programming.dev 3 points 11 months ago

Not arguing either side, but I'd love to hear your reasoning.

[-] shapis@lemmy.ml 8 points 11 months ago* (last edited 11 months ago)

A linter a debugger and a clean interface in general are all I need. And most text editors suffice for that.

I've never been able to benefit from an IDE in a way that make up for how much slower and more bloated they are.

I'd love to hear what some of the main benefits are though.

[-] flumph@programming.dev 4 points 11 months ago

Jetbrains IDEs do a lot of indexing and caching so that operations that normally take a bit are faster. Full text search, find usages, identifying interface usage in duck types, etc.

But the killer feature for me is the refactoring tools. Changing a function signature, extracting an interface, moving code to new files or packages, etc. I pair with folks who use VS Code and its a bit tedious watching them use find and replace for renaming things.

I've never been able to benefit from an IDE in a way that make up for how much slower and more bloated they are.

That does sound legit if you have resource limitations. Thankfully I've always worked for corporations that hand out MacBook Pros like candy. Normal day for me is having two Jetbrains IDEs open with Chrome, Slack, Zoom, and a dozen containers. Still runs smooth.

[-] Dogeek@sh.itjust.works 8 points 11 months ago

VS Code absolutely has refactoring built in. Pressing F2 on a token renames it everywhere it's referenced

[-] flumph@programming.dev 1 points 11 months ago

Interesting. I'll have to find some docs and share it with my co-workers because they definitely don't use build-in refactoring. Thanks!

[-] shapis@lemmy.ml 2 points 11 months ago

Huh. I've only ever tried jetbrains stuff for about five minutes. Got mad confused and angry and gave up.

I might give it another go. Thanks.

[-] Macros@feddit.de 3 points 11 months ago* (last edited 11 months ago)

Niche language, but try out PureBasic.

Its IDE is based on Scintilla. And it is very fast, even on an ancient PC it runs. It is specific for the programming language.

And here some advantages it has compared to a simple text editor:

  • Autocomplete of all functions and many API functions of the OS
  • Hints about parameters
  • F1 Help for all functions by just placing the cursor on them
  • Jumping to errors in the code
  • Automatic backups of all the progress of your codes, no problem to backtrace even if you forgot to save or commit.
  • Manage Projects (Groups of source codes and different targets)
  • Well integrated debugger

I agree with you in many points. Most other IDEs I am forced to work with are horribly slow. Especially those which rely on electron. Sometimes they lack features every basic editor has by now.

This is to say: Good IDEs can exist and are a great benefit for the programmer. But modern IDEs often chase keyword features and use complex and bloated frameworks to achieve them. Sometimes even forgetting to add basic features which made IDEs a thing initially. An IDE should take almost no time to setup to your needs and should not hinder with complex operations which take seconds to run, it should only support in code creation and aim to make features like autocomplete show suggestions in milliseconds.

[-] r1veRRR@feddit.de 3 points 11 months ago

In my experience it HEAVILY depends on the language you're using. Nothing beats Intellij for Java or Kotlin, but Rust and Go feel at home in any editor.

I know that LSPs and DAPs somewhat take care of these, but the following are often easier in IDEs:

  • Refactorings, including really smart language specific ones
  • Support for fancy frameworks. For example, Intellij can analyse all annotations for Dependency Injection or Spring stuff, and will then tell you exactly how everything connects on a higher "framework" level. Arguably, this is a solution to a problem Enterprise Java created
  • Debugging is easier
  • In general, stuff works "well enough" out of the box. As a fan of Neovim, I've definitely been frustrated a lot the first time I had to set something up
  • Fancy integrations, for example linking frontend code calling backend code directly, or an entire little Database Manager builtin, with magic SQL code completion
[-] DeprecatedCompatV2@programming.dev 1 points 11 months ago
[-] fusio@lemmy.world 2 points 11 months ago

I love intellij. The gut Integration and diff utilities alone are worth using it. However, it is so. Fucking. Slow!

[-] AlexWIWA@lemmy.ml 1 points 11 months ago

Seems fast enough for me. Never really had to wait on the ide for anything

[-] fusio@lemmy.world 2 points 11 months ago

it really struggles with mid sized monorepo (think react libraries managed via NX)

[-] luckystarr@feddit.de 1 points 11 months ago

Python development without PyCharm (or IntelliJ) and the IdeaVim plugin is unbearable. List usages is a game changer. Don't care much for anything else.

[-] oldfart@lemm.ee 3 points 11 months ago

Whaaat? I program Python with plain vim. C or Java, on the other hand, with a large enough codebase, is unbearable without an IDE.

[-] notroot 1 points 11 months ago

Yup. Emacs, here, but same thing. Never used PyCharm or any other Python-capable IDE, and I've been coding large python projects for the same company for almost a decade.

[-] luckystarr@feddit.de 1 points 11 months ago

Depends on how large your Python projects are. If you have a million lines of Python code, navigating quickly and directed is invaluable.

I used plain vim before for Python projects, but these never grew above 50k lines of code.

[-] r1veRRR@feddit.de 1 points 11 months ago

Yeah, well, that's just Python for you. List usages is now an LSP feature for most languages, so will work with "lesser" editors too.

All that being said, I use Intellij with Java daily, so I can see where you're coming from. But for example Rust or Go works wonderfully with Neovim (or VSCode).

this post was submitted on 01 Sep 2023
337 points (96.2% liked)

Programming

16687 readers
158 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS