IBM VisualAge for Java for Linux
Locutus writes "IBM is said to announce at JavaOne that they are working on VisualAge for Java on Linux and are looking at a 4th quarter release date. This is a really amaizing development IDE for Java (editor could use some work though). Now if BlackDown can just get the JIT crank'n faster we will be styling. Here is the news article:
VisualAge for Java on Linux "
I like Java. I like IDEs. I HATE Visual Age. Its repository system and proprietary resource files make any project nightmare. I'm currently stuck using it for a project and I'm ready to slit my throat. The support sucks. The help is useless. The code itself is sooo buggy I think of it as swiss cheese since it has so many holes.
And lets not forget about memory. The IDE alone sucks up 60megs of RAM.
Ignore Visual Age and stick with Symantec or use a text editor.
PDG--"I don't like the Prozac, the Prozac likes me"
"Where is my mind?"
I have done a lot of work with VAJava for NT and AIX and find it to be a good IDE. Good is very relative, since I still prefer Emacs and an xterm. Anyway, back to the point.
The best part of the VAJava IDE is the High Performance Toolkit. This allows Java classes to be compiled into native code libraries that, like classes, are dynanmicly loaded. The performance is far beyond that of any JIT compilier and you don't have to lose the flexibility of java classes. There are some major complaints with the software (mostly lack of virtual machine control and release-to-release binary compatability) but its very promising. Personal experience places a JIT compiler at around 1/3 the speed of C in many applications (Networking, file seeking, data crunching, etc) The High Performance code runs around 1/2 the speed of C. This would be very helpful since I use Java on very CPU intensive personal projects. Hopefully they can work out the kinks if it is incorporated into VAJava for Linux
--- Linux... a college project gone horribly right
Well,
for java/os speed you should check this out..
http://www.volano.com/report.html
Posted by d106ene5:
,Python, Java, TCL, or PHP, and *NOT* C/C++
Even the *JAVA WEBSERVER* can handle more concurrent connections than Apache,
Apache serves 43% of the content on the web; Sun just killed the Java Web Server. I have no doubt that Apache would destroy the Java Web Server in real world tests. In fact, I would bet my house on it without even testing it myself first.
C++ falls flat on its face for server-side programming.
"Servers" written in C/C++: unix, oracle, apache
"Servers" written in Java:-------
Your point was nearly silly, but I thought I would reply anyway.
No one is going to seriously challenge traditional C/C++ office applications
Corel tried. The resulting apps sucked!!!!. That's why C/C++ is used for real apps. Oh, I guess you'll reply that all the Corel programmers were stooges and you could have done much better.
Which is why 99.9% of all CGIs are written in ASP, Cold Fusion, Perl
Revise that - 99% of all CGI's are written in perl. Java occupies maybe 0.001% of the CGI market.
The fact of the matter is, for the forseeable future, server-side languages are going to be high level 4GLs and VM based languages, NOT C++.
Looks like Oracle and Apache better start recoding!
Wow, Gosling and McNealy really have got you suckered.
For tons of Java apps, take a look at Gamelan (nb three syllables, not 'game LAN' - it's a Javanese musical instrument). That's a directory of both free and non-free Java software.
Also check out the open source Java web ring for, well, open source Java apps.
-- Alastair
VAJ gets a lot of flack for being written in Smalltalk. But IBM already had a thorough method-centric Smalltalk IDE that relies on introspection, and they would have been crazy to ignore it. Though I agree its performance is singularly awful.
I've been working with Java for several years at a company which does all its development in Java.
We have become *quite* familiar with the language and all of its benefits and shortcomings.
Java is nice in many, many ways, but there is NO denying that it IS slow, buggy, and ugly. AWT/Swing are by far the worst offenders. Just about every AWT or Swing class has significant bugs that make using these classes nice if you don't encounter the bugs, and a nightmare if you do.
Java is by far the easiest language to program in. Java is easy to compile and run. But Java does not perform well by any stretch of the imagination, and AWT/Swing are pretty ugly. And I'm not just talking about the style; I'm talking about flickering, slow GUI response times, misdrawn components, and flat out bugs. All of those things combined tend to make GUIs written in Java very, very ugly.
Here are the two arenas where we find that Java really shines:
* Applets which do not use the toolkit components of AWT or Swing; if you take java.awt.Component and do all the drawing yourself, you can get a good-looking (although completely non-standard) user interface.
* Server-side glue
When it comes to real performance, Java just blows. Java is both slow, and an incredible memory hog. Perhaps the latter is due to part of the convenience of programming Java, which is structured to allow the programmer to not worry about memory at all, which results in code which is extremely memory-inefficient. I don't know.
All I know, as someone who has been programming in Java for quite some time, is that Java does have its problems, and they are very neatly summed up in the previous poster's statement:
Slow. Buggy. Ugly.
At least, IDE's that don't let you integrate whatever editor you want suck. I'd rather use the command line if the IDE won't let me edit with VIM.
And I agree that these things should really be written in Java. Do the C/C++ programmers writing these IDE's know what a Java developer wants in their environment. A lot of the needs are the same, but some are quite different. KLGroup's JProbe Memory debugger is an example of a tool that makes sens for Java, but not something like C or C++. (It lets you find out what objects aren't being collected because they've still got references. C/C++ memory leak tools are quite different.)
Do you think ECMA is equally likely to change the rules in midstream?
Yeah, Smalltalk with a good IDE is pretty cool for some things. If someone happens to be debating between Smalltalk and Java, consider:
Still, I look forward to the day when CORBA lets us all use our favorite languages and tools for everything.
You should check out HotSpot for NT. It really
makes Java work fast. It's a shame Sun doesn't build HotSpot for Linux...
Or at least JBuilder3 is. Look here.
--
--
The Internet is the Suppository of All Knowledge. You get it in the end.
I've used VAJ 1.1 under OS/2 and it is pretty sweet. But one thing annoyed me - when there was an error it typed the freeking error message right into your source code! Have they fixed that with version 2? (they never did send me the free upgrade to 2 I asked for...)
Now if Stardock would only port Entrepreneur to Linux, I could probably reformat my HPFS partition as ext2...
1) Moneydance - personal finance program
Runs on Linux, FreeBSD, Solaris, Irix, AIX,
NT, win95/98, MacOS, HP-UX, OS/2, and others
http://seanreilly.com/java/moneydance/
2) JaWaveEdit - very nice audio program
http://www.bome.com/JaWavedit/
There are many others, you just gotta know where
to look. Sure, they may not be the fastest programs in the world (although in my experience they run just as fast as native apps on OS/2)
but since most user-level applications are sitting
waiting for input about 95% of the time, speed is
not much of an issue.
You probably had WAY too little RAM. VAJ eats almost all the RAM it can get. It's big and bloated, but once you have enough RAM, the featureset is great
It would be a lot more interesting to see IBM offer Visual Age Smalltalk on Linux.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I used VAJava at my last job because I had no choice, and it was 2.0.
To address some of your points:
The repository was a pain. Every time another developer adds or changes a class or package, you have to update your workspace for every one of those classes. Also, the administrator is the only one that can permanently delete a class/package from the repository. Plus, if VAJava isn't shut down properly, the local repository has to be rebuilt upon restart.
If I'd had a choice, I would have refused to work with it. And for a period of time, I used vim and the command line for development and found it to be a much more pleasant experience. Then 2.0 arrived, about 6-7 months into the project, and we were forced to use it, primarily for the as/400 jdbc drivers and the repository/version control.
The help system is not builtin. It requires you fire up your browser, hogging more resources, besides the fact that it sets up it's on web server to use the help system. And it wasn't much help. It's not very intuitive, nor easy to find what you're looking for, if it's even there. On more than one occasion, I could not find the information I needed in the help files.
As for features and flexibility, that's a laugh. The only features worth mentioning are the gui design tool and the debugger. However, while the gui design tool isn't too bad, it produces horribly bloated code. And flexibile it is not. You're stuck with the editor, and can't customize it beyond the colors. Oooooh. And what about switching JDKs? Fat chance. AFAIK, there is NO 1.2 support, let alone 1.1.8, which came out later.
I can't speak about Symnatec, but I've heard fairly good reviews of it from others who have used it.
Java Servelts vs. Fast CGI. Servlets win.
Blar.
I didn't even use it that long and found it crappy. For a while I did use gvim and jdk on NT. however, we were forced to use it at my last job, because of the version control system. The visual design tool's not too bad, but I find it quicker to code the stuff by hand. It's leaner and better optimized than the code VAJ generates.
Am I right in thinking that Inprise/Borland are also porting JBuilder? It's basically the Delphi IDE but designed for Java instead.
I would love it if Inprise/Borland would write a VCL like library for Linux and then port Delphi.
Another question: is there an IDE or resource editor for the likes of GTK or similar. I use the MSC++ resource editor every day at work. I think it would make a great addition to the Linux world.
my blog: good times, man, good times
Nobody beats linux for server-side java
Not even Sun. This, of course, is on x86 hardware. The larger boxes (AIX, sparc, alpha) blow these numbers off the charts.
javaworld recently did a decent comparison of jvms. I would post the link, but their site is down. To summarize, the notion that the win32 jvm/jit combos are best is passe. blackdown is moving up, and will surpass the ms and sun jvms on win32. kaffe is not reviewed (ifirc), but it smoked blackdown on the volano benchmarks.
If you're doing server side work, or anything complicated, no other IDE offers me the flexibility or ease of mind.
I just hope they release PPC binaries. (sigh)
I like the Smalltalk IDE metaphor. It's too bad so few other IDE's have adopted it.
-Stu
Of course, I meant VAJ is slow. I've never seen VAST in use.
> NT can run Microsoft IIS (not IE4, that's a webbrowser), as well as a few other webservers, >with Linux, Apache is pretty much the only game in town
What are you smoking?
zeus
boa
gn
wn
roxen
aolserver
to name a few, not to mention using squid in conjunction with apache, which is a big win for static content. not to mention they compared CGI with ISAPI, not, say, mod_perl or mod_jserv, etc.
Sad but true. Sun have apparently decided that the Win/NT platform is most important, so that where they have focused their effors. They even short change their own platform in favor of Windows.
What I'd like to see is IBM port their own JVM to Linux. It's faster than Sun's JDK 1.2, and considering the current state of the Blackdown JDK 1.2, they'll need something better than it.
Huh? Since when are Windows-like IDE's and GNU Emacs mutually exclusive? Some people like one, some people like the other. It's called choice. I happen to like the Visual J++ interface (great for learning the language). I would love a J++-like IDE for Linux. I find Emacs awkward to use, but I'm learning, so don't attack those who use different stuff than you.
I'm sure "SlashdotMedia" will improve on all the wonders that Dice Holdings blessed us all with
Posted by d106ene5:
Apache/Oracle/etc is not server side programming. Server side programming deals with dynamic web pages.
wtf? the term "client/server" predates the web.
oracle is certainly a "server".
wow, you are new.
I use Java Servlets and JSP for all my server side development. My servlets run anywhere, connection to databases is easier with JDBC than it is with DBI in Perl. Java is faster than Perl on the server, especially whenit comes to threading.
While there may not be many useful Java applications, Java is really nice on the server.
Perl is very portable also, but Perl still doesn't port as easy as Java. There are always subtle differences (especially if you go between Unix and NT), but mainly having to deal with native perl extensions like DBI.
I mainly use perl now to prototype, or to generate batch files or munge Java code. Now ofcourse, statements like these might piss some perl programmers off (I believe I have a right to say them, given I've been a perl addict since 1992)
What I'm really tired of seeing is Slashdot users say on the onehand "GUIs suck, command lines rule", and then on the other hand, tying to bash Java for not having a word processor written in Java.
Posted by d106ene5:
I'm sorry folks, but I have to say that after building apps in Java since the v0.9xxx days, the dream is over. Java is a failure.
Let's start with the only reason Java was invented - to kill Microsoft. That didn't happen - Microsoft co-opted it and "extended" it. I use the quotes to indicate that they killed it. I have to hand it to Microsoft, they did an ace job butchering the platform...although it didn't take much work - Java demonstrates that VMs are still a dumb idea in 1999.
Let's talk about the companies involved:
Sun has dug its own grave by refusing to open Java up. Even veteren Sun-lovers decry the closed path Sun has pursued.
HP has fractured Java and decided to go its own way with Chai. Its only a matte of time before they are incompatble even at the most simple level.
IBM has played the hero, but they'll soon give it up when they realize they don't need Java to fight Microsoft anymore.
Red Hat, et al: Linux and open source software are the new silver bullets against Microsoft. Mindshare and good press follow it everywhere, which is more than you can say for Java.
O'Reilly and Associates: the only company to show a profit for products associated with Java, which is a testament to the hype machine Sun built.
As for the technology....
Slow. Buggy. Ugly. These are but some of the words experienced Java developers (me included) have to say about it. And forget about applets. They're a great way to kill a great web site.
As for the server side, for the love of pete, just use C or C++. At a stretch use perl. All of these languages are more mature and are better supported in my opnion. perl is easier to code, and C is faster and will be faster for the forseeable future.
But all of this is irrelevant now that NOISE (Netscape, Oracle, IBM, Sun, Everyone but Microsoft) have better ways to fight Microsoft, like linux or the Supreme Court.
As I recall, the real Diogenes went looking for an honest man.
D106ene5 just went trolling.
No, Java was not invented "to kill Microsoft". Actually the original intent was as a language for embedded but downloadable apps, such as in set-top boxes, cell phones, etc. These can have all sorts of different processors, so portability is an issue. Yes, open source makes portable executables less of an issue in the desktop/server environment, but no settop box user is going to recompile the latest rev to the software that just downloaded from the cable or satellite link.
IBM doesn't use Java "to fight Microsoft". THey use it because they have a half dozen different architectures to support (PCs, RS/6000, AS/400, System/390, etc.) and because it's a damn good development language in its own right.
> "Building apps in Java since the v0.9xxx days".
Okay, so you can type "javac" or "make". That's a little different from actually designing and coding software.
-- Alastair
How Sun got their heap allocator to be as fast as C++'s stack allocator is pretty simple, more or less. (read their white papers and data sheets for more). Basically, you have a big 'stack' just for objects, and when you get to the end, you go back to the start, and for all the old (dead) objects there (often most of them) you just clear them out, and if an object is still live then you move it to a different block, where objects are expected to last longer, and has a more complicated algorithm to keep things tidy. Of course, if you're allocating huge numbers of objects that last a long long time, then Sun's method will slow down... though any method would (but if you know you're going to do this, you could make the heap bigger)
PS Your code example is just dead code, so a C compiler would just drop that code. HotSpot will also do this optimisation.
Currently I'm in the middle of a rather large servlet (currently on the order of 10,000 LOC). While I'm sure it could have been done just as well in Perl, I don't think it would be nearly as maintainable or flexible....which is important since the requirements for the project often change a couple times per week.
Wow, I hope you broke it up into a lot of classes. Overly large classes are a bitch to mantain.
"Attention Citizens, 2+2 now equals 3.947547175. Please recalibrate your equipment now" --The Computer
I've used VAJava daily for the past 18 months and I'd take vi and JDK if I could just get a decent debugger. VAJ has a lousy editor (Ok, for java I like to use xEmacs), the source code management system is mickey mouse (Use CVS), and its very clumsy to use (always stopping to do partial compiles breaks your work and concentration flow).
on the plus side: VAJ has a kick ass debugger but I'd throw the rest of it out.
I guess I must be patient or something, but I really don't find much of a response-time difference with VisualAge vs. VisualCafe vs. J++.
VisualAge comes up with an hour-glass more than those tools, but not for more than a second or two, typically. An extra second or two isn't going to kill me since I work so much faster in VA (and Codewarrior for that matter).
-Stu
For the lazy:
t ml
HotSpot Performance Engine:
http://java.sun.com/products/hotspot/
Developer Connection:
http://developer.java.sun.com/developer/index.h
(you'll have to sign up)
æeee!
Posted by d106ene5:
IBM is famous for "committing" to technologies and then dropping them the moment they no longer suit the IBM crusade.
Exameples?
OpenDOC
Taligent
Kalieda
Microchannel
OS/2
and many more lie in the IBM graveyard of "almost" technologies that were once trumpeted as the next big thing.
Posted by My_Favorite_Anonymous_Coward:
There is one Program writtn in java for for the win platform: www.netzero.com and it's buggy as hell. They say they are going to release the Mac version in 6 months. What kind of cross-platform is this? Someone has insightful info?
Do I need to say more?
The OS/2 Java VM is still the best. Not even
Hotspot is a match.
http://www.volano.com/report.html
the net objects ide is written in java and is very cool for bean development. also a whole slew of more lesser known ide's are written in java. kawa caomes to mind although i am not 100 % sure it is java. very nice stripped down ide.
I uses NT, and Linux, and VisualAge on NT, and it's an amazing tool for Java, nevermind who is faster then who at this point...It't important for Linux to have these kind of corp. strnth develp. tools for Linux. At my work, this is what we use, it needs more polishing on some stuff, but it's good.
;-)
As far as the performance comparisons, well, Linux is still young, and has lots of room to imporve, there is no point to go head to head to NT at this point...
Folks, time will come, and the world will know...
weink dot net
Visual Age for Java is the preferred Java development tool where I work. This will be another great opportunity for me to advocate and use Linux at work.
Despite some people's opinions, Java is far from dead. Now that the hype has died down, businesses are switching to it for use as a primary enterprise development language. Applets aren't really even that important. We are using it more for Servelets and full fledged applications.
Contrary to what some people also say, write once, run anywhere is not that difficult. I've written Java apps that run fine on Solaris, NT and Linux.
Also in my experience Java performance is not that bad, especially when you consider that most uses of it are for things that would have otherwise been done in either (ick) Visual Basic or PowerBuilder (both of which are as slow or slower than Java for most things and neither offers anywhere near the cross-platform capability of Java). Sure, its no competitor in speed to C or C++, but how hard is it to write a complex (something that is over 50,000 lines of code, uses multithreading, a GUI, etc) C or C++ program that is multiplatform? I know from experience it isn't easy, it can be done, but it isn't easy and it isn't usually pretty. Multiple *nix variants and Linux are no problem, but it is no fun to make something run on standard platforms and also on Windows due to poor standards adherence in most Windows C/C++ compilers. Porting stuff to the Mac isn't much better because while the basics of the compilers there seems reasonably robust, their standard library implementations seem quite weak and the Toolbox works quite differently from Win32 SDK or the POSIX API.
All that being said, I wouldn't advocate Java for everything. I like and use C, C++ and Perl for lots of things also, but people who want to poo-pooh Java just because it isn't the latest thing just seem to me like they are deluded. I've seem to many things dismissed for dead too quickly while they slowly build acceptance for me to believe it that easily.
I wonder how long it will be before Symantec announces Visual Cafe for Linux.
Borland announced JBuilder 3 for Linux a while ago. Now IBM is in the game.
As far as I know, ALL of the RAD tools seem bloated and clunky. That's because they are all written in Java to some extent. In order for a bean to look correct at design time, the IDE would have to be actually running the bean's code.
Now if we could only get compilers to generate native machine code from Java, then we'd have a good step towards a good tool for X development. Doesn't something like this already exist? What platforms?
I am assured by a friend who works at an ISP :)
that zeus gives outstanding performance in general. Been looking at their web page - the support for hardware encryption accelerators has me dribbling a bit.
Are there any performance comparisons out there between NT JITs and Linux JITs? I keep hearing that NT kicks Linux in the pants in this dept and would like to see some proof.
Visit the Perl Search Engine at www.linuxextreme.com
If IBM's Visual Age for Java is anything at all like IBM's Visual Age for Smalltalk, you don't want it anywhere near your computer! VAST is far and away the worst commercial program I've ever had the profound displeasure not to be able to avoid installing; it is worse than Microsoft Windows.
Unless IBM can demonstrate to me that VAJava is going to be developed by a completely different group of people than the ones who inflicted VAST upon the world, I'm going to do everything in my power to stop this abomination from dirtying Linux's good name.
We never hear about these packages being developed
for java, in java.
There would be no reason whatsoever to have to
wait for Visual Age "for linux" or for there to
be JBuilder "for Win32".
What was that main thing that made java so great
again?
-fb Everything not expressly forbidden is now mandatory.
If you're looking for a good use for Java on the web, take a look at Art Technology Group's Dynamo Application Server, written entirely in Java. It's a truely excellent application server. We've been using it for about 6 months and we're very happy with it. It powers some real high end sites too, like Sony and even Sun and it runs on Linux too.
We were incredulous at the how slow the IDE was. We were running on P-II 333's, completely state of the art at the time, and it was taking significant time just to open some dialog boxes! I'm used to NT being slow on some things, but this was just ridiculous.
I don't know if this is still the case, but we eventually found out the IDE was written...not in C...not in C++...not even in Java...the thing was written in...wait for it...Smalltalk!
Object oriented is cool for some things, but it's certainly something that can be taken too far!
-Justin
BTW, I feel like I should mention that IBM was a really cool sponsor of the event. They certainly didn't skimp on anything!
The editor has some cool features Smalltalk fans have adored for years, like finding the definitions of referenced methods or types in the database. But it'd be nice if it actually understood inner classes (you can use them, but most of the editor's conveniences fail), which after all existed in JDK 1.1. And my problem with the repository is that you can't check in anything but Java classes, and an import-export round-trip introduces a mass of false differences (doesn't maintain the layout of the imported .java file).
Boy, OS/2 is fast! The scores on my machine:
Windows 98 : 2352
OS/2 Warp 4 : 3532 (+49.7%)
Seems to me Apple mostly killed OpenDoc and Taligent. MCA was a bad idea - a closed architecture with steep licensing, hoping to derail a cloning market that brought us unprecedented advances - and we managed not to fall for it. And they still sell and support OS/2. At worst, IBM fails to dump big money into long shots.
There is a really great IDE for Linux, VisualWorks Smalltalk. It runs rings around Java. It has been available for free, non-commercial use for almost a year and the commercial product has been available since March.
The company, ObjectShare, is really supporting Linux. They have been going to the shows and their non-commercial IDE was shipped on the RedHat 6.0 application CD.
To get the product go to:
http://www.objectshare.com
VisualWorks is binary portable accross at least 11 different OS.
If you want to develop in objects, Smalltalk is 100% pure, EVERYTHING is a object and can be treated as such.
Sorry if this sounds like an ad, but VisualWorks for Linux is amazing.
Joseph Bacanskas [|] --- I use Smalltalk. My amp goes to eleven.
Nonsense. VA might be a professional tool but it is a sloth and has a completely non-intuitive UI. I savour the powerful features it gives but I absolutely hate the lack of polish and sluggish performance. I hate the fact that I have to look up a manual for the simplest of tasks. I hate the fact that performance is such a dog.
The reasons for the dire performance can be squarely laid at the feet of the smalltalk engine. IBM would do well to either make their smalltalk faster or rewrite the tool in C++. Either propositions are entirely feasible given how most of IBM tools are written around the same core.
The sad thing is that VisualAge products have always been mind-numbingly slow and little has changed. I remember using VisualAge C++ on OS/2 four years ago and little seems to have changed in that space of time.
If IBM are listening - fix the damned speed of your products!
If you want really nice performance under most platforms, take a look at the HotSpot JIT compiler. They say it's about 3-5x faster running stuff.
As well, there's a release candidate for the rewritten java compiler which simply kicks butt. It's orders of magnitude faster.
Get HotSpot from java.sun.com (link is on the front page) and join the Developers section (free) to get javac-ea (Early-Access compiler). It's worth the downloads...
æeee!
http://www.pendragon-software.com/pendragon/cm3/sc ores.html
The top 30 Coffee scores. Count the number of OS/2 Warp 4 entries.
PS: At OS/2 Warp speed keep Windows closed!
I tried JBuilder, VisualAge, Symantec Cafe, and Visual J++ and thought all of them were pretty awful, about as awful as the C++ and/or Smalltalk IDEs they were derived from. But, then, I'm sticking with the IDE I have been using for many years: Emacs, and it happens to be written in C and Lisp.
Pure Java IDEs are beginning to appear, however, and I think you are going to see more and more people moving in that direction over the next few years.
some people reckon the object allocation (on the 'heap') is as fast as C++'s on the stack! (in C++, allocating to the stack is much faster than the heap)
Stack allocation in C++ is faster than you might imagine. Take the following code snippet:
main()
{
int a;
int b = 3;
a = b;
}
Allocating the variables a and b involves only changing the stack pointer. Probably something like this:
add sp, 8
That's ALL! Now if Hotspot can achieve, through sophisticated algorithms, speed that rivals such simple allocation, I think Sun deserves some CREDIT!!
If an enterprise IT shop regularily uses C/C++ on the server side, I would really pity them. Maintenance is, after all, 70% of all a piece of software's costs, and C++ often encourages programming that leads to an unmaintainable quagmire.
IBM has the most to benefit from Java. They need a new language to replace the "old" stalwart business language: COBOL. Smalltalk was destined to do this - it didn't quite work out that way. Java is a scaled down attempt at achieving the same thing: bringing modern programming practicies into the enterprise.
Have you taken a look at IBM's new VM for Win32? It runs faster than most Java native compilers do. And it's 85% cross platform - meaning you'll see this on Solaris, Linux, etc. some day.
-Stu
VisualAge for Java would be a great tool if IBM were to invest some time making it faster and more intuitive.
Frankly the performance sucks big time (even on Win32) and this is probably because a huge chunk of it is written in SmallTalk. Even on my 450Mz PII, it can take seconds for the thing to update the display after I make a connection or move an object. This is totally unacceptable. I pity those developers who spend their lives in front of this thing wait for the screen to redraw.
The second major problem is intuitiveness - it doesn't have any at all. It's great that I can visually compose things etc., but there is practically no interactive assistance to get you going, it has too many menus, a sucky help system and very slow user feedback (all that SmallTalk again).
So yes, VAJ is very powerful etc., but what good is that if it runs at snails pace or if I have to look up the manual to accomplish the simplest of tasks?
IBM would do well to rewrite their VisualAge products in a compiled language and give them a decent slick UI. Then they truly would be great products.
And VisualAge's usability problems are not even isolated. I worked at IBM for two years and I saw this problem with _every_ Win32/OS2 personal product they produced. They spent too much time piling in the features and not enough time making them usable to Average Joe. They couldn't even decide on a consistent UI from one IBM product to the next. Consequently (and through poor management and sales too) people go and buy the equivalent product from MS even though it has 70% of the functionality but twice the usability.
A repository makes your project a nightmare?
What planet were you born on?
Most people I know that use VisualAge refuse to work with ANYTHING else unless deemed necessary by project requirements. [this includes myself - I need J++ to do some WFC GUI stuff, but VisualAge for the back end business objects]
I suggest you really look into what your problems with the tool are before slitting your through. The help does not suck (that I've found). The tool offers more features and flexibility than ANY other IDE I've encountered. And it has never crashed (it's not buggy). [I'm talking about VAJ 2.0 here - not 1.0]
Symantec is *not* a good ide.
-Stu
Perhaps IBM has the right philosophy here - VisualAge *is* a time tested, usable product. Smalltalkers in droves swear by it. Even C++ people swear by it.
It's not usable by the average joe because this is not an average joe's IDE. It is an IDE by professionals FOR professionals.
This is not meant to sound as elitism. You don't have to be a rocket scientist to figure this IDE out - it really IS simple - simpler than Visual C++ or J++, in my experience.
It took me maybe 3-4 days to figure out pretty much everything about how VisualAge operated and WHY the traditional Smalltalk IDE metaphor of repository + incremental compile + packages/classes/methods layout *IS* so effective.
-Stu
I'd be curious to hear what shortcomings you find that prevents Java from being "Useful". I wouldn't be surprised to hear some, but I've been using Java for a couple years now, and other than the seemingly long time it takes for an API to go from specification to being on the average person's system, I have few real complaints.
JDBC, while not perfect, is certainly the easiest database programming I've done. Last week I helped somebody with a quick program to dump an Oracle database on Solaris out to an AS/400 database....not something I'd want to do using vendor-specific APIs.
Currently I'm in the middle of a rather large servlet (currently on the order of 10,000 LOC). While I'm sure it could have been done just as well in Perl, I don't think it would be nearly as maintainable or flexible....which is important since the requirements for the project often change a couple times per week.
I've also done a fair amount of GUI programming in Java. (The largest project has about 12,000 lines of GUI code, and 10,000 lines of DB and processing code to give the GUI something to display.) Swing certainly provides the easiest and most flexible GUI programming I've done. Unfortunately, it's still got a fair number of bugs and runs rather slowly, but that's been improving over the past few months, and should continue.
Having said all that, I should mention that I certainly don't believe that Java is the solution to all the world's problems. I still use Perl for a lot of utility programs. Since my job is Java, I don't do much with C/C++ these days, but they certainly have their place to. (Although perhaps I should start an effort to rewrite the Linux kernel in Java.) :)
On a more relevant note, Visual Age is pretty good IDE. I've been using it for development of that servlet. It would be nice if vi could be embedded as the editor, but nothing's perfect. My biggest complaint is that it requires so much RAM to run. But it is one of the few IDEs I've used that really seems to offer more than I already get with a text editor and command-line compiler.
As for the Mac, unfortunately, a lot of the ports are relatively slow and unstable. Anyone know a good Mac VM that equals the performance of the Windows VMs?
--bdj
1) if you're going to use HotSpot, read all the docs. It's quite easy to write a simple 'benchmark' that goes really slow on HotSpot. (then change about 2-3 lines and it goes 20x faster)
2) Performance really does vary a lot. Best are predominantly Java server-apps - typical speed-up is 2-4 fold.
3) Client/graphics don't change up because most of the time running for them is in the binaries, not Java byte-code. According to Java's creator, the graphics guys are spending all their time making the code faster and leaner the moment...
4) JavaWorld HotSpot article - checkout the VolanoMark scalability on Solaris - WOAH! (half way down)
5) Apps with heavy object usage really do benifit. I've seen one example with a compiler with a C++ and Java version. The Java version with HotSpot was 50% faster than the C++!
6) Garbage collection and memory allocation is amazing - hardly notice garbage collection any more, and some people reckon the object allocation (on the 'heap') is as fast as C++'s on the stack! (in C++, allocating to the stack is much faster than the heap)
7) The HotSpot code was designed to be highly portable
8) HotSpot is free to use.
9) HotSpot will come out under Sun's "Community Source liscence" in about 6 months. (enough time to patent everything?)
A few weeks ago, Borland announced that JBuilder3 will be ported to Linux... but it won't come out until early next year.
Yes, you can customize the VisualAge editor. There's a really nice API built into the workspace that you can use to extend the whole environment.
-Stu
I'm not convinced that it is entirely a good thing if Windows-style IDEs come to GNU or Linux. If Linux starts looking and behaving simply like a more robust version of Windows, where are all the UNIX people supposed to go?
"What's next category of applications comming to Linux?"
"UML?"
I have a colleague working on this. He's doing
a very fine job of it, considering he's never seen
Rose. It's being developed in Java, but he has
implemented quite a few graphic widgets (since he just wasn't happy with swing, etc.) and the whole
thing looked great the last time I saw it.
Unfortunately, he doesn't have any intention of
making it open source, nor does he really want
help. His perogative I suppose... Not everybody
is swayed by the Open Source argument, nor the
cooperative development concept, and I suppose it
is not our place do judge them.
-fb Everything not expressly forbidden is now mandatory.
IBM VisuaAge for Linux is announced. Symantec wakes up and ports Visual Cafe for Linux. Borland wakes up and ports JBuilder for Linux. The GNU people wake up and develop a Super IDE/RAD for Linux under GPL.
...), IDEs and RADs. What's next category of applications comming to Linux? UML? Accouting Packages?
Conclusion, We already have the office tools (word processor, presentation,
OR
Is there anything else missing? Dont we have everything already?
Started with Java a few years back and I really love the language.
I've just never seen an application for it.
Dunno if Sun helped kill it, or if the hype outshined it's ability. But as a web application developer I've found zero use for Java.
PHP3, Perl and stock html are the only way to go.
I don't mean to bash Java the language, I just really would have liked to have seen it go from being Sun's Java to a Useful Java.
Anyway, if you're into Java and have never used Visual Age I'd _highly_ recommend it.
I've used just about all the Java IDE's and VAJ was the best when it came to glueing together applications visually.
You can wire buttons to text boxes that take input from function calls on other visual elements(like a select box), all without editing code.
Very nice. Get's you into the mindset of writing independant functions and just visual pulling them together.
Only down side was that IBM took their sweet time keeping up with the Java revs.
With VisualAge I can have method-level source control. Can you do that with CVS?
I really like CVS, but I fail to see what's mickey mouse about VisualAge's version control.
-Stu
Prograph is the most wonderful language/IDE I have ever used...unfortunately the inventors (Gunkara Sun Inc.->Prograph Inc.->Pictorius Inc.) are a bunch of morons.
How does Visual Age compare? I hear that they are very similar.