Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

CodeWarrior for Linux: Reviewed 76

Kurt has returned, continuing his reviews of Linux IDE [?] environments. After reviewing Code Fusion, he's reviewed Metrowerks CodeWarrior (for Suse). The full text of the review is below.
CodeWarrior For SuSE
CodeWarrior for RedHat
  • Company:Metrowerks
  • Rating:9/10
  • Summary:Inexpensive solution for those looking for an IDE solution.

It is difficult to have worked in the tech industry without having come into contact with Metrowerks. Metrowerks CodeWarrior is the dominant compiler for MacOS, with ports to Windows, Solaris, a wide variety of microprocessors, and fairly recently, Linux. The current version of CodeWarrior for Linux, version 4.0, supports C and C++, with plans for Java support in late 1999. CodeWarrior is targeted at the beginning or hobbyist programmer. While CodeWarrior lacks some of the features of its more expensive competitors, it provides a basic, low cost solution.

CodeWarrior is by far the easiest installation I have ever performed on a Linux box. I threw in the CD, answered a couple of questions, and it installed it without a problem. While I already had EGCS installed on my machine, it is a prerequisite for installation. For those who do not have EGCS installed, the CD contains a copy and the installation guide includes instructions for setting it up.

Anyone who has used CodeWarrior on any other platform will be able to easily dive straight into CodeWarrior for Linux. The interface is exactly the same. For those without previous experience, the interface is logically laid out and very usable without depending on documentation. For those who have been weaned on Microsoft Visual Studio, the interface may feel a little MacOS-like, but overall everything is well designed and very easy to use.

In addition to the standard IDE features like integrated debugging, color coded source, and simplified project management, CodeWarrior has an important advantage in that its projects are cross platform compatible. Of course, it is still up to the programmer to develop cross platform code, it at least simplified the process of migrating code between plaforms.

In spite of all of its wonderful design elements, it is not without a few annoying elements. First, whenever you create a new project, it is always named "Hello." It doesn't matter if you create a project named "foo." You still need to go under the project settings and change the Target Name manually. While this may be simply picking nits, it is a rather annoying oversight.

While CodeWarrior is targeting to individuals and relatively small projects, even some of these people have learned the wonders of using a version control system to roll back a few idiotic changes. Unfortunately, the Linux port has very poor version control abilities. Straight out of the box, there is no source control functionality. Furthermore, Metrowerks does not provide any of the necessary plug-ins to add source control to the Linux version. According to a representative from Metrowerks, they have plans to provide the necessary interfaces, but no resources have yet been allocated to the project. The specification, however, is open so that anyone desiring could create the necessary plug-in. Anyone interested in developing the necessary plug-ins should go to http://www.metrowerks.com/pdf/Plugin_API_Ref.pdf.

CodeWarrior is a low cost solution ideal for Linux developers who absolutely have to have an IDE. For users who need a lot of the extra features that make the switch from vi to an IDE worth while, CodeWarrior is somewhat lacking. These developers may wish to look to Code Fusion or other similar products with a more complete set of tools.

For the small scale individual or hobbies programmer, CodeWarrior provides a friendly environment to develop programs in. While it lacks some of the more advanced features found in other IDEs, it is a well designed program with an excellent balance of features. For a mere fraction of the cost of many competitors' products, it also is well within the range of people who are on a tight budget.

This discussion has been archived. No new comments can be posted.

CodeWarrior for Linux: Reviewed

