Code Fusion for Linux: Reviewed
- 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)
It's a perfect development environment, but it's not _integrated_. Maybe Emacs is more like an IDE but I never use it.
http://www.slickedit.com/
I like and use it as well. Can emulate emacs, vi, Brief, CUA, has optional command line, own C-like language for the editor, support a lot of languages, fast, reliable and many-many great features. Functionality is similar to emacs but with MUCH faster learning time. I've tried all of the IDE's for Linux but Visual Slickedit were the most convincing and easy of use. The ONLY BIG problem it doesn't integrate with a debugger (of course you can invoke it, but doesn't follow what you are debugging if you want to edit the source)
Code Warrior doesn't support Makefiles or CVS. They (of course) have their own proprietary setup for both, which would only be useful (of course) if everybody in the whole world also used Code Warrior.
They've said support is coming, but I'm not holding my breath.
I heard it's opensourced.. :)
Where is foo() defined? What's it's signature? Are you serious? What do you think ctags is for? Just say "go to tag `foo'" in your editor. Both vi and emacs do this just fine. If there are multiple versions, just say "go to next". This is trivial stuff. Doesn't anybody know how to use tools anymore?
A progammer who needs a hulking IDE to program with doesn't merit the title.
A wizard is a person, not a programmer. ENOBILL.
I'd like to see whether it can handle a patch file. I'll bet it can't. Silly toys.
toggle switches!
We used to DREAM of having toggle switches.
When I first started programming, we passed
magnets over bare iron -- and were GRATEFUL
to have the magnets!
No more to say... To happy with IT
But i'm Looking for a site about
"DBI/Perl Vs PHP" Advocacy....
Kisss !
Vim syntax highlighting is something that would be useful i'd like to find out places that i can get a vi rc file with c, c++ and perl.
Also how do you do syntax checking in vim?
Thanks
i recently installed visual studio on one of my companies win 98 machines and had to reboot 5 or 6 times (but one was to uninstall an old version of VC 5, but that wasn't nessisary although it was part of the install). Now that is fustrating on a friday afternoon
Hmm... what are Linux distributions for? Given the documentation, and enough time to learn and compile all those programs and utilities, everyone can perfectly build their own distribution by themselves, right? The point is they makes things easier for the general majority. RH, Caldera, etc., make distributions so you can sit down, install, and get Linux running in a few minutes. IDE automates and simplify tasks so you can concentrate on programming, not on how to work with all the debugging tools. And quite seriously, many ask for IDE on Linux. I was trying to convert my brother from the windows crowd, and the 1st thing he asked for is an IDE like VC++. And man, have you tried to write MFC programs without using VC++ wizards? It would be such a pain to set up the standard interface line-by-line, all by yourself. (I know slashdotter probably hate MFC, but this is just an example)
I use documentation generators for class browsing. For C++/C code, try out Doxygen. For java, javadoc (duh). Dave.
People are sick of First Posts. They'll moderate anything down that has a title of First. Without reading it.
But will they moderate down posts that have Scores of 6??? hehe
I will agree that what editor someone prefers is really immaterial, they're welcome to use whatever. That said, no it's not macho, it's just easier, more configureable, and more flexible to use emacs or vim and build in an xterm (or rxvt or Eterm or whatever). Multi-tasking, multi-threaded, multi-apple-peeling, etc, have absolutely nothing to do with it. Multi-tasking and multi-threading work just fine on my machine, emacs and all. Some people will prefer to point and click and have code pop out, others will want more control. As for me, death before IDE! :) -moibus
Hey DeWdZ. U GuYs SuCk. LiNuX iS nOt Da BoMb. WiNdOwS iS dA BoMbZ Yo! DeY bE gIvEn MaD PrOpS fOr BuG FrEe SoFtWaRe AnD GoOd CuzTuma SeRvIcE DeWdZ. It Be FoR ReAl Yo! -HaCkMaStApImP-69-666
Oh, that's not so. I use emacs 20.3 and codewarrior to develop on MacOS. To use an external editor such as emacs or vi, all you have to do is turn off the file modification time caching in codewarrior. I don't know about windows and linux, but codewarrior on MacOS has an open source CVS plugin at http://www.maccvs.org - I haven't used it though because I really like the maccvs pro interface to cvs, so I just use that, and with the file time caching turned off, codewarrior is perfectly happy to use an external version control system. HTH, Ben
Sounds like AOL has let it's people loose...
Emacs is incredibly bloated (much more so than W2K). That's why nobody in their right mind would ever use it in a professional grade product. It tells you something when emacs takes more RAM than Netscape.
Live VI, code VI, die VI.
Sounds like KDE: Microsoft for Linux. Why do it better when we can do it like Windows?
I have CW for Linux and it doesn't seem to support anything I want it to do. There are not Makefiles, no CVS, no RCS, no SCCS, and no autoconf.
I've stopped using it except as an editor (vi is too outdated, emacs is too bloated). It also has these project files that are virtually unmanageable in CVS.
C-x 3 will vertically split the window. This is faster than opening another file in VC++ and then clicking on tile. I've used VC++ professionally for years (I had to). Coding in emacs (xemacs) is far more productive once you know some tricks. A good IDE is worthwhile and visual studio is not bad, but its not great either. A good graphical debugger (eg ddd) aids productivity enormously. Frankly, if you need to touch the mouse during development (except when designing dialogs for GUIs) then you're wasting time. As for multi-threaded, why the fuck doesn't visual C++ compile any faster when you have multiple processors - answer: because it doesn't use threads appropriately.
Code Crusader (http://www.cco.caltech.edu/~jafl/jcc/)
I thought Code Fusion was also GPL'd, however, it cannot be downloaded from the net. (the license, ofcourse allows it).
A feature that would make me want to use an IDE: Most of the open source ones already use external programs for a lot of their features, they should use an external editor too. I do not like the fact that because I like to use VIM, I can't access some of the click to edit and jumpto features of some of the IDE's. Forgive me, but I'd rather use a real editor than someone's silly half baked widget.
About the only use I can think of for an IDE is for prototyping UIs. You can drag around components until you like what you see. Being a Layout Manager/EMACS whiz might still win though. I prefer to use Emacs and a hand coded UI using a layout manager though since you get more control.
This setup has all the power and all the tools and functionality I need, but unfortunately I find it not quite as convenient as a good IDE. I'm pretty proficient with vim, and for editing source code nothing parallels the efficiency I get achieve it. However, in an IDE, commonly used functionality is usually only 1 or 2 keystrokes away. In VC++, to look at a different source file in my project, all I need to do is click on the project view, type the first few characters of name of the file, and hit enter. This is faster than opening a new xterm, and typing "vi path+filename" (even with tab completion in bash), or typing ":e path+filename" to load the file into the current window. When I'm working with an IDE, I really appreciate not having to spend those few extra moments to do common things like open a file.
That's the main reason I like IDE's, although to me it doesn't make a huge difference whether or not I'm using an IDE. Typically, on Windows I use Visual C++, and on Unix I won't use an IDE.
Emacs has an 'integrated' debugger (ie you can run the debugger in one window and watch it step through the code, set breakpoints, etc. in another). It's been around for a long time:
;;; gud.el --- Grand Unified Debugger mode for gdb, sdb, dbx, xdb or perldb
;; Author: Eric S. Raymond ;; Keywords: unix, tools
;; Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
;; Maintainer: FSF
I'm completely serious. I know how to use tools. I can use a Makefile. I can use vi or emacs. I can use debuggers and profilers. I can integrate my editor with my debugger. I can use cxref and vgrind and cdecl and csope and lint and cparen. I can read the man pages for a function. I can use RCS or CVS. What's an IDE for? What's this noise about some IDE features that write code for you? Is this something for non-programmers? This is not a troll. I've used Unix for twenty years. I've never ever used a PC from Microsoft or Apple. I don't know what this IDE thing would do for me.
...like KDevelop does? Very important IMO.
-W.W.
Posted anonymously due to being locked out of account and Rob not answering e-mail.
Yes, KDevelop is approaching maturity and is in its second beta now.
vi? emacs? pff.
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)
RHIDE has probably gotten less credit/attention than it deserves because it's from that bizzare free software sub-community using *-DOS. It was developed for DGJPP to give DOS users their familiar Borland-like IDE. Its debugger is just as integrated and easy to use as the Borland one was. It's been available on linux for some time, but so far as I can tell, it's still pretty much only used by Win/DOS types. Too bad really, because I *know* a lot of linux users began programming on those text-based DOS systems and this might do a lot to relieve some of the where's-my-ide-angst floating about.
It gets you ease of Learning. It lets you concentrate on learning and coding the language, not in the arcana of makefiles, commandline options, grep and reg exp. It lets you browse the structure of your project easily, to find a function / object /variable / whatever. It should automate trivia like creting a new project with a makefile etc.
Might also add searchable help and GUI layout tools, and integrated debugging.
Best of all, it saves me from learning more than the basics of vim or emacs.
*sigh*
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.
I never really got into emacs. I dig vi a lot though. When I went looking for an IDE, I came across C-Forge C-Forge There is a demo available on the site. It has pretty good project management, DND, rcs, and defaults to DDD for debugging. I also love the fact that the editor can operate in 'vi' mode.
Thank you. Drive through. (:wq)
I learned GNU autoconf & automake a few months ago, and I haven't written another Makefile since. All you need to know are the names of your sources and the library versions you want to link to... then Makefiles can be generated for multitudes of platforms automatically.
Beats doing them manually, using Imakefiles (*shudder*), or having strange "project manager" files...
F0 07 C7 C8
Amen. Emacs takes time and effort to learn, but so does anything worth knowing.
I have heard that Emacs is embeddable, in that Emacs can be made, with sufficient support from the application in question, to be used as an embedded editor.
I could almost handle some IDE's out there, if only I could edit using Emacs instead of the flimsy editor that comes with the IDE.
Try to code nice console programs and static libs not touching the horrible VC MFC libs and go STL and stdio instead. What happens?
I've found it often works better than egcs. I had to rewrite an egcs version of a console test app because it didn't like typedefs in templates based on typedefs from the template parameters. (I ended up using -- God help us! -- #defines.) Maybe egcs has improved since then, but slamming a compiler because it isn't quite up to the standards spec means you slam all compilers.
I'll grant you the non-standard scope for variables declared in for loops, and the lack of a standard switch for just changing that, sucks.
To my mind no IDE (including emacs) is really at the level I need it. I like the multiple independently-resizeable edit windows of CodeWarrior (that offer more than just editing, things like setting breakpoints for example). I like the displays of local variables and the edit and continue of Visual. I like the power of command line programs with Unix/Linux. (Especially the ability to pipe grep, grep -v, etc.) I like the ease of learning the simple stuff of CodeWarrior and Visual.
I want the ability to add hyperlinks to documentation in source code, where I can click to get a viewer. I want easy to browse instructions. I want to be able to set *compile* breakpoints, so I can see what header files are included and what's defined at a given point. I want the ability to indicate groupings of functionality even when there's no language-level indication (such as namespaces) of that grouping. I want diff tools that show word-level differences if lines aren't very different, and that show the difference in context. I want to be able to change a variable's name, and have all references to it change too -- but not identically named but different variables.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
Go to freshmeat and search for "gtk". You'll get back a result list of of something like 400 applications. Are all of these useful? Probably not. Most were written by folks trying GTK out, learning, and sharing their results.
Libraries and development enviornments do not govern the usefulness of a program or application.
Plenty of excellent programmers swear by Visual Studio. Plenty of excellent programmers swear by emacs. For some reason, some even use vi (sorry, couldn't resist! ;) )
--
I believe that you are talking about COLD Fusion. This article was about CODE Fusion.
--
Man is most nearly himself when he achieves the seriousness of a child at play.
****Gfx Scrollbar Special case hit!!*****
...not Cold Fusion.
I knew the name Code Fusion was a mistake.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
Don't forget "make". The only things missing from that combination are:
- a decent class editor/browser for Java. ctags stopped cutting it when I moved from C to C++, and it's useless for Java.
- a decent code beautifier, since indent doesn't work right for Java.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
The problem I've found with java beautifiers is that most of them are like the old "cb" program, where I want something as configurable as "indent". Remember "cb"? It was "our coding style or nothing". So are a whole raft of Java beautifiers.
I'd not heard of Exhuberant ctags. I'll give it a try.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
If you moderate down something as off-topic, the replies to it should probably be automatically bumped down a notch.
Here we're looking at my reply to a message, but the original message was off-topic and moderated down below my threshold, so it looks like *I* started talking about something off-topic out of the blue.
The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
You might want to hang on to that clue bus ticket :).
_Code_ Fusion is an IDE for Linux. It has _everything_ to do with makefiles et al.
Does it do emacs-style auto-indent? This is the killer feature without which I cannot live. I want to be able to hit tab once, anywhere in the line and have the editor deduce where to put the cursor from the syntax of the code.. No indentation, no dice.
PS: What about regexp searches in/across files? regexps are yummy too.
Beer recipe: free! #Source
Cold pints: $2 #Product
It's called a Unix shell. It includes choice of editors, build tools, version control, multiple scripting languages, etc. It can work in very little desktop space (i'm currently using just an xterm), is language-independent, etc.
My question is, what does the "Integrated" environment get me that i can't already get with my Unix shell, and how much of the flexibility of the Unix shell must i surrender to get it?
-dave, who is currently hacking Perl over a WAN in an xterm)
---
Hand me that airplane glue and I'll tell you another story.
- does the ide support keystroke navigation -- i hate to use the mouse if i don't have to
i tend to use emacs a lot because of source control tightly intergrated with a simple keystroke.extensibility and customization/personalization are also an important...
And how good is it for multithreaded debugging
is there anything comparable to SGI's CaseVision?
[As a reference, I consider multithreaded debugging support in VisualC++ to be BAD compared to cvd]
The closest things that are available are Code Crusader and KDevelop.
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.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
The closest things that are available are Code Crusader and KDevelop.
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.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
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:
--
Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
I believe support for Java's AWT is missing, but most of the rest is there.
Bah.
Real Luddites use toggle switches.
:-)
Kdevelop can be found here. The new beta version is nicely functional. I've built a LinuxPPC package and put it at the below site -- before realizing that anyone who can't compile it themselves doesn't really need it...
What I'm listening to now on Pandora...
I use Nedit and love it, which is why I'm surprised you weren't aware that it already has most of the features that you are asking for.
As of version 5 and greater, Nedit has a wonderfully customizable syntax coloring feature. You can specify syntax coloring for language modes using regular expressions. Of the ones you listed, both Perl and HTML modes come built in, and you can easily write patterns to match php3 syntax, or any other language.
In addition to syntax coloring, the language modes can be used to set macros in Nedit's builtin language to only run for particular source types. For the features not builtin, it can easily execute arbitrary shell commands.
There might be existing macros to do this from the Nedit macro list. If not, it shouldn't be difficult to write your own.
Maybe...
...BTW can I use it for ObjC as well?!
--- GnorpH
Same here. As a matter of fact Emacs is the reason I got acquainted with Linux. I was looking for Emacs for my Win3.1 pc, and stumbled upon walnut creek cdrom. I ended up ordering a Linux Slackware CD, and was very happy with it.
I've tried using MSVC++4.0 IDE, Borland C++ 4.5 & 5.0 IDE, and Watcom C++ 11 IDE, they all felt too stupid when it came to auto-indent, plus they weren't nearly as customizable as Emacs.
Everyone yapping about emacs and vi(m). Does it have ed emulation? Does it integrate with xed? Ed is the standard! -jwb
You may have had a ticket on the clue bus, but I think you've lost your transfer.
Allaire's Cold Fusion web development product has little to do with Cygnus' Cold Fusion IDE, other than the obvious clash in names.
--Joe--
Program Intellivision!
Ack... my brain got sucked into the same trap as a few other people on this article. See subject.
--Joe--
Program Intellivision!
You know, if you set up tags in your project, going to a source file that contains a specific function in vim is as difficult as hitting CTRL-] on the function and CTRL-T to go back. You can use regexps if you use the ":tag" function.
It must be a decent product if a Visual Studio weanie can fire it up and run it. I just wish a developer would post some comments with respect to: what compiler it uses, does it create makefiles, does it ship with any frameworks, libraries, etc. what languages, processors, etc it supports, is the java stuff worth looking at...
"Class wizard, I beseech thee. Grant unto me the power to render my application."
How can they feel the rain but not know of the flood?
Now, I'm not going to give up Perl, of course, but this would make me just another, slightly happier, perl hacker. Anyone have any leads on something like this?
And to qualify: don't even bother saying emacs. Seriously. No thanks, I already have an operating system. :-)
----
We all take pink lemonade for granted.
There is no K5 cabal.
I am not the real rusty.
Guys, to be honest, SN is just a pile of shit in very fancy tix wrapping.
We were using SN databases ( it parses your project and builds several databases out of it) to make some source analazyng tools for big (more than 2.500 files) project, and we had run into troubles. SN started to crash often, corrupting databases and producing unpredictable results. I have more than 30 bugs listed in our local gnats system. Here are some of those:
to the actual function implementation. The reference points to the function declaration in the parent class, instead of the implementation
in the derived.
And so on. I just took first three bugs from our bug tracking db.
When we tried to contact Cygnus support for those bugs, we received a polite reply on of the support staff that mentioned bugs will be fixed in the future release. We've waited for a couple of months and then new SN update appeared. None of the bugs we submitted to support were fixed..
Of course, there's a lot of good products from Cygnus. I use egcs at work and a lot of tools compiled with cygwin at my home PC, and I can't say anything bad about those products. But never - I repeat - NEVER spend you money on this foolish thing.
PS. sorry for my bad english.
-cambion
Also how do you do syntax checking in vim?
.vimrc from dotfiles.com.. It contains all of the syntax hilighting and checking turned on.. Cool stuff.
Just download it, (www.vim.org) and it does all of that. I recommend the
--
blue
i browse at -1 because they're funnier than you are.
http://www.slickedit.com/
...
Very nice IDE
Check it out.
No it is not. At least not for me. ... And for me , IDEs are next step from the setup your are advocating.
This is the old way of doing things. It works, of course, but eventually people will move to better tools
You are missing the point. If you are so "hard core" you can skip all the wizards in VC and code in Win32 API. Hell, if you that tought, skip message crackers too, just nice old big switch() statement.
The point is - it is a tool that provides you with optional wizards and stuff like that but you are not forced to use that.
No, Code Fusion is *not* GPL.
Quoting from the FAQ on www.cygnus.com/codefusion/faq.html#4
"...commercial Linux IDE..."
KDevelop Homepage
Woops! Looks like newer home page is linked lower down a few more comments... www.kdevelop.org
You had caves?
You lucky bastard.
San Francisco values: compassion, tolerance, respect, intelligence
Anyone done anything with it? I haven't had the time yet but I've got about a thousand ideas for that beast... How come it's not the standard editor in all these IDEs? Code reuse people! That's 2 birds in one stone, emacs and you can autoload the vile script for the freaks out there.
This is my signature. There are many signatures like it but this one is mine..
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
Freedom to fear. Freedom from thought. Freedom to kill.
I guess the War on Terror really is about freedom!
their mice. I think they'd have a better time doing that instead of coding VC++.
If a visual studio weanie can fire it up and run it it's the proof that the IDE sucks. Why do I hate "class wizard" term so much? Perhaps it's because I hate MS terminology: all those sucky idiot wizards in MS apps...
Why not wait for a port of MS DevStudio to Linux? I think it'd be the perfect way to fu** up the whole beauty of development on Linux. Oh no, I see the developers of KDevelop dreaming that QT is someday as big and ugly as MFC, and KDevelop performing as moronic as DevStudio. Yes, 13 year old mongoloid kids would be able to write KDE (pronounced "windows-wanna-be") applications that do incredibly useless things.
--exa--
At least we had hoped that an IDE would supply that in some /. discussion. Hmmm, I'd really like an IDE that gives you full control over the tools it provides an interface to.
What's more 1) is the editor better than emacs/xemacs? 2) is the debugger better than ddd?
questions remain open. You'd have to succeed in both areas to make me pay those bucks.
Anyway, this is the kind of thing where improvement is sure to happen. What do you say?
Which features must be worked out?
--exa--
Yeah, I've been there and done that.
Try to code nice console programs and static libs not touching the horrible VC MFC libs and go STL and stdio instead. What happens? Lemme sort it out. You're not gonna compile half of your valid std C++ proggies. Templates will break, namespaces will blow, linkers will get confused..
I think you're overestimating the DevStudio environment.
Plus, if there are the (what - 4gl, 3gl) tools, you just want them fine and dandy. Not the lame DevStudio ones.
--exa--
Seems like you're omitting the grand idea here and still collecting all the moderation points.
What I don't like is that a development environment is intended for non-coders. An IDE similar to DevStudio just gives me that feeling. The "here moron, you can make a window like this", "see moron, click here and some sucky message map code will be generated. totally ad-hoc!" wizards or "Our library allows you to write WinSock2.0 code so easily. Just stick to our lame object model." libraries make me sick. I do think that the libraries and DE's may govern the quality of software at least.
What's more, I condemn all those excellent programmers who stick with VC! Nothing compares to emacs+ddd.
And yes, there are many GTK proggies that are not useful. Still I stress that the KDE must be pronounced "windows-wanna-be".
--exa--
I've been unable to live or code without Emacs since, oh, 1983. The only time I made the jump to an IDE was when the second version of NeXT's Project Builder came out. Note that this is still available as part of Mac OS X server, and as far as I know will continue to be maintained and extended.
The original PB was already an excellent Makefile creation and management tool, scaling up to seriously big projects. Lighthouse Design used it faithfully. However, its text editor was, well, pretty but primitive. (Undo? Never heard of it.)
The second PB was rewritten to improve that Makefile management (converting it from CMU to GNU make), and also with a set goal of converting die-hard Emacs fans, and they did it. It wasn't a lisp environment, so real customization/extension is gone, but the main keystrokes and semantics are very faithful. Undo past save, ctrl-x ctrl-s, incremental search, lots and lots of my muscle memory just works.
This is not to say that you have to be an Emacs-head to use it. It has all the standard friendly menus and commands. It just happens to have a lot of Emacs style goo too.
They also did a decent job of putting a GUI on GDB, especially managing breakpoints.
Caveats: I was strictly an Objective-C boy, really have no idea how it treated C++ developers. However, the Mac OS X version is now a fine Java development environment. That seems to bode well.
I've heard that the compiler that comes with Code Fusion is superior to any other. Has anyone besides cygnus run some tests on the speed, and if so, where can I find the results to these tests?
Cold Fusion is a server side programming environment, however, they are talking about
CODE Fusion.
we finally got a good IDE for Linux...
o/~ All God's children shall be free in Pirates of the Caribbean, when we reach that Magic Kingdom in the sky... o/~
You had magnets and Iron?
We used to have to align iron ore with the earths magnetic field, with our bare hands, in the snow, naked, and the only apropriate place to work was ten miles uphill from the safety of our cave complex.
The only way to get back to the cave complex, was to walk back that ten miles, through a saltmarsh, where the water was below the fresh-water-freezing point, but it was still liquid from the salt.
We didn't have shoes eithor.
-- The act of censorship is always worse than whatever is being censored. Always.
If you are so "hard core" you can skip all the wizards in VC and code in Win32 API.
I think that when refering to him as hardcore, it's impolite to asume that he's into S&M.
-- The act of censorship is always worse than whatever is being censored. Always.
I use JIndent (http://www.c-lab.de/~jindent/), which seems to address many of the concerns expressed here regarding Java prettyprinters. The default style is the one blessed by Sun (http://java.sun.com/docs/codeconv/index.html), but it's configurable to my taste.
-ted
PS: Here's my configuration file; this should answer configuration nitpicky comments in advance:
...............
### Convention Note
conventionName = "Teds Convention"
setConventionNote = false
### Tabulator
emulateTabs = false
tabulatorSize = 8
### Indent
indentSize = 4
firstLevelIndent = 0
indentCaseFromSwitch = false
indentDeclarations = true
indentTooLongComments = false
indentAlwaysAtTabColumn = false
minimumCommentIndent = 4
### Braces
leftBraceNewLine = false
rightBraceNewLine = false
indentLeftBrace = 1
indentRightBrace = 0
indentAfterRightBrace = 1
cuddleEmptyBraces = true
indentCuddledBraces = 1
### Code Modification
insertBracesAtIfElse = true
insertBracesAtFor = true
insertBracesAtWhile = true
insertBracesAtDoWhile = true
### JavaDocs and Comments
createMissingJavaDocs = false
javaDoc_method_top[00] = "/**"
javaDoc_method_top[01] = " * Method declaration"
javaDoc_method_top[02] = " *"
javaDoc_method_param_separator[00] = " *"
javaDoc_method_param[00] = " * @param"
javaDoc_method_return[00] = " *"
javaDoc_method_return[01] = " * @return"
javaDoc_method_exception_separator[00] = " *"
javaDoc_method_exception[00] = " * @throws"
javaDoc_method_bottom[00] = " *"
javaDoc_method_bottom[01] = " * @see"
javaDoc_method_bottom[02] = " */"
javaDoc_constructor_top[00] = "/**"
javaDoc_constructor_top[01] = " * Constructor declaration"
javaDoc_constructor_top[02] = " *"
javaDoc_constructor_param_separator[00] = " *"
javaDoc_constructor_param[00] = " * @param"
javaDoc_constructor_exception_separator[00] = " *"
javaDoc_constructor_exception[00] = " * @throws"
javaDoc_constructor_bottom[00] = " *"
javaDoc_constructor_bottom[01] = " * @see"
javaDoc_constructor_bottom[02] = " */"
javaDoc_class[00] = "/**"
javaDoc_class[01] = " * Class declaration"
javaDoc_class[02] = " *"
javaDoc_class[03] = " *"
javaDoc_class[04] = " * @author"
javaDoc_class[05] = " * @version %I%, %G%"
javaDoc_class[06] = " */"
javaDoc_interface[00] = "/**"
javaDoc_interface[01] = " * Interface declaration"
javaDoc_interface[02] = " *"
javaDoc_interface[03] = " *"
javaDoc_interface[04] = " * @author"
javaDoc_interface[05] = " * @version %I%, %G%"
javaDoc_interface[06] = " */"
ignoreJavaDocs = false
ignoreMultiLineComments = false
ignoreSingleLineComments = false
### Blank Lines
blankLinesAfterDeclarations = 1
blankLinesAfterMethods = 1
blankLinesBetweenClassInterface = 2
blankLinesBetweenChunks = 1
blankLinesBeforeJavaDocs = 1
blankLinesAfterJavaDocs = 0
blankLinesBeforeMultiComments = 1
blankLinesAfterMultiComments = 0
blankLinesBeforeSingleComments = 1
blankLinesAfterSingleComments = 0
keepBlankLines = false
### Whitespaces
separateAssignmentOperators = true
separateConditionalOperators = true
separateComparisonOperators = true
separateNumericalOperators = true
spaceAfterComma = true
spaceAfterSemicolon = true
spaceAfterCasting = true
spaceBeforeMethodParameters = false
spaceBeforeStatementParameters = true
paddingParenthesis = false
paddingBrackets = false
### Line Wrapping
wrapLines = false
wrapBecauseOfComments = true
wrapLongMethodNames = false
maxLineLength = 78
deepIndent = 45
forceIndent = 8
forceIndentTolerance = 3
### Labels
labelNewLine = true
...........
So there I am at Fry's gleefully caressing the box.....and what does the description omit? Details of Java support. On their web page it says 'supports libraries java.x, ...', which implies 'less than Java 1' to me., but I still feel confused...Java 1,2, what?
-t
I personally use the aforementioned tools, but the one thing I would like to see, is some way of doing project cross reference of functions, class data, etc. That is the biggest advantage of a good IDE to me. I like to easily jump around files and trace things.
Guess what? I got a fever! And the only prescription.. is more cowbell!
ctags stopped cutting it when I moved from C to C++, and it's useless for Java
Exuberant ctags 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. If you don't like the way it handles Java, you can give JTags a try, but it's nowhere near as stable.
If you're doing Java development, you'll probably also want to use Jikes, as it integrates very nicely with QuickFix mode in Vim and make mode in Emacs. There's also a Jikes Debugger java debugger, but I've not used it.
a decent code beautifier, since indent doesn't work right for Java
jsbeautifier 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 is the way to go -- it lets you get to the gdb command line if need be.
Sumner
The 'I' stands for "Integrated".
For about the past week, I've been searching for various IDE's for linux...
I am particularily interested in those which have evaluation periods. The only one I have been able to install and actually put to any use is Code Crusader.
Can someone please submit links to other alternatives? I looked through all the IDE's that were listed on Freshmeat and Redhat, but the links were either dead, or no evaluation edition was available.
Code Crusader is open source, and it seems decent from what I've seen so far (even though the interface takes a bit of getting used to).. However, I'm interested in evaluating other products and then chosing the one which most meets my needs..
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.
Please excuse the ingnorance but is there a comparable open source alternative?
-Vel
I hope no one's suggesting that:
several xterms
+ vi (or emacs, or any editor)
+ gdb
+ rcs (and/or cvs)
+ gcc
+ ls, +ld, etc.
is not an excellent IDE
that's how I plan to code till I tire of coding
A well configured emacs?
Up front, a good programmer needs nothing but
echo int main(int argc, char argv[]) >>whatever.c. That said, writing anything in that manner is neither enjoyable nor particularly productive or efficient. Solid flexable IDE's aim at productivity and efficiency.
Emacs, no matter how well configured is dated, and in a multi-tasking multi-threaded graphical environment, its shortcommings as an all in one tool are painfully obvious. The whole buffer system is rather obsolete, and the interface obviously intended for the console.
I won't even comment on vim. (though personally i use elvis, which is a vim cloney thing)
One of the things i've missed from visual studio under linux is multiple code windows and a multi-threaded ide. I've worked with vdk builder, kdevelop and gIDE and none of them have allowed me to do a simple thing i do constantly in VC, open two source windows and tile them next to eachother. This is just one simple example of things from mature IDE's that one finds oneself missing when moving to linux.
I wonder at people who thumb their noses at IDE's. It's like grandpa's walk to school tales of programmer. Is it some how more macho to use a cheesier editor to write code? Judge people on the quality of their code, not the editor used to write it. I think many minimalists would be suprised at the results.
-T
Old truckers never die, they just get a new peterbilt
What if OS were air companies.... UNIX: Crew and passengers sit on runway to form the silhouette of an airplane,
after pilot's command they run woeing and take off....
Interesting is that both minimalists and GUIsts are right. What's missed IMHO is that UNIX-like OSs
provide a unique possiblilty to build extremely customizable thin-IDEs with all whiz-bang features.
Do developers need project/object/thisject/thatject browsers? Yes. Intergated debugging? Sure. Syntax highlight? We can't live without it
But most of the job is already done: grep, make, diff, perl etc etc. Just put them together and feed the output to a
(relatively) simple editor.
Moreof, most of nowadays Linux IDEs bring up a new set of reuirements. The most important of them is that IDEs should be
configurable to work with almost any compiler/debugger available. This is True Linux Spirit, unlike what Inprise is trying to push through.
And for those who care: RHIDE still rocks. I use it daily and it's great. Good news is that as long as Borland TC/TP code is public domain now, RHIDE editor C++ source is now available.
KuroiNeko
ala cold fusion style embedded script in your html: use PHP. Free. Open source. Woo hoo. PHP4 is really good. Fast. OOP. php.net. (but don't use PHP3 if you can get 4beta2).
Last I checked, IDEs don't work over a low bandwidth remote shell. I think I will stick with vi, thanks.
A W S ----------- QABO : BALA
Check out Cygnus.
Cygnus has had explosive growth. I would guess that most of their revenues come from support of open-source software. They release and maintain a lot of open-source software.
Why does Cygnus involve itself in commercial closed-source product development and sales? If open-source has been a model that has provided such a profitable market for Cygnus, what is their rationale for creating and selling closed-source products?
Has Cygnus actually performed any marketing studies? Do they know, for a fact, that this actually optimizes their earnings? And, what about the long term? Open-source alternatives are being developed. Will Cygnus be able to compete with the open-source alternatives? Especially when selling into the Linux market?
Time will tell, but I'd like to believe that when open-source alternatives are available, they will ultimately have more features that people need, they will be more stable and I would tend to choose them because I know I can depend on the source if I have a problem and the company peddling it has gone away, or no longer supports the product. I also wonder about releases of this product on different architectures and if I'll ultimately be somehow tied to using some set of Linux distributions to use closed-source products on Linux.
Don't get me wrong. I appreciate all that Cygnus does for open-source. I would like to understand their approach to the marketplace. If there is real data that supports their hybrid approach, I'd like to know about it. Perhaps Cygnus has studied it and sees that there are limitations to providing open-source support only and that to survive you need commercial closed-source products as well. Their original business model was support of open-source products and I'd like to know why they've modified this.
Sorry, i haven't seen an IDE better than a well-configured emacs. Try 'JDE' for a great java IDE for emacs!!
This might be a great product for web development, but does the application server perform well under heavy load on Linux? What cpu/memory resources does it require?
I heard it requires 128 megs in memeory due to the fact the software emulates the NT registry. This is supposed to be fixed in 4.5, though. (Is this true?)
If Emacs is embeddable, then why not have the folks at Cygnus provide support for that in their IDE? I would love the benefits that come with using an IDE, but I prefer Emacs over the barebones editors they come with.
I got a copy of Code Fusion for Linux at LinuxWorld in San Jose about a month ago. Since I hardly ever write C code I never even broke the shrinkwrap. If anyone would like to buy my shrinkwrapped, unused copy please Email me at terry@dcomm.net
Hello, C-Forge supports both Perl and PHP. Project management, syntax-highlighting, autoindent (and I mean REAL autoindent - not just the line you pressed return on), symbol completion, built-in revision control, etc, etc. Please visit www.codeforge.com and judge for yourself. Best Regards, Yuri Mironoff Code Forge, Inc
Hello,
C-Forge supports ObjectiveC development.
Best Regards,
Yuri Mironoff
Code Forge, Inc