Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
6 Reasons to Use Netbeans IDE (raed.tn)
35 points by mirchada993 on Sept 19, 2014 | hide | past | favorite | 46 comments


One of the other good things with Netbeans is using it as a platform like in rich clients.

We have developed some quick and good tools on this platform and it seems to work out neatly on our overall structure.


Yes! I toyed around with this about two years ago, and I was able to make NetBeans edit TIFF images (which it doesn't, by default). I also replaced some older-looking elements from the Images Editor module, most of that was accomplished by following Geertjan (https://blogs.oracle.com/geertjan/), who was also regularly in IRC, reachable via e-mail, his blog, etc.

Unfortunately, NetBeans was in the middle of an internal transition at the time (having to do with how actions are bound to keys and menu items), and I didn't get the newer way, and the module I expanded used the old keybinding method.


Nokia replaced some Motif applications by Netbeans based ones in some of their products for network operators.


Netbeans is an excellent IDE for developing C++ on Linux. I've been using it for a Cocos2d-X project with few complaints. It has a really good Vim emulator which is critical to me and where Jetbrains continues to disappoint me.


It helps being the official Solaris IDE.


They both come from the same company so it's not exactly a testament of quality, just corporate strategy.


Sure, but Sun (now Oracle) could have chosen just to support Java.

So it was a good decision to give support to C and C++ developers as well.


Netbeans is great, it has changed a lot since the old days around 2002, where it was quite slow and one even had to mount filesystems into the workspace.

The Netbeans rewrite that followed, the use of Ant and Maven as project files and the overall plugin quality beats Eclipse any day.

The HTML5 support is great, specially the integration with JavaScript frameworks and static analyzers.

I also enjoy the C++ and Assembly support is also quite good, given it is the official Solaris IDE.

Best of all, no nonsense workspace or perspective modes in sight.

And the plugins API is quite good.


"...the use of Ant and Maven as project files..."

This is what I want most from a Java IDE. I find IDEs project configuration complex, arbitrary, inscrutable, and un-diffable (making version control on the project files mostly useless).

Eclipse and IntelliJ make some effort to work with Maven and Ant, but tend to get out of sync in hard to debug ways.


Android Studio (Google's fork of IDEA) was awful at the beginning but is on the right track to getting quite good with Gradle.


When I was first writing Java for feature phones I much preferred Netbeans to Eclipse mainly because Netbeans avoided presenting large numbers of nonsensical commands in the menus. That is, Netbeans behaved much more like a proper GUI. Both Netbeans and Eclipse suffer from adapting command line interfaces to a GUI, and it's hard to do that and to filter out nonsensical combinations of command line flags reflected in the way those options are presented in a GUI. But, in addition to that challenge, Eclipse's modularity-over-usability philosophy hampers it more.


I don't want to sound like a jerk, but has the author tried other options?


Doubtful. If he had, he would be able to provide more reasoning than 'netbeans is awesome, its the best and nothing is better!!". How about specifics on what you think netbeans does thats better? For example in what way do you find the git support better? Because as someone who regularly use IntelliJ IDEA I feel that it is better in every way (which is why I use it). What I'm getting at is blanketly saying 'X program is the best it does B better than Y" is useless, and wont provide anyone looking for a new IDE any information on why they should try X over Y. What makes its implementation better? I want actual descriptions, and images, and actual use cases.</ramble>


Unfortunately the link is down but I seriously doubt it would convince me to switch from Idea or any other JetBrains IDE.


I've tried to switch from NetBeans to IDEA for quite some time (I use IDEA for Clojure), and I just can't. IDEA is probably more powerful, but I find NetBeans so much less annoying (you don't have to restart the IDE three times whenever there's a plugin update that might clash with another, or restart the IDE when you need to change the project's Java source version, or open a new window for each project, or click 10 GUI elements to install a plugin -- none of which is consistent with any other desktop app, etc.), and the UI is so much cleaner, less cluttered, and more intuitive (a right-click usually gives you the options you'd expect). Also, NetBeans' Gradle integration is really great. They're both terrific IDEs. IntelliJ is more powerful, but NetBeans has a much better UX.


I used to program in PHP, with NetBeans at first, and switching to PhpStorm was an incredible relief.

Perhaps things have improved since then, but I remember NetBeans to be awfully buggy, eg. it could make it look as if files were saved whereas, uhm, they weren't, because of which once it got close to being banned in the company that I worked at.

That's this bug I believe: https://netbeans.org/bugzilla/show_bug.cgi?id=206513

(Note how prompty and efficiently resolved it was)


But from Eclipse? :)


That was a cheap shot pjmlp ;)


