Netbeansn is my choice for an IDE, Integrated Development Environment. Smaller than Eclipse, Netbeans performs well on my middle range notebook computer. Netbeans is too slow for a quick edit, use the plain text editor supplied with your operating system. Netbeans gains the advantage when you work on a medium to large project with version control.
Netbeans 8 seems to fix the reliability problems present in earlier versions. Netbeans 8.2 has everything working in a nice way and has a decent range of add-on components. 8.2 is still has bloatware as mentioned below.
The Netbeans 8.2 HTML/PHP download is 117 MB. Compare that to Bluefish at less than 1 MB. Netbeans uses 231 MB on disk before allowing for file system overheads. Bluefish is still less than 1 MB on disk. While Netbeans does more than Bluefish, Netbeans does not do 200 times more than Bluefish.
One of the stupidities in Netbeans and Java in general is the use of the JRE, the Java Run time Environment. Java is supposed to reduce application size by sharing a run time. Every Java based application includes a new copy of the Java run time because Java is too fragile, incompatible, and unreliable to share one JRE. Netbeans needs a download option without the JRE and good information about which JRE is compatible.
Many Java based applications also include the JDK, Java Development Kit, because the JRE is always missing essential bits. The enormous JDK is far larger than whole applications written in any other language. Surely Java could be configured in a way where you can include a tiny bit of code from the JDK without including the whole JDK.
Most of the included code is rubbish you will never use. The download page should offer Netbeans without the rubbish then let you choose what you want. For example, Netbeans includes add-on modules for every version control product. Many people will not use version control for local edits. When someone does use version control, they rarely use more than one version control package. Netbeans, drop the bloat and give us a reasonable download with only Git and Github.
During the installation, Netbeans offers to use the JRE already installed on your machine but then installs the one included in the download. There is no option to download Netbeans without the duplicate JRE. Several questions asked during the installation should have been in the download page with the download delivering only what you need.
There is a C plugin I tested on a small C project. The C plugin adds only a few tiny change to the syntax highlighting but adds a massive 13 MB to the package. More bloatware. Another reason to not start Netbeans if you do not need the major features of Netbeans.
I downloaded and installed the latest version but the first thing Netbeans did was to list updates for almost every bit of code. After the massive original download, you have to download almost the same amount in updates. Netbeans needs a better maintenance system for their downloads.
Netbeans has hundreds of add-on modules with 53 installed without asking you. Looking at them, I might use 10. Of the three programming languages I want to use, only one was included in the 53. The second one had to be installed from the Netbeans library. The third one has to be installed from a different source. What Netbeans needs is better language support in their download library and less junk included by default.
I uninstalled 26 of the included add-on modules. Netbeans started a little bit faster but is still slow. Keep a small editor handy for quick edits outside your version controlled projects.
Netbeans is a typical Java application, taking a long time to start. The speed for common activities is ok once the application is started but is not brilliant. I will continue using Bluefish for quick edits and edits outside of version control.
The Bluefish editor is faster for some types of search and can search based on a directory, giving you the chance to search across multiple projects. The Netbeans search speed is weird, fast for some things and slow at other times. Learn to use a file content search outside of Netbeans.
Eclipse is the largest IDE you can install. I have used Eclipse on higher power desktop computers. Eclipse is to big and slow for my notebook. Netbeans just fits in. Both include too much in their downloads. I found Netbeans a little bit easier to trim down. Most add-ons have equivalents across both IDEs. Some add-ons only work with Eclipse or work with Eclipse first. There was only one occasion where I needed something that was only available in Eclipse and on that occasion the Eclipse add-on was more difficult than performing the work by hand using a simple editor.
Bluefish and Netbeans both have options to define projects and to search across collections of code. Bluefish is better at search. Netbeans is better at managing projects. I use the project feature in Netbeans and stick the Bluefish when there is no specific need for a project.
A Netbeans project is configured in a weird way by default. Prior to Netbeans 8, I could not configure a project the way I wanted. Netbeans 8 offers improved project creation options. Experiment with the different options. I use one where the main directory contains the project code and the Netbeans project configuration files are in a subdirectory. This works better for code access outside of Netbeans.
Netbeans projects work well with version control after you work out how to configure everything. You use one way when your project is already in version control and a different way when you are creating your project locally before adding the project to version control.
The project creation starts with a category selection, C, PHP, whatever is installed. You then select an empty local project, a local project with existing code, or a project from a remote version control system.
When you are using your own code and planning to use a remote version control repository like Github, the easiest approach is to create the project in Github then create the project in Netbeans using the Github information then copy your existing code into the Netbeans project. You can bring your project together in other ways but Netbeans has default that are different to what Github creates.
I wasted some time on one project when I tried to move new code up to Github as a new project. I ended up having to delete everything from Netbeans, clean out the Github project, then start again in Netbeans with a new project cloned from Github.
Netbeans is most useful when you use projects and version control together. I have used version control stand alone and with smaller editors. I had problems with version control in an earlier version of Netbeans. Netbeans 8.2 appears to do everything you normally want as a single developer.
A project administrator would use a dedicated version control interface when they have to manager several branches across multiple developers. After you create a project with version control, select Netbeans, Team, then the version control system. I use Git and Github. I selected Git then Repository browser. You get a basic display. You get good information about your current project. I would not want to use that when a branch merge crashes together incompatible code.
You can test version control with an open source project. Visit the Web site for one of the open source applications you use. Find the Github details. Use the Git clone option to copy the project down to your local computer. You can then view the version control options.
Netbeans was a student project then Sun sponsored Netbeans then Oracle purchased Sun and now oracle are passing Netbeans to the Apache Foundation. Apache will change the licensing from GPL and LGPL to the Apache license. The Netbeans team will no longer have to worry about the development or organisation infrastructure. Netbeans 9 will be the first Apache Foundation version.
Netbeans is a good choice when you work with projects and version control. You get enough speed to work on a notebook. Netbeans could help more people use Netbeans by making the downloads smaller. The takeover by the Apache Foundation will help Netneans stability long term.