IBM Buys Rational Software
An anonymous reader writes "Rational Software is going to be taken over by IBM. More info on Rational's website. RIP Rational. This is what rational is sending it's customers:
To our valued customers:
We are delighted to tell you that IBM and Rational Software have announced a definitive agreement for IBM to purchase Rational. This is a very exciting time for both companies and builds on the extensive business relationship IBM and Rational have had for over 20 years. Most importantly, it will provide significant benefits to you." Other readers submit links to the story in InformationWeek and the Mercury News.
but very expensive. I hope IBM sells the licenses for cheaper.
Consensus is good, but informed dictatorship is better
After record losses this past quarter and a stock plunge from 70 dollars to 4 in the past year, Rational was on its way out. I'm not sure how much of Rational IBM is really planning on keeping around or whether they simply bought them for their software they wanted and planned on burying the rest of the company, but here's hoping they don't all get canned. I've been using ClearCase on Solaris for years, and it's really an excellent product.
It seems it's about time for IBM to demonstrate their loyalty to Free Software and Open Source by open sourcing Rational Rose -- the free software world is severely lacking in UML diagramming tools. So, what do you say IBM?
I used to use Rational about 3 years back. Has any progress been made on Rational diagrams being stored as XML? It would be nice if all the Rational files would be in XML, and then use some kind of SVG browser to look at the diagrams, and make small changes directly from a web browser.
Consensus is good, but informed dictatorship is better
Best configuration management software I ever used was CMVC from IBM. It was then replaced by TeamConnection and then canned because IBM made an agreeement with Rational to promote their ClearCase product, which everyone I know who had use CMVC found ClearCase to be inferior.
Now that Rational is being bought, IBM, can you make CMVC/Team Connection open source? God I would like to work again with CVMC...
Remember the year 2000? They promised us flying cars. They delivered the PT Cruiser...
I hope IBM's intention is to keep Rational evolving UML/RUP and not to strip out Clear Case, Req Pro, and Rose. A lot of the time, this is what happens when a big company buys a company like that, and it would be a real shame if this happened to Rational. Personally, I think UML and RUP continue to gain mindshare when it comes to Software Engineering Methodology.
Grady Booch recently spoke at our company, and his enthusiasm was infectious! It is obvious that he and the other Rational Fellows have a pretty good vision of where UML and RUP should go, and it would be a real shame if that was lost.
Anyone looking for similar functionality in an open source package may want to check out Valgrind. It is "an open-source memory debugger for x86-GNU/Linux". I've used it for a short while and its great.
Valgrind:
http://developer.kde.org/~sewardj/
"Of all days, the day on which one has not laughed is the most surely the one wasted." -Sebastian Roch Nicol
I don't have all that much to add, except -- God, Rational Rose was one of the buggiest, worst-designed pieces of software I've ever used. The one time I had to use it I prayed that someone over there would buy a copy of Visio to learn how a diagramming tool SHOULD be designed.
I always found it hysterically ironic that a tool that was touted by its makers as the ultimate way to develop software demonstrated so poorly its own usefulness.
Maybe after buying it IBM will run it into the ground ala Lotus. We can only hope.
Sometimes it's best to just let stupid people be stupid.
What is this some type of cult now?
Instead of coming up with weird 'royalty' reasons, come up with good business reasons for IBM to open source this product.
Hey, I'd love if they do that, and you could argue that there could be some benefits financially to IBM. However, from IBM's perspective, I don't see this is a great move, or something you do right off you buy a company.
- sigs are for wimps.
I've seen Rational Software (Rational Rose Mainly) has improved in Stability since 1998 on the windows platform, but on Solaris it is better but still buggy. Hopefully IBM will improve the performance in Solaris. I hear it is ok in Linux, but room for improvement exists so we will se an improvement there, I've never personally used any Rational Software in Linux so I'm assuming what I've been told is true. I do hope IBM ports the software to other platforms well. I would sure love being able to make up some UML Diagrams on any system I desire with the same program. Together Soft is what I use often because it works so well on many platforms without fuss, but I prefer Rose as its UML is more standard and it just seems to crash less.
IBM could also do what our "friends" at Microsoft did to Visio and ruin a good piece of software with patented Microsoft bloat.
Here, let me help:
Google
Rational Rose is the shittiest piece of software I have ever had to use. We have to use it in some CS and SE classes to draw UML diagrams and it is total crap. Not only that but the program costs like thousands of dollars from what I hear.
By judging the one piece of software they make that I have used I can tell you that Rational was not a very good company. Hopefully IBM will fix them so another CS student need not suffer.
ROSE is one of those packages like say I-DEAS that is very frustrating if you don't already know how it works and what to use it for. It does a hell of a lot more than "draw UML diagrams" - if that's all you wanted to do, you should have been using Visio.
If you ever work on a project with a development team of a hundred or more OO developers, then you need what Rational's tools like ROSE have got, there's really nothing else that can manage projects that complex. Harsh as this may sound, if you're an undergraduate you really don't qualify to have an opinion on ROSE either way.
And, don't forget, IBM's "loyalty" to open source extends only as far as the server and mainframe world. Desktop is verboten. Hence no Lotus Notes client. And no open source Rationale Rose either, because that's a desktop tool too.
Can this be expressed as a fraction?
Rational software is some of the worst designed examples of user interface out there. There are two types of people that like rational software:
1. They haven't used anything better like togethersoft or visio.
2. They are management and don't actually have to use it.
Rational and IBM should get along great. Neither company produces good software. But both companies produce incredible salespeople. Working for a large bank, I have a great deal of respect for these guys. How would you like to try selling IBM or rational products? As engineers we are usually too honest. I'd never get anywhere.
Rational sells a process. The process is great for business people because it produces visible artifacts. (Aptly named, as they don't get used and are only good in the archeological sense.)
Togethersoft (recently bought by Borland) has much better software but it is very expensive, and they don't have the quality salesforce IBM has.
So if you think that salespeople don't matter, think again. In this case, they can take a barely functional product and have it dominate that sector of industry. Even in the face of better products.
Clearcase is another of rational's products. I'm curious about other people's experiences. Things I don't like:
1. Network dependent. Since the code is on a 'mounted' drive, everything is slower. I have to go to the network for everything.
2. Integrates into Windows OS. If clearcase or the network has problems, I have to reboot.
3. Takes to long. The whole integration stream, delivery, etc. takes about 10 button pushes and a good minute of time.
4. Costs too much. CVS works better, and is free.
Advantages of Clearcase:
1. Has salespeople.
This purchase is another piece of IBM's new strategy. It will be interesting to see how Rational's offerings contribute to thier new initiative and what software will remain "as is".
Sound waves should be free!
...otherwise there would be nobody challenging Microsoft in the spreadsheet arena, and we would probably all be forced to use Excel for want of a credible alternative.
I'm sure IBM's acquisition of Rational wlll be equally successful.
"How to Do Nothing," kids activities, back in print!
fucked company internal memo here was it so hard to provide a link to it?
I guess the lack of UML-documented free software projects is not due to it not being neccessary, but to the lack of free UML tools. ArgoUML is quite a cool project, but unfortunatly it's a major PITA to actually draw models with it. Of course, there are several other UML tools at sourceforge, but, as usual, most of them are still unusable, and will always be.
Programming can be fun again. Film at 11.
Omigod, I guess there still are some .com managers on the loose. Who in their right mind would spend 2.1 billion on a money losing company that has $154 million in SALES???
IBM must be planning to integrate the Rational process into a LOT of their products to justify this.
That doesn't change the fact that Rose is shite. It can do all sorts of things, but I never found one it would do *well* (besides annoying me).
I agree that you need tools *like* Rose, but you sure don't need Rose.
Let's see what I've seen it do:
* Ruin hours of manual diagram layout by rerouting all associations because I had the audacity to move *one* class. Undo? Sure. Moved my class right back. Didn't restore any other part of the layout though.
* Refuse to save any files unless the user had administrative privileges under Windows NT.
* Destroy an entire model (it refused to read back the file it saved) when I pasted some classes from a different model into a class diagram.
* Throw away all my source code when I used the "round-trip" functionality. Thanks, Rational. I guess I didn't really need those method bodies.
And those are only the onese I remember after a couple of years of repressing memories of using Rational Rose.
My *best* Rose memory was sending a bunch of licenses back with a message saying that we couldn't accept the license agreement (which said that Rational wouldn't guarantee that our $12k of software would actually *do* anything). Man, that was fun. We went out and bought stuff from TogetherSoft instead.
I have used clearcase under two environments:
1) My last job: an all-unix network, where all the vobservers and clients were Solaris/linux, with a network administrator who knew what he was doing. The performance was excellent and clearcase really made a difference to the teams productivity. It was certainly better than CVS, which it replaced. Actually, comparing clearcase to CVS is like comparing Matlab to a 5-dollar pocket calculator.
2) My current job, where the vobserver is on Solaris, but all the clients are Win2000, with a drooling windows monkey for a network administrator. While the clearcase GUI on windows is excellent and much better than the unix equivalent, its performance is infinitely worse, with the performance of a view degrading in proportion to the amount of time the windows machine on which the view was created has been left turned on. Finally, we instituted a policy that all win2K machines have to be rebooted every monday morning.
It would be aweseome if IBM would make rational release a linux/unix GUI that is comparable to their windows version.
Magnus.
I seem to remember that MS Visual J++ was transfered to Rational. Was it transfered with a "hot potato" clause and Microsoft gets it back? Or can IBM pull the plug and bury it?
From what I've heard, this purchase of Rational by IBM can only be good news since the Rational products need some major tuning.
I also wonder if this doesn't have anything to do with Borland purchasing TogetherSoft( and getting TogetherJ )?
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Most importantly, it will provide significant benefits to you.
...Look, there's nothing wrong with banner ads or corporate sponsorship, but...
Is it just me, or have more and more stories been taking on a decidedly 'advertisatory' (to coin a word) tone in the past year?
SlashDot did not used to be like this.
At least CNN.com and whatnot put 'ADVERTISEMENT' at the top of "stories that look like ads", and they put 'SPONSORED BY' by "stories that are sponsored by the very companies they cover". (Look at this gem of a screenshot). Shouldn't SlashDot do the same?
I might wish to politely suggest that, except in cases where anonymity is needed (e.g. when discussing something that could get someone sued, like DeCSS or something anti-MPAA or anti-RIAA), Anonymous Cowards should not be allowed to post stories.
When I read this story, the first thing I thought was that the poster was an employee for either IBM or Rational...
Honey, I shrunk the Cygwin
You, sir, are obviously a masochist of the highest order. :-) CMVC ranks as to most convoluted piece of bloatware I've ever been forced to use in a Unix enviroment.
At my current workplace (IBM), a manadate from management that we migrate to CMVC from our home-grown set of SCCS scripts is causing nothing but pain. Every one of our developers would rather go to CVS.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
All that irrational software they've been buying lately.
:-)
I just see the meeting now...
BoardMember1: So we are going to purchase Rational software?
BoardMember2: Don't we always purchase rational software?
BoardMember1: No, we've never purchased Rational software, we've purchased other software before.
BoardMember3: Other software? What, we've been running on irrational software for years?
BoardMember1: No, no, no! The other software we buy isn't irrational, it's just not Rational software.
BoardMember2: Isn't non-rational software irrational?
BoardMember3: I think he's right Bob.
BoardMember1: Okay, okay whatever... We've always bought irrational software.. Now all those in favour of purchasing Rational Software say aye.
Everyone: Aye.
** Meeting Ends **
BoardMember3 to BoardMember2: We're going to have to talk with the older board members... No wonder we've had to much problem.. with all that irrations software we've bought.
*** thank you... thank you... I'll be here all night people. ***
~ kjrose
Yeah, you tell 'em. That young whippersnapper should shut up about real software development, and go back to his open source project (which, incidentally, has a development team of 100 or more, doesn't use Rational tools, and--mirable dictu--actually works.)
--Mike
"Not an actor, but he plays one on TV."
IBM bought Tivoli in 1996. The rapid infusion of talented personel from IBM, who brought with them a set of skills honed over decades of wasting millions of dollars developing worthless products, turned the aggressive young company into the dismembered, meaningless WebSphere hanger-on it is today. Rational employees should look forward to eager smiling IBM managers showing up wearing Rational t-shirts and spouting their love and respect for everything Rational stands for. Shortly will follow the working groups, the process groups, the import of random dinosaur projects from elsewhere in IBM into the Rational product suite, and best of all a decision-making mechanism that will ensure no useful new products will ever be created.
In two years, "Rational" will be little more than a second-level menu off some VisualAge product.
I've worked with ClearCase for about two years now, and have used CVS off and on years before that... I feel like I need to answer your list of ClearCase's benefits.
1. Works seemlessly on both Unix and Windows.
Point for CVS then, which also works on OS X and just about any other platform...
2. GUI for both Unix and Windows.
Also a point for CVS, which has GUI's for more platforms (including Java GUI's). Also has Windows explorer integration that works better (as in faster) than ClearCase's dog-slow file integration.
3. Can take advantage of distributed code base development.
Point for ClearCase, though how many people really take advantage of this feature (we do not).
4. Built-in triggering system for file check-ins and check-outs. This allows you to build scripts and such to do things when you check out/in a file or set of files.
I think you can do that with CVS too.
6. Smart 'make' routine which can take advantage of compiled object files in other people's views.
Oh yeah, I'll bet a LOT of people really make use of that one.
7. Graphic 'diff' programs to view the differences between files and versions of files.
Now I am going to go all out and say that ClearCase has the suckiest diff routines and tools ever foisted on mankind. I have personally witnessed a number of terrible mistakes on the part of the automerge process, and the "Graphical Tool" used to merge is the worst merge tool I have ever seen. If you want a fancy graphical merge tool Araxis Merge is 100000000% better. If you don't mind a bit more manual procedure then ediff beats everything I've ever used. When we used CVS the automerges did not go wrong ONCE, and anything that needed a merge by hand we could just set the tool up to use Araxis (or anythign else) because it was not an "Integrated Tool".
8. Ability to create branches from the code base for program maintentance, and bug fixing of releases, etc.
Which pretty much defines source control in my mind, again I'd have to give a hand to CVS for much easier branching. I could quickly create branches in CVS whereas in ClearCase it is a Big Deal to create branches, and the SCM people don't like it one bit.
9. Graphic 'merge' programs which aid merging files between different views, or files from different branches.
I already covered my problems under the "diff" section, which is really the same thing.
The thing you forgot to mention that IS a real strength of ClearCase is that it also does directory versioning. However, I would frankly give up that benefit in an instant for the much easier usability of CVS.
There are very large open source projects (like emacs or Mozilla) that use CVS, prooving that large projects can and do work even with the limitations of CVS. We have a fairly large project at work (I think about 4000+ files) and ClearCase, to me, has no compelling reason to use it except when people at work force you to. I know that before we were forced to switch to ClearCase I was a part-time CVS admin that spent about two hours a week on CVS issues, whereas now we have a team of SCM people managing CVS and I spend about four hours a week personally dealing with SCM issues like bad merges - except now EVERYONE ON THE TEAM gets to spend that same four hours as they have merge issues of thier own to deal with.
Sure, with a team of dedicated admins who know what they are doing, perhaps ClearCase might be better. But how many companies really have that? And is it worthwhile when just about anyone can set up a CVS server almost without thought?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I had to use it last year in one of my courses. I understand that I don't have a full appreciation of what it takes to coordinate the development of a massive application, but Rational Rose was just plain buggy. It didn't work correctly a quarter of the time.
I don't think I need to have a few years of industry experience to have an opinion of software that doesn't work.
oh .. and how would you explain WSAD (WebSphere Application Developer)? - this is their new strategic development platform and its based on Eclipse (opensource) and it runs on Linux (ok..the Linux version has been lagging a bit but as of the next release both the Linux and Win versions have the same milestone dates).
- My guess is that we'll see WSAD incorporating Rational Rose as a view in WSAD. This will make WSAD an incredibly complete tool. It's only viable competitor in the marketplace for J2EE development will be TogetherJ.
One mistake they made though: SWT!!? - they should have based SWT on gtk instead of motif..
- My guess is that they'll have to rework this within 3 years. They could have done it right from the start but maybe they're just waiting for Sun to implement the java/gtk part (why pay for it when someone else is doing it for free?)
The only occasion when desktop is "verboten" is when selling workstations and laptops. This is not a result of free choice - this is the result of the dominating position of Microsoft. This problem should be rectified through the courts since it is clearly an effect of Microsofts illegal leveraging of its dominant position.
That said, I don't use the latest version, so it might be better now.
Programming can be fun again. Film at 11.
As opposed to CA, where software companies go to join the ranks of the undead... :)
-MT.
You sound as though this makes it different someho wfrom the Rational tools.
I'm surprised how few people have mentioned Rational Purify. This is the only Rational tool I have ever really used (I played with Quantify a little bit, but didn't really invest the time to judge its usefulness).
I've found Purify on Windows to be quite useful at tracking down memory violations and leaks, certainly much better than Visual C++'s debugger can. And it's also really easy to use.
The only other product I know of on Windows that does this is Parasoft' Insure++, and I'm under the impression that it's quite a bit more expensive.
-- Will quantum computers run imaginary-time operating systems?
Are you kidding me?!?! CMVC is by far the most annoying part of working for IBM. I mean..rah rah IBM, everything we make is great.
What did you eat today? http://www.atetoday.com/
Er, what about their Eclipse project? Or the excellent references and projects at their DeveloperWorks Linux Zone? Not to mention that my current kernel supports JFS and EVMS... I could go on, but you get the picture. Bear in mind that the server and the mainframe enterprise stuff is IBM's bread and butter; it's their core business to do enterprise stuff like that. I'd bet you'll see some desktop stuff from them, but it'll take a while.
C|N>K
I've used Rational Rose for a year and a half now. Here is my assement of the tool:
1) No affective undo; in fact there really is no undo or multilevel undue. This omission is stunning. Try undueing a deletion of several classes, the moving of classes: you can't. Try undueing changed relationships, you can't.
2) No ability for concurrent development. If one programmer is modifying a model, no others can do so at the same time because there is not merge tool. This serializes development, and what you find is that developers will start having to resort to tricks to allow them to work concurrently. Foremost among those is to not use rose.
3) You cannot express all the relationships that exist in your software using Rose. For instance, you cannot represent macros and standalone functions. ( At least in the C++ package I use; there is more than one C++ package for Rose - the other is the 'ANSI' package I believe.) This leads to model skew; where what you are representing in Rose is not complete and correct with respect to what your code is doing. This causes developers to always "check the code" and ignore the Rose model.
4) You cannot modify source directly and have Rose automatically regenerate the model relationships. I'm sure some would argue that this is a violation of the process for using rose; but what about when you introduce a third party library and start using it?
5) Rose relationships are based on UML. A detailed UML diagram is has hard to understand as source. It turns out that having sophisticated UML does not communicate the design of you software any better or more clearly then just relying on source code alone, or some tool such as doxygen - which is fee and won't suffer from the limitations and expenses of Rose.
6) Rose is windows bound product. If you are developing on other platform, you developers must have access to a windows box to enter in the Rose model information.
7) Rose will not format its code to meet your coding requirements: it wants code formatted its way. This means if you have an existing source base with comments in perhaps doxygen format, then you will have to rework all that to support or overcome what rose will introduce.
(Evaluation) People looking to use Rose for softare development should first define what the problem is that they are looking to solve with Rose. Then test Rose directly against that problem. For instance, if you are hoping that having a UML model of you software makes it easier to communicate its design, then ask your developers to read a detailed UML model, preferrably from a software project that they are unfamiliar with and that is as complicated as they will be working with when using Rose. When they are reading the UML, have them answer these questions: ( In asking these questions, do not allow access to the source. )
What is the overall architecture, organization, of the model?
What design patterns are being used?
What problem is being solved?
To add a feature ( do this with several different features ), what would you modify?
To modify existing functionality ( choose several ) how would you modify the software.
What disegn decisions have been made here?
What have the designers choosen to comprise or leave out?
The Rose tool should allow them to determine the answers quicker than if the developers where using another tool (doxygen) or just the source.
You then ask the developers to use Rose to add functionality to the software. Use it for real here; have multiple developers working independantly on different parts. See how Rose performs here, again putting it against something like doxygen or just realying on the source. Key here is using your configuration management tools (cvs or whatever) to manage the Rose model changes while the developers are working.
Now take into account the cost interms of dollars of the Rose license, the restrictions it incures on the organization of your code, the complexity in introduces into your development process, and the model skew difficulties it may introduce, the lack of features like undue, and other difficulties you encounter when using it and make your decision by comparing Rose to a tool like doxygen.
From my experience, Rose is a poor performere that does not justify its cost; and here the cost I'm talking about is the impact on your development process and productivity not just the liscenses.
If you mean real hacker as lone genius who releases software as he sees fit then sure, there isn't much use for UML there. But in a situation where you need to capture business processes and sort out the difference between what sales, finance, and marketing say they want and what they actually want UML is useful. And getting a sign off on a UML use case diagram is very useful for avoiding being the scapegoat when things go wrong. It eviscerates the ability of people to hide behind imprecise language in system descriptions.
That, in the real world is a very useful feature and pro-geek as geeks tend to get knifed in the back for building what people say they want.
I've used Rational Rose for a year and a half now. Here is my assement of the tool:
Now this is a proper review, not "ROSE is crap, because!" like the last one.
People looking to use Rose for softare development should first define what the problem is that they are looking to solve with Rose. Then test Rose directly against that problem.
You really should get a login, because that comment is +5 Insightful.
I haven't had that problem with 0.12 (current stable release as of writing). Since argo is installable with java web start go back, click on the link and fire it up.
SWT for GTK is already available.
I tried to figure it out on their site... Data Modelling?? As in flowcharts? Or developing software in a very easy high-level language in an emulated environment to test its functionality? Call me naiive but I'm sure I'm not alone.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
The biggest problem CMVC encounters is that developers are usually looking for a software versioning repository like RCS or SCCS. CMVC tackles not only software versioning, but defect/request tracking, and correlation of code deltas to defects.
If developers don't accept the benefits of that tracking, they'll never consider it to be anything but an irritant. If project management doesn't actually use the additional information to control the project development, then CMVC is a poor fit if the project just wants a source code repository.
I haven't set up a CVS server yet, but I keep my own code in an RCS repository. Everything I've read indicates that CVS is a means of publishing a read-only image of an RCS-managed project, and of accepting suggested code changes for review. CVS does not track defects/requests AFAIK, so if developers are used to working with CVS and RCS, they'll likely find CMVC frustrating as it requires them to coordinate an extra piece of information (the defect/request ids they are working on.)
I do not fail; I succeed at finding out what does not work.
I've used Rational Rose since the 98 version and I would say it has improved in it's stability and flexibility. The real time round trip C# code generation from UML models in Rational XDE is also quite nice. However, when I recently worked for a client who wanted to begin introducing formalized requirements and analysis to their developers, I could not help the tech director justify the cost of Rational products. So instead, we discovered Enterprise Architect for Windows from Sparx Systems, an Aussie company. From $95-180 per seat for a single user, this tool can do most anything Rose Enterprise Edition can. In addition, it includes better tools for doing project estimation, risk management, and requirements traceability. Plus - the data format is either MS-Access, MS SQL, or MySQL. Therefore, you can have multiple users working on the same model. Truly worth looking into if the only reason you're not using UML tools is price.
I knew someone who worked at a small shop up in Vancouver which was responsible for maintaining the old version of rational rose. The unix version is actually the windows version "ported" using some toolkit that helps port win32 apps to unix. Its basically a MFC/win32 port to unix. So now you have the bug prone and complex win32 api, then reimplemented ontop of a different platform, so you have several sources of bugs.
Now how crappy is the unix version? probably pretty crappy and heavy on the system requirements.
I believe that this and other strategic moves will see IBM back in a monopoly position
Yes, but with a difference this time methinks.
By lowering the bars to competition, and insuring that some kind of competition is at least surviving, IBM is becoming poised to reap the advantages of a monopoly position without having to endure the flak. For big-bucks enterprise computing, IBM looks like a very safe long-term bet.
OK. Name three.
...richie - It is a good day to code.
Price out a 1.5GHz P4 with 512MB RAM, it's well under $800. Big deal.
Rational is the latest in a series of products touted to revolutionize the way software is created. It is not a drawing tool, although it does have that capability. They also have a versioning component, an automated test tool (formerly Team Test I think) and a whole bunch of other things added in by acquisition. As a true believer in Client/Server methods it is clear that these tools can do a great deal of good when used properly, or a great deal of harm (at a high price) when used by "amateurs".
.Net for all future development and they behave as though they are sleeping with the Microsoft sales reps. Forget that the selection itself makes no sense (Java a language vs .Net a loosely designed framework), I'm sure they will pick .Net. again missing the chance to go with a language (Java or C++) that will be around almost forever. They'll send 100 people to C# classes, and they'll try and figure out how to pretend that they used Rational to design it all. Anything that goes wrong will be blamed on bad advice from consultants, anything that miraculously works will be claimed as the bright idea of a government employee who has never coded a line of either code or design specs.
A history of blunders:
I worked at a shop that several years ago decided to go the "Client/Server" route to save money over the old mainframe methods. As far as they were concerned "Client/Server" mean "lets buy a bunch of PCs and play games on them during lunch". The application was a secondary consideration. This was a worldwide highly distributed application. Being a government organization, they had tons of money to spend though, so the reasons for switching had more to do with what the top people were reading in PC/Week and such than any concern about the money involved. The Clipper code was a disaster, with data constantly being lost for no apparent reason. The mainframe/mini approach consisting of a few hundred minicomputers was replaced with several thousand PCs, in reality the hardware costs went up. This all happened during a time when you had to replace all your PCs every year or two to still be able to even run the latest version of Windows and Office.
On top of this the number of people involved in the process soared, network bandwidth had to increase substantially, not to cope with the application, but with the increased size of prettily formatted Word documents that were flying around. In fact when the network folk decided to project future traffic, they ignored the application altogether (since there wasn't a design from which they could work anyway) and simply did a statistical analysis of e-mail traffic. As dumb as this seemed at the time, the results actually worked pretty well.
About the time the Clipper programs were fully deployed, Powersoft came along claiming to be best buddies with Microsoft. The company President even visited and told us that they and Microsoft were going to work together to make Powerbuilder the ultimate programming language of the future. The folks I worked for bought this BS hook, line, and sinker. The crappy Clipper programs were replaced (over a several year period) with crappy Powerbuilder programs who's design specs looked something like: "Make it look like the old minicomputer programs we had before". In other words, nobody really understood the original programs and didn't want to do the homework to figure them out either.
Realizing this last fact to some extent, the organization bought into another product called System Engineer (I forget the vendors name). SE was a high level design tool that claimed to actually be able to generate full-blown applications if given sufficiently detailed design specs. The only catch was that it only generated C++ or Cobol, and generating Powerbuilder was a "future feature". Just as well, because none of the programmers involved had the skill or patience to use the product, so they just did their database diagrams with a bootleg copy of Erwin. When pressed to do so they would run Systems Engineer in "reverse engineering" mode to produce the "artifact" documents needed to demonstrate what a great idea this client/server stuff was after all.
It was no surprise at all to me that about a year ago they asked someone (not me) for advice about where to go with this technology. Whoever did the research must have spent about 2 hours reading the trade rags before calling the sales reps to start convincing them that Rational was the "next big thing". In addition to the software being expensive, you almost have to agree to sign up for training in order to use the product. The training is VERY expensive, and with the bloated development staff that we had, this was made even worse.
The good news is that they have finally realized they went down the wrong path with Powerbuilder. They at least in that process got their data into a real RDBMS (Oracle).
The bad news is that they have decided to pick between Java and
In about 4-5 years they will start the process all over again. And, by the way the mainframe is still there, doing the hard parts of the application, cleaning up the messes that the PCs have made, with large parts of it written in *sigh* COBOL.
Your tax dollars at work again.
Back in the 80's IBM failed to understand a very important concept: That whatever gadget or technology finds its way onto peoples desks at home will eventually find its way into solving business problems too. Whether it works or not will be decided so far in the future that nobody will get blamed or lose their job for not really thinking things through.
I think IBM has learned its lesson though. They have their fingers in hundreds of pies, some of which are strategic, others seemingly nonsensical. They are positioned to make money both in hardware sales and consulting services whenever an organization gets so wrapped up in whiz-bang technologies that they can't extricate themselves. They have all the tools at their disposal to do mainframe/mini/or totally decentralized solutions and they are not dependent on any one vendor be it Oracle, Microsoft, Intel or even their own hardware divisions to come up with a solution that fits.
For some it may seem like technology has moved rapidly, but we are just now accomplishing things that were predicted as being right around the corner when I was in college in the 70's. I blame a lot of this on clever marketing by Microsoft, Intel and a few others (Powersoft, Rational among them) that substituted nicely packaged products (and games) for products that actually did something useful. I have high hopes that the Open Source movement will end this nonsense. A steady stream of products that "just work" and don't cost anything to try will keep the sales reps of the future a lot more honest than those of the past. I have more to say about this, but I guess this is too long already. IBM will conceivably Open Source parts of the product suit that are not particularly unique, but nothing they do is about charity, nor should it be. I hope that creating the Microsoft and Intel duopoly was the last act of charity that they engage in.
I can download JBuilder and be up and building and running their example programs in no time. I downloaded Eclipse, and if I had a spare day or two, I suppose how I could build and run any of their examples. But since I don't have a spare two days to f__k with the thing, as far as I am concerned, it doesn't do anything.
How are you suppose to download and run their examples? After building an example, how do you run it? The IDE Run command brings up a dialog with about 10 fields that I don't know how to fill in. I have never seen such a fussy IDE and I have used 'em all -- Delphi, C++ Builder, Visual everything in plain and .NET.
Their Web site does have instructions on how to use their IDE to run the example programs -- you get these long checklists interspersed with screen shots which don't correspond to the version you have. If the IDE needs 2-page long cheat sheets on how to run an example program, why don't we just use Make files and dispense with the IDE altogether?
I am sure that people are able to be fantastically productive in it, but I think this is one of these IBM-isms where they march to the beat of their own UI drummer and don't care about Files Open opening a file.
And that's evil.
Why? For several reasons. First, it lets programmers go and hack around in the code with only a superficial, bird's-eye view of the code; they understand roughly where they need to fix things, but they haven't yet absorbed all the intricacies of the code. Second, the program source text is the only thing that ultimately matters to the compiler and to other program analysis tools, but by off-loading documentation and structuring into graphical tools, the source text becomes second class. That would be OK if UML were a fully graphical programming environment, but it isn't. The way it is, round-trip UML is like hacking in GNU C++ assembly language output and corresponding C++ source code at the same time. Finally, UML encourages far too complex and general object-oriented designs, rather than focussing on solving a specific problem with a specific piece of code.
VisualAge for Java is done. The upgrade path is Websphere Studio Application Developer, which is a proprietary product built on Eclipse. As a simple Java IDE, Eclipse and WSAD are the same, but WSAD adds tools for working with EJBs, JSPs, XML and Web Services, along with branding and support, of course.
Eclipse is not "somewhat" open/free. It IS open source -- the CPL is an OSI-approved license. It IS free software -- the FSF describes the CPL as a free software license (though GPL-incompatible).
Rational is pretty bad. It's interface is horrible. We evaluated it a few years ago; the experience was so poor, I don't ever care to look at it again. The first poster was not so far off when he said it was crap, and to berate him because he is an "Undergraduate" says to me you don't have anything factual to refute his opinion with - other than an ad hominem attack. It's not like the man is alone in his opinion that it's pretty bad software. In fact, I'd argue that amoung the slashdot crowd, you'd be more hard pressed to find positive experiences.
:P
Togethersoft offers a much nicer package that you can actually apply to an existing codebase.
In my experience, neither package is a subsitute for good design documentation and talented developers. They are mearly a tool. Selling either package as a "process" might sound fine-and-dandy, in my experience, you can certainly produce very good, very solid code encompasing hundreds of classes with nothing more than visio and some solid software engineers. You can produce horrible, horrible messes with and without Rational's products. Rose just lets you do it faster.
There's a reason that Rational's products and sales are going down the tubes after the dot.com freakshow - I found people pushing these models weren't the ones on the front lines having to deal with their decisions, integrate them into existing codebases, etc.
And hey, I'm a graduate.
..don't panic
Eclipse is plug-in based. I don't know if you used Eclipse the open-source workbench, or one of IBM's new WebSphere products, but it's completely plugin based. It's much better architected than the old VA tools.
It's just a matter of getting lots of wonderful plugins written, such as class and method browsers as you mention.
Justin Dubs
I'm not really sure that these would qualified, as these are pretty modular systems, so each component is it's own project. So, writing device drivers is quite different from kernel development.
...richie - It is a good day to code.