The best thing for me with Netbeans is the visual diff feature and local history, which works with git. There's a side by side diff view, and there's a clickable gutter marker in normal mode.

You can see individual changes, see history of a file, revert back lines, see what happened upon every save, not just every commit. I use it for Ruby on Rails. This, and the find (grep) feature is the only feature that I use. None of the other bells or whistles.

I've been working on plugin for Geany that approaches this, but nothing has matched it for Netbeans.



Sorry website down, the community driven hosting server seems to have issues ...


(I mean absolutely no disrespect towards the author and his great post, it's just that after reading it I felt I have to write down an Emacs version of that.)

Six reasons to use Emacs

Emacs is a great IDE for octopuses and Lisp developers, but did you also know you can use it for almost every other project? Here are 6 reasons why you should use Emacs for your projects.

Emacs is at the top of a one-element list when it comes to great free Lisp IDEs. But for a little over three years now I have been using it in more and more projects. Going from basic HTML, CSS, JavaScript to Erlang, PHP, C++ and programming ARM microcontrollers. You name it, Emacs can handle it.

It is true, that Emacs was conceived initially for developing primarily with Lisp and various forms of stuff barely more convenient than pure assembly. But now that it is in its 24.4 version, it has grown to cover much more ground, from languages - as I mentioned above - to frameworks like Angular.js, Node.js, Symfony, Zend, etc…

So here are 6 reasons to use Emacs:

6 - Emacs is uber-modular

Unlike Eclipse, Netbeans, or most others, Emacs is a really modular IDE. And this is great for both users and developers. After downloading Emacs you can choose between different packages, modules and extensions depending on your needs, If you only need C/C++ projects you won’t be downloading unnecessary packages for Java or PHP. You can install, tweak and remove packages depending on your needs, making Emacs a highly customizable IDE with little effort.

Plus, if you’re a developer, you can make Emacs do whatever you like by modifying running code on the fly. If a feature you want is missing, you can trivially code it up in few seconds and enable immediately, all without restarting Emacs. You can browse through the fully-documented elisp sources to study how the power of Lisp and right design decision can allow various modules augment other modules without conflict…

Emacs also can have a Nyan Cat in a modeline.

This can be very instructive.

5 - A great community

Like all great open-source projects, Emacs has a very active online community. I rarely stumble on an issue that was not already solved somewhere on the Emacs wiki. This is particularly helpful when you’re discovering a new IDE. Also the Emacs Rocks videos. Those are great too. You can also participate in the community using IRC. Emacs has a built-in IRC client, of course.

4 - Org Mode

Trying to organize your work? Emacs has some great text-oriented tools to suit your needs. It will happily turn your simple plaintext list of tasks into full-blown calendaring system, complete with clocking the time you spent on tasks, pomodoro mode (optionally installed in org-pomodoro package), generating agendas for whatever timespan and set of conditions you want, and many more; all of this with a very nice workflow and possibly the most convenient tool for editing tables on the planet.

3 - Teamwork

Working on a team or alone I like to use version control (Git mostly) to manage my work. Emacs offer a great support for this (Git, Mercurial and SVN; and Darcs, and Fossil, and even TFS, you name it). You can manage branches, commits, pushes and conflicts effortlessly and without having to touch a mouse or leave your editor. No other IDE has perfected this, out-of-the-box, like Emacs (though you might want to install magit package).

2 - Browser REPLs

Read-Eval-Print-Loops are awesome, as any Lisp-speaking SLIME-using programmer will tell you. Emacs has numerous REPLs that connect to browsers to make your life easier. Their main features are: Refresh on Save (ok, you'll probably have to type it up yourself, but it's a single defadvice...), bi-directional element inspection, JavaScript debugging, HTML debugging and pushing to browser, CSS debugging and pushing to browser, etc…

If you’re an experienced web developer you’d say “I can set those up myself with some scripts and extensions”. And you’re correct. The thing is, it's simpler than it sounds. Emacs offers you all this with a bunch of simple M-x package-install invocations.

1 - Feature rich

I have been using Emacs for a while now, and every other day I discover new things; and even if I discover a new thing in another IDE, the Lispiness of Emacs never ceases to amaze me - like with all Lisps, it's trivial to copy a feature from a competitor and do it better. That is, if you don't already have a better one.

Note: I always keep something like vim installed for quick editing, most of the time because I'm too lazy to set up emacs-client as EDITOR for rare random interactions with interactive editing in unix shell.

Are you using Emacs or another powerful editor? Share your experience in a comment!


> Unlike Eclipse, Netbeans, or most others, Emacs is a really modular IDE.

Considering the number of plugins that exist for Eclipse, IDEA and NetBeans, the claim that emacs is more modular than all these IDE's is a bit absurd, don't you think?

> Like all great open-source projects, Emacs has a very active online community.

As do Eclipse and IDEA (NetBeans being a distant third, not so much).

> Working on a team or alone I like to use version control (Git mostly) to manage my work.

All the IDE's have git (and other revision systems) plugins. They all have their pros and cons and personally, I prefer to use an external tool (SourceTree) but emacs is unlikely to have an obvious advantage here.

> 2 - Browser REPLs

The Lisp eval mode and shell interaction are nice, but they are pretty limited to elisp and shell. All the IDE's have evaluation windows that let you run any arbitrary Java code, something that doesn't exist in emacs.

> 1 - Feature rich

Well, yes, all these tools have a lot of features.

It's interesting that you don't list the number one (and pretty much only) advantage that emacs has over any other text editor: macros. Macros are pretty much the only reason why I still use emacs today (\C-x(, \C-x) and \C-xe). And occasionally for small text files.

But for code, if you're not using a specialized IDE, you're not as productive as you could be.


> Considering the number of plugins that exist for Eclipse, IDEA and NetBeans, the claim that emacs is more modular than all these IDE's is a bit absurd, don't you think?

Modularity is not measured in how many plugins you can have, but in what those plugins can do with your editor without stepping on each other's toes.

All your other criticism applies to the original text as much as to my comedy piece.

> The Lisp eval mode and shell interaction are nice, but they are pretty limited to elisp and shell.

No; go and check it out. I specifically wrote about browser REPLs. People wrote REPLs that connect to the browser and let you execute arbitrary JavaScript, as well as transfer HTML and CSS between Emacs and an open page. Check out Moz Repl and skewer-mode.

> All the IDE's have evaluation windows that let you run any arbitrary Java code, something that doesn't exist in emacs.

Well Emacs has it too. Just install a Java REPL. Or shell out from inside Emacs, like all the IDEs used to do.

> It's interesting that you don't list the number one (and pretty much only) advantage that emacs has over any other text editor: macros. Macros are pretty much the only reason why I still use emacs today (\C-x(, \C-x) and \C-xe).

Well, I don't find macros that important alone. Their power depends on having complex text selection, navigation and modification tools. Things like reverse incremental search (regexp or regexp-free version, whatever you like), skipping and selecting semantic units (sentences, paragraphs, s-expressions, etc.), expand-region, transposing, sorting, rectangle-operations, etc. And then there are things like ace-jump, multiple-cursors, etc.

The power and convenience of Emacs lies in all those features being readily available everywhere, one key press away. Emacs is a "total greater than sum of its parts" type of editor.


> Considering the number of plugins that exist for Eclipse, IDEA and NetBeans, the claim that emacs is more modular than all these IDE's is a bit absurd, don't you think?

Is modularity measured by plugin count alone? Or is it measured by something like how feasible it is to remove some of the core IDE logic and replace it with your own choice of logic?


Macros are one of the worst reasons for using emacs, IMO - especially trivial keyboard macros that you describe. Almost all editors have a keyboard macro facility; the only one I use on a regular basis that doesn't come with one out of the box, ironically, is Eclipse.


IDEA has macros.


> You name it, Emacs can handle it.

- Graphics tooling.

- GUI designer

- Semantic refactoring

- Graphic visualization of CSS modes

- Integration of JavaScript frameworks with code-completion support and two way editing between CSS, HTML and JavaScript code

- Graphical visualization of data structures in debugger

- Graphical support of heap data and threads in debugger

- ...


Most important in my book: an IDE should be a simple batteries included experience. Something tweakable like eclipse or emacs is fine, but I want it tweaked. I don't want to tell my editor where it can find my compiler or what language I'm using. I want to install, type in a syntax highlighted and auto-completed hello world program, and have it run. Plenty of IDE's do this, for example variations of eclipse/netbeans/idea and of course VS.


I agree. Emacs was historically a little weak on that side; if there are language-specific preconfigured bundles, they're usually out of date.

Fortunately, with the recent inclusion of a decent module manager in Emacs 24, one could hope people will start making preconfigured Emacs "distros" for particular use cases.


- Graphics tooling - to some extent, yes. You can even edit videos with Emacs.

- GUI designer - not really, but you're likely to be using a framework-specific GUI builder anyway. Then again, if you really wanted it, you could probably twist the artist-mode hard enough to draw mockups in it and save them as XML descriptions.

- Semantic refactoring - CEDET.

- Graphic visualization of CSS modes - Rainbow Mode, or just open a frikkin' browser.

- Integration of JavaScript frameworks with code-completion support and two way editing between CSS, HTML and JavaScript code - not sure what you mean by "two-way editing" here, but you have code completion, CSS/HTML/JS support, and - as I mentioned - a way to push all of this back and forth between Emacs and a browser.

- Graphical visualization of data structures in debugger - depending on how complex you want to be, but for most practical uses the answer is "yes, Emacs handles it"

- Graphical support of heap data and threads in debugger - again, if by "graphical support" you mean trees, not bubble-graphs and pretty pictures, then yes

- ... - type it up, M-x eval buffer, and carry on.


I have been an avid Emacs user between 1996 and 2005 when working on UNIX systems. At the same time, I have used lots of different IDEs across multiple OS and languages, starting with Turbo Pascal 4.0.

In no way is Emacs a match for what modern IDEs are capable of.

Your list just shows lack of understanding in what they are capable of.

Nowadays Emacs is just when I cannot make use of an IDE.


It's been almost ten years from 2005. Have you looked at Emacs since then? It's still being developed and improved.

Anyway; you asked if Emacs can handle this and that, I provided examples. I don't see how my list reflects on any kind of understanding apart from knowing my package ecosystem and how to use Google.

Would you mind sharing what do you think in particular sucks at Emacs compared to an IDE you use, that you have tested on both to come to this conclusion?


I used to use Netbeans before moving to Sublime Text, there was only really one thing I missed, the way it showed changes in the gutter.


Have you tried using something like GitGutter?


1 Reason to Use Sublime Text

1 - I need a good Editor, not an IDE


This is my exact use case, and I moved from ST2/3 to Atom a while ago, and haven't looked back. (that's not to say Atom doesn't suck, because it does, but it's getting better at a very brisk pace)


