Slashdot Mirror


Swing

Jayakrishnan has returned with another review of a Java book. This time around it's Matthew Robinson and Pavel Vorobiev's Swing. Published by Manning Publications, this book is designed to give information to both beginners and advanced programmers. Swing author Matthew Robinson and Pavel Vorobiev pages 917 publisher Manning Publications, 08/1999 rating 10/10 reviewer Jayakrishnan (JK) ISBN 1884777848 summary Unique examples and the exhaustive coverage of Swing make this a valuable book for both beginners and advanced programmers.

How many times have you opened a book in search of a solution and found not only an answer, but also an elegant enhancement to your application? How many times have you ignored an O'Reilly book on the same subject lying on your table? The answer is Manning's new book Swing authored by Mathew Robinson and Pavel Vorobiev. And that is my final answer.

The book (with just a 5-character title) is 917 pages long and is divided into four parts containing 23 chapters, an appendix and a bibliography. The first part, "Foundations," introduces Swing, its architecture and the key mechanism underlying Swing. Part II, mysteriously called "The Basics," explains the most commonly used and simpler classes of the Swing toolkit like labels, buttons, menus, list boxes, progress bars and sliders. The third part of the book, "Advanced topics," deals with using complicated components like trees, tables, text components and layered panes, as well as creating pluggable look and feel. The final part, "Special topics" introduces printing and the Java2D API.

Only two chapters of the final part are included in the book. The remaining four chapters which discuss accessibility, JavaHelp API, CORBA and some examples contributed by experienced Swing developers are available on the book's Web site.

The structure of each chapter is the same. Let's look at the chapter on tables as an example. The JTable class is introduced followed by related classes and interfaces. This is followed by discussions on row and column selections from JTable, column width and resizing and customizing the appearance of the table. The important methods related to these issues are discussed and short code samples are used to demonstrate the main features.

Then comes the meat of the chapter -- the examples. The first example shows how to display stock market data in a JTable. Complete code for the example is given and important sections are discussed. The examples that follow are enhancements to the first example. In the JTable chapter, they include adding custom renderers, customizing the data rendering, retrieving and displaying data from a database.

Each of the examples builds upon the previous one and as promised on the cover of the book, is production-quality code. While most other Swing books serve as expensive javadoc dumps of JFC with trivial, forgettable examples, Swing provides code that saves lots of time for the developer. The other applications that are developed in the book include a JPEG image editor, an ftp client, an X-Window-style desktop environment and a word processor.

This book is for the developer building applications using the Swing components of the Java Foundation Classes. The large number of examples make this a great cookbook providing code samples that will vastly reduce your development time. The language is simple and the examples are well defined. All the Swing components are discussed in detail with several screen shots.

The part I liked the most in this book is the section in each chapter about extending the Swing components to create custom components. These include creating an oval shaped border, polygonal buttons, and a tabbed pane which takes an image as the background. These examples provide knowledge to extend the components in ways limited only by your imagination.

The book is sprinkled with UI design guidelines by David Anderson related to usability and presentation. There is no reference to the Java Look and Feel Design Guidelines issued by JavaSoft. So I would recommend referring to that book (published by Sun Microsystems) if you want to design applications with consistent appearance and behavior.

The only minor annoyances in this book are the figures which display the component hierarchy, as they have an unprofessional look. But there are only a few of them.

To summarize, the unique examples and the exhaustive coverage of Swing makes this book very valuable for both beginners and advanced programmers.

Purchase this book at ThinkGeek.