Comments Filter:
  • by tedd ( 30053 ) <slashdot@NospAm.deathcult.com> on Friday October 15, 1999 @08:36AM (#1611331) Homepage

    I've been using CodeWarrior for Mac OS since 1994-5 and CW for WinNT since it became usable, which was basically CW Pro 2. I use it mainly for Java development, but also for Mac OS and Win32 C and C++ development, and sometimes for both together (native methods for Java apps). It's particularly nice for this since you can have all this stuff integrated with subprojects etc.

    Anyways, I haven't checked out the Linux version yet, but I imagine (as with the port to Win32) that it will suck for the first version or so, then will get really good. And it will be great, since there several features I absolutely cannot live without!

    1. Source Browser

    Holy shit. This thing rocks! Turn on browse info for your project. It does not make it take 15 times longer to build (like DevStudio). Now, in addition to syntax coloring, you may choose to have whatever color you like for

    • Classes
    • Enums
    • Globals
    • Templates
    • Constants
    • Functions
    • Macros
    • and Typedefs
    Now for the rad part. Right click on a class name. You get a popup with four items
    • Go to Class Declaration
    • Open Browser for Class
    • Open Hierarchy for Class
    • Go to Member Function Definition ->
    The first one opens the source file that the class is declared in, scrolled to the location you last closed it in. The second one opens a "Browser" window for the class (more on this later). The third one opens a graph in a big scrolling window that shows little boxes for each class with lines drawn to indcate the class hierarchy. And the fourth one (so rad) open a popup menu right there with every method (and parameter types for each). If you select one (many times I just want to look; "what's that overloaded method signature?") it open the source file the method's in scrolled to the top of the comment directly preceeding that method.

    The "Browser" window (which will be familiar to Smalltalk developers) has three panes: "Member Functions," "Data Members," and "Source." The first two are scrolling boxes with method signatures and data members with little icons to denote if they're static or not. There are checkboxes at the top of the window that allow you to enable display (in any combination) of "Inherited," "Public," "Protected," and "Private" members. Like filters. Click on a member, and the Source pane shows only that member (with it's preceeding comment). You can have any number of these windows open at once.

    Now the really nifty part. Let's say you're developing in Java. Why not take the Java source code (for the java.* packages themselves), put them in a project, and build it with browser info? Now use it in a subproject in your projects (only have to build it once).

    Boom. No more need for paper docs or that crappy html that gets generated from the JavaDoc, baby, you got the source! Want to see a concise list of the methods? Open a browser to the String class. Or that pesky java.net.SocketImplFactory. Or just right click on it to get the method list. And it's fast. I imagine you could do the same thing with Qt or gtk or gdk.

    Ok one more thing about hte browser. Now, instead of right-clicking on a class name, right click on a method. You get a popup list of all the classes the implement that method, and another option, "Find all implementations of XXX." This is particularly cool if you use a lot of polymorphism, because let's say you have an abstract server class, and many implementations and you're making a new one, and you want to compare the others. Select the "Find all implementations..." item, and a Browser window appears (like the other one for a class) loaded with all the methods that implement that signature, so you can just flip through them in one window. Rad.

    2. Function popup.

    It's weird. Whay can't anybody else get this right? The M$ tools in particular are awful about this. When you open a source file, theres a little button in the window frame that is a drop-down menu listing every method in the file. Works with Java inner-classes too. You pick a method, it scrolls to it. Simple. DevStudio makes you type in the name of the method or in the J++ tool puts them in this crappy tree control that takes up tons of screen space.

    Anyhow, I'm not employed by them, I just think people can code a shitload faster with this stuff, especially if it's done with all the subtleties that Metrowerks puts into it.

    Cheers,

    tedd


    --
    .:.
    :tedd

  • Why? How so? I've never seen or heard that CodeWarrior was aimed at hobbies programmers? I've never used it, but I was under the impression that it was a tool as serious as all the others, suitable for professional development. This claim sounds kind of funny.

    For the last, oh, 3 or 4 years, Metrowerks has been selling "Discover Programming for Macintosh" and "Discover Programming for Windows" has been around for a few years now, too. These are copies of CodeWarrior intended for hobbiests. The restrictions are: -No cross-compilation tools (Pro can build Win32 from the Mac compiler and PPC/68K from the Win32 compiler) -No commercial distribution (this restriction is in licence only) -No PPC compilation (for the Mac product) For about $70US, you get Pascal, C, C++, and Java, as well as a bunch of "How-To" books on CD-ROM. It's a really good deal.

    The GNU edition of CW for Linux seems to be along the same lines. Makes sense to me.

    -jon

  • I believe Cygnus' debugger interface is open source too:

    http://sourceware.cygnus.com/insight/

    It looks very nice, though it's probably less mature than DDD. I might try it today :)

    As a side note, I just wish there was a debugger with a smaller footprint, preferably not based on Motif.

    Daniel.
  • In spite of all of its wonderful design elements, it is not without a few annoying elements. First, whenever you create a new project, it is always named "Hello." It doesn't matter if you create a project named "foo." You still need to go under the project settings and change the Target Name manually. While this may be simply picking nits, it is a rather annoying oversight.

    Actually, this is one of those nifty little features. Create an empty project, set it up with all the libs and whatnot you need to link too, and then save it as "OpenGL Program" or something. If you look through your directories, you should find some projects named "Std C Lib Console" or so...throw your new project in there. Then, when you go to create a new project, hit "OpenGL Program", and it'll use that project as a template for a new one! It'll save you time once you get it setup for the you use.
  • That still leaves the original idea however -- if the person who wrote the article receives no benefit whatsoever from a good or bad review, so what? They have no incentive to deceive.
  • BZZZT! WRONG!

    1) If you turn off Microsoft extensions, the for scope is implemented correctly
    2) Admittedly, this means that many system headers will not compile
    3) You can do: #define for if (0); else for
    4) OK It's a pain in the arse. But I thought I would inject a little fact into the discussion!

    Andrew.
  • I'm not suprised that Codewarrior for windows crashed constantly and lacked serious usability.
    I think the guys at metrowerks, known for making a
    damn fine Mac IDE, went above and beyond the call of duty and gave their port a true win32 look and feel.
  • I really feel sorry for anyone who considers CodeWarrior a programming editor. The editing features are extremely poor... it's like using notepad with syntax highlighting. I pity anyone who thinks that is the way things should be (shoot, vi is a better programming editor when considering only editing commands).

    There are other problems...can't have it open a file from the command-line, inflexible tab/space indenting, very contrained version control choices. The Linux version is even worse than the Windows one... bugs, missing features... anyways, I wrote a bug/suggestion report to CodeWarrior already.
  • Actually, you can drag a file from the Gnome Midnight Commander window into a CodeWarrior project -- I used it to set up my presentation at the Atlanta Linux Showcase. I'm not sure if that is in the IDE that is shipping in the boxes or something added later that worked in the alpha IDE I was running.
  • Thanks for the compliment! We work hard to keep on the cutting edge of x86 code generation.
  • CodeCrusader looks very promising. Admittedly it looks very promising for quite a while now ;)

    The initial hype about CodeWarrior and the potential later frustration with it might help to attract more people who are willing to improve its native-Linux equivalent.

    Personally I would not wonder too much if they go open source somewhen later as well, especially since now-owner Motorola is presumably rather interested in promoting its hardware than making money with tools you just need to develop for it.
  • There are rumors that one can set one up under MacOS X server, but I just use a Linux box myself.
  • "Source Browser"

    For what it's worth, Visual Studio 5 and above offer similar functionality (works similar to one of the old tree-based "explorer" windows [not internet explorer...]). I agree, it is a VERY nice feature.

    Version 6 also offers some really nice things in the editor. Say you have this code...

    int hello(CString bla)
    { return bla.tolower();
    }

    When you type the "." in the bla.tolower() line, a listbox will pop up showing all of the members present in bla. Very handy if you don't remember exactly how to spell a function. If you're just looking for a function, or wonder what it does, you can click on one of the functions in the list and it will display the comment lines above the function (also very handy if you're just piddling around).

    You can also "finish" the statement by hitting tab or starting a parenthesis (similar to hitting tab on the shells which do similar things for filenames).

    When you type the "(" of the function, it will show you the function definition(s), which allows you to see what variables need to go where (which is also handy for the nasty windoze functions which require something like 30 parameters or whatnot).

    For Linux development, it is probably one of the best packages available.

    My 2c
  • It's just more convenient then having to load 20 different programs I suppose. :)

    Actually, it does save some time, as you don't have to spend significant portions of time getting all of the different debuggers/editors/compilers/linkers/ to work together. It also removes the extra time required to find problems with those things because you forgot to change a line in the makefile...
  • This would be a valid concern if the person writing the article actually received revenue from the banner clicks...

    Which I must admit, I don't know the answer to...
  • by Anonymous Coward
    From their web site: The top level KAI C++ driver, KCC, is intended to be used as a compiler. Under the top level driver there are three distinct compilation phases. First, the front-end parses the source file, performs high-level optimizations, and generates an intermediate file in standard C. Next, a C compiler reads in the intermediate C file and generates an object file. Last of all, a link process combines the object modules and libraries, and takes care of template instantiation and static object itialization. Compatibility: KAI C++ is not link-compatible with objects compiled by other C++ compilers. Attempting to link code compiled by KAI C++ and another C++ compiler will probably result in link-time failures or run-time faults. This means that you must compile all of your C++ code and C++ libraries withKAI C++. KAI C++ 3.4 includes a very close to standard C++ library, including I/O and STL. The C++ standard differs from existing practice in some ways. We strongly recommend reading the migra-tion document
  • The Linux version of Codewarrior doesn't provide its own compiler, instead it depends on EGCS. In theory, you can cross-compile if you set up EGCS correctly. Therefore, with a modicum of tweaking it should be possible to compile for PalmOS, for example. (A traditional stronghold for Metrowerks.)

    Since they didn't include their own libraries or compiler, you lose CodeWarrior's usual ability to create cross-platform GUI apps. This, coupled with the lack of a revision control interface implies that Metrowerks has decided to aim this newest incarnation at recreational programmers like myself who are familiar with using GNU tools for Linux development who would prefer using the excellent CodeWarrior IDE. (Slant warning: I've been a big fan of Codewarrior for some time and prefer it to the Visual Interdev suite. They even managed to convince me to abandon my venerable Borland C++ IDE, which is no mean feat since I cut my teeth on Turbo Pascal 3.0.)

    According to Metrowerks' documentation, the reason CodeWarrior for Linux doesn't do its own debugging is tied to the fact that EGCS doesn't provide sufficient symbolic information to drive their debugger. I don't find Metrowerks' decision to rely on third party debuggers especially bad, since there are several good OpenSource debuggers for Linux.

    I am curious, however, how easy it would be to extend Codewarrior for Linux with support for new target hosts and other, non-C/C++ programming languages.

  • I saw it at LinuxWorld, and it looks nice.

    Still, what I really need is a C++ compiler that is up to the standard. And no, egcs/GCC is not up to the standard (although they are working on it).
  • Last time that I heard of, the "debug" portion of the IDE was accomplished by launching DDD ( an excellent debugger by the way ); I don't count that as "integrated debugger". In fact, after exchanging a couple of e-mails with s Metrowerks technician, and finding that there wasn't even a symbol browser or reference cross-indexing, I decided not to purchase it.
    Have they finally at least integrate a debugger ?

    And last: what the hell are these ads about "girls eating scorpions" doing in Slashdot. Rob, I though that you were *still* in control. What's next, porn ads ?
  • Well, what works better than gcc right now? I know it's not quite up to the C++ standard, but it's probably the closest right now. It's the only thing that manages to handle templates correctly, and only now that 2.95 is out.
  • >the interface may feel a little MacOS-like, but
    >overall everything is well designed and very easy
    >to use.

    Seems kind of redundant to me. :>

    Seriously though, Codewarrior for the MacOS rocks. Give it some time, as the first version for the Mac was a little anemic to begin with - in the last few years, it has definately come around.

    Metrowerks really saved Apple way back when - the transition from 68k to PPC wouldn't have been nearly as transparent as it was if it weren't for them.

    - Darchmare
    - Axis Mutatis, http://www.axismutatis.net
  • by Anonymous Coward
    Haven't used Codewarrior in a while, but you can change the hello thing. Essentially, it uses the hello world program as a base to start from. All you have to do is find the program, and re-name the file. Now it can be named "main" or whatever. More info on specifically how to do this is on their web site www.metroworks.com or somthing to that degree. One cool note: On the full version of codewarrior, you can develop for playstation... hmmmm...
  • Why? How so? I've never seen or heard that CodeWarrior was aimed at hobbies programmers? I've never used it, but I was under the impression that it was a tool as serious as all the others, suitable for professional development. This claim sounds kind of funny. What does it take for an ide (or any tool) for that matter to be aimed for professional development? What is it about CodeWarrior that is aim just for hobbies? The fact that it doesn't have all the features Imprise and Micro$tuff tools have? I don't know man. I don't know what to think about this "hobbies programmers" thing.

    Luis Espinal.
  • WTF is up with that? It doesn't appear to be a REAL pr0n add, as the same place often has some gangsta's bio on the banner as well. Nonetheless, I am ususally comfortable reading /. at work; bosses strolling by might see Borg Gates or IBM icons, but GurlLuvsBugz is kinda weird.
  • as a mac codewarrior user, i just have a couple small notes.
    the whole thing with the popup menu letting you jump to functions or wherever you put a #pragma mark seems like a small feature, but you get addicted to it quickly..

    also, it has (at least on mac) an FTP postlinker which will allow you to develop, say, a windows program in mac codewarrior, and every time it compiles simply dump the compiled file via ftp onto a windows machine on the network for running.. is this something common for IDEs?

    and the mac version seems to have come with Playstation development tools.. does the linux version? :) if you don't have java though i guess you wouldn't have PSX.

    codewarrior also has the most amazing multiple-file find/replace capabilities i've ever seen.. but then again that wouldn't apply on linux, since you people have grep and awk and such things.

    maybe not important. but if anyone's interested.. codewarrior's pretty nice..
  • Yeah, but integrated with what? Do they support KDE/Gnome? Can I D&D from a gmc window, etc ... ?

    Their compilers, as I've used them a while ago on Mac are good, but their main force is that they seem to be (used to be at least) a company that listens to their customers. Hey, can you imagine that? You can actually REQUEST a functionality and expect it to be present in the next releases!

    Not open source by far, but with them you don't usually endure the usual pain of closed source software.
  • And I was looking for a Real debuger.

    Check out GNUPro from cygnus. I think these to products may work real good together.

    GNUPro is more then a debuger. It has it's own version of the compiler optimized for Pentum processors. It really is faster.

    But the debuger is not to notch but good.

  • You got PSX tools? I didn't get any PSX tools (then again, I also have the Academic version).

    Did you hear, by the way, that Metrowerks is also doing the compilers for PSX2, Nintendo 64 (I would guess that they'll have Dolphin as well), and Dreamcast?
  • by Millennium ( 2451 ) on Friday October 15, 1999 @06:31AM (#1611364)
    There are two versions of CodeWarrior for Linux planned, however. The one reviewed here appears to be the GNU edition, which uses the Open-Source compilers. There is also a "Professional Edition," set to come out later this year, which I think will provide its own compiler. Being an avid CodeWarrior user on MacOS, I can't wait to see how the Pro edition comes out.

    I just wish it would run on LinuxPPC...
  • I don't think it's really an issue of it being aimed toward beginners - I think it's mostly a case of it being less developed than the Mac version. The BeOS version is similarly 'light'. Once Linux really hits it big, I think they'll really beef it up (you have to admit they've spread themselves thin - MacOS, MacOS X, Win32, Linux, Playstation, PalmPilot, BeOS, Java, embedded, etc).

    - Darchmare
    - Axis Mutatis, http://www.axismutatis.net
  • What would you drag in? Anyway, that's not the the integrated means. It means that all of the tools you need to program with (at least, the ones they think you need) are integrated into one system (in this case CodeWarrior). It's just a nice way of saying "Hey, you don't need to ALT-TAB to the other x-term to compile".

    -----------

    "You can't shake the Devil's hand and say you're only kidding."

  • by Kurt ( 6712 ) on Friday October 15, 1999 @06:53AM (#1611367) Homepage Journal

    Metrowerks itself has not been very clear about the the target audience for CodeWarrior. My initial review for the product actually trashed them a little bit for lacking some of the features of their competitors. After doing some fact checking to confirm that these features were in fact lacking, they sent me the following information stating that this release is targetted towards individuals.

    "CodeWarrior for Red Hat or SuSE Linux, GNU Edition is targeted at individual programmers experimenting with the Linux OS and looking to either adapt their previously learned platforms to Linux or those who are programming novices. The GNU Edition blends CodeWarrior's powerful project manager, editor, and search engines with the familiar code generation and debugging tools found in GNU/EGCS technology, thus achieving a seamless transition for newcomers to the Linux OS. In fact, Metrowerks' overall goal in creating the GNU Edition was to create an entry path for newcomers to the Linux OS that is palatable and easy to implement. As an added incentive, we have priced this entry-level edition at $99.00 anticipated street price, a price much below what would be paid for our CodeWarrior Professional Edition. Metrowerks does not presume that commercial-grade applications will be the primary reason users will employ CodeWarrior for Red Hat or SuSE Linux, GNU Edition for their projects. The GNU Editions have been developed to help make the transition to the Linux OS a smooth ride for the programming community.

    "CodeWarrior for Linux, Professional Edition, to be released later this year, is intended for the more seasoned programmer and will be used primarily in industry. The Professional Edition is a comprehensive set of development tools featuring the CodeWarrior IDE encompassing Metrowerks' blazing fast compilers and integrated debuggers. With this edition, programmers can create applications for C, C++, and Java with unparalleled ease, increasing productivity and getting their products to market faster."

    Hopefully this clarifies their position.

  • You've found a good CVS client for Mac? Please share! I want to hear about it.

    I do CVS on my Mac by mounting an AFP share from my Linux box, copying the source tree back and forth, and then using cvs on the Linux box. It's lots easier than struggling with that piece of crap "MacCVS Pro" Netscape released...

    -Mars
  • In the commercial software world, if you state a requirement, you are expected to back it up. If Metrowerks says 'Linux 2.0.x+' and doesn't declare which libc they require, or GNOME and KDE version, which X11 they need, etc., they will invariably have a horde of screaming users asking for a refund. It is easier for their product development team to just say 'We will support SuSE up to and beyond version , and RedHat up to and beyond version ', and be done with the matter.

    This makes life a LOT easier for their QA department to isolate testbeds for alpha testing since they don't have to simulate each and every possible environment. Metrowerks has always had a reputation of being people who test their products exhaustively and provide excellent support to their users.

    That being said, I have installed CodeWarrior for SuSE on my virgin Caldera OpenLinux 2.3 workstation and it worked. Beautifully. The install script doesn't even bother checking whether I'm running SuSE or not, it merely assumes I'm literate enough to read the box and must know what I'm doing.

  • You're right, there are no alternative for gcc on UNIX if you want to follow the ISO C++ standard. Heck, the $1000 Sun Workshop compiler doesn't even handle namespaces at all, not to mention some of the more fundemental classes, like string. Still, VisualC++ has had support for string and wstring classes at least from v5. And even though their STL implementation is all wrong, and they add some extensions to the language, at least, you can write almost proper standard C++. How far away are we from a ISO C++ compliant compiler, anyway? Months, quarters, years?
  • Just FYI: I have no monetary gain in doing these reviews... I only get the opportunity to play with a bunch of software for a while in exchange for a review...
  • I know that Metrowerk's Win32 compiler on the Mac builds code that is, on average, about 20% faster than the same source compiled with DevStudio. How does the Linux version's output compare to mainstream Linux compilers?
  • CW is targeted at people who prefer IDEs and Debian is not the distribution one would expect find a lot of people fitting this profile.
    In my opinion, typical Debian users will never replace his favored vi or Emacs enviroment no matter what.
  • by Eccles ( 932 )
    Seriously though, Codewarrior for the MacOS rocks.

    The one thing I most dislike about CodeWarrior for Macs is that the .mcp files are binary, which doesn't work well in a multi-programmer environment. (You can't make independent changes and merge them together, like you can with a makefile or MSDev's .dsp/.dsw files, nor can you parse what changes were made.) Is it too much to hope that the Linux version does not suffer from this?
  • From my experience of CodeWarrior Pro 5.2 on Mac: While the .mcp format for CodeWarrior IDE 4.0.x looks like it's still binary, the IDE does allow import and export of an XML project file.
    The project file exporting options include exporting to an importable XML file (it includes the DTD!) or a simple file list. Either format can be diffed and compared by a human much more easily than the binary.
  • If CodeWarrior needs better source conrol in the IDE, why don't they just integrate it with CVS? CVS is an excellent package, and Metrowerks doesn't need to re-invent the wheel. And CVS has established itself as first choice for open source projects -- on some projects, there's no other way to participate in code development. If Metrowerks makes you work with something else, it'll just cause headaches.

    With emacs, interaction with CVS is no problem. And speaking of emacs, is there any compelling reason why I should get the CodeWarrior for Linux and quit using emacs? Don't get me wrong, I'm familiar with CW on MacOS and I know it's very good. But so is emacs, and I don't see why I should abandon one for the other on Unix.
  • It bothers me that CodeWarrior is being released for specific distributions for linux. Does this mean it will not run on any distribution other than the one specified? I realize that different distributions place things in different directories and may include different versions of libraries but its really disturbing that an application can't simply be made for linux rather than for RedHat, SUSE or whatever.

    I fear the fragmentation of linux. Should there be standardization of where critical files are placed on linux and what libraries should be installed? I hope that releasing software for different distributions like codwarrior has done doesn't become a trend.

    Isn't this a problem?
  • I second this. ClarisWorks (now AppleWorks) was done in Metrowerks (1.0 and 2.0 were in Think C) - on the Mac at least, it is a great environment. And Apple would have really been screwed if Metrowerks hadn't come around - there was no other reasonable way to port programs to the PPC architecture. I've been thinking about getting the Linux version. Anyone tried it with LinuxPPC? And that review was kind of short on specifics. How does the Linux version really compare to the Mac version?
  • I must say that I'm not too impressed with this review. It gives rating 9/10 without saying what the reference value is. And the review is so shallow. Coloring of keywords have been standard in most editors for years.
    My advice is to take Visual Studio C++ 6.0 and XEmacs+DDD+autoconf as reference. Point out all pros and cons comparing with these two systems. And keep references to old reviews.

    I almost a volunteer to make such a review but I guess I'm to biased towards XEmacs+DDD+autoconf.

  • It is distressing to see that CodeWarrior and CodeFusion are both targeted at RH and SuSE. Though Cygnus claims that "the current v1.0 Dev Kit will probably work fine on Caldera, Debian, and other releases of Linux," it distresses me to see that major distributions (like Debian, what I consider to be the "reference" distro) are not supported. It can't be that difficult to support the program on the other major distributions, such as Slackware and Debian. If the Linux world becomes balkanized due to software support limitations, that would be an upsetting day. -awc
  • When I first bought my copy of CodeWarrior two years ago, I was severely unimpressed. The installer crashed on me twice, I reinstalled everything, then it worked fine. Then when I had everything up and running, the toolbar hints only gave me a ''. And it crashed, and it crashed and it crashed. And my greatest peeve was its Pascal compiler which didn't support REALs ( redirect all flames to /dev/null ).

    Now, I understand that CodeWarrior was ported from Mac to Intel, so I was expecting a few caveats. But the total lack of usability was astonishing!

    I hope CodeWarrior does not go through the same growing pains in Linux as it did for Win32.

  • The version control system theoretically can tie into CVS. The necessary software is not yet written, but the necessary APIs are published on their web site at www.metrowerks.com/desktop/versi on_control/ [metrowerks.com].

    Apparently at one point in time, Metrwerks was working on such support, but the project went nowhere. The rep that I asked played the "Blame it on the intern" card. :)

  • Cool, that's pretty much the way it worked when my dad reviewed stuff for magazines (this was ancient history, back in the Atari ST era).
  • Still, VisualC++ has had support for string and wstring classes at least from v5. And even though their STL implementation is all wrong, and they add some extensions to the language, at least, you can write almost proper standard C++.

    BZZZT! WRONG, oh so annoyingly wrong. try this code in VC++6:

    void foo ()

    {
    for (int i=0; i<10; i++) {
    ;
    }
    i++;
    }

    by the definition of C++'s loop scode (not an ISO thing, but a basic C++ thing that i've seen in books reaching back many years), that should NOT work, and in fact won't compile with g++, but compiles fine in MSVC++.

    on the converse, this code:

    void foo2()

    {
    for (int i=0; i<10; i++) {
    cout << i << " loops to bind them...\n";
    }

    for (int i=10; i>0; i--) {
    cout << "...them bind to loops " << i << endl;
    }
    }

    won't compile with MSVC++6 --- the error it gives: redefinition of i!!! but i wasn't declared in function scope!!!!

    note that both of these compile perfectly with g++. i've run into this problem when writing code from my C++ books and when porting code from unix to windows ever since i started using MSVC++ at 4.something. this bug really pisses me off.

    muppet

  • Nothing to worry about. Companies are just having a hard time figuring the new model out. They are used to.. well.. Sun produces Solaris. That's all, noone else.

    My employer's software product used to be released for RedHat version X. But they have since learned that not only can people run different versions which have all the libraries etc. required to run the binary, but they can also run distributions. Our next release will simply require, eg: libc6.0, libXm2.x or whatever. Everyone else will figure it out too. The linux market is small enough without cutting out large chunks of it by limiting the distribution.
  • I was wondering where I can find some comparisons (feature list, generated code performance, and ISO C++ complaince) of common compilers (EGCS, Sun's CC, metrowerks ..etc)

    Every one(Sun, Metrowerks) claims theirs is the best and have some bogus bench marks (Sun for work shop)! I need to see something from neutral.

    So that I can convince my manager to adopt say EGCS over Sun CC :-)

    THanks heaps
  • No, it certainly doesn't mean that. It means if you have that distribution, you can drop it in and play. The company is telling you 'This is the version we made it to work with. We only guarantee that it works on that.'. It really doesn't mean that they've even checked whether it works anywhere else. They probably don't know.
  • While I personally don't have a problem with the situation since if /. becomes biased (other than blatantly in favor of Linux) we'll be the first to notice and scream about it, I should point out the flaw in your argument:

    This would be a valid concern if the person writing the article actually received revenue from the banner clicks...

    Who wrote the article is irrelevant since /. choses which articles to post. They could conceivably have gotten one bad review and one good review and chosen to go with the good review because it'll make their advertiser happy.
  • I think the whole point of a GUI, and of a well-designed interface in general, is that you don't HAVE to spend lots of time learning to use the interface.. It should just be obvious and take a few hours or a few days at most to learn.
  • Well, "no other way" is a bit of an exaggeration. you could use MPW with MrC, iirc...

    A Mac program with a command line. What more could a Linux geek as for on a Mac? ;)
  • Anyone know of a good MacOS CVS server? I'm running an Open-Source project for MacOS and I'd rather not go through the trouble of BinHexing files if it can possibly be avoided. I know something is out there because Mozilla uses CVS, but its MacOS CVS builds aren't BinHexed and the resource forks still come out fine.

    The current CVS offerings I see for MacOS all do CVS clients quite well, but I don't see anything that looks like a server. Perhaps I'm just not looking in the right place. I'll do a Linux server if need be, but I just need something that'll do good CVS for a MacOS-based project.
  • $82? An overstatment, seems to me. Especially compared to C-Forge ($50) which supports far more languages and is avalilable for more UNIX platforms. Hell, "C/C++ only" version you get for free (binary only, though).
    IMHO there is no point in making yet another debugger integrated into this or that IDE, there are plenty of them around to use, statring from pure GDB and ending on excellent front-ends like DDD.
    I might be wrong on that, of course, given that I program mostly in Perl/shell :-) which usualy does not require anything more that vi.
  • by dair ( 210 )
    I've been thinking about getting the Linux version. Anyone tried it with LinuxPPC?
    Unfortunately, there is no LinuxPPC version - it's x86 only at the moment.

    -dair
  • Ok, that makes more sense.

    Peace.
  • Dionysus (thales74@yahoo.com):
    You're right, there are no alternative for gcc on UNIX if you want to follow the ISO C++ standard.
    ....
    How far away are we from a ISO C++ compliant compiler, anyway? Months, quarters, years?

    How about KAI C++? It's been around for years. See

    http://www.kai.com/C_plus_plus/index.html

    From everything I've heard, it's the most ISO compliant C++ compiler you can get, and produces some of the fastest code as well. I works on many OSes, including the Linux/Intel version for $400.

  • Why should I trust a software review to be a fair and impartial review when the same site doing the reviewing also sports banner ads selling the same product?

    Slashdotters rag on ZD all the time for praising MS stuff while residing deep within MS's pocket. For this reason, I will treat this review with the same disdain and suspicion.

  • I thought CW was pretty sweet. I was also under the impression that it handled CVS from Linux Expo. I must've missed something, because I ordered it and lo and behold... No support for cvs. What's up with that?

E = MC ** 2 +- 3db

Working...