Slashdot Log In
Code Fusion for Linux: Reviewed
from the ide-suites-for-linux dept.
- Company: Cygnus Solutions
- Rating: 9/10
- Summary:With the exception of a few minor annoyances, most notably in the installation process, Code Fusion provides a full range of features for an excellent price.
Cygnus is already a familiar face in the Linux world. They are known for products such as GNUPro Toolkit and Source-Navigator, as well as their support for a variety of other open source projects. Their most recent addition to their product line is Code Fusion, a product which merges and enhances the GNUPro Toolkit and Source- Navigator to create a since integrated development environment.
While there have been instances where people have had troubles installing Code Fusion, I was able to set it up and run it without a hitch. Nonetheless, there were several elements of the install process that could be improved. First, you have to enter a different directory and run a separate install script depending on which version of glibc you are running. Once the setup is complete, you then need to setup several environment variables. While this process is well documented, the risk of typographical errors and the general inconvenience warrant automating this process.
After getting past the mild inconveniences of the installation process, I started up the program and began testing. While Code Fusion comes with a couple example projects and the book has some tutorials, I decided to venture out on my own and create a new project from scratch. And what better way to test a program than to write a Hello World app. Of course, to adequately test all of Code Fusions project browsing featuers, I broke it up into 5 classes.
It took me a couple minutes to figure out how to create new files. It seemed logical to me that the Project Editor window, where you can add, move or delete files, would also let you create a file, but that option is lacking. After digging around menus, I found that the Window menu allowed to you open the Source Editor window, where you can create files.
The Source Editor window provides a variety of convenient options. As with any good IDE, it color codes all our your source. The command to build your code is just a click away. Perhaps most conveniently, it is integrated with a variety of version control programs. In general, it provides a very convenient environment for cranking out code.
Having quickly whipped up all of the classes of my Hello World app, I moved to the feature where Code Fusion really shined, the various project browsers. This feature allows you a wide variety of ways to display your program. It includes a cross reference browser, an include browser, a class browser, and a hierarchy browser.
Finally, I tested the debugging features. This includes all of the standard features expected from any debugger, such as breakpoints, watches, stack traces, etc. Unlike a majority of the debuggers on the market, the screen where you edit the code and the screen where you set break points are different. Having been reared on Microsoft Visual Studio, and given that this differs from the industry standard, this is rather inconvenient. In spite of this, I found the debugger to be generally easy to use and it sure beats using a printf every other line.
Overall, Code Fusion is a very useful product. Any software developer, with the exception of the vi-loving death-before-IDE people, will find its wide variety of features helpful. And with a price under $300, it is financially well within the reach of most individuals and companies.
List Price $299 ($207.43 at CDW)
Re:finally, a good IDE for Linux?!?! (Score:3)
The only true programming editor is "cat >".
It has no modes to worry about (like command vs edit mode), no fancy commands to worry about, no cruft like a macro language, has not only been ported to virtually every unix variant (as well as dos, windows, and os/2), but works identically the same everywhere (no need to worry about vi vs nvi vs vim vs elvis). It doesn't depend on curses, windowing, nor anything else like that. It has an incredibly small memory footprint. AND, it forces you to think ahead and spell things correctly the FIRST time.
gdb!? sheer luxury. You never need anything more than the printf debugger.
IDE's? "cat | gcc" and the world is your oyster.
(brought to you by REAL Luddites, as opposed to pansy "vi and emacs til the day I die" luddites)
Re:...integrated debugging? (Score:4)
...integrated debugging? (Score:4)
Okay, there's now five or ten pretty nice IDEs for Linux. (Code Warrior, Code Fusion, KDevelop, CForge...)
There are some extremely good visual debuggers. (ddd, kdbg, Code Medic...)
But...it's all pointless without integrated debugging! I'm sorry, I find the lack of this feature to be a major detriment to these products, and to OSS/free software in general. Ten years ago I was running QuickC on my 286-12 running DOS, and *it* had an integrated debugger.
I have several co-workers now who have installed Linux to check it out, and have been very happy with the power and stability it offers, but - in a nutshell - they won't work without the development environment they are used to, and that means an integrated debugger.
Myself, I find it too annoying to deal with loading up a seperate (graphical) debugger, especially while running an already screen-space-hogging IDE. I continue to use vim+make+gdb.
Yes, I know - I should stop bitching and just code it. Still, it's a big job, and I'm torn whether I should try to add interactive debugging to something like KDevelop (certainly a big job) or simply add some source-editing features to DDD (a smaller job, but less impressive when finished).
I was hoping that Code Fusion would finally contain an integrated debugger, since it's not just a port of an existing IDE. I see now that our only hope is the 'Pro' version of Code Warrior.
Re:I already have an IDE! (Score:3)
Other than occasional use of Source Insight (an inexpensive and excellent commercial source code index/analysis tool), i rarely need anything more than find, grep, and one-liner custom greps written with perl -e. With a project of this size, i find the "knowledge... of regexps" and "ugly makefiles" not just useful, but priceless. The bigger the project, the more useful the Unix command line becomes.
---
Current open source options... (Score:4)
There's several other options out there, but they're not as nice as these two, IMNSHO...
Both offer project management, class browsing C++, syntax highlighting, etc. KDevelop looks nearly like VisualC++, Code Crusader is more closely modeled after Code Warrior. These decisions dictate code choices.
KDevelop does class browsing in a way much like VisualC++ does. Code Crusader shows classes in a class inheritance tree.
Each of these environments have their own set of problems- you'll need to evaluate their offered functionalities and find out the drawbacks for your purposes and choose accordingly.
Mixing IDE and non-IDE (Score:4)
The scenario that I'm interested in is that I typically build things at the command line, but use the source browsers to explore other classes and their methods. The other use is that I create the build environments in the IDE, export a makefile (because there are a lot of dependencies to code; let the IDE do it for you), and then fire it all off by typing 'make' at a command line. Does CodeWarrior fit this situation?
While IDEs are nice, I like the ability for them to simply put a GUI on some parts of the development process. Otherwise, hands off and let me use VIM! :grin:
--
Re:How does this IDE compare to emacs/gud/make/gdb (Score:3)
Mac
Win
Now I've been working at a startup for the last six months doing Java. There are few tools to support Java development to the level of complexity offered C++ coders, so we rolled our own. It's still basic as I haven't had much time to continue building it, but that changes next month. :)
Here's what we're currently using:
Most everyone here uses Symantec Cafe. I had already chosen my IDE prior to arriving, however, at a contract a year earlier. After using so many IDEs, I found that the central feature lacking in them all was a good editor. I spend 90% of my coding time actually coding, and very little building.
I eventually found CodeWright (windows only) and have used it since. For one, I have not found a better editor out of the box. Emacs can be configured to do nearly everything and more, but I don't have the time yet to jump in fully. I can get by editing in Emacs, but that's about it.
CodeWright, like Emacs, has extensibility. You can use one of their own three macro languages, C, C++, or Perl to write extensions to the editor. Even easier, however, is that it has hooks for compilers, make, version control, etc. You just enter the (cmd.exe) command line to execute for each function:
And it was just as trivial to tweak it to use our build scripts, tag files, etc.Bottom Line: Take the time to pick a good editor and extend it. Yes, I'd love a class browser, but far more important for me is to be able to hit ctrl-F10 and have the current file saved, preprocessed, and compiled; and the cursor jumps to the first error. You can do all that with Emacs and JDE, and we'll move that way once we jump fully to Unix next year.
Now all I have to do is convince the black hats that Linux is an enterprise platform. Got any ideas?
-PZ
Re:finally, a good IDE for Linux?!?! (Score:4)
ctags stopped cutting it when I moved from C to C++, and it's useless for Java
Exuberant ctags [hiwaay.net] is far advanced over old ctags programs. The C support is much improved and C++ and Java support have been added and work like a charm. Works especially well in combination with Vim [vim.org]. If you don't like the way it handles Java, you can give JTags [fleiner.com] a try, but it's nowhere near as stable.
If you're doing Java development, you'll probably also want to use Jikes [ibm.com], as it integrates very nicely with QuickFix mode in Vim and make mode in Emacs. There's also a Jikes Debugger [ibm.com] java debugger, but I've not used it.
a decent code beautifier, since indent doesn't work right for Java
jsbeautifier [bigfoot.com] is one of many -- a search I did a few months ago turned up 10 or 12 beautifiers for Java, and even more for other languages.
Of course, if you want a good graphical debugger then ddd [tu-bs.de] is the way to go -- it lets you get to the gdb command line if need be.
Sumner
How does this IDE compare to emacs/gud/make/gdb? (Score:3)
Is there anyone proficient with these classical tools that has ever switched to any formal IDE, commercial or otherwise?
Btw, I can only laugh at the people asking for an open source IDE -- you've already had one for a decade now...
-p.