45 of 107 comments (clear)

  1. One versus Many. by Joseph+Vigneau · · Score: 2
    That said, a highly skilled C programmer will always be able to deliver a superior product - all other things considered equal (features, debug cycle, etc), the C programmer's product will always be better performing.

    Of course, in all Real Life projects, there are lots of developers working on various parts of a project. You've got to be *extremenly careful* while making a C based application with lots of developers, as there are an incredible amount of gotchas that can sneak up on you.. Spending days to hunt down an obscure but critical memory leak costs money...

    Java is more strongly typed, and the built-in GC makes that memory leak less critical (yes, you can still cause leaks in Java, but they typically won't kill you like they will in a non-GC environment.) These types of features make it much easier to develop a large application with a teams of programmers with various skill levels and backgrounds.

    1. Re:One versus Many. by TWR · · Score: 2
      printf

      There are several third party libs with this functionality.

      Radix support for byte and short

      Eh? That's been in the language since JDK 1.0.

      In Byte:

      public static byte parseByte(String s, int radix);

      public static Byte valueOf(String s, int radix);

      In Short:

      public static short parseShort(String s, int radix);

      public static Short valueOf(String s, int radix);

      A replace(string1, string2) method for strings

      It's in JDK 1.3. StringBuffer.replace(). Strings in Java aren't mutable.

      A windowing toolkit that doesn't eat all my swap space (unlike Swing)

      Use AWT. Or you might want to look at KFC (seriously!): (http://openlab.ring.gr.jp/kyasu/)

      Any other nitpicking reasons? I know, you'll make up an excuse, but I want to see what it is ;-)

      -jon

      --

      Remember Amalek.

  2. Re:Swing - Good idea, badly implemented by Matts · · Score: 2

    Please don't compare Java to C++. It's not a simple vtable pointer.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
  3. Re:Swing - Good idea, badly implemented by Matts · · Score: 2

    All I can suggest is you use the source. ;-)

    Seriously, I bet you could probably find something out there by either doing a search, or subscribing to Java Developer Connection (at java.sun.com).

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
  4. Swing - Good idea, badly implemented by Matts · · Score: 2

    The problem is swing is slooooow. Try a large-ish GUI written in swing. The inheritance depth in Swing is just too deep to make it fast enough for lightweight GUI components. Try it on a slow machine without JIT to see what I mean.

    Personally I think this is a real hinderance to Java mainstream acceptance. I've tried a number of XML editors written in Swing, and just went back to Windows or X editors instead, because quite simply they respond. Even Tk apps respond better than Swing apps, because the widgets are implemented in C, not in Java with a huge inheritance tree. Interestingly I fear this will be the same problem that Mozilla and XUL face.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
    1. Re:Swing - Good idea, badly implemented by Malc · · Score: 2

      What's inheritance got to do with it? Sure it adds a small overhead to object creation and destruction, but surely not to method invocation.

      I don't know how it's implemented in Java, but if it's anything like C++, then it's no big deal. It all boils down to a a funtion pointer in the vtable that really makes no great difference (on a PPro200, I was able to make of 5 million vtable invocations a second in C++, which is more than you need for UI work)

    2. Re:Swing - Good idea, badly implemented by MosesJones · · Score: 2

      Very true in the first release, have a look at JDK1.3 the speed up in Swing is impressive. The other option is to get the Truffle lightweight version for Personal Java which is very sleek (not sure why Sun don't push it more).

      --
      An Eye for an Eye will make the whole world blind - Gandhi
  5. Hmmm... by jabber · · Score: 2

    My work development box is a PII-266 with 128MB RAM. I'm developing with JDK 1.1.6, 1.2.2 and 1.3 in JBuilder 3 Pro. My backend is Oracle 8i on and RS/6k.

    No problems.

    Yes, the UI take a while to instantiate all the objects and do all the needed set-up; I thread off an animated splash-screen and no one is the wiser that it's actually working.

    Once there, the app is crisp - the slowest part is the network connection to the server. It's not as fast as C or Delphi apps, but then again, it was a piece of cake to develop the UI.

    I don't know WHAT you might be doing that's so slow, but that is not my experience. Maybe trying to use Java like it was C? Comparing strings char by char? Creating new objects all the time instead of using available references? I'm not trying to pass judgement in any way - it's just that I've seen people try to use a pipe-wrench as a hammer before, and complain of bad performance.

    For the record, 1.3 includes HotSpot. That made a difference. Using Swing rather than AWT, and not mixing the two, made a difference. Understanding the memory settings on the JVM - so the garbage collector isn't invoked too often, made a difference. These things help in programs larger than what you describe, but maybe JBF isn't getting started with enough JVM memory?? Just a thought.

    --

    -- What you do today will cost you a day of your life.
  6. You don't know what "lightweight" means by TWR · · Score: 2
    Swing was supposed to be a lightweight GUI toolkit

    And it is. By "lightweight," Sun means that Swing components are not using native resources, but are drawn using Java only (no peers). This isn't strictly true for all Swing components (for example, JFrames need to be real frames at a certain level and popups that extend past the edge of the window need to be heavyweight to be drawn outside the bounds of their window.), but it's close enough to be approximately true.

    If a 4-page cheat sheet can't cover more than 90% of the things one usually needs to do in GUI coding, the package is badly designed anyway.

    As far as API size, Swing was NEVER intended to be small. It has over 2 dozen different widgets! It includes an HTML and RTF parser! A 4-page cheet sheet isn't going to cut it for anything but the very bare minimum. You couldn't adequately describe the functionality of a JTable with 4 pages. If you want bare minimum in Java, stick with AWT. There you only get a few widgets.

    I tried Swing once, but discovered it was both slow and not yet widely deployed in browsers. But that was six months ago. Have things improved?

    Swing in browers isn't going to be common, probably ever. You'd need the Java Plug-in installed to use it, and the vast majority of users currently have about a 28.8 connection. The 8MB download for the Java Plug-in isn't going to cut it. That's OK, because Swing functions best as an in-house, cross-platform VB app builder. Commercial apps on the order of Word or Photoshop couldn't be built in Swing right now. That doesn't make Swing useless, though.

    -jon

    --

    Remember Amalek.

  7. Re:claims != reality by jilles · · Score: 2

    Trust me, it's more than 90%. In fact you just have to look at the numbers of processors sold to realize that the PC market is only a tiny piece of it -> most software does not run on PC's.

    I think you are wrong about Java not replacing C. C right now is used for low level OS stuff and device drivers and of course embedded machines. right now C is being replaced with C++ in most of these areas. The embedded machine domain is subject to Moore's law so with some delay the same developments as on larger computers take place there. Time to market and C are a bad combination, so other languages will find their way there if chips get fast enough.

    --

    Jilles
  8. Re:claims != reality by irix · · Score: 2

    Shipping products have nothing to do with it. Probably 90% (maybe more) of the code written in the world is not used for a "shipping" product.

    There are a lot of commercial and government installations who are using Servlets/EJB to do thier web business. Go to BEA or IBM's websites to see lists of successful implementations.

    Go search a few web boards and look fr Java jobs. What are all of those people being hired for?

    Java may have failed for Applets and other window dressing. It will never replace C as a systems programming language or Perl as a CGI/duct tape language. But many companies are using it for corporate IS development or web development.

    Just beacuse it isn't fabulously popular in the open source world does NOT mean it isn't being used.

    --

    Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
  9. Re:What's the frequency? by irix · · Score: 2

    -- Light weight? I don't think there's ever been a toolkit that's as heavy weight as Swing. --

    Apparently you have never used the AWT, Swing's predecessor.

    I'll admit Swing isn't the fastest and doesn't have the smallest footprint, but it is a big improvement.

    --

    Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
  10. Re:Is Anybody Really Using Java? (Honestly!) by iapetus · · Score: 2

    From talking to people who've been using it extensively, the 1.3 JDK has big performance increases for Swing over previous releases.

    As ever, performance is quite often a question of how well the code was written and designed. Java programs written by C++ coders tend to underperform for some reason. :)

    I've seen some very clunky, very slow Java UI code from certain large, well-respected companies, where the performance is entirely down to bad coding. It's a shame that this sort of incompetence is sometimes taken as reflecting poorly on Java as a whole - it's just as easy to write lousy UI code in C/C++.

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  11. Re:Is Anybody Really Using Java? (Honestly!) by SuperKendall · · Score: 2

    Java is being used everywhere, and with more people using the 1.2 and 1.3 VM's and getting more familiar with Swing, Java applications will become much more responsive and usable.

    And yes, I have used the horror which is Netscape 4.1 Admin Console. That has to be the worst Swing app I've ever seen, at least user interface wise... if you are just adjusting values in the LDAP tree you might want to use the sample JNDI browser availiable from Javasoft. Look in the products&API's under JNDI, the browser is a sepreate sample download.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  12. Re:claims != reality by SuperKendall · · Score: 2

    A year ago I worked on a pure Java (1.2) application for a large telco to keep track of physical equipment (like telephone poles) and integrate into systems that tracked tax rates and such. It's been in production for over a year and they are very pleased with it.

    That was a farily large, very data driven Swing app that had to run on P-90's with 32MB of memory running Win95.

    Right now for a different telco I work on a production customer care site responsible for delivering performance data of network elements, trouble ticketing support, and other things on a customer facing web site. The whole thing is Java on the backend (apart from integrations into things like SecurID servers which are JNI layers). We are slowly migrating to EJB on this project, held back only by having to use Netscape Application Server and waiting for iPlanet.

    I also know of many open projects at various companies desperate for Java EJB people. EJB has really gained a huge swell of support and is not any kind of fad - I personally find it hard to believe that there are that many people here not at least using servlets to some extent!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  13. Re:Java will find a limited niche by SuperKendall · · Score: 2

    Well, I was waiting for YOU to produce yours - since you seem to have none (the other reply to my comment actually produced some content) I'll give you some examples of what I mean.

    - Reflection, the ability to dynamically examine type and object information at runtime.

    - Dynamic class loading and custom class loaders so you can control where objects come from and load new classes without shutting the system down.

    - Swing. Though it gets a bad rap here, it's really easy to customize and produce widgets that do a lot more than just sit there and look pretty. You can customize search capabilities for a combobox, or produce a table object tied right to a database for quick manipulation of data.

    - JNI. You need to access some wierd hardware, a legacy system, or do something totally platform based? You have JNI, an easy and at least sort of portable way to get to native code if you really need to.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  14. Re:Java will find a limited niche by SuperKendall · · Score: 2

    Java reduces the degrees of freedom for the programmer, and makes programming more pedantic and verbose...but for less advanced programmers, this is likely beneficial.

    When you say things like that with no supporting evidence, it only makes *you* look silly. In what way does Java reduce the degree of freedom for a programmer?

    You have it exactly backwards, you know - it really frees the programmer to do interesting things. I would argue that instead of reducing your choices it offers you a great deal more.

    I personally despise VB (and things of its ilk like Powerbuilder), and have developed C and C++ apps for many years. But now I prefer Java over both of these, for server side stuff as well as applications.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  15. Re:Hasn't Java had its day? by harmonica · · Score: 2


    Java was a great chance to make a C++ that people could understand without going through the mental contortions that currently plaugue it. At first glance it looks a lot nicer, but when you take a closer look it is just as bad, but with long keywords rather than obscure symbols. When you have classes peppered with "abstract", "final" and so on, and methods with "synchronized" etc. you start to wonder what exactly all this "synchronized final void foo()" is all about.


    You get into this very fast. These modifiers are used in a consistent way, and you have public/published/protected/private in about any other OOP language as well. Final is a method that cannot be overridden, abstract is one that has to be overridden in heirs. I haven't created a multithreaded app yet, so I'm not so sure about the synchronized thing ;-)

  16. Re:Is Anybody Really Using Java? (Honestly!) by harmonica · · Score: 2

    The behaviour depends /very much/ on your JRE (Java Runtime Environment) and system.

    This means for the IBM-PC world: if you use a relatively modern system (P-II 266+) with enough RAM (64 MB+) and a 1.2+ JRE (1.3 RC-2 is out already) things should work out well. Yes, these requirements are still not matched by every system out there, but at least it is possible to use Java without waiting for that menu to pop up (I've experienced that myself some time ago).

  17. Price: US-$ 35... by harmonica · · Score: 2

    ... at least at Amzaon.com, 40 at ThinkGeek (who don't seem to have a site search engine at their introductory page; argh). Not that the price was unusual, but it should be part of the review IMHO. The price still makes a difference for some of us...

    1. Re:Price: US-$ 35... by harmonica · · Score: 2

      Sure, but it's interesting to know if the books falls in the US-$ 20, 40 or 60 category.

      I found a very promising book recently only to learn that it costs US-$ 70 ;-(

  18. Hardly. by Kingpin · · Score: 2


    I know of several multimillion user sites which run their core functionality using Java Servlets. As far as I know, Amazon.com is based on Enterprise Java Beans. EJB is an ultra scalable (horizontal) technology. Applet's are kinda dumb, agreed, but server side Java rocks.

    --
    Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
    Geocrawler error message.
  19. Re:Is Anybody Really Using Java? (Honestly!) by tdrury · · Score: 2

    Absolutely. When I consulted for BellSouth about a year ago, Java was mandated over C++ for all new development.

    At the Internet startup that I work now, Java is also the language of choice. We are moving away from all Microsoft products. Of course we are a little concerned over Sun's grip on Java right now, but I strongly believe it will be standardized by IBM without Sun. Once standardized we will move to "standard Java" and away from any proprietary form.

    To me, it's not so much it integration with web-stuff, but how easy it is to write large, complex, ever-evolving programs. As most of us probably know, the requirements for our projects are constantly changing. I find Java easy to re-use and easy to change/modify. I programmed C++ for 10 years and never felt comfortable with exceptions, re-usable code, and GUI APIs. Java is good at all those.

    Your point regarding the speed of Java is an excellent point, but there are many ways to optimize java. For example, when writing a GUI app you always dedicate one thread to handling user actions and spawn worker threads to perform the behind-the-scenes work, right?

    That's my opinion, YMMV.

    -tim

  20. Re:Java will find a limited niche by MosesJones · · Score: 2

    Oh I love the superior tone "Java isn't for hardcore people"

    C is a crap language, I used it for years, I wrote Radar Display lists in it, I wrote X Server modifications, but fundametally its a poor project language. Its debug cycle is a nightmare on large scale projects. It works in Open Source thanks to the "many eyes" philosophy.

    For myself the enterprise is an application with 000s of concurrent users and a lifecycle of around 10 years "active" (normally means 20). VB is not appropriate for that sort of enviroment as it does not guide the developer towards the sort design methodologies that save time on large scale projects.

    Many people look down on Java as they see OO et al as an abomination. You can hack in C better than in Java, but you can code in a team better in Java.

    So far with Java I've done servlets, client server, database, MQ, legacy et al et al et al. Pure Java does work, but it still requires a skillful designer. It isn't a silver bullet, but its better than #include.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  21. Re:Book Available Online! by theonetruekeebler · · Score: 2
    Shudder! From the HTML Source:
    <META NAME="Generator" CONTENT="Microsoft Word 97">

    And the table tags are so broken that Netscape Communicator 4.7/NT won't even render it. You have to use Exploder.

    It sounds like a nice book, but it's like the saying: if you like sausage, don't ask how it's made.

    --

    --
    This is not my sandwich.
  22. Re:Java will find a limited niche by Kerg · · Score: 2


    We aren't, so I'll stick to my premise that in any market for software (even internal), performance always wins.


    My personal experience certainly doesn't support your claim. I'd say that in most cases, it is the functionality that wins. It doesn't matter if the thing works slightly slower today, just as long as it works! And just as long as it doesn't bring down the application or machine that's running it.

    Functionality is the key. Java can bring a lot of functionality in a quite short development time and most of the time quite safely (in other words, no dangling pointers that crash the application.. exceptions still get there and can, and sometimes do, cause trouble but they can all be caught, logged and debugged with a lot less effort than random pointer bugs).

    It's quite rare that I've seen performance being the first thing required... on the top of my head I can only think of one compiler project that was running on some old VAX machines as a batch during the night and had to squeeze every bit of performance out of those trusty work horses. Other than that, it has always been about functionality.

    A quick look at the API collection that Java offers reveals why it is a winner.

  23. Re:Hasn't Java had its day? by Mike+Connell · · Score: 2
    Forgive me if I've got the wrong end of the stick, but I was under the impression that Java had had its day and was pretty much on a downwards spiral.

    I beleive the reverse is true (after 2 years of using Java after C). This is my version of history:

    In ye olde time, Sun produced Java, and saith " run things over the web. Cools Toys!".

    And the people jumped for joy and enjoyed pointless applets for a time.

    And so saith Sun "And now you can use it for writing all your applications - and have them run anywhere"

    And the people trieth, and soon realised that Java was not up to the job, and so the people began to bitch and whine and saith that Java was sh*te

    That was then, and this is now:
    *Java is big. Expect 2x-3x memory usage over native code.

    *Java is fast. *If you have the memory*. On win/solaris/linux, Java is really usable. The two caveats are a) you need the memory, and b) Swing is still slow, but not half as bad as it used to be. We have gotten Java scientific code running to within 5% of FORTRAN.

    I use a Java program every day - in preference to numerous (native) alternatives. This is Borland JBuilder - so Java is certainly a usable platform these days for a "real world application".

    Don't be put off by Java's history of underperformance, and Suns dodgy claims about world domination. If you're thinking of doing anything cross platform, Java is worth a good hard look.

    IMHO,
    Mike.

  24. Java won't ever replace C++ for me until by TummyX · · Score: 2

    Java won't ever replace C++ for me until some huge improvements are made.

    I'm actually quite worried that since Sun essentially 'controls' everything, noone else can make extensions that become popular enough to become part of major IDEs. (IDEs with intellisense rocks).

    Here's what java needs.
    1) Compile once run anywhere is not as important for where java is heading (server end). Please stop insulting us, and give us a native compiler sun. We are capable of compiling to bytecode when we want to use applets on webpages (noone does that anymore tho :P).
    Don't sun realise a lot of people don't like java cause of how bloated and slow it is?
    I can live with compile once run anywhere, but for speed's sake, let us have the option of write once run anywhere.

    2) Give me paramterised types or templates. Writing our own collection classes and/or casting really really sucks.
    Some of the stuff that the folks who wrote Pizza are cool, anonymous functions for java :D! (basically lambda expressions) and parameterised types. It's even compatable with current virtual machines, just most IDEs and compilers won't like it.

    3) Delegates, I want MS 'delegate' style function pointers in java. Anonymous Inner Classes are horrific, and spoil Swing.

    4) ASSERT. We need asserts!!!! Lucky J++ has a simple preprocessor. So many bugs could be caught if people used ASSERT more, Sun don't even think we need them!

    Anyway, until at all of these relatively small additions are made, C++ is going to rule supreme.

    At least for me :).

  25. Re:Java will find a limited niche by radish · · Score: 2


    But all other things will NOT be equal...Java's main advantage (and the reason we use it more and more each day) is development time. We have built a major client/server system from the ground up (inclucing complex business analysis) in less than 3 months, with a team of 4 developers. In C/C++ we'd still be tracking down memory leaks for the next 6 months.

    Java is NOT good for everything, performance is not optimal by any means (and Swing in particular needs a decent box to run well) but the JVM's are getting better rapidly, and for large scale server based apps it is fantastic. Take a look around - most of the big blue chip financial firms I deal with are switching to Java for much if not all of their internal development. These people have big budgets and some of the best developers/analysts around, and they love Java. Good enough for me...

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  26. Re:claims != reality .. by spludge · · Score: 2
    BEA Weblogic

    Fully clusterable, fault tolerant Application Server / Web server. Written in Java.

    We designed our entire backend around it, thousands of users and it is extremely stable and has allowed us very fast development.

    I program in C++, C and Java. Most of my work is C++. I have found Java is a better language to program in, it forces you to have better programming style.

    Code that took me 4 weeks when using C++ takes me 2 weeks in Java and it is likely to have less bugs due to memory allocation problems etc..

    We have also found that anyone that is pretty new to programming can pick up Java and become a useful programmer in 1/5 of the time it would take if they were using C++ or C.

  27. Re:claims != reality by Carnage4Life · · Score: 2

    Again just from the Sun industry news page.

    Headline News From Around The Industry April 11, 2000

    Informative Graphics aims to make Java visualization tool standard front-end to Documentum
    Documentum ,the leading provider of Internet-scale content management solutions for powering e-business applications, today announced that Informative Graphics Corp., a leading developer of ...
    (PR Newswire: April 11, 2000, 08:04 AM)

    SilverStream to bundle Java e-business integrattion technology with application server suite
    Cerebellum Software,Inc., and SilverStream Software, Inc., , today announced at the SilverSummit 2000 User's Conference that the Cerebellum(TM) Internet data integration product will be bu...
    (PR Newswire: April 11, 2000, 08:03 AM)

    Netcom Systems brings Java-based security to Cisco Security Associate program
    CA-WORLD 2000 --NetCom Systems netForensics v1.2 has received validation from Cisco Systems, Inc. to become part of the Cisco Security Associate program. NetCom's netForensics(TM) , end-...
    (PR Newswire: April 11, 2000, 08:03 AM)

    BravePoint to resell and implement Cerebellum Java e-business integration technology
    Cerebellum Software, Inc., whichdevelops the Cerebellum(TM) Internet data integration technology for linking e-business applications with corporate data systems, today announced an agreemen...
    (PR Newswire: April 11, 2000, 08:03 AM)

    Oracle8i adoption reaches 17,000 customers, 500,000 downloads
    Oracle Corp. , the largest provider of software for e-business, today announced that since March 1999 more than 17,000 companies have purchased Oracle8i(TM), making it the fastest growin...
    (PR Newswire: April 11, 2000, 08:02 AM)

    RSA Security ads Java PKI to product lineup
    Highlighting this week's inaugural RSA Conference 2000 Europe, RSA Security Inc. , the most trusted name in e-security, today unveiled an easier, faster and safer way to create Java-based PK...
    (PR Newswire: April 11, 2000, 08:02 AM)

    Merinta basks in limelight of Virgin Magastores Java Net appliance launch
    Merinta, Inc., a subsidiary ofBoundless Corporation , announced today that its first customer, Internet Appliance Network began rollout of the first 10,000 Webplayer(TM) Internet Applian...
    (PR Newswire: April 11, 2000, 08:01 AM)

    QuickVideo for Linux shines with Java Media Framework
    LAS VEGAS, Apr 11, 2000 - InfoValue Computing Inc. unveiled the industry's first complete, end-to-end video streaming solution for Linux workstations at NAB this week in Las Vegas....
    (Business Wire: April 11, 2000, 06:45 AM)

    Silverstream Software Licenses Sun's Java 2 Platform, Enterprise Edition-J2ee-
    WASHINGTON, Apr 10, 2000 - SilverStream eBusiness Platform Based on J2EE Standard SilverStream Software, Inc. , The eBusiness Platform Company, today announced a strategic alliance...
    (Business Wire: April 10, 2000, 09:21 AM)

    Passcall And Jacada Partner to Deliver Enterprise



  28. Re:Java in Industry. by Carnage4Life · · Score: 2

    My mistake for not being clearer, I meant applets when I used web apps in reference to HTML and script kiddies. Java Server Pages and servlets are very good technologies but most people think applets with regards to Java on the web.

  29. Re:What's the frequency? by Carnage4Life · · Score: 2

    You're probably an MSCE aren't you?

    Java is an amazingly easy language and has great in support with the online API and the online tutorial that explain every aspect of the language. Last fall, I had no prior knowledge of Java and was an intermediate C++ programmer. With the above links as my primary guides I am now an excellent Java developer.
    In fact, at the start of my spring break I wanted to create an online survey with the data stored in an Oracle database. With no prior knowledge of JDBC or servlets I created my survey within 3 days (most of which was spent configuring, java web servlet engines & battling the fact that Oracle doesn't support jdk 1.2).

    My point is this, languages change and mature all the time. C today is not C of 20 years ago. C++ has changed enough in the last decade that a large number of developers in industry are mystified by several aspects of the language (STL? exception handling? namespaces?). Java is a mere 5 years old and to believe the language will not evolve further before stabilizing is wishful thinking. But at least in Java's case clicking a few webpages on Sun's webpage bring you up to speed rapidly.

    PS: The MSCE crack is not a flame but a genuine question. I have noticed that MSCE's unlike computer science majors believe that once one learns something that's all they have to know. I guess it comes from getting certification after taking a few exams while CS majors usually use several languages in school and also since they spend 4 years in school usually see how languages change/mature before they get into the real world.

    PPS: You actually have Swing as an item in your resume? Interesting.

  30. Re:What's the frequency? by Carnage4Life · · Score: 2

    OK I'm late for class so I'll make this quick. The point of my post was that the original poster was bitching about Swing being a come-and-go fix that would make him look like a relic on his resume. The part about swing being come and go is simply not true. Secondly who puts aspects of a language on their resume? Not I know Java, but I know the AWT or Swing only?!? If you know Java anbd you know how to program using swing is simply using another bunch of classes or another library...it's not like people go around saying I know how to use the string.h libraries in C and put that on their resume

    Yes, well you could do the same thing in VB in probably half the time, and it would run 10 times faster.

    Next time click the links before answering...
    Java web pages serve faster than anything script based except mod_perl because they are memory resident via the Virtual Machine while CGi has to be read from disk. So the 10 times faster crack is simply bullshit. Secondly why did you assume I meant I was using Windows?
    Aight, gotta go to class, later.

  31. Java UML drawing app by Carnage4Life · · Score: 2

    One of the classes I took last semester had such an application but it was rather simple (not very complex UML diagrams). I planned to hack at it but never found a good book on UML so I never did. Here's a link to the application for Windows, Macs, and *nix.

  32. Argo/UML is open source by -ryan · · Score: 2
    I've used TogetherJ, Rational Rose, and a few other closed source UML CASE tools and the one thing that none of them can shake a stick at is the cognitive support in Argo/UML. Argo actually critiques your model as you build it. Making suggestions and helping you avoid pitfalls. Besides, it's open source, and who doesn't love that? In the near future Argo will also be incorporating evalutaion of OCL statements into it's code generation capability. I encourage you to check it out.

    -ryan

    "Any way you look at it, all the information that a person accumulates in a lifetime is just a drop in the bucket."

  33. Another big book by Animats · · Score: 2
    It's discouraging that it takes 917 pages to explain Swing. Swing was supposed to be a lightweight GUI toolkit. (For that matter, MFC was supposed to be a thin layer on top of the Windows GUI). A 4-page plastic coated cheat sheet for Swing might be more useful. If a 4-page cheat sheet can't cover more than 90% of the things one usually needs to do in GUI coding, the package is badly designed anyway.

    I tried Swing once, but discovered it was both slow and not yet widely deployed in browsers. But that was six months ago. Have things improved?

  34. Re:Hasn't Java had its day? by roman_mir · · Score: 2

    CGI is the IT larva stage.
    Today if you want to make your web service scalable and accessible by thousands and later by millions of customers your solutions can not be implemented as CGI.

    To do heavy enterprise work n-tier solutions must be used. Enterprise Java Beans (EJB) for example used by Amazon (BEA Weblogic EJB server)

    EJB servers allow scalability, session and transaction control, load balancing application management etc.

    The era of CGI's was great, but CGI can not satisfy massive increase of usage.

  35. Re:Is Anybody Really Using Java? (Honestly!) by zettabyte · · Score: 2

    In deed, sir. ;-) I've built the following with Java: CORBA wrapper around a legacy app (speaking sockets) for integration into C-based CGI code. (yes, that's C based CGI scripting. yuck!) Inventory management app for Bell Atlantic (initial rollout was 500+ users in various sites). Note: The app was in swing and a bit sluggish, but that was because their deployment machines turned out to be P100's rather than the minimum P166s in the requirements doc. EJB based app for a small Silicon startup (through design and prototype). Data entry app on a handheld device running 95 and various CE based devices (going to beta in a few weeks). So since my C days (which were post Perl), I've been involved in several Java based projects. All have been successful (read: they were deployed and are still in use). Now don't get me wrong. I HATE Swing. I think it's buggy, slow, and stupid that when I run a swing app on Linux, it looks like SH*T (e.g., a motif window in Enlightenment). Anyway, I'd much prefer all my apps have the same look and feel on the desktop. But that's me. Recently I've been developing a web based product using JSP/Servlets. I think that this is where Java truly shines. Middle tier. Low performance requirements (relative to gaming). Business logic intensive. No GUI. $.02

  36. Re:claims != reality by BrerBear · · Score: 3

    How about Oracle's entire apps suite, as well as most of its other products that have complex front ends.

    Its popular Developer tool also deploys all of its former platform-specific client-server apps to the web via Java with a recompile, and that's got lots of customers using it.

    Fact is, Java is widely used for applications staged in corporate intranets. Just because you aren't using applets as you troll sites like Slashdot doesn't mean you have any grasp on "reality".

  37. Re:Hasn't Java had its day? by MosesJones · · Score: 3


    Umm, websites that use Java, thats a tough one, after all CGI is such a scalable tool... http://java.sun.com long shot that one... http://www.clip2.com/ is another one, and the list goes on.

    Java is far from a dead language but many people see it as being it or CGI. It isn't Java is an _application_ language. Projects I have worked on have tended to have very thin client sides with Java running on a big piece of iron out back.

    Java is far from dead, HTTP and Web-browsers however are a very poor means of communication and IMO will probably die in the next few years.

    For cool toys in Java go to http://www.alphaworks.ibm.com

    In summary Java is a commercial application language that makes it simpler (its no silver bullet mind) to develop larger scale projects and deploy in a number of enviroments.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  38. Java in Industry. by Carnage4Life · · Score: 3

    can anyone point me to a real-world application or website that actually uses Java? I mean properly, not just a tiny applet showing the time or something.

    Off the top of my head, let me see Mail.com uses Java to serve its pages. Does Oracle's new Enterprise database count?

    And from Sun's page of industry news, we have companies like RSA, Oracle, Netcom, SAAB, Delta Air etc. using Java in mission critical situations on a daily basis.
    Posts like this make me wonder about who composes slashdot's readership. Because only script kiddies and so-called web developers (HTML and javascript kiddies) use Java as a web app language. Also no one in his right mind uses Java for GUI development if the application has any degree of complexity. But as a middleware development language it is practically untouchable. When it comes to speed of development, maintainability and expandability for business applications few things beat Java. Add a native GUI or web interface depending on your application and a rock solid app has been created.

    PS: Myth dispel mode Oh yeah, by the way Java pages are faster or at the very least as fast as CGI, it has to do with being memory resident a la the VM as opposed to being read from disk. Here's a benchmark and a link or two.

  39. Re:Hasn't Java had its day? by jallen02 · · Score: 3

    I used to deride java and say java is crap, its a heavy evil beast. Java suck, I am not learning this blah blah blah. Then I took the time to download the SDK and just play with it. It "IS" a bit bulky still but I am fairly impressed overall with java... It has some nice things running around that make it more RAD than C++ and for nice business applications and non performance oriented programming (Gaming being performance oriented fill in a text box and do some calculations business apps being non performance) I am really beggining to appreciate what java can do.

    I would even consider using it and what the hell. Learning this is NOT so bad actually, all of the concepts play with C++ ways of thinking so well.. so you are maybe at a loss of a couple of months of good studying at worst if you learn this. I know that is a lot of time for some.. But I dont think its gonna 'crash' and burn on a resume.

    The thinking is much like C++ and If you aren an OO guy aching for a decent RAD language that has reasonable sane syntax and all the fun reusability of OO Java is it, and java is backed by a big company, there is even a microsoft product for it. Java was a LOT of hype, now that its calmed down I am seeing it does have a place and I happen to like this place :)

    I dont know how much most people have noticed but lots and lots of VB shops (one I contract for included) are turning to Java just for windows platform because its a lot more sane than VB. This is kind of cool since it means these apps can migrate to Linux nearly painlessly.. Fight it all we want business is a factor in the computer industry and many application shops are looking to Java for a solution. Best to not get caught with yer pants down

    Jeremy

  40. Re:Is Anybody Really Using Java? (Honestly!) by roman_mir · · Score: 3

    Java (Enterprise Java Beans) is used by Amazon. (BEA Weblogic EJB server).

    I believe Java is used on the server side more than ever before. I see multiple ecommerce services thriving upon EJB technology.

    Swing is of-course used on the client side but not heavily at all. It's mostly the control app's, custom made applications for companys' intranets. Whenever you want more control over your basic DHTML capable browser and if you must satisfy multiple browsers you use Java. The $100 question is are there that many browsers that are not IE out there (except for Linux/Unix/Mac users of-course) Well, Netscape has seing constant decline in PC world, that's just too bad. Opera or c-monkey browsers and other clones are invisible to the public so majority controls are built for Windows. This does not mean that Java is not used because it's bad it means that Java is not provided by those services that only target PC systems.

  41. Book Available Online! by Atheist · · Score: 5
    Go to the Swing homepage:

    Available in HTML and (gasp!) Word format...