In my day to day job, I mainly use java, primarily for the development of graphical interfaces to communicate with custom built hardware running embedded microprocessors (written in assembly and c). In addition though, I also write c and c++ for backend code that needs to run really fast, or needs to do stuff that java has a hard time with.
For example, I am working on a project that uses JNI to integrate a java GUI to a c++ dll, which does some complex data processing for GPS location triangulation. This code is already working in c++ and I don’t want to have top reingineer it in java, as it involves some very ugly math.
I have recently made a switch to eclipse(jbuilder) for java development. Prior to the big switch, I was using JBuilder 2005 Developer. Because JBuilder is limited to Java (or was, prior to moving to the engine eclipse, I was forced to use multiple IDEs for the different languages that I code in. For C and C++, I have been using BloodShed, which is a free windows based C++ alternative to Visual C++. For perl and php, I jave been using a syntax highlighting text editor such as textpad (shareware) or ConTEXT (free).
Since I made the switch to JBuilder 2007, I have started exploring the various eclipse plugin modules that are available. One thing I found right away is the Eclipse CDT.
I immediately liked the CDT feature set, which I found to be pretty good for a C++ environment.
- Intelligent code completion
- Intelligent navigation and searching
- Debugger integration
- On the fly builds (I am using maven2)
- Refactoring (renaming etc)
I have successfully built both DLLs and EXEs, and eclipse is smart enough to switch workspace views around when I open a c++ project vs a java project. For example, I want my java workspace to show a javadoc view, whereas my c++ view does not display that.
One thing I have not tried yet though is though is an integrated ICD (In-Circuit Debugger) for pic programming. Not sure if such a solution exists yet, or if we have to stick with MicroChip’s IDE for embedded development at this point.