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

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
IBM

IBM VisualAge for Java for Linux 109

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 "
This discussion has been archived. No new comments can be posted.

IBM VisualAge for Java for Linux

Comments Filter:
  • 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"
  • by BigD42 ( 2965 ) on Thursday May 27, 1999 @04:04PM (#1876542)
    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
  • Well,
    for java/os speed you should check this out..

    http://www.volano.com/report.html


  • For tons of Java apps, take a look at Gamelan [gamelan.com] (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 [tripod.com] for, well, open source Java apps.
  • 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.)
  • by Anonymous Coward

    Yeah, Smalltalk with a good IDE is pretty cool for some things. If someone happens to be debating between Smalltalk and Java, consider:

    • The Smalltalk standard is even weaker than the C standard - most of your important code will be utterly VisualWorks (or whatever)-specific. And your whole team has to agree to use it, because writing Smalltalk outside a dedicated IDE is unbelievably painful.
    • Java offers some type safety (though Eiffel it isn't), verified non-malicious code, and a built-in security model (sadly, major licensees have rolled their own instead).
    • The fees for commercial Smalltalk use (even non-proprietary) tend to be ludicrous, though this is improving.

    Still, I look forward to the day when CORBA lets us all use our favorite languages and tools for everything.

  • Or at least JBuilder3 is. Look here [crn.com].
  • by Micah ( 278 )
    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.

  • by Anonymous Coward
    Just one word: RAM.

    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

  • 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.
  • 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.
  • I love IDEs. Visual Age for Java has a fantastic visual building tool. Much better than the C++ version.

    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.

  • 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.


  • > 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.

  • Windows JITs are the best

    The truth of the matter is Java under OS/2 is the fastest of them all. Java under Linux works, but isnt much to write home about :(. Of course this will change.

  • 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.
  • by Anonymous Coward

    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.
  • by AJWM ( 19027 )
    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.
  • I did specifically say that the object allocation was really fast. I mean 'Object boring = Object->new()' type thing. Ie 'malloc' in C. How trivial things like in your code example are allocated are kinda simple - it's static allocation. Dynamic allocation is a lot more interesting, and difficult. I'm not really sure of the details, but allocating an object on the stack (in C++) is the fastest method possible, really, though it has limitations - probably can't have any sized object, or huge numbers of objects, and object can probably only exist while you're in (or 'below') the current scope.

    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.

  • 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.
  • Posted by d106ene5:

    Slow. Buggy. Ugly. You must be playing devil's advocate, because you are the only person I have ever heard make such statements about Java

    This is the first time you've heard someone critique Java's speed? You can't be serious.


    IBM is only one of many players in the Java world. They rightly recognized that providing easy front-end access to their big iron was the best way to maintain and possibly grow the sales of mainframes and large AIX systems.

    Don't you remember SNA? IBM has been down this road before - with predictable results.

    Sun has not refused to open up Java.

    I think some people at ISO would disagree with this statement.
  • 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).

  • by Rayban ( 13436 ) on Thursday May 27, 1999 @02:33PM (#1876579) Homepage
    For the lazy:

    HotSpot Performance Engine:

    http://java.sun.com/products/hotspot/

    Developer Connection:

    http://developer.java.sun.com/developer/index.ht ml
    (you'll have to sign up)

  • 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?
  • by Anonymous Coward
    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
  • . 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.

    I don't know that Microsoft really had to do very much to kill Java... it seems to me that one of Java's primary goals was to realise the "write once, run anywhere" dream. Since that never really worked the way it was supposed to, Java had/has a credibility problem.

    It's a real shame - Java as a language has some way nice features. But until that primary goal of "write once, run anywhere" is realised, Java _on the client-side_ seems likely to remain limited mainly to applets...

    Cheers
    Alastair

  • some people at ECMA wouldn't
  • 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... ;-)
  • by SoftwareJanitor ( 15983 ) on Thursday May 27, 1999 @04:46PM (#1876587)
    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?
  • 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.
  • Damn straight! OS/2 *still* kicks butt.
  • by Greg W. ( 15623 ) on Friday May 28, 1999 @03:11AM (#1876592) Homepage

    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.

    • VAST uses a graphical install program, so you need X. But wait! That's not bad enough... it doesn't work with anything but the AIX X server, so you can't install it from the PC on your desk. But wait! That's not bad enough, either... it requires CDE. You can't install VAST on a vanilla AIX X workstation -- you've got to install CDE on it just to install Smalltalk.
    • The VAST installation program is written in Smalltalk. During the installation there are two es. processes that get spawned. They busy-look throughout the whole installation process -- they'll easily chew up an hour or two of CPU time. Most unimpressive. Not to mention the untidiness of all those trailing dots.... "./install." indeed.
    • On the AIX box, someone has to start up a daemon. This daemon requires a parameter which is a "device number". You get this device number by running another of the VAST programs, which prints the device number on stdout along with some text. So why couldn't the daemon just run this secondary program itself? Yeah, I wrote a simple shell script wrapper to do this, but why should I have had to do this -- this is version 4.5 of a commercial app!
    • The security is atrocious. In order to stop this daemon, you have to supply the password of the person who started it. That's right -- geteuid() be damned, it won't know I'm root unless I give it root's password. There are two ways you can give it the password -- either as a parameter on the command line, or interactively on /dev/tty. So if you want to stop this daemon at system shutdown time, you either have to embed the password in cleartext in a script, or hire some chimpanzees to make sure VAST is manually stopped before the system is rebooted. I find this completely unacceptable.
    • Oh, you actually wanted to use Smalltalk? Well, there are bugs galore, and you get to install patches for them. But these patches aren't distributed as standard AIX fileset packages -- oh no, you get to manually move files around and extract tarballs. So, when you ask the AIX package manager what version is installed, it can only tell you the base version, not the actual patch level. I can only conclude that the people responsible for VAST don't know beans about AIX, and think it's just some complex Windoze box.
    • And of course, you get to type the magic symbols from your secret decoder ring to unlock it. This is one of those licensed products with a built-in enforcer....

    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.

  • No way!
    IBM's JVM on OS/2 is _the_ fastest hands down, it even beats out Sun's HotSpot, which is impressive in its own right.
    Seeing as IBM has already done its own JVM for Windows now, I wouldn't be surprised to see a Linux JVM from IBM sometime...
  • Posts like this truly boggle the mind. Maybe I work in a bubble, but I'm at my second job in a row now where the company ships functional Java applications - not dancing bears on web pages, but full applications - for which customers are paying real money. If Java is dead, we're crying all the way to the bank.

  • 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?
  • by Anonymous Coward
    At the ACM programming contest world finals in 1998, IBM was the sponsor, and was really pushing VA Java as a great platform for Java. They even had a mini contest using the platform and gave away some Palm Pilots.

    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!

  • by Anonymous Coward on Thursday May 27, 1999 @02:18PM (#1876599)
    If they do, then it has nothing to do with NT or Linux. I've found the JDK, as shipped by SUN with Symantec's JIT, to be much slower than blackdown's port with Tya ( a freeware JIT that can be obtained from the blackdown home page, which I'd say is about 1.5 times faster as a very rough guess). I don't know what other JIT's exist out there for NT, and how they perform.

    But I do know that it would be stupidity for the NT peole to claim a victory over Linux because they have a great JIT that has not (yet) been ported to Linux. It reminds me of the Mindcraft retardation: use the same damn web server on both Linux and NT if you want to compare the OS's. Otherwise your comparing webservers, not Linux and NT. Any idiot can tell you that IE4 will beat Apache. It seems many idiots, however, construe this as a success on the part of NT (the OS).

    Don't fall into the same trap on this issue...
  • There is a difference between a "SERVER" and the term "SERVER SIDE PROGRAMMING". The bulk of servers have been written in C/C++. Most web based server side programming is done in scripting languages, and now "Bytecode" languages like Java and even TCL. This is because the speed at which these apps can be developed is greatly increased vs. c/c++, VM/Scripting languages tend to be easier to debug, and also there are many programmers out there that simply don't know how to program in c/c++. The VM/Interpreted languages are easier to learn and many programmers simply never need to learn c/c++ because the VM/Interpreted languages do everything they need. That said, there are in fact some new application "servers" like Weblogic and Dynamo that perform quite well and are written in Java, so as performance increases (In the VMs, JITs and cheap ultra fast hardware) we may more servers written in Java and other interpreted/VM languages like TCL/tk...
  • If you like VCL, I'd suggest VDK [guest.net], a C++ wrapper around Gtk which is similar to VCL/OWL. It also has an IDE, VDKBuilder [guest.net], which is designed to feel like C++Builder from Borland. As for a good IDE/GUI builder for pure Gtk, I'd recommend a combo of gIDE and glade -- glade is really impressive, it supporsts multiple Gtk language bindings and can even generate XML widget layout files which can then be loaded dynamically, at runtime.

  • 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.
  • by Rayban ( 13436 ) on Thursday May 27, 1999 @02:30PM (#1876607) Homepage
    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...
  • Many Java IDEs aren't written in Java because vendors like Borland and IBM already had IDEs written in other languages that they could build a Java environment on. Also, they had existing user bases that already had a lot of experience with their IDEs, so from that point of view it also made sense to stick with the existing codebase for the IDE.

    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.

  • Posted by d106ene5:

    So who's using them?
  • It sounds like you should be using Java on OS/2. According to the Volano [volano.com] benchmark, the OS/2 JVM was beaten only by the TowerJ compiler on Linux.

  • Yupp, RAM. Now I know it's the common Microsoftie excuse ("just throw more RAM at it"), but it just makes a huge difference. I think IBM recommends 48megs as min. requirement. BTW it also runs with 32, but it's slow, whereas with 128meg it's great. Personally, I think it's worth it...
  • Not that I doubt this statement, I just wanted to elaborate on the quote above:

    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!!

  • Posted by kenmcneil:

    The answer is simple -- performance. While attempting to migrate from Windows to Linux I searched for a good cross-platform IDE. I must have tried at least ten Java IDE/text editors and none lived up to the performance and functionality of there native counter parts. Java is a fabulous language but it is not a silver bullet. Productivity can not be sacrificed for convenience.
  • 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.
  • Posted by kenmcneil:

    If you want really nice performance under most platforms, take a look at the HotSpot JIT compiler

    Actually, HotSpot has only been released for Windows and there is a release candidate for Solaris SPARC. Though no one has seen the source it is supposedly quite portable. So, it remains to be seen if HotSpot will be available on "most platforms".

    As for Linux, from what I've heard on the Blackdown mailing list Sun has yet to say anything about licensing the source to them so that there could be a port to Linux. And there is a very slime chance that Sun would do the port themselves.

  • Why don't you try it?
    VAJ 2.0 Entry Edition for Windows and OS/2 are free for the download. It is completely functional and good for developing smaller projects.

    As to VA Smalltalk, I'll have to disagree. I got a CDROM from IBM and installed it clean and simple on my PC. Period. I rather liked it, so I'm not sure which version you had in your hands.
  • 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.


  • Well, for java/os speed you should check this out..
    www.volano.com/report.html [volano.com]
  • 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.
  • by Anonymous Coward on Thursday May 27, 1999 @05:09PM (#1876624)
    Gosh, I haven't seen such idiotic claims in my entire life.

    You comments are so wrong that I wonder if you really have been doing serious development. The only "slow" aspect of modern Java VMs is Swing/Java2D.

    Are you even aware of how much Web development is done in Java or other VM based languages and NOT in C/C++?

    Let's put it this way. My company has an server-side Java product that handles 10x the number of concurrent users than the nearest C++ competitor on the same hardware simply because of superior multithreaded design. Even the *JAVA WEB SERVER* can handle more concurrent connections than Apache, which poops out at around 120+ concurrent connections.


    Second of all, Java is far from dead. Sheesh, almost all new development except in a few specialized areas is being done in Java.
    Especially, most server-side code. Every new W3C standard is prototyped in Java first. John Carmack has written all his new Quake3 support tools in Java, etc. No one is going to seriously challenge traditional C/C++ office applications, because the market isn't worth it. Only in new areas of development do you see new languages being used.

    Eiffel blows away C++ too, but no one has written a killer app in it. That doesn't mean there's someting wrong with it.


    I don't know how many times I have to keep explaining this to the macho C morons, but scalability has *nothing* to do with raw CPU execution speed (which JITs handle quit well). Transforming polygons yes, rendering database results, no. Raw CPU is the lowest determiner of scalability. The CPU spends the vast majority of its time waiting on memory, bus, network and disk i/o.

    If you want to be scalable, consume as little state and disk as possible.

    C++ falls flat on its face for server-side programming. It takes 10x as long to do the same thing in Java/JSP, and you still end up having to track down null pointers and memory leaks. That's why eBay and Onsale have more downtime than scripting oriented sites, because scripting languages are VM based and handle automatic memory reclaimation and shield the programmer for GPFs. eBay died because of a C++ memory leak.

    Perl is great for text processing (I've been programming perl for 5 years), but its lack of static type checking makes it poor for team based
    projects. If you're the only coder, fine.
    Perl is also slower than Java.


    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++.

    C/C++ are a resource drain on any IT department. Why the fuck does an intranet app to process forms have to be coded in a bug-happy language like C++, when a VB, Tcl, Perl, Python, or Java programmer can do it quicker, with less resources.

    C++ is an IT resource drain for most companies. Money down the hole on programmers who spend extra time on bug tracking bullshit.

    Which is why 99.9% of all CGIs are written in ASP, Cold Fusion, Perl ,Python, Java, TCL, or PHP, and *NOT* C/C++.


    You might claim VM's are a dumb idea, but the fact of the matter is, most of the code being written in the world is being written for VMs.
    The number of lines of VB code alone would dwarf C++.


    Did you ever think that maybe your application was slow because you don't know how to code in Java? jEdit is an emacs clone in Java that is lightning quick on my P166. However, there are plenty of similar Java editors that are dog slow.

    Java doesn't automatically make an inefficient programmer more efficient.


  • 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.

    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.

  • I'm too tired to write much (I love all-night coding sessions, honest). As some general points...
    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 [javaworld.com] - 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.
  • No, it's not the first time I've heard a critique of Java's speed, nor of the bugs with AWT/JFC.

    I spent some time with Sun's 1.1.6 under NT and it did suck for performance. IBM VAJava 1.0 was even worse, though 1.1 fixed most of the problems. When I started using Borland's IDE, I found that the VM makes a huge difference in performance -- non-GUI code I'd been writing that took over 20 minutes to run under IBM and Sun ran in less than 3 minutes under Borland. We've also tested HotSpot, and found that it boosts performance even more.

    The biggest problem under Linux is that compared to these tuned VM/JIT environments for *nix and NT, Blackstone's JDK absolutely sucks for performance. Given that slashdot is largely a Linux community, I'm not surprised people have serious performance issues, as most of their Java experience is likely to be with Blackstone.

    I'm not knocking Blackstone, it's just hasn't been tuned as thoroughly and doesn't have a real JIT compiler.

    Code style can make a huge difference with server-type code, particularly if you are getting a lot of implicit object construction with methods that create value wrappers rather than "caching" those wrappers with private members. It costs more memory, and occasionally increases code complexity (modifiers have to clear the "cache" member so that the accessor knows to recreate it with the new value). Some simple changes in your code along these lines can improve performance by an order of magnitude, though they are not obvious necessities.

    My key point on performance is still that the cost reduction in development and maintenance more than covers the costs of extra hardware to deploy the software. This doesn't help the home computing and OSS developer's that aren't being paid for their work, but it's a huge factor in which language corporations use. I don't have actual statistics, but if you can save the cost of even one maintenance developer at $45K/year (or more) with Java, that buys some pretty serious hardware improvements. When you're talking apps that require a team of 50 for C/C++/??? and only 10-20 in Java, you are really talking about an awful lot of money that can be rolled into hardware. It may be cruel, but I think we're starting to see IS departments getting hit by the same cost improvements from computers that the support and operational staff did over the last 5-10 years.
  • It's called GNU Emacs. I know--you may not like it, but, then, the GNU people also usually don't like Windows-style IDEs. For example, if I wanted to use VC++, I'd just use it--I have a free MSDN subscription. But I actually uninstalled most of that stuff months ago.

    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?

  • Interesting opinions, but...

    Sun has not refused to open up Java. What they have done is recognized that the 5-10 year cycle for most standards body is too slow to be useful, and often results in standards that no one implements, like the full version of ANSI SQL. They also attempted to submit it as a standard, only to have the rules changed half way through the process. They have done a tremendous job of refereeing feedback from different application and tool developers, and integrating the most useful concepts in the development stream. Take a look at some of the submissions from the OMG for collections (which had a lot of SQL-specific baggage), then take a look at the JDK 1.2 implementation. Modulus' InterAgent technology submissions have had their impact on messaging, and I have no doubt that the clean breadth of JDBC was enhanced by suggestions from people who are fed up with the hassles of using tools like ODBC.

    HP has not fractured Java -- yet. Personally I am far more concerned by the recent rulings in the American courts in Sun vs. Microsoft than I am about HP. As much as I like HP's hardware (and HP-UX), the only place I've ever seen software developed for their systems were for telecom companies and as data-capture managers on manufacturing floors.

    IBM is only one of many players in the Java world. They rightly recognized that providing easy front-end access to their big iron was the best way to maintain and possibly grow the sales of mainframes and large AIX systems. If you think they just did it for publicity, you are sadly mistaken.

    Red Hat, et al are only relevant if you think Java was created for the sole purpose of "killing" Microsoft. If that's all you see in Java, it's no wonder you think it's dead.

    Slow. Buggy. Ugly. You must be playing devil's advocate, because you are the only person I have ever heard make such statements about Java. I work with broad-based teams with experience in C, C++, messaging systems, transaction processing, mainframes, yada, yada, yada -- every one of them was very quick to see the benefits of Java. The closest I've heard to your views were from a Smalltalk programmer who tells me that language has had Java's functionality for several years now.

    As for the server side you can use C/C++ or whaterver else. But with C/C++ you need to rely on non-portable libraries to get threading support, and I can tell you from personal experience that there are some pretty serious compatibility issues with pthreads implementations from Sun, IBM, DEC/Compaq, HP, and Linux. Win32 is a completely different code branch. The development, testing, and maintenance costs of such software compared to the issues of "performance" with Java are more than adequate to cover the cost of massive 8- and 16-way SMP boxes which more than compensate for any performance differences.

    The only issues I've encountered with write-once run-anywhere Java have been with the GUI, not with the code layers application servers get written in. The sole exception to that is JDBC which can be a dog if you don't have a backend database that will let you take advantage of durable SQL statements, or if you don't have a database/driver that supports multiple connection sessions from a single client process.

    You are right about Java not being used to develop "applications" if you mean desktop automation tools (word processing, spreadsheets, etc.) But if you think those are the only "real" applications, I suggest you contact some people working with large systems such as those in the telecom, manufacturing, or other industries where a "small" application only deals with a couple hundred concurrent users. Desktop PCs and workstations are just the front end to that world, they don't define it.
  • "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.
  • There's a free IDE complete written in Java: Freebuilder [freebuilder.org] . But it's still 'a work in progress'.
  • Actually, my current Java IDE of choice is NetBeans [netbeans.com], which is written in Java -- it's one of the main reasons I chose it. It's available for JDK 1.1 or 1.2 with Swing 1.0 or 1.1. Translation: It'll probably work with whatever modern JRE you currently have installed :-)
  • I agree with the problems with the usability of VAJ. There's definitely a learning curve, but once you get beyond that, it's great. IBM has a few movies or whatever you can download that walk you through developing stuff under VAJ, and after watching a couple of those, I had no problems being very productive in the IDE.

    As for performance...I thought the performance was acceptable on my P200 with 96Megs. Not great, but definitely acceptable. Sometimes things took a bit longer than you'd think they'd need to, but when I actually wanted to run the application...no compile time! It just runs. And when I make a change in my code, it immediately affects the running applet, etc. No quitting, recompiling, rerunning.

    I have been VERY impressed with VAJ. Both usability and performance could use some help, but these problems are largely outweighed by the speed with which I can prototype and finish development of applications.

  • Actually, IBM is infamous for never cutting off a technology with an installed base. Why do you think OS/2 is still on the market?

    IBM also made PCs with optional Microchannel slots for years after PCI came out. 10 years of support for something as unpopular as MCA is hardly "dropping" it.

    Bringing up Taligent and Kalieda is not fair, because they never made it to market after years of trying.


    --
  • I beleive VAJ is written in smalltalk. At least the sister product, VisualAge C++ is.
  • by Synn ( 6288 ) on Thursday May 27, 1999 @03:41PM (#1876644)
    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.
  • IBM Visual Age for Java is a port of the original Visual Age for Smalltalk. In a sense, it's written in Smalltalk. Developers have clamored for a version written in 100% Pure Java, but that would require a significant development investment by IBM.

  • 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.
  • Posted by d106ene5:

    As soon as they present terms to Sun, and Sun ditches on them, they'll be singing the same tune as ISO.
  • I hear Roxen Challenger and Xitami are pretty
    fast too. Roxen's on Linux. I don't know
    about Xitami. FreeBSD has a Xitami port.
    It's supposed to be fast. I like apache just
    fine.

    Remember why we all use linux folks: because
    it runs on our puny little PCs and gives us
    the same reach as the big boys. NT is aimed at
    the big boys. They can spend $5K on it if they want. I don't.

"There are some good people in it, but the orchestra as a whole is equivalent to a gang bent on destruction." -- John Cage, composer

Working...