I think Atom can have a great future. The modular design and nodejs under the hood are great benefits.


> 6- Netbeans is modular

OK, how can I replace its shitty editor with something decent, like Vim or Emacs?

> 3- Teamwork

I don't see how clicky menu would help with issuing git commands apart from few obvious entries. I would end up needing terminal anyway.

> 1- Feature rich

So is AutoCAD, but this alone doesn't make it good environment for developing code.


> OK, how can I replace its shitty editor with something decent, like Vim or Emacs?

http://plugins.netbeans.org/plugin/2802/jvi-vi-vim-editor-cl...


I didn't ask "how to configure its editor to use vi-like mappings", I asked "how can I replace the editor". Mere clone will not have even one third of the features and functions I use every day.

NetBeans' editor is shitty not because it's not vi-like, but because it lacks plenty of editing functions fully featured Vim has.


Can you educate us on what those features are?


Folding wherever I want, not wherever editor allows (i.e. not limited to blocks defined by syntax). Using Perl scripts in the same way as other commands. Passing the current file through awk. You have plugins for NetBeans or Eclipse, where I don't even need to think how to enable that -- I just run an external command. Quick and easy (no mouse) splitting window to see three or four files at the same time (or other fragment of current file). And many others that I take for granted, so they don't come to my mind at the moment.


Emulating vi keybinding is great and all, but that only scratches the surface. A big reason people like vim is the extensibility. I don't think that there is a single vi user(not necessarily a power user, but someone who uses vim for more than just editing a value in a config file) who doesn't have a single plugin installed.


Great! Except you haven't told me anything about Vi(m) does that Netbeans, Eclipse or IDEA cannot do. We have powerful plugins too! I promise!


at least in AutoCAD you have AutoLISP :-)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: