I ?? IDEs

I've been a programmer since well before we had IDEs and I ?? them!

Hacker News has an IDE vs. Emacs/vim thread that's pretty interesting with so many acrobatic fallacies...

Here's my take on why we should all use IDEs to some extent and responses to all the top issues. Here are the top issues mentioned in the thread:

1. IDEs perform badly

2. You won't be able to code without one

3. Emacs is very powerful and has everything

4. There's nothing of value in IDEs

5. They aren't free

6. You write cleaner code without IDE

7. You might not have access to one

8. Java needs it

IDEs perform badly

IDEs take a lot of RAM and a lot of CPU. Especially for things like Android development (due to the tools).

I don't feel that pain. I use a powerful machine with a lot of RAM and the IDE flies. This is my job, I'm expected to own "power tools" and a strong machine is required.

I accept that not everyone has the ability to buy top-of-the-line machines. But if it's your livelihood it needs to be above average and you could use a desktop which is cheaper and more powerful.

The response I got was: what if your apps end up performing badly on end-user machines?

I have more than one machine. We have QA but even in such a situation. I have profilers and tools to test performance. I don't need to suffer for end-user performance.

You won't be able to code without one

If you get used to IDEs you will form a dependency that will make it impossible to work without an IDE or even change an IDE. This might be forced on you when you switch jobs.

I leave the IDE when I need to (admittedly, not much). I've been a programmer since well before they existed & for the first 10 years of Java, they sucked!

So I used an editor...

This is the logical equivalent of running without shoes because you "might" need to do this someday

Emacs is very powerful and has everything

Emacs has everything: Terminal, Newsreader, etc. It's so extensible you can do everything there and add anything to it.

This isn't a zero-sum game. Emacs doesn't need to be bad for IDEs to be good.

It is a product of a command-line era where you wanted everything in one place. IDEs don't need that but yes they integrated things like terminals, etc.

I wrote IDE plugins, they are very extensible!

There's nothing of value in IDEs

Emacs can do pretty much anything an IDE can do...

This is hard to prove either way. My debugging series pinned to my twitter account shows some wild stuff in IntelliJ/IDEA that I can guarantee Emacs can't fully do.

All the semantic work required to refactor/analyze etc. would make Emacs as bloated as any IDE and probably worse. What's the point in that case?

They aren't free

IDEs aren't free software

This is true. Although many are open source and they're great. The top-tier IDEs aren't free.

I use IntelliJ Ultimate which is a paid subscription. I'm also an OSS hacker that wrote a lot of GPL code.

I'm personally OK with that and I like paying for my tools. But YMMV.

You write cleaner code without IDE

Since IDEs make it easy to write code you end up creating complex dependencies and intricate code that's harder to read and doesn't follow good coding standards.

This is a bit out there but OK. Yes, you can. But having worked on Sun codebases with their Emacs created makefile nightmare build process... I don't buy that.

Also, IDEs have integrated linters as you type...

You might not have access to one

You might not have an IDE or the IDE you want in any environment.

I might not have access to shoes everywhere I go. It doesn't mean I have to always walk barefoot. I can change my shoes and get used to new shoes. Will take a few days but I'll manage...

Java needs it

Java is a unique language that requires an IDE. Other languages don't benefit from it to a similar degree.

Yes. Java is better with an IDE by a mile. But I used and loved it well before it had decent IDEs.

I find IDEs super useful in JS where semantics aren't as strict as Java & context switching to NPM warnings made things difficult for me. Refactoring in JS was much harder before.

TL;DR

Don't get me wrong. I think Emacs/vim are great and think you should keep using them. I think you should give an IDE a chance, especially with new developers who might struggle without it.

There's room for both IDEs and great editors.

I think people haven't given newer versions of the IDEs a chance. @jetbrains upped their game a lot in the past decade. They're also deceptively simple. This makes people miss some of the depth they hide under the surface!

E.g. check out my pinned tweet for some samples ?

Monikaben Lala

Chief Marketing Officer | Product MVP Expert | Cyber Security Enthusiast | @ GITEX DUBAI in October

5 个月

Shai, thanks for sharing!

回复

要查看或添加评论,请登录

Shai Almog的更多文章

  • It's Time for "Hardned Java"

    It's Time for "Hardned Java"

    With the new Java vulnerability making the rounds I think it's time for an OpenJDK vendor to pick up the glove and…

    2 条评论
  • How Effective are your Debugging Skills?

    How Effective are your Debugging Skills?

    We all know how to debug..

  • I used to be a Terrible Speaker yet I was Highly Rated

    I used to be a Terrible Speaker yet I was Highly Rated

    I used to be a terrible conference speaker. Yet I was highly rated.

    1 条评论
  • Why (and How) we Left App Engine After it Almost Destroyed Us

    Why (and How) we Left App Engine After it Almost Destroyed Us

    Last week I saw this post which reminded me a lot of our experience with App Engine a few years ago. I shared that in a…

    1 条评论
  • Why Full Stack Matters

    Why Full Stack Matters

    Thanks for the great feedback on my previous post, there were many insightful & interesting comments. I’d like to…

  • Full Stack Java

    Full Stack Java

    Over the past few years I’ve spoken and presented at a lot of conferences. 10 years ago when I would go to a Java…

  • How to pick the right Cross Platform Solution

    How to pick the right Cross Platform Solution

    I'm not exactly objective in this field as I'm the co-founder of a cross platform mobile development tool vendor…

    14 条评论
  • Is A Booth At JavaOne Worth The Expense?

    Is A Booth At JavaOne Worth The Expense?

    There is a certain lack of information about what you “get” when signing up for booths at conferences other than the…

    7 条评论
  • JavaZone Trip Report

    JavaZone Trip Report

    JavaZone is winding down as I'm starting to write this although I'll probably post this after the videos are up to…

  • WORA Is Better Than Native

    WORA Is Better Than Native

    When “Write Once Run Anywhere” is done right it can produce applications that are “better” than native apps by…

社区洞察

其他会员也浏览了