Slashdot Mirror


XML and Java, Developing Web Applications

WrinkledShirt writes: "There's a whole lot of posturing going on in the world on Internet programming right now, and with all of Microsoft's slick marketing for .NET there's never been a better time to remind the industry which platform got it right first. Enter XML and Java, Developing Web Applications (2nd Ed.) , a book that promises to show just how much of a heavy-hitter Java still is in the enterprise world. Because of the variety of technologies available for Java, Addison Wesley took the approach of bringing in a bunch of experts in the field to cover the different ways that Java and XML can work together. Considering the effort that went into coordinating this collaborative work, it couldn't possibly miss, right?" Read on to see how true that is, in Wrinkled's estimation. XML and Java, Developing Web Applications (2nd Ed.) author Hiroshi Maruyama, Kent Tamura, Naohiko Uramoto, Makoto Murata, Andy Clark, Yuichi Nakamura, Ryo Neyama, Kazuya Kosaka, Satoshi Hada pages 661 publisher Addison Wesley rating 6.5 reviewer WrinkledShirt ISBN 0-201-77004-0 summary An ambitious book, covers a fair amount of material, but lacks continuity.

Unfortunately, they might have put a little more thought into the bigger picture with this approach, because what they have ended up with is a book that reads like a play with two completely different acts: the second showing a wide variety of applications of XML for the Java platform, which works well enough, and the first, which attempts to teach the basics of working with XML and Java, which isn't quite so strong.

The Good

One look at the table of contents should convince you that the book rates pretty highly on buzzword compliance (XML, DOM, SAX, SOAP, XLST, WSDL, UDDI, JSP, EJB, etc.). When it comes to content that should impress your manager, you could do worse. The accompanying CD-ROM also comes with some neat stuff, like Tomcat, Jakarta and Xerces, and trial versions of WebSphere and DB2. As an added bonus, the code within has been tested on both Windows and Linux.

For the most part, the progression through the topics is well-directed, with in-depth discussion about the different means of XML parsing and generation using both DOM and SAX early on, and after going through the early chapters the reader should already have a decent idea about what techniques might fit their own personal projects. Tamura's chapters on DOM and SAX in particular stand out, not just for the coverage he gives the two, but also for his comparisons of one versus the other. They serve as a decent enough primer to prepare for the latter chapters, although the reader might be better equipped if they gained some extra foundation from other sources (more on this in a bit).

Despite the breadth of topics, they don't throw in the kitchen sink. Readers are expected to get their introductions to XML and Java elsewhere, and while one can probably get away with a surface understanding of XML and still get what they need out of the book, the same cannot be said for the needed Java knowledge. However, for someone who has a good understanding of Java and the various surrounding technologies (JavaBeans, Java Server Pages, and so on), there's some pretty good coverage of the different ways that XML can be incorporated. They've even taken care to provide appropriate supporting material, talking about where the various standards may be headed, some coverage on the theory behind Schema design, and there's even an appendix that explains JDBC, to serve as a counterpart to the chapter on XML and databases.

This book is in many ways an example of the way second editions should be. This book has double the chapters of the original, and efforts have been made to cover as much additional (but still relevant) material as possible, including XML Schemas, namespaces, messaging, web services with SOAP, and security. Some of these topics were in the first edition, but bunched together into a single chapter. In this book, they get individualized treatment.

The Not-So-Good

It's a hopeful endeavor to bring together nine authors and expect that there can still be stylistic continuity, and this book is a good example of what happens when the editor doesn't lay a heavy enough hand. There are inconsistencies from one chapter to the next in the way code snippets, method lists and diagrams are incorporated (in particular, the use of line numbering by Uramoto and others is unintelligible to the point of inspiring wrath). Furthermore, because each author handles their subject matter just a little bit differently, it's hard to get into any sort of a learning rhythm. In this case, the whole is probably weaker than the sum of its parts. A good section, like the one contributed by Tamura for instance, loses some of its luster if the chapters preceding it or following it aren't up to snuff, as is sometimes the case throughout the book.

To be fair, things do improve in the latter chapters when the authors are focusing on more specialized cases, and such expectations of continuity become somewhat moot. However, even then, the authors obviously have different opinions on how steep the learning curve needs to be. The chapter on JSP, for instance, eases you in and begins with simple examples, despite the fact that embedding programming code within HTML is pretty intuitive, comparatively speaking. The chapter on WSDL, on the other hand, makes no such assumptions of a beginner's audience, and it's trial by fire, with long stretches of code and in some cases nary a comment in sight. It's understandable that talking about distributed programming necessitates long code listings, but a newbie is going to experience some serious hymen-breaking here.

If there is any consistency, it's a pretty clear editorial bias towards Xerces over JAXP early in the book, including a special chapter on parser tricks specifically for Xerces. No real surprise there, as several of the others have been key contributors to IBM's open source project. Still, it's poor form to be using the pages of a learning guide to talk smack about one over the other, if for no other reason than the fact that it becomes a distraction to somebody who's trying to learn with an open mind towards all the possibilities. If a comparison is absolutely necessary, it deserves its own chapter away from the rest of the learning material. This brings up another problem, in that by mixing JAXP and Xerces techniques together early on, you run the risk of overwhelming a neophite who'd be glad to figure out just one way of doing things. There's already a marked difference between DOM and SAX parsing, and doubling this with the duality of JAXP vs. Xerces makes for an introduction that's a little too busy.

Also, what was mentioned in the previous section as one of this book's strengths is also a bit of an audience-limiter. If you try coming to this book without a solid founding in Java, there's a decent chance you'll find it difficult to get into this book. People who are already soured on Java will likely find their distaste further entrenched, and it's doubtful that anything beyond the most conceptual of the subject matter will be portable.

Conclusion

There's something to be said for bringing in the biggest authorities in the field to present a subject -- however, it's one thing to know a subject and another thing completely to know how to teach that subject well. John Madden once said that the best teachers are the ones who got C in school because they're the ones who best understand the intellectual bumps and bruises that can come from learning a new subject, and can help prepare and guide a student through them. There are no C students in this bunch -- readers are left to their own devices to keep up with the authors and fight through the numerous obstacles to get at the core knowledge within, which is admittedly impressive enough. Far be it for a lowly Slashdot contributor to tell the folks at Addison Wesley how to do their job, but on a third edition they might want to put the material through a stronger editorial filter to make things a little easier on the reader. This is definitely a book to preview in the bookstore very carefully before considering a purchase.

Table of Contents Preface.
1. Web Application, XML, and Java.
2. Parsing XML Documents.
3. Generating XML Documents.
4. Working with DOM.
5. Working with SAX.
6. Parser Tricks.
7. XPath and XSLT.
8. Bridging Application Data Structure and XML.
9. Working with Schemas: Datatypes and Namespaces.
10. XML Application Server.
11. XML and Database.
12. XML Messaging.
13. Web Services.
14. Security.
15. Data Binding.
16. Principles of Schema Languages.
Appendix A. About the CD-ROM.
Appendix B. Useful Links and Books.
Appendix C. XML-Related Standardized Activities.
Appendix D. JDBC Primer. Related Links Addison-Welsey website
W3C's XML page
Sun's Java page

You can purchase XML and Java, Developing Web Applications from bn.com. Slashdot welcomes readers' book reviews -- to submit yours, read the book review guidelines, then visit the submission page.

290 comments

  1. Hey old timer by Aliks · · Score: 0, Troll

    Come on Grandad, tell us what it was like in the 90s before .NET was invented.

    I bet you know some stories about that old time JAVA they used to use.

    Cut to picture of JAVA hackers face down in the dirt with arrows in their backs. . . . .

    1. Re:Hey old timer by AppyPappy · · Score: 3, Funny

      Kids:"Grandad, what was .NET like?"
      Gran:".NET? Never heard of it. It never existed."
      Kids:"But Grandad, we found a book in the attic and...."
      Gran:"You NEVER found that book. DO YOU UNDERSTAND? It never existed. We have always loved .MSX and there has never been anything but .MSX. That's the Word of the Gates"
      Kids:(disappointed)"Thanks be to Gates".

      --

      If you aren't part of the solution, there is good money to be made prolonging the problem

    2. Re:Hey old timer by alienmole · · Score: 2

      If you're enough of an old-timer, you'll know that the .NET hackers will be face down in the dirt with large-caliber bullet holes in their backs soon enough - just as soon as Microsoft comes up with the next strategy du jour, just like all the poor VB programmers who were put out to pasture with VB.NET.

    3. Re:Hey old timer by Anonymous Coward · · Score: 0

      Ya, thats right VB programmers are right out of luck now. Idiot. Run along now, grade ten math is starting soon.....

    4. Re:Hey old timer by Anonymous Coward · · Score: 0

      It's true that VB programmers aren't "out of luck". We can migrate to VB.NET if they wish.

      But lots of us don't wish to. Speaking only for myself: I've had it. There used to be unique capabilities that VB offered on Windows platforms. Now there isn't, and it makes just as much sense to move to C# as it does to move to VB.NET (other than direct ports of existing VB6 projects). But if you're moving to C#, why not go ahead and move to Java? Similar learning curve and we're no longer tied to Microsoft's mode of reinventing everything every two or three years.

      I've been with VB since version 3. I was all prepared to move on with .NET as well... until I found out all the .NET tools won't work on my home Win98 machine. Microsoft demands I upgrade my machine OS... too bad my current box won't run Win2000 or WinXP, and some of my software won't run under NT. And since the industry crash, I don't have money to spare to upgrade a box that is running everything else I want just fine. So rather than yet again tithing to Microsoft by upgrading everything, I just switched to Java and everything's running just fine.

      So, no, VB programmers aren't out of luck. But lots of us are out of patience, and are tired of sending Microsoft more money for the "priviledge" of climbing yet another learning curve. Feh.

  2. XML And Java.. by iONiUM · · Score: 2, Interesting

    Because Microsoft is trying to drop Java, and Sun isn't driving it as hard as it used to, I personally don't view Java as a viable solution for web development anymore. Java had it's place, but I think it's no longer fast enough for current practices. I think PHP or another webside language/scripting language would be more beneficial at this point than using Java, and certainly easier to intereface with XML from what I've seen. In fact, with HTML servers these days there's already native XML/XSLT support, making server side scripting/applications not even needed in some cases.

    1. Re:XML And Java.. by foobar104 · · Score: 3, Informative

      Sun isn't driving it as hard as it used to

      Where did you get that impression? I don't mean that rhetorically; I'm relatively new to Java development, having just started working with it about a year ago. What makes you say that Sun isn't driving Java? Just this winter they pushed out J2SE 1.4, and a beta of 1.4.1 is available now. Seems to me as though Sun is doing as much Java work now as ever, at least in my limited experience.

    2. Re:XML And Java.. by jaaron · · Score: 5, Insightful

      Sun isn't driving it as hard? What planet are you on? Sun just finished a complete rehaul of the java.sun.com site. Java is still very alive, though it may not be getting the press it once did.

      PHP is very nice, and very easy to use (especially compared to J2EE), but if you're doing some serious heavy enterprise/distributed application work, then it just doesn't cut it. I've been working in enterprise java applications for about a year and a half now and I've found that most developers who aren't very familiar with java have no idea how powerful it is, how much it is used, and how much support there still is for it. Of course Microsoft is trying to drop java, it's been one of their key targets for years. Now that they're trying to drop it on the desktop, people start to think that java is dead. Well, server side it sure isn't and it has quite a bit of headway on the newer .NET technology.

      That's not to say java is perfect and will never be replaced, but it's still a player now and to just dismiss it is to make a gross mistake.

      --
      Who said Freedom was Fair?
    3. Re:XML And Java.. by Anonymous Coward · · Score: 1, Informative

      I am sorry, but this poster has aboslutely no idea what he/she is talking about. Java will continue to be not only a heavy hitter, but the heavy hitter in the years to come for the following reasons:

      1. Momentum. I don't know if this poster has noticed, but most large organizations build big things have seen J2EE as the only to go for sometime. Therefore, Java already has a very large chunk of the market today. Those applications will continue to be developed and expanded in the years to come.
      2. Cost. The cost of developing and deploying a Java solution can be done with siginificantly less dollars that those based on proprietary technologies. I develop applications daily that could not be done in PHP, it's just that simple. It doesn't scale or provide the advanced facilities (i.e. JTA, JMS, advanced resource pooling, clustering) that our applications require. When you compare cost apples to apples, Java wins hands down. I can deploy a completely clustered app and pay NOTHING for licensing fees (Apache, Tomcat/Jetty, Java, JBoss) other than for the database.
      3. Platform elegance. Like it or leave it, the J2EE is a very nice development platform. Could it be better? Heck yeah! Is it very nice as is? Heck yeah!

      There are a whole range of other reasons, but I need to get back to real work. This poster has obviously never used Java, and, probably, never developed much more than his/her personal web site the pictures they snapped of their buddies last weekend.

    4. Re:XML And Java.. by avandesande · · Score: 1

      I hate to feed a troll but go to any job site (hotjobs, dice) and do a search for jobs for java, and a search for .net jobs. You will get hundreds for java, and just a fraction for .net. Maybe my idea of viable = employable, I don't know about you.

      --
      love is just extroverted narcissism
    5. Re:XML And Java.. by Matt2000 · · Score: 5, Insightful


      This comment doesn't make any sense. Compare PHP to JSP if you must, as both are front end languages that can do everything, but you'd be foolish to use them to do so.

      Writing a larger scale web application in PHP would be a very bad idea, and until you've done one I doubt you'd see why.

      --

    6. Re:XML And Java.. by avandesande · · Score: 1

      You can substitue PHP, perl, whatever for .net in this case......

      --
      love is just extroverted narcissism
    7. Re:XML And Java.. by foobar104 · · Score: 3, Informative

      PHP is very nice, and very easy to use (especially compared to J2EE), but if you're doing some serious heavy enterprise/distributed application work, then it just doesn't cut it.

      Agreed, 100%. We showed a web application demo at a recent trade show. The demo was written (by me) in about two weeks, using PHP and a custom-written interface to our proprietary database back-end. It worked fine... for the demo.

      But we're implementing the real, non-demo application using J2EE technologies. There are a lot of things that you can do better-- more securely and more stably (is ``stably'' a word?)-- with Java and J2EE than you can with PHP, and there are a few things that you can't do with PHP at all. For example, one of the features of our web app would be that it opens a socket listener, then passes the IP and port of the listener (via a separate control socket) to the back-end. The back-end connects to the web app's listener socket and initiates a bulk data transfer. It works pretty much the same way FTP does, if you're familiar with the guts of that protocol.

      As of last March, that simply was possible with PHP, as near as I could tell. You could open sockets to other computers, but you couldn't open a socket listener inside a PHP script instance. That's not cool, because using the web app to facilitate bulk data transfers between the back-end and the desktop is a major design feature for us.

      And, of course, when you're working on a complex, distributed app with lots of components, the ``bondage-and-discipline'' features of Java come in handy. It's nice that non-exception-safe code won't even compile. Saves you time in test and debugging.

    8. Re:XML And Java.. by jsse · · Score: 1

      Just this winter they pushed out J2SE 1.4, and a beta of 1.4.1 is available now

      Yeah, seems that they're really taking efforts in it.

      I always thought IBM's jdk 1.3 is the fastest(without any optimization) jvm around, until Sun's JDK 1.4 comes out. It's amazingly fast.

      Run your apps with this new jvm and you'll see the different.

    9. Re:XML And Java.. by FortKnox · · Score: 1

      Plus regexp in 1.4 makes it more powerful.

      Lets not forget the new EJB2.0. Lots of cool stuff in there to play with (like new remote exceptions that embed the nested exception, and you can retrive the nested exception).

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    10. Re:XML And Java.. by oops · · Score: 2

      Java is absolutely huge. In the finance sector pretty much every single large institution uses it as a strategic language.
      Go to JobServe and see how many jobs are requesting Java. Go to JobStats and see how much demand there is for Java. Admittedly the demand is down from a year ago, but that's across the board. Note that these are UK sites, but I don't see a geographical dependency.
      Pretty much every IT consultant I know is concentrating on Java, and most of all in the J2EE and XML sectors. That's where the development work is here.

    11. Re:XML And Java.. by dark_panda · · Score: 2

      FWIW, PHP now has a pretty complete sockets extension, complete with INET and UNIX sockets and even a call to select(). The extension is still labelled "experimental", but I've been using it for almost a year now without much of a problem. I believe the extension should be marked as stable with the next release of PHP.

      J

    12. Re:XML And Java.. by ajm · · Score: 2

      Slick signature line. Now that's what I call gaming the system.

    13. Re:XML And Java.. by javacowboy · · Score: 2

      I personally don't view Java as a viable solution for web development anymore. Java had it's place, but I think it's no longer fast enough for current practices. I think PHP or another webside language/scripting language would be more beneficial at this point than using Java, and certainly easier to intereface with XML from what I've seen.

      PHP is nothing but a server-side scripting language. Don't get me wrong, this can be all that's needed for many web projects, but for enterprise-level web applications, it's totally insufficient. Furthermore, it's a scripting language that needs to be in the same file as the HTML code. This means the web designer and web developer will constantly be stepping on each other's toes. AFAIK, there are no hard-core object-oriented features in PHP.

      Java, on the other hand, allows you to compartmentalize your HTML code, servlets, and server-side processes. It's much cleaner. Java's object-oriented, so it's far more maintainable than procedural code. Furthermore, it allows further encapsulation of different components of your application, components and code that can be reused across different applications and projects. For example, if you want to perform complex mathematical calculations, you can simply put these into a class and place that class into your general libraries, to be reused in another project.

      We currently use XMLC, a set of tools that allow HTML pages to be converted into Java classes. These classes can be manipulated by servlet code, and finally changed back into HTML output to the browser. This allows a great deal of flexibility, and absolutely NO worries about parsing HTML. It's all done automatically. PHP doesn't offer that kind of functionality.

      Servlets can be subclassed from the most general dynamic page-loading functionality to more complex, application-specific dynamic functions. PHP doesn't have that kind of functionality.

      Furthermore, Java has a rich set of libraries for XML processing, whether you're using DOM or SAX. There are complimentary libraries such as Xerces and XMLC that provide even greater functionality.

      Java and J2EE offer a wealth of tools for true, large-scale, enterprise application development. PHP does not, at least, not yet.

      --
      This space left intentionally blank.
    14. Re:XML And Java.. by Anonymous Coward · · Score: 0
      Compare PHP to JSP

      Then compare them both with XSP - the choice is obviously for XSP.

    15. Re:XML And Java.. by thetman · · Score: 1

      "Those applications will continue to be developed and expanded in the years to come. "
      Likely, but not guaranteed. Present existence does not guarantee future existence.

      "When you compare cost apples to apples, Java wins hands down. "
      Not against Microsoft it doesn't.

      "Platform elegance" .Net wins.

    16. Re:XML And Java.. by axxackall · · Score: 1
      Therefore, Java already has a very large chunk of the market today.

      And most of this market is either already troubled or it's gonna be troubled soon. Thanks to expensive Java.

      Cost. The cost of developing and deploying a Java solution can be done with siginificantly less dollars ...

      ... comparing to Python? I don't think so.

      Platform elegance. Like it or leave it, the J2EE is a very nice development platform. Could it be better?

      Yes, it could. Java is a statically typed language. Therefore, any dynamically typed OO language is more elegant - i.e. Python, Common Lisp.

      --

      Less is more !
    17. Re:XML And Java.. by foobar104 · · Score: 2

      Then compare them both [PHP, JSP] with XSP - the choice is obviously for XSP.

      Unless, if course, you want to be able to read your code.

      I'm astounded by people who think XML is an acceptable language for writing code or documents. Just as writing in pure HTML is only for the gearest of the gearheads (myself included), writing pure XML, or XML with embedded logic like XSP, is painful in the extreme.

      It's really getting to the point where XML and its derivatives are write-only formats, suitable for machine-to-machine communication only. Hell, even Ant pisses me off with its XML syntax for makefiles. I miss make. :-(

    18. Re:XML And Java.. by mark_lybarger · · Score: 3, Interesting

      I think PHP or another webside language/scripting language would be more beneficial at this point than using Java...

      sure, if most web "sites" needed only to use server side scripting, that would work great. infact, serverside javascript works great, and maybe asp does as well. the fact is though, many companies are building web applications, not web sites. these web applications need to communicate with other web and legacy applications (that's where the ejb app server and xml bring it all together). jsp, with all it's ease of use is just icing on the cake. also, these applications need to be scalable, redundant and failover safe. is the architecture bloated? possibly. is it a LOT to learn? seems that way. right tool for the job? most often, yes.

      not that i'm a big fan of web applications in and of themselves, but lots of companies are moving in that direction. the user interface is extremely limited, the protocol is stagnant, and forced upgrades (re-trainning staff to use the new applicatoin) are aren't an issue, they are mandatory.

    19. Re:XML And Java.. by --daz-- · · Score: 1

      JDK 1.4 seems like a catch-up. They finally included XML support in the core JDK and they finally have DOM support (instead of just SAX).

      At least now Java doesn't look quite as embarassing against .NET's framework class library.

    20. Re:XML And Java.. by angel'o'sphere · · Score: 3, Interesting


      Java had it's place, but I think it's no longer fast enough for current practices. I think PHP or another webside language/scripting language would be more beneficial at this point than using Java, [...]


      You could not be more wrong.

      The only thing wich is faster than Java as a web application is a monolithic C++ application with an build in web server.

      Or -- of course -- the same in C.

      Precompiled and cashed perl scripts may come close to it, depending on the purpose of the web app. But perl scripts have no way to pass objects of internal data from one script to the other. However a big perl application in OO style might/should be able to do that.

      Look here for easy scripts and a speed comparision of e.g. PHP versus Java (note: that is not Java 1.4): http://www.bagley.org/~doug/shootout/

      This side benchmarks explicitly web sites: http://www.cs.rice.edu/CS/Systems/DynaServer/index .html

      regards,
      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:XML And Java.. by thetman · · Score: 1

      Any predictions on the results of that search one or two years from now??? :)

    22. Re:XML And Java.. by iONiUM · · Score: 1

      No doubt that web applications are now becomming the more mainstream. However, if that was the case (ie. having to make a web application and not being able to use server side scripting) then I think that .NET would be my choice over Java.

    23. Re:XML And Java.. by Anonymous Coward · · Score: 0

      Heh. You fell for it too?

    24. Re:XML And Java.. by mark_lybarger · · Score: 2

      jsp on the UI side of J2EE does all but replace server side scripting. it allows developers to develop applications, and leaves gui designers to build the ui.

      what exactly are the advantages you see that .NET has over the J2EE architecture?

    25. Re:XML And Java.. by Anonymous Coward · · Score: 0
      "Those applications will continue to be developed and expanded in the years to come. "
      Likely, but not guaranteed. Present existence does not guarantee future existence.

      You'd be correct if this was a discussion about Kant's views, but when talking about large companies doing development you're ignoring reality. There's no reason to expect Java to go away before Cobol, and there's still no shortage of Cobol projects.

      "When you compare cost apples to apples, Java wins hands down. "
      Not against Microsoft it doesn't.

      There's no way to run a NET server without paying Microsoft a fair amount of money for both production and development. Java can be used without paying anything to anyone. 3rd party commericial libraries cost the same, but there are far more available for Java. You're talking out of your ass.

      "Platform elegance" .Net wins.
      Admit it, you've never used Java or .NET.

    26. Re:XML And Java.. by Morpeth · · Score: 1

      Given how new the .NET framework is, and since there's always a lag between release and large scale implementation - it's no wonder you'd see more Java listings, give it time it will change. I've worked with Java and VB/ASP, and as far as web development goes... I'll VB 6.0/ASP 3.0 & VB.net/ASP.NET over Java/JSP any day. I know there's a lot of anti-MS sentiment here (some of it for good reason, some just knee jerking) but they have done some amazing things with .NET, and I've only just seen the tip of it.

      --

      'The unexamined life is not worth living' - Socrates
    27. Re:XML And Java.. by Anonymous Coward · · Score: 0

      Yeah, OK, in fact I have done several large scale applications in PHP and it works great. One for a very large accounting firm that involved a very complex search mechanism on financial records. All done with PHP and Oracle, and all works great.

      Nothing against JSP or Java, and you point out correctly that PHP and JSP is a better comparison, but each has strengths and weaknesses, like anything. The correct tool for the job.

      Personally I prefer JSP but ONLY when done correctly with beans where there is NO LOGIC in the presentation, that sucks. Most JSP implementations are not done with beans and or MVC and are usually far sloppier than anything else on earth (well, other than Perl crap).

      Java is cool as hell, but there is no reason to pick on PHP. Its in the IMPLEMENTATION that you have run into PHP problems, if you have. PHP can be written to also TOTALLY separate presentation and logic and be totally OO.

      Just because YOU suck at it doesnt mean PHP sucks.

    28. Re:XML And Java.. by Anonymous Coward · · Score: 0

      um, yeah ill take your word for it, lan boy.
      until it works on sun and ibm power4 machines.
      70% of corporate data are on REAL platforms(highe end machines and mainframes) not toy platforms.

      stick to LANs

    29. Re:XML And Java.. by SpaceJunkie · · Score: 2, Interesting

      And if you are building a monolithic C++ app, then you might as well use the portable GCJ and compile your java into native code. This means java is comparably as fast(if not faster with fewer bugs etc) as the C/C++ app.

      Of course if you were that worried about speed, you would hand-assemble the lot- but who here has hand assembled server apps? I certainly wouldnt like to try.

      As for PHP vs Java - I am sure both have their applications.

      I am opposed to .net because of the MS affiliation. Other, non MS implementations of similar concepts are not a problem. In this case, I will not dispute the capabilities of the languages/platform itself but the political/corporate agendas behind it - which is an entirely different issue- and should always remain so(ref the Halloween documents- I cannot be bothered to dig up the URLs so get of yer /. behinds and find it yerselves).

      --
      OrionRobots.co.uk - Robots From sol
    30. Re:XML And Java.. by SpaceJunkie · · Score: 1

      Umm- I agree that some of the statements made above were not entirely well founded as there are possibly cheaper alternatives to java. But your simple statement "Not against Microsoft it doesn't." instantly puts you in the troll category. At least give some backing or proof behind such a claim.

      As for not guaranteed- there will be jobs in java development for a long time, for the same reason that there are still jobs for Cobol- yes COBOL programmers. It may be old, it may be obsolete- but it was well bought up and is completely ingrained. Systems of the size to serve corporate systems(intrAnets anybody?) are not easily replaced. Maintenance and extension is much more viable and welcome.

      --
      OrionRobots.co.uk - Robots From sol
    31. Re:XML And Java.. by Anonymous Coward · · Score: 0

      have you tried doing anything complex with PHP? I love PHP to death, but in developing my site with it I've come to see some of its limitations. I shudder to move into EJBs but how else can you manage persistance successfully? Right now, my PHP site is structured where every page load has to instantate several objects for Session, Page, Customer, and Order by querying the database, updating the session, and manipulating the Customer and Order information into the database. I use MySQL, so stored procedures aren't an option , but I'd rather not use them to try to map user data --> application data --> storage data anyway I'd love to find another persistence and logic layer besides EJBs, but don't know of one. It's a bugger to try to do it in PHP.

    32. Re:XML And Java.. by Anonymous Coward · · Score: 0

      > Just because YOU suck at it doesnt mean PHP sucks. I'd have to agree; the company I work for has done a lot of PHP and has made some very large-scale sites with it, and none of them consider it to have been a bad idea

    33. Re:XML And Java.. by Ramshackle · · Score: 1

      How many times do you people have to be corrected on this to get it thru your thick skulls? Microsoft dropping Java only has to do with client-side Java. It has exactly zero to do with server side programming, which is what the book is about.

      Java is alive and well. It is still the platform of choice for web development.

    34. Re:XML And Java.. by Anonymous Coward · · Score: 0

      Why does XML parsing have to live in the core SDK? Some would say the JDK is bloated already without adding yet another XML parser to the already crowded Java XML parser market (certainly crowded compared to the number of parsers available for .NET). I would rather Sun didn't include a parser and let guys like Apache build them and just include an API like JDOM that eases XML programming, and lets the programmer use whatever parser he/she wants behind the scene, because at the end of the day, the programmer only worries about the API and not the parser.

      And try programming with a Java specific XML API like JDOM versus SAX or (especially) DOM. DOM is an unweildy beast (try getting a print out of a DOM_Document in C++). And SAX breaks down when processing complex documents (although it's great for simple ones). Even using JDK 1.3.1, NO platform provides more XML support than Java at this time.

    35. Re:XML And Java.. by Anonymous Coward · · Score: 0

      I just replied to the troll above myself, but you do know that PHP has a function called include() -- that is much more efficent than similar offerings in java (actually, implementing your own file reader is more efficent than java's offerings), but with php, include() or require() is a feasable way to import functionality as well as HTML.

      for example:

      require("myLib.php");

      will nicely separate your content from code. You can even use your own custom taglibs, as long as you use the php "namespace"

      This could be a substantial performance hit, if it weren't for compilers like zend that preprocess and cache your code. Then you can use functions like require_once() to save the overhead of multiple loads. The real drawback is that there is no easy way to persist your data, so that you have to recreate session state with every request, unless you want to try to wrap your data in code and count on zend to cache it (not fun, trust me) this is where java pulls ahead of php, that, and there is a much larger developer base so many more useful libraries.

    36. Re:XML And Java.. by crucini · · Score: 2

      I work with Apache and mod_perl. We use the Apache::Session module for persistence. It can backend to files or a database. Caching some info from the database in the session is a tradeoff. It speeds up the app by reducing SELECTs. However there is a risk that the underlying data changes and the user sees the old data.
      In the case of an e-commerce app a while back, we cached product info for the items in the cart. What if a price changed between the item entering the cart and checkout? We agreed that the customer should pay the "old" price. However, if the item was no longer available, the customer would have to be told.
      The underlying mechanism of persistence is quite simple and can be implemented in any real programming language. I have no idea why anyone makes a big deal about it. Maybe I only think that because of the fluidity of Perl's data structures - it's a no-brainer for us to create arbitrary "trees" of data, serialize and deserialize them.

    37. Re:XML And Java.. by avandesande · · Score: 1

      I actually have been doing some prototypes with .NET and found it pretty much equivalent with JAVA. The 'amazing' part of .net is when you have to do some integration with a MS Windows service like Exchange or AD. Then the advantage over JAVA is clear (sorry JNI sucks). If you aren't integrating with MS systems then I have to favor JAVA. (Because of the number of tools, libraries, and OS implementations for JAVA)

      --
      love is just extroverted narcissism
    38. Re:XML And Java.. by --daz-- · · Score: 1

      The reason it's better built in is because it's consistent. Before it was built in (in the 1.2 and 1.3 days) you had a bunch of different parsers and a bunch of different versions of each.

      We had a project where we had Jetty, Apache Jakarta Struts, JDOM for our own stuff, and several other 3rd party libraries which I can't recall. All required a different version of Xerces and/or JAXP and they all seemed incompatibile. I remember spending 3 days trying to get our classpath just right so that everything was happy, and I don't recall ever succeeding. We had to pull all sorts of hoops and tricks to get it to work and I can't even remember how.

      You don't have those problems in .NET. a.) because XML is built in and b.) because of strong names and version-specific dependencies.

    39. Re:XML And Java.. by dawnsnow · · Score: 1

      XML is here to stay. But I guess java and J2EE will have some tough journey again .NET

      I see J2EE as some solid implementation similar to CORBA. But one of big disadvantage is the language. While there are maybe hundred other language project that try to create java byte code, other than jython I don't see any big suppor. Meanwhile, .NET already has C#, C++, Visual Basic, Perl, Python and etc. And those languages are hugely popular ones also (well... maybe not C# for now, but it will be..). I'm not sure how much you can do java stuff with J#, but you could say .NET has some level of java compatibility also.

      .NET is heading the way that once CORBA had dreamed of. Old CORBA vendors/developers are now doing J2EE instead. I don't blame them, since J2EE is much easy to do than CORBA. And maybe those shops will join .NET in the future. Of course MS doesn't provide .NET for UNIX yet, but we'll see what MS will do at LinuxWorld Expo.

      I think only way CORBA to survive is to implment something like .NET as CORBA 3.0 (or 4.0)

    40. Re:XML And Java.. by Anonymous Coward · · Score: 0

      I agree. I have spent the last six months working on a large web application written in PHP/HTML/Javascript and it is a frigging nightmare. Having used Java before (mostly at University I admit) I keep trying to convince my boss that Java is the better technology for what we are trying to achieve.

      To give you an idea of how badly suited PHP is to big projects, it has taken 18 months of devlopment on what was initially supposed to be a 6 weeek project.

    41. Re:XML And Java.. by Tablizer · · Score: 2

      (* Java is cool as hell, but there is no reason to pick on PHP. Its in the IMPLEMENTATION that you have run into PHP problems, if you have. PHP can be written to also TOTALLY separate presentation and logic and be totally OO. *)

      You don't need OO to scale nor to "separate presention logic blah blah".

      Good procedural/relational programmers can do all this as well or better than OOP.

      Show me a single example (in code) of OO doing these better than p/r, and I will show you bad p/r skills.

      Just because nobody cares about p/r software engineering techniques because it is out of style right now, does *not* mean it is not possible.

      There is no evidence to support most OO claims. It just has better cliches, that's all.

      oop.ismad.com

    42. Re:XML And Java.. by Tablizer · · Score: 2

      (* Right now, my PHP site is structured where every page load has to instantate several objects for Session, Page, Customer, and Order by querying the database, updating the session, and manipulating the Customer and Order information into the database. *)

      Use the database as your persistence mechanism. Agreed, this won't scale to ebay-size, but that is usually not the target audience anyhow.

      Store the screen "image" in the database, for example.

      I would tell you to also toss OOP, but there are already plenty of flamewars over that topic right now.

      I suppose which language/framework is "best" depends on programming style, application organization style, etc. Try both, and see which you feel the most comfortable with.

      I sense a paradigm shift to XWT-like technologies anyhow, so HTML/web-centric stuff will probably have to be mostly tossed anyhow in a handful of years.

      Fa la la la la, live for today.

  3. XML+JAVA=wait in line for job by Anonymous Coward · · Score: 2, Funny

    There's about 64 million people fluent in XML and Java, and approximately 4 jobs available (3 of which are already going to relatives). Good luck getting one--try the lottery, the odds are better.

    1. Re:XML+JAVA=wait in line for job by Anonymous Coward · · Score: 0

      There's about 64 million people fluent in XML and Java, and approximately 4 jobs available (3 of which are already going to relatives). Good luck getting one--try the lottery, the odds are better.

      mmkay? And your basing this on figures that you made up? Java is still quite the buzzword and there's lots of ogranizations using it as they realize exactly how powerful J2EE is for large distributed web applications. I've noticed quite a few places (such as where I work) moving from an MS solution to Java. I find it interesting that companies could be hiring so many Java developers and training existing employees to be Java developers when there are "4 jobs available."

      Don't try to confuse you're own uneducated opinion with fact.

    2. Re:XML+JAVA=wait in line for job by tyrione · · Score: 1

      There are about 64 million people who claim to be so and when you get right down to it there are still more jobs available than those 64 million folks can fill because its not true.

      Mostly, the java folks know jackshit about XML and only what they learn from the JavaONE conferences and the XML gurus don't have the desire to learn Java.

  4. Stored Procedures by ulbador · · Score: 1, Offtopic

    Java is the ONLY way to do efficient stored procedures in Oracle. PLSQL is nice for strict data chunking but anytime you need to do something useful like opening up a socket, Java is the way to go

    1. Re:Stored Procedures by maan · · Score: 1

      Socket in a stored procedure?? I'm very curious as to why you need to open sockets in a stored procedure? Weren't sprocs designed to be used as an intermediary between apps and the database? If so, why do open sockets to connect to other places from your sproc?

      (I don't mean to say that I'm right and you're wrong... But I'm actually interested in knowing why you do that...)

      As a side question: isn't java too slow to be used for a sproc? I've never used it for that, so I don't really know...I've just always found java slow.

      Maan

    2. Re:Stored Procedures by yintercept · · Score: 1

      PL/SQL gives you all you need for defining the business rules for an organization. Quite frankly for developing the core object model for a business, I would seriously consider using PL/SQL over Java. As for efficiency, I've had several thousand connections to a server and routinely ran operations on tables with 100M+ rows with more than acceptible performance from the database. IMHO PL/SQL is weak on string manipulation. It is not the best language for developing a presentation layer. The biggest downer of PL/SQL is the outrageous licensing fees you have to pay for ORACLE.

    3. Re:Stored Procedures by dr_l0v3 · · Score: 1, Funny
      You jest. I've just re-written some Java stored procs in pl/sql and got a 20x performance improvement.

      The Java is stored as bytecode which doesn't give DBAs the chance to review shitty developer code. Its also pretty hard to debug at 3am when something goes wrong (where is the stored proc code -- in the developers CVS repository somewhere). Java has no place in the database.

    4. Re:Stored Procedures by Methedup · · Score: 1

      Oracle? Do you know who is behind Oracle? If you want an insecure database system run by a notorious "Big Brother" you would go with Oracle. The president of Oracle recently got the "Big Brother" award for two reasons: first, for spying on customers using oracle, and second, for pushing the british government to use Oracle to document british citizens. Plus, the are several backdoors that can be found at New Order [neworder.box.sk]. Seriously, Oracle is not the way to go.

    5. Re:Stored Procedures by Anonymous Coward · · Score: 0

      are you kidding? Everything but the GUI needs to be done in stored procedures for efficiency and robustness. Go see the flamefest on the MySQL book review from a couple days ago to see. The poor MySQL defenders try to claim that some things (like stored procedures and transactions) could possibly be handled outside the database proper, and were kindly pointed out the error of their ways.

    6. Re:Stored Procedures by corey_lawson · · Score: 1

      Some server-to-OS/Server-to-server stuff is facilitated in Oracle with sockets, too.

    7. Re:Stored Procedures by Anonymous Coward · · Score: 0
      To say java has no place in the database is ridiculous. Would you rather do xml parsing with PL/SQL? because I wouldn't. For that matter, if you have to support multiple DB platforms, Java is great because it can be used for stored procedures on Oracle, DB2, maybe even MS-SQL.

      (sorry, but I hate using the name "SQL Server," it sounds so arrogant and unimaginative. How many dozens of DB systems use SQL? And who would want their RDB to return SQL instead of rows and columns when they query it (other than wacko, lazy, code-generating programmers like yours truly?) Clearly the work of someone with a poor grasp of English and strong delusions of grandiosity.)

  5. Did it ever fade out? by BFD_Jon · · Score: 0, Troll

    "...to show just how much of a heavy-hitter Java still is in the enterprise world."

    For me,I don't really need a book to convince me that Java is still a heavy-hitter. It has always been one the major languages to me; it was just two or three years ago that the thing actually had it's own comic book (JAVAMAN! Saving the day from bugs and viruses!).

  6. bah by Anonymous Coward · · Score: 0, Offtopic

    3l33t 0p3n S0uRc3 d00dz always have and always will use C!

    OO is just crap. The only people who care about speedy development are sell outs trying to meet a deadline for the man!

    And buffer overflows that are always a part of C programs are important becuase it keeps fascist sysadmins from keeping root power from the users!

    Java is just a tool of the man.

    Programming languages should be frozen in time like it's 1969 forever! C forever!!!

  7. Web Applications by SpatchMonkey · · Score: 0

    Unfortunately, a major problem with web application is the trade off between the too-simplistic HTML only model, and the too-heavy Java model.

    For example, take an HTML form. Let's say you had a few hundred choices for one of the textboxes on that form. It would be incredibly useful to be able to type in the few first letters of the text and press a button to search for all matches and display them in a selection box next to it.

    HTML is too simplistic to do that, even with Javascript extensions, but it would be an incredibly useful feature for a data entry application.

    Trying to use Java for it would mean .. well, using Java. Slow to load and slow to use, the trade off here is responsiveness.

    Until such basic input methods as forms can be made to work as well as traditional (client/server) based applications, web applications will fail.

    And XML? Big deal. There has been a standard format for data exchange around for years, and it's called 'CSV files'.

    1. Re:Web Applications by Anonymous Coward · · Score: 0

      i agree with you about web apps - using a decent GUI far better forms can be crated than are available with html.

      but csv, heh .. the beauty of XML is tree structured data. that is a step onwards!

    2. Re:Web Applications by foobar104 · · Score: 5, Insightful

      For example, take an HTML form. Let's say you had a few hundred choices for one of the textboxes on that form. It would be incredibly useful to be able to type in the few first letters of the text and press a button to search for all matches and display them in a selection box next to it.

      But that's hard in any language on any platform, unless your platform happens to provide you with a widget that does that for you. (ViewKit does on SGI. Don't know about any of the others, 'cause I don't do GUI programming very often.)

      I think you've got a valid point, but it doesn't justify your conclusion. In your example, you just need to redesign your UI slightly. A few hundred choices for a text box? Maybe there's a better way to present that to the user.

      Sure, the HTML interface platform has severe limitations. But it's going too far to say that web applications will fail because of them. It's just that web applications are good for only a subset of what native desktop clients are good for. But within that subset, web apps are very useful.

      My personal opinion on data entry, though, differs from the conventional wisdom. My girlfriend is a doctor so I've spent a little bit of time in hospitals. One time I watched a woman admit a patient. It took about five minutes, I guess. She was using an old-style forms-based data entry program on a text terminal, the kind where you fill out a whole screen of information and then send that screen to the computer downstairs for processing. She was incredibly fast, keying in a huge amount of data in just a few minutes. No messing around with clicky-clicky, no pulling down menus. Just type, tab, type, spacebar, type, tab, enter. Man, that was efficient.

      Instead of trying to force a web app to behave like a Windows desktop app, maybe you should look at some older programs that use the same sort of screen-based paradigm that web pages use, and design your interface according to those well established conventions.

    3. Re:Web Applications by Tomah4wk · · Score: 1

      Unfortunately, a major problem with web application is the trade off between the too-simplistic HTML only model, and the too-heavy Java model.
      Because Java servlets are designed for LARGE scale services, not simple interactive web sites.
      HTML is too simplistic to do that, even with Javascript extensions, but it would be an incredibly useful feature for a data entry application.
      If you are trying to do this, you probably have no concept of HCI and therefore have a badly designed data entry system.
      Trying to use Java for it would mean .. well, using Java. Slow to load and slow to use, the trade off here is responsiveness.
      You are confusing java applications with java APPLETS. All the great technology is on SERVER SIDE java services.
      And XML? Big deal. There has been a standard format for data exchange around for years, and it's called 'CSV files'.
      Again, you have no understanding of the technology. CSV is a format that says 'here is some data'. XML says 'here is some data, and a description of what that data means'. Please dont post on a subject you are obviously clueless about.

    4. Re:Web Applications by imta11 · · Score: 1

      You have a valid point about the forms being quick. The JSP/PHP/etc forms are for consumers that do not have domain knowledge, such as online shopping. Those interfaces change seaonally.
      However, the XML web service that is behind newer JSP technology will take us to the next level of data abstraction, where the user can specify how to view what data. It will be sick.

    5. Re:Web Applications by SpatchMonkey · · Score: 0
      It depends on what sort of data entry you're doing. In the example you cite, it seems that the user was well-versed in the system, and through using it frequently had become very efficient.

      For the casual user of such a system, things might be different. A lot of the jobs I took when I was younger were data entry, and starting off on most of them was very slow - I only picked up speed after learning to use the program and data well.

      Some were better than others though. I found the ones with the most comfortable learning curve had the following features:
      • Context-sensitive help
      • A key to browse the list of choices
      • A key to open up a query form based on the current input box
      After a while, I found I had to use such features less. But they were incredibly useful to start off with, and saved me from wasting other people's time with "how do I do this ..?" style questions.
    6. Re:Web Applications by Anonymous Coward · · Score: 0

      On the subject of HCI, the contrast on your website between the text and the background is too minimal for it to be easily readable. Please fix. Thanks.

    7. Re:Web Applications by stoolpigeon · · Score: 1

      You need to be on the other end of these kinds of systems.

      Learning curve- large. If you've got lots of turnover this can be a killer.

      Data Entry Errors- large. The more freedom the user has- the more ways they will mess it up.

      This woman (mentioned in another reply) is obviously an expert (and here we are assuming that she not only did it quickly but also correctly- you can't know that she didn't mess up address, phone, name, etc.) Many systems need to be built for non-experts. Or often it is way to critical that the user not even have the opportunity to get the input wrong.

      Your point is good and proves that every situation needs its own optimum solution.

      .

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    8. Re:Web Applications by MeNeXT · · Score: 2
      I never understood TAB to advance a field. I can never get it to work properly in accounting.It feels un-natural. Advance to the next feild should be Enter. You should see the productivity in accounting with well writen software. Your fingers never leave the number pad.

      I wathch these GUI based apps and god are they slow to work with. They take less time to learn but god forbid if you have a lot of transactions to enter.

      So I will agree with you except for the TAB issue.

      --
      DRM? No thanks, I'll just get it somewhere else...
    9. Re:Web Applications by foobar104 · · Score: 2

      I never understood TAB to advance a field.

      It makes sense to me, of course, because I'm used to it. But thinking about it in more depth, I guess it makes sense for a couple of reasons. First, ``tab'' on a typewriter sends the carriage to a different point in the line, where you can start typing something new. So using it to advance to the next field is a reasonable extension.

      Also, it makes sense if you consider that ``enter'' is specifically for sending the entire screen to the system for processing. So ``enter'' to advance to the next field wouldn't work.

    10. Re:Web Applications by tomhudson · · Score: 1
      Whoa, can't we play nicely in the sandbox? No need to insult someone who isn't a troll or a rep from SoftZilla.

      An awful lot of data doesn't need the complexity of an xml parser to be useful. Just look at all the files in /etc on your current system (if a un*x box). this is particularly true when you have a couple million records with the same structure (eg: last week I made a text file in csv format to hold 2.5 million phone numbers, addresses, etc. I can grep the whole thing in about a second to find anyone based on address, last or first name, phone number, etc. There's no need for xml here, and it would have bulked up the file considerably)

      Each tool has its' use, and so does each file format.

      As an aside:

      • HCI = Human-Computer-Interface or Human-Computer-Interaction
      • CSV = Comma-Seperated-Values (may also use a teb, single quotes, double quotes, a colon, etc)
      (Many newbies don't grok the acronyms, so I spell them out first time I use them in a post, as a public service).
    11. Re:Web Applications by foobar104 · · Score: 2

      Data Entry Errors- large. The more freedom the user has- the more ways they will mess it up.

      I suppose that's a valid point, but it falls to the application designers to put in all reasonable checks on input. You can't verify that a last name was spelled correctly, of course, but there's no way to guarantee that in the UI either. But for things like entering codes for medical billing (a huge, vast data processing job that most people aren't even aware of) you can put a good deal of sanity checking in the back-end system to minimize errors. You can't eliminate them, but you can cut 'em down quite a bit if your application is clever enough. For example, the system will initally reject a billing record that includes no surgical procedures, two nights in a room, and only five meals. The system knows that most non-surgical patients get fed three times a day, every day. If the patient had a surgical procedure, the system will accept the record, because it knows that surgical patients are always NPO for part of their stay. (Oh, NPO = ``nil per os,'' or ``nothing by mouth,'' meaning no food or drink.)

      But like all things, it's a trade off. The hospital would have had a much bigger problem if every record were perfect, but it took an hour to enter each one. You'd have patients dropping dead of a burst appendix sitting at the admissions desk. You face the same basic problem with things like airline ticket counter systems. Nobody would die, of course, but customers would find another airline if it took six hours to make their way through the ticket queue.

    12. Re:Web Applications by MeNeXT · · Score: 2
      You see before we had GUIs, and windows, next feild was always Enter. While tab seems to work in text/word processing, keypunch entry is another matter.

      If you ever had to use an older app where the Enter key was advance to the next feild you would understand what i mean. I've used both. I have seen no benefit except confussion to the TAB. In accounting the TAB key just slows you down. You have to use both hands for key entry. Since most of your time is spent in key entry and account equiry. If you look at any major company with more than 1000 clients you will notice the account numbers are numeric. Faster entry, faster search (Human) lower cost of labor.

      I have also used Enter in other database apps. I never felt it slowed me down. I just wish that all software had an option to treat Enter as Tab.

      --
      DRM? No thanks, I'll just get it somewhere else...
    13. Re:Web Applications by stoolpigeon · · Score: 1

      Good thoughts.

      I do a lot of GUI work as our primary concern is that training time. We have lots of low pay data entry people that come and go. (that's a whole other can of worms) Our clients also change regularly and each one brings its own system with it. Even if our people didn't leave we would still be constantly retraining for new clients. (This is to some extent unavoidable but we try to minimize the impact)

      I have generic templates and then tweak them to work for each client.

      I stil need to do a lot of checking on the back side as you describe- and some things I just cannot circumvent.

      A well designed GUI can be quick and most importantly users can use on effectively with very little training.

      So I just lean that way since it works so well for us so often. It is very easy to get into habits. It is good to hear other ways of doing something so that one does not get too entrenched in a single approach.

      thanks.

      .

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    14. Re:Web Applications by foobar104 · · Score: 2

      You see before we had GUIs, and windows, next feild was always Enter. While tab seems to work in text/word processing, keypunch entry is another matter.

      Ah, but I'm talking about a system even older than that. I'm talking about an IBM mainframe system with dumb terminals attached over serial lines. The mainframe sends you a screen, and you use the terminal to navigate through the fields and input data. Then you send the entire screen of data back to the mainframe for processing. It's not an interactive system. It's almost a batch processing system, except that you process each screen as you're done with it.

      That's why the ``enter'' key couldn't be used for advance-to-next-field, because ``enter'' had to be used for process-this-screen-now.

      That said, I'm sure you're right that ``tab'' is a bad thing if you spend all your time on the numeric keypad. But the kind of applications I'm thinking of were text-based, not number-based, so to those operators ``tab'' made more sense anyway.

      I think you're kind of overstating your point to say, ``I have seen no benefit except confusion to the tab.'' It's more a case of one being better than the other in each situation.

    15. Re:Web Applications by foobar104 · · Score: 2

      So I just lean that way since it works so well for us so often. It is very easy to get into habits. It is good to hear other ways of doing something so that one does not get too entrenched in a single approach.

      Now that's refreshing. All too often, GUI programmers were raised on the Mac Way, or (worse) the Windows Way, or (even worse) the Java Way, and they spend all of their time trying to shave the corners off of square pegs. What's worst of all, of course, is when your customer is entrenched in the Windows Way, and mandates the use of tabbed dialog boxes for data entry interfaces, then complains when the app is slow and hard to use.

      Heh. You want a job? ;-)

    16. Re:Web Applications by MeNeXT · · Score: 2
      I programed in JCL IBM 360/370, COBOL, Fortran, and I agree that at the time the TAb was used for this. As a matter of fact all you were doing was entering data within a punch card. At the time all programing was based on this 80 col system which was devised in the puchcard days. Unfortunately this still follows us until today.

      An advanced accounting system today no longer requires that you enter the "." It is assumed. This reduces the time in keypuch entry.

      My only point is that I wish that todays programs would allow us to configure the keyentry response so we can optimize for our own use.

      In spreadsheets it makes sense that the Tab will advance to the next column and that enter will advance to the next line. But I would like to configure my browser to use the Enter key to advance to the next feild so that web based accounting apps would not slow down the entry of numerical data.

      --
      DRM? No thanks, I'll just get it somewhere else...
    17. Re:Web Applications by richieb · · Score: 2
      For example, take an HTML form. Let's say you had a few hundred choices for one of the textboxes on that form. It would be incredibly useful to be able to type in the few first letters of the text and press a button to search for all matches and display them in a selection box next to it.

      What's the big deal? You can do this with a browser based interface by going to the server to do the query and then displaying the result (I built several things like that with Java/JSP stuff).

      Of course, you'll argue that the extra server interaction is slower, which is true. But in the real world many such application run on corporate Intranets (100mb Ethernet) or over T1 lines, so the speed is sufficient for the practical purposes.

      There are other gains to be had by deploying web based apps.

      --
      ...richie - It is a good day to code.
    18. Re:Web Applications by Anonymous Coward · · Score: 0

      Anyone who refers to Java as "slow" is well behind the times.

      The fact is that for enterprise applications, Java is very well suited to the server-side. Many enterprise (re: BIG, distributed, hard-core systems) systems use Java on the server and DHTML or custom fat-apps on the client-side. Applets were a still-born technology that got what they deserved... relegated to the rubbish tip.

    19. Re:Web Applications by crucini · · Score: 2
      Again, you have no understanding of the technology. CSV is a format that says 'here is some data'. XML says 'here is some data, and a description of what that data means'. Please dont post on a subject you are obviously clueless about.
      I have to arrange automated data transfer from our systems to several new and old systems. When arranging automated data interchange, I first offer XML. The recipient usually responds that while he could parse XML, it would require a commercial product or extra programmer time. Could I please send tab or comma delimited instead? Despite all the XML buzz, the humble delimited file remains the workhorse of inter-platform data transport in the business world.
      CSV can have a header row which assigns names to the columns. This is equivalent to element names in XML. It is not correct that XML assigns meaning to data and CSV doesn't. The real benefit of XML, as I see it, is that while delimited files represent two-dimensional information (entity/attribute) XML can represent multi-dimensional info - an entity can contain child entities.
    20. Re:Web Applications by Tablizer · · Score: 2

      (* It depends on what sort of data entry you're doing. In the example you cite, it seems that the user was well-versed in the system, and through using it frequently had become very efficient....For the casual user of such a system, things might be different. *)

      I agree. An interface optimized for a skilled/experienced user may not be optimized for a newbie.

      It is really hard to make an interface that is optimized for *both*. You usually have to pick a target audience, generally middle-of-the-road.

      But, it is a problem that too many companies are trying to make web forms do complex stuff that is stretching the HTML/DOM/JavaScript standards way beyond their intention or naturalness.

      I think there needs to be a new GUI standard or GUI Browser standard, something like XWT. (XWT promotes too much of a flat-client model IMO, but it at least allows having the server control most if wanted.)

    21. Re:Web Applications by Anonymous Coward · · Score: 0

      Then your options are to a) modify an open-source browser, b) write your own browser (!), c) contact the nice people at Opera and see if they're interested in giving you such a feature.

  8. All you need. by Kingpin · · Score: 4, Informative

    Apache XML projects
    Apache Java projects

    Explore the projects at the above two links. All the most exciting and usable Java/XML technologies are in there, ranging from SAX/DOM Schema aware parsers to transformers, databases and query languages for XML.

    XML is not a Java only technology, far from it. I fail to understand why so many books appear to try and make it look so.

    --
    Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
    Geocrawler error message.
    1. Re:All you need. by tswinzig · · Score: 2

      XML is not a Java only technology, far from it. I fail to understand why so many books appear to try and make it look so.

      I don't really see that books are trying to make it look like that, but the reason you see the two things paired together so much is simple: Java is a platform-independent programming language. XML is a platform-independent markup language. They fit together perfectly.

      --

      "And like that ... he's gone."
    2. Re:All you need. by Matts · · Score: 2

      "Java is a platform-independent programming language. XML is a platform-independent markup language. They fit together perfectly."

      Why? With platform independant data you no longer need platform independant languages. You can work with whatever language is easiest to use, or performs best, or whatever your particular criteria are for your project.

      The only sense in which they fit together perfectly is in the minds of point haired managers, who completely suck in and accept statements like the above, without questioning their technical merit. In fact, in many ways XML obsoletes the need for languages selling themselves on platform independace.

      --

      Matt. Want XML + Apache + Stylesheets? Get AxKit.
    3. Re:All you need. by angel'o'sphere · · Score: 2

      "Java is a platform-independent programming language. XML is a platform-independent markup language. They fit together perfectly."

      Why? With platform independant data you no longer need platform independant languages. You can work with whatever language is easiest to use, or performs best, or whatever your particular criteria are for your project.


      Yes, sure. And I recode my application to let it run on my Palm, because I have no ... lets say PERL on it?

      And then I recode my application to let it run on my mobile phone ... because I have no Python on it?

      Not to talk about the fact to reuse the code for my next enterprise wide project, which definitly is in Java, jsut like all Enterprise I'm involved with are in Java.

      Oh, yes. Java runs on nearly all PDAs and on about 90 mobile phones.

      Thats why portable data needs portable code, because I like to work with that data everywhere.

      Probably you should start to think in "life" and not "projects". The projects in which one particular solution is the only possible/feasable are rather scarse. A nice Java component OTOH may get reused for the next 100 years (I saw COBOL code reused for >35 years ... and it is still in use now)

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:All you need. by arthurs_sidekick · · Score: 2

      Since I take it by your URL that you're "the" Matts of Axkit fame, can I ask why it is that Perl, a language I absotively love for many many uses, seems to lag a behind Java when it comes to XML -- in most instances, text -- processing? For example -- count the number of validating parsers available for Java and those available for Perl, and the respective maturity of the projects that are open source.

      I've merely played with Axkit, and it was a while ago, and I work with Cocoon these days, so I might be well behind the times. I figure you're in a much better position to report on the respective merits, and go ahead and slant it in favor of the rubbish lister -- I'll listen =)

      Am I smoking crack or am I missing the handier-dandier XML-based modules on CPAN?

      --
      "Oh, I hope he doesn't give us halyatchkies," said Heinrich.
  9. information density by jilles · · Score: 2

    The reviewer seems to be worried about the information density in this book. I would say it is a good thing that this book doesn't bother explaining how to compile hello world. If you don't understand the Java syntax, you're reading the wrong book.

    Another good thing is that it doesn't include API documentation. API documentation seems to be a popular way of wasting dead trees but IMHO it is much easier to browse/search in HTML form. That leaves more room to content you'll actually need. There's so many Java books out there that use more than half of the pages for introductory stuff and API documentation and then try to squeeze the stuff you really need in ten pages or so.

    --

    Jilles
    1. Re:information density by WMNelis · · Score: 1

      Amen on the API docs. I love the API docs that come with the JDK, they are very easy to use. I wish every language had docs like that.

      --

      Sig free since 2/6/2002
    2. Re:information density by Anonymous Coward · · Score: 0

      Agreed, IMO, it's the best API documentation that one could ask for. However on the information density, I don't believe the review had such harsh words for the density as he did the lack of coherence and continuity, which is crucuial in today's reference market. i can think of five books off the top of my head devoted to the marriage of XML and JAVA: in order to move units, you're going to have to do better than just target an experienced audience, you're going to have to publish a quality work.

  10. Doesn't Make Sense by mmcshane · · Score: 2, Insightful

    JAXP and Xerces do different things. JAXP is essentially a standard interface that can be used to decouple your parsing code from a particular parser implementation. Xerces is one such implementation (for DOM, SAX, etc.) which can be used underneath JAXP and therefore unseen by a developer. As such it can be used by JAXP but is never in competition with JAXP.

    As far as I can remember, JAXP has little or no implementation code.

    1. Re:Doesn't Make Sense by arthurs_sidekick · · Score: 1

      You're absolutely right about the difference between JAXP and Xerces. But the point the reviewer was trying to make is that you can write your XML-handling code to use the JAXP interface, or you can write it to use Xerces classes directly, e.g.

      import org.apache.xerces.SAXParser; vs. import javax.xml.parsers.SAXParser;

      Presumably, it would be better to stick with one of these ways rather than mix them up. Since you can plug different parsers into JAXP, presumably you'd want to use those interfaces and (assuming each parser does the job at hand as well as the others available) who cares what the implementing classes are (or maybe you're distributing source and your underlying JAXP-compliant parser came out of Mountain View, but you wanted those open-source hippies to try your code out =)? Or, if you need to use goodies that only Xerces gives you (e.g. XMLSerializer, you might "go native" at least partially.

      IIUC, in fact, Xerces is the underlying parser distributed with JDK 1.4 on at least some platforms.

      --
      "Oh, I hope he doesn't give us halyatchkies," said Heinrich.
  11. Agreed by Codex+The+Sloth · · Score: 2

    From the article: The accompanying CD-ROM also comes with some neat stuff, like Tomcat, Jakarta and Xerces, and trial versions of WebSphere and DB2. As an added bonus, the code within has been tested on both Windows and Linux.

    So in other words, the CD has a bunch of (almost certainly) out of date versions of Open Source software in order to drive the price up. Vote with you dollars -- don't buy books with CDs!

    Content about things like WSDL is also likely out of date by the time it is published.

    I'd say there are probably a lot of good online tutorials on these topics that are probably more up to date.

    --
    I am not a number! I am a man! And don't you ... oh wait, I'm #93427. Ha ha! In your face #93428!
    1. Re:Agreed by Anonymous Coward · · Score: 0

      AMEN my brother! I hate those CDs. Problem is it's getting so you can't find a book without a CD taped to the back cover.

  12. Not Invented Here.. by Anonymous Coward · · Score: 1, Interesting

    Q: Why use reinvented tools for reinvented tasks?
    A: To reinvent the solution!

    Makes perfect sense to me. If you are wondering, XML is nothing more than flawed S-expressions and Java is a reinvention of a P-code interpreter. Combine the two and you have more reinvention. All paths lead back to the future...

    1. Re:Not Invented Here.. by Anonymous Coward · · Score: 0

      lead = lead

    2. Re:Not Invented Here.. by sinserve · · Score: 1

      Hussshhh, for the love of God.

    3. Re:Not Invented Here.. by CoreyG · · Score: 2

      Aren't those all just reinventions of the Turing machine? What exactly is your point? People abstract things (reinvent) to make them easier and more powerful to get things done. My handgun is just a reinvention of a thrown rock, but it's a hell of a lot more accurate, reliable, and deadly. The car is just a reinvention of the horse and buggy. The telephone is just a reinvention of tin-cans with string. Just because it's a reinvention doesn't mean it's useless.

    4. Re:Not Invented Here.. by crucini · · Score: 2
      I hear this all the time from Lisp fans. But if it's true that Java, Perl, Python and XML are trivial variations on Lisp ideas, why didn't the Lispers make a bigger impact? Since Lisp was around long before these "variant" technologies, why isn't the majority of the web running on Lisp?
      I can only think of two answers:
      1. The specific elements the Lispers are so proud of (s-expressions, etc.)
        are not the whole story. They are relatively minor constituents of these modern and popular technologies.
      2. The Lisp community had little interest in real-world needs, and did not evolve or promote Lisp as a solution to those needs. Those who evolved and promoted such solutions deservedly got the fame and market share.
      The way I see it, the only way we are having this discussion at all is thanks to C, Perl, Linux, and possibly Microsoft (not on my end).
    5. Re:Not Invented Here.. by Anonymous Coward · · Score: 0

      More of the Web world is running on Lisp than you might think. Yahoo! Store is the canonical example; a Web app developed for Orbitz that connects to the SABRE mainframe database is another. It is precisely because Java, C#, Visual Basic are oriented towards mediocre programmers that you hear so much about them. You don't hear much from the guys in back rooms hacking dynamic evolving applications in Lisp or Smalltalk because they are a competitive advantage and tend to keep quiet.

    6. Re:Not Invented Here.. by Anonymous Coward · · Score: 0

      Just because it has a use now doesn't mean it's _better_ either. Which would you rather have, telephone or tin-cans w/ string? Car or horse and buggy? Lisp or Java? Anyone who has used either would honestly say Lisp. Most people won't touch it because they have a fear of parenthesis, which is why things like Java exist today. If people were scared of the loud noise cars made, we would _still_ be using horse and buggy.

  13. Re: JAVAMAN by Anonymous Coward · · Score: 0

    "...it was just two or three years ago that the thing actually had it's own comic book (JAVAMAN! Saving the day from bugs and viruses!)"

    Can anyone provide a link to any JAVAMAN comic strips or pictures?

  14. Re:java the best server side platform. by jaaron · · Score: 2

    I agree. Java and Linux have not always gotten along, but that's changing now. It's even more important that this happens in order to provide an alternative to .NET. Now if only we could get a good open source/free software JVM . . . (anyone know of one other than Kaffe?)

    --
    Who said Freedom was Fair?
  15. Web services are like high school sex.... by Ars-Fartsica · · Score: 5, Insightful
    Everyone is talking about it but no one is doing it.

    For good reason. There is zero demand for XML web services on the right now, no real support for security, and still-evolving standards.

    1. Re:Web services are like high school sex.... by FortKnox · · Score: 1

      ... interesting analogy. Made me laugh ;-)

      I think that you find some webservices projects for internal systems, especially in the J2EE world. But not much externally.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    2. Re:Web services are like high school sex.... by mmcshane · · Score: 0, Troll
      For good reason. There is zero demand for XML web services on the right now, no real support for security, and still-evolving standards.
      Really? We just sold a subscription to a set of web services to a Fortune 100 company for about 1 million USD.

      Also, don't rip off witticisms from such obvious places without giving credit.
    3. Re:Web services are like high school sex.... by foobar104 · · Score: 5, Insightful

      There is zero demand for XML web services on the right now

      I think there's zero business model, too. Say FooCorp offers stock quotes on its web site. There are a few business models for that, although some of them might not be all that great. You can offer the service for free, sell advertising on the quotes page, and cross your fingers.

      But there's basically no model for web services other than pay-for-play. FooCorp could offer their quotes through a SOAP or XML-RPC service or something, but there'd be no way to get secondary revenue from it. They'd have to just charge for the content directly, which hasn't been a very successful model on the web so far.

      The fact that Google offers a web services-style API is cool, but it's unclear to me exactly how it helps their business.

      I'm just speculating here, but I think web services will be much more popular in intranets than in commercial settings on the web, assuming somebody comes up with something that can be done better with web services than with a regular browser-based web app or a Java app or something.

    4. Re:Web services are like high school sex.... by Ars-Fartsica · · Score: 2
      Yeah, and they'll monkey around with it, try some code, put up a test server, and then never touch it again.

      Your web services code will pile up there beside their failed ERP, CRM, CMS projects as another testament to the power of tech hype.

    5. Re:Web services are like high school sex.... by pubjames · · Score: 2

      Everyone is talking about it but no one is doing it.

      Yes, and everyone pretends to know all about it.

      Microsoft of course is strutting round the playground saying they know how to do it better than anybody.

      I still have difficultly explaining to clients what "web services" actually are, and I've been in this industry 10 years now.

    6. Re:Web services are like high school sex.... by smallpaul · · Score: 2

      But there's basically no model for web services other than pay-for-play. FooCorp could offer their quotes through a SOAP or XML-RPC service or something, but there'd be no way to get secondary revenue from it. They'd have to just charge for the content directly, which hasn't been a very successful model on the web so far.

      One of the things Web Services are designed for is what EDI has been used for on private networks. The business model is "Ford says that if we aren't compliant they won't buy from us."

      Furthermore, charging for content is very rare in the consumer web but not that rare in the commercial web. There are many extremely expensive newsletters (for example) that businesses are happy to pay for. Release 1.0, Gilder's rag, etc.

      I'm just speculating here, but I think web services will be much more popular in intranets than in commercial settings on the web, assuming somebody comes up with something that can be done better with web services than with a regular browser-based web app or a Java app or something.

      There is really no comparison with browser based apps. Web services are for solving problems that cannot be solved with browser based apps because they do not involve human interaction. You cannot integrate CRM and accounting systems with a browser-based app.

      That all said, I happen to think that current web services standards are poor. The problem domain is real and there is real money in it. The proposed solutions are lacking.

    7. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      There is really no comparison with browser based apps. Web services are for solving problems that cannot be solved with browser based apps because they do not involve human interaction. You cannot integrate CRM and accounting systems with a browser-based app.

      Okay, that's a good point. I was only thinking of using web services protocols for connecting desktop applications to server applications. Connecting two server applications together with web services makes a lot more sense. Thanks for the clarification.

    8. Re:Web services are like high school sex.... by Trilaka · · Score: 1

      The fact that Google offers a web services-style API is cool, but it's unclear to me exactly how it helps their business.

      I would say that Google offering access to a web services-style API for their search engine is a wonderful business move for them. Remember, Google's product isn't the interface to their search engine...it isn't http://www.google.com. It is the search engine itself, as well as their data cache. By making it as easy as possible for users to get access to that data, they increase its appeal for users.

      If someone wants to add search engine functionality to their public web site, but doesn't want to go through the hassle of installing and maintaining ht://Dig or something similar, they can simply add a Google search bar to their web site, telling Google to only search within their site.

      Then a little further down the road, Google can use this ubiquity as a bargaining position with companies who want to score higher on Google's search result list. "Look, Pointy-hair, you know and I know that everyone is using our search engine. I know the other guys out there will offer you a better price for top placement under these search terms, but lets face it, no one is paying attention to those other guys anymore."

      Remember that no matter how innovative and useful a product is, if something else out there is simply easier to use, it most likely will be used. Most people don't want exciting and innovative. They just want to get something done and move on with their lives.

    9. Re:Web services are like high school sex.... by Anonymous Coward · · Score: 0

      Well, that generic witticism has been around a lot longer than the article you refer too. You need to get out more.

    10. Re:Web services are like high school sex.... by Anonymous Coward · · Score: 1, Informative
      Other interesting points about Web Services is no one seems to know who the core customers are. Is it e-commerce, financial, field force (ie insurace companies) or government. If we say financial is the core customers for web services, I have been hearing rumblings about the Microsoft version being inadequate and incomplete. The whole idea that you can take complex transaction and replace it with SOAP is foolish.

      IBM understand this very well and is pushing for WSFL (Web Services Flow Langauge), which uses concepts from pi calculus async communication model. MS on the otherhand is pushing XLang, which is really for simple two way communications. SOAP in it's current form in my opinion is really push messaging. Since SOAP doesn't address state, it's not well suited for transactional processing. Atleast from the actual code examples I've seen and the documentation on devnet.

    11. Re:Web services are like high school sex.... by Ars-Fartsica · · Score: 2
      One of the things Web Services are designed for is what EDI has been used for on private networks. The business model is "Ford says that if we aren't compliant they won't buy from us."

      No one is disputing that RPC over the wire has its uses. The point is that no one seems particularly interested in replacing CGI,CORBA,EDI or whatever they are using already with a half baked set of standards.

      Furthermore, charging for content is very rare in the consumer web but not that rare in the commercial web. There are many extremely expensive newsletters (for example) that businesses are happy to pay for. Release 1.0, Gilder's rag, etc.

      What does this have to do with web services? These are print newsletters.

      There is really no comparison with browser based apps. Web services are for solving problems that cannot be solved with browser based apps because they do not involve human interaction. You cannot integrate CRM and accounting systems with a browser-based app.

      How do web services solve this problem? Web services only expose existing functionality in a new way. You either have the code available or not. The transport and negotiation methods are not the limiting factor. Once again, there are already standards for doing this stuff.

    12. Re:Web services are like high school sex.... by smallpaul · · Score: 2

      Okay, that's a good point. I was only thinking of using web services protocols for connecting desktop applications to server applications. Connecting two server applications together with web services makes a lot more sense. Thanks for the clarification.

      The name of the technology sort of invites confusion. Most people seem to agree that the name is more obfuscating than clarifying but nobody has the ability to change it!

    13. Re:Web services are like high school sex.... by plumby · · Score: 2

      Maybe not in the Internet world, but for internal sytems within companys with heterogeneous applications, there is a great demand for it. We have a whole host of different applications written in a multitude of languages and running on a whole host of operating systems that need to communicate. Web Services offer a great way of doing this.

      And as for security, proper web servers tend to provide security mechanisms which prevents unauthorised users from accessing the url that the service is on.

    14. Re:Web services are like high school sex.... by Ars-Fartsica · · Score: 2
      And as for security, proper web servers tend to provide security mechanisms which prevents unauthorised users from accessing the url that the service is on.

      Well if your services are internal-only, you don't need any security at all, you can simply threaten miscreants with disciplinary behavior.

      For web services that exist on the open web, yes, your web server had better provide some security, because you've just routed around your firewall and pointed RPC calls directly to port 80. Even then you still don't have an inherent model for validating users/bots. There is a great deal already written about web services security issues, some good stuff by Schnier. I recommend reading it.

    15. Re:Web services are like high school sex.... by smallpaul · · Score: 2

      No one is disputing that RPC over the wire has its uses. The point is that no one seems particularly interested in replacing CGI,CORBA,EDI or whatever they are using already with a half baked set of standards.

      First, if you think that the web services standards (half-baked though they are) describe "RPC-over-the-wire" then you are quite out of date with respect to the standards. Second, the original poster argued that there is no *problem domain* for Web services. But businesses would demonstrably love to rip out EDI, which relies on proprietary networks and inscrutable, poorly extensible file formats and CORBA, which was never adopted by Microsoft systems and did not make serious inroads onto the mainframe or into the APIs for enterprise software applications. (does SAP expose CORBA interfaces? Siebel? JD Edwards?) The point of a standard is standardization. There are twenty different not-bad ways to do middleware. That's precisely the problem. Metcalfe's law only kicks in when there are one or two dominant ways.

      What does this have to do with web services? These are print newsletters.

      The point is that businesses will not hestitate to buy content, even if consumers will not. If constantly knowing the price of wheat in China is important to your business, you will happily buy that information from someone and will be doubly happy if the feed is using standardized formats rather than ad hoc ones. If you want existing examples, look at the billion dollar businesses dominated by Reuters and SWIFT. Those guys are moving to XML-based technologies. (I don't know for sure whether SOAP/WSDL)

      How do web services solve this problem? Web services only expose existing functionality in a new way. You either have the code available or not. The transport and negotiation methods are not the limiting factor. Once again, there are already standards for doing this stuff.

      Standards nobody is using. Neither CORBA nor EDI are widely deployed at even a fraction of the businesses in North America. Part of it is their technological approaches. Part of it is politics.

      I am not claiming that SOAP/WSDL will necessarily succeed. I am making the point that there is in fact a multi-billion dollar pie sitting on the table and there is no question why major software companies want to try and cut it up.

    16. Re:Web services are like high school sex.... by SpaceJunkie · · Score: 1

      Sheesh- You did have a boring high school...

      Anyway- although the business model for XML provided web-content only exists in the business->business arena, there are uses of XML itself outside of this arena.

      XML is also an existing standard for storing data which is often modified. Obviously not as compact as binary formats - but *withstanding using C) is a lot easier to read, to port and to edit. If an XML file doesnt quite do what you want, you can easily pull out notepad and tweak it.

      It may surprise you to learn that a lot of MAJOR game developers are turning to XML for data as its a lot easier to extend and to tweak. Plus you can diff it(non-binary) and patch it to your hearts content. It has been great for game resource scripts - and I can well imagine it being used in many other places for the same. Also it then extends the product with downloadable content being easily exchanged(even in A mode). And we are fully aware of the revenue streams from subscriptions to downloadable content for games. Making a game hackable may even extend this furthar(HL with XML?).

      --
      OrionRobots.co.uk - Robots From sol
    17. Re:Web services are like high school sex.... by microTodd · · Score: 1

      I dunno....I've spent the last year doing a hell of a lot of SOAP coding for a "zero demand" technology.

      --
      "You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
    18. Re:Web services are like high school sex.... by The+Cat · · Score: 2

      They'd have to just charge for the content directly, which hasn't been a very successful model on the web so far.

      Salon did $1.1M selling subscriptions with over 30,000 sales. Sounds successful to me.

      Now, because they SPENT $75 million, doesn't mean that people "won't pay for content." (Web myth #47)

    19. Re:Web services are like high school sex.... by Anonymous Coward · · Score: 0

      Well the "cool" people are doing it :)

    20. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      Salon did $1.1M selling subscriptions with over 30,000 sales. Sounds successful to me. Now, because they SPENT $75 million, doesn't mean that people "won't pay for content." (Web myth #47)

      First of all, it's pretty silly of you to jump from my ``charging for content hasn't been a successful business model'' to ``people won't pay for content.'' These are two entirely different things.

      But besides that, I'd say Salon's situation proves my point, not disproves it. Selling subscriptions hasn't helped them break even, so that model has, so far, not succeeded. That's the goal of a business model, after all: to either enable you to break even, or, preferably, make a profit. Salon hasn't done that. QED.

      All of this is being written, by the way, by a guy who signed up for a Salon Premium subscription over a year ago.

      (Uh-oh. OSQ coming on. Homer: ``Would you look at those morons... I paid my taxes over a year ago!'')

      So, you see, the body of evidence available to us would suggest that the idea that the idea that people won't pay for content is a myth is, in fact, a myth. ("Huh?") Most businesses that have tried to turn pay-for-content into a profitable revenue model have failed to do so. So while it's not literally true that people won't pay for content under any circumstances, it's thus far been true that people won't pay in sufficient numbers or at sufficiently high rates to make selling content a profitable enterprise.

    21. Re:Web services are like high school sex.... by The+Cat · · Score: 2

      charging for content hasn't been a successful business model'' to ``people won't pay for content.'' These are two entirely different things.

      Yet they are often confused, and not always inadvertently. A lot of people screech "greedy company!!" when all businesses are trying to do (usually) is provide better service at a lower price.

      Selling subscriptions hasn't helped them break even

      That's the difference. In other words nobody is getting filthy stinking rich off selling content. Whole different question.

      That's the goal of a business model, after all: to either enable you to break even, or, preferably, make a profit. Salon hasn't done that.

      Because they overspent. Their problem exists somewhere between the top line and the bottom line (where middle management spends, what a surprise).

      it's thus far been true that people won't pay in sufficient numbers or at sufficiently high rates to make selling content a profitable enterprise.

      Because Salon's overspending is not limited to Salon. We've all watched the Aeron chair stories.

      People will pay for good products, no matter where or how they are made available. Businesses that overspend do not necessarily speak to the quality of a business model.

    22. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      Second, the original poster argued that there is no *problem domain* for Web services.

      Just for the record, no I didn't. (And neither did the guy above me. I'm not 100% sure who you're calling ``original'' here.)

      The guy above me said that there's no demand for web services implementations or applications. I said there's no business model for using them, either. You pointed out that there are software-to-software applications for web services technologies that I hadn't thought of, which I concede, but I'm still not sure that means there's a B-to-B or B-to-C business model that requires them.

      Note that I'm not talking about the same thing you're talking about. You're talking about problem spaces. What can we use web services technologies for? I'm talking about business cases. What can we do with web services that will either be profitable by itself, or enhance our profitability in some indirect way? These are two really different things.

      Often technologies fail not because they themselves are inferior, or because nobody understands how they could use them. They often fail because nobody understands why they should use them.

      Just clarifying my position a bit.

    23. Re:Web services are like high school sex.... by LetterJ · · Score: 1

      Everyone who isn't doing it is talking about it, while those who are doing it are enjoying it and not talking about it to everyone. Just because it isn't being done out in public doesn't mean that it isn't happening behind closed doors for private purposes.

    24. Re:Web services are like high school sex.... by smallpaul · · Score: 2

      I said there's no business model for using them, either. You pointed out that there are software-to-software applications for web services technologies that I hadn't thought of, which I concede, but I'm still not sure that means there's a B-to-B or B-to-C business model that requires them.

      But what does that matter? What business model follows naturally from relational databases? What business model follows naturally from C++? Web services are a technology. When the technology matures, most people will use them to support their existing business models, not to create new business models. Whatever your business, you can use them to integrate legacy systems, purchase syndicated content (like a Reuter's feed) in a standardized form, lower the cost of EDI and get more partners into the EDI game, etc.

      Since when do technologies have to support a new and innovative business model?

    25. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      Damn IE! I was halfway through my post when somehow the focus shifted without my knowing it. I hit the ``delete'' key, and my browser went back one page. Damn!

      People will pay for good products, no matter where or how they are made available.

      While your statement sounds reasonable enough, I'm not sure we can jump to that conclusion. Can you name one non-informational content company that has broken even or made a profit selling their content through the Internet? By saying ``non-informational'' I mean to exclude companies like WestLaw; their business model is very clear and very solid. But I'm talking about content for which there isn't a fixed demand, like news or entertainment information for the mass market.

      Companies like Conde Nast make a decent profit (as far as I know) publishing and selling magazines. Has there been any similar venture that has used the Internet as a delivery channel?

    26. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      What business model follows naturally from relational databases?

      You're kidding, right? Maintaining large sets of textual information is one of the oldest problems. Companies expend a metric assload of time and effort managing their information stores, from accounting to inventory to HR and on and on. Relational databases, with a few additional bits like form builders and report generators, let companies do that more efficiently. Instant ROI. That's a really clear business case.

      What business model follows naturally from C++?

      That's admittedly harder to define, but C++ is more abstract than web services technology is. Web services technology is, fundamentally, about exchanging information or commands between two applications over a TCP socket. Everything else is just the specifics of the standard(s). This naturally raises the question, ``Why do you want to exchange data or commands?'' To this question, there are lots of answers. But I can't readily think of a situation in which we need to exchange data or commands between two computers or two programs but can't yet because we don't have a technology for doing so. So the real question behind web services is this: ``What am I doing right now that can be significantly improved with web services technology, in some way that increases my efficiency, or that directly generates a profit for me?''

      The direct route would be to use web services technology to offer new services for sale to customers. We've already beaten that dead horse; the bottom line is that companies aren't really rushing to offer for-pay services based on these new technologies.

      The indirect route is what we're really talking about here. What can web services technology give me that will improve the way I do business and help me make more money? All of the examples you gave, ``integrate legacy systems, purchase syndicated content (like a Reuter's feed) in a standardized form, lower the cost of EDI and get more partners into the EDI game, etc,'' are already being done on large scales with other technologies. So one is left wondering how, exactly, web services technology will help anybody do those things better than they're currently doing them.

      That's what I'm getting at. If an employee came to me and said, ``Let's deploy web services!'' I'd have to ask why. What potential gain can justify the expense and effort required to deploy that kind of technology in place of some other technology that we're already using now.

      I guess I just don't see the problem that web services technology is trying to solve.

    27. Re:Web services are like high school sex.... by smallpaul · · Score: 2

      You're kidding, right? Maintaining large sets of textual information is one of the oldest problems. Companies expend a metric assload of time and
      effort managing their information stores, from accounting to inventory to HR and on and on. Relational databases, with a few additional bits like form
      builders and report generators, let companies do that more efficiently. Instant ROI. That's a really clear business case.

      "do that more efficiently." Web services are intended to allow you to connect disparate systems together _more efficiently_. This is also one of the oldest problems. To me, it therefore has a very clear business case.

      All of the examples you gave, ``integrate legacy systems, purchase syndicated content (like a Reuter's feed) in a standardized form, lower the cost of EDI and get more partners into the EDI game, etc,'' are already being done on large scales with other technologies. So one is left wondering how, exactly, web services technology will help anybody do those things better than they're currently doing them.

      Before there were relational databases you could manage data also. But what made relational databases so interesting was a *standard model*, *standard syntax* and *standard API*. STANDARDS. There are all kinds of ad hoc ways to glue shit together. To a corporation, "ad hoc" means "expensive" because there are no economies of scale. The HR system uses CORBA, the CRM uses COM and corporate developers must be expert in both of them to build the bridge between them.

      Web Services do not allow you to do anything that you couldn't do before them. Standards never do. There was distributed hypertext before the Web and databases before SQL. But when you move to standards you get huge economies of scale and Metcalfe multipliers. That said, the standards have to be right, and today they are not.

      What potential gain can justify the expense and effort required to deploy that kind of technology in place of some other technology that we're already using now.

      If you deploy it as a replacement for one other technology you were already using you probably don't get much benefit. If you deploy it as a replacement for six or ten or twenty different ways of sending data over sockets then you've got an economy of scale. That's a huge opportunity. Even though I'm not a big fan of RPC, I can see that there is no good reason to have four or five different and incompatible ways to do RPC. But I think that if you go BEYOND RPC you can actually get even greater economies of scale.

    28. Re:Web services are like high school sex.... by plumby · · Score: 2
      Well if your services are internal-only, you don't need any security at all, you can simply threaten miscreants with disciplinary behavior.

      Yeah, right. Which company do you work for? Is this the security policy that you implement for internal systems? Most hacking/misuse of systems happens from internal users. If you have no authentication mechanism, then how do you know who to discipline?

      because you've just routed around your firewall and pointed RPC calls directly to port 80.
      I don't know how many times I've seen this theory that Web Services have to run on port 80. They don't. They don't even need to run on via http. To quote from the W3C -

      Web service

      [Definition: A Web service is a software
      application identified by a URI, whose interfaces and binding are
      capable of being defined, described and discovered by XML artifacts
      and supports direct interactions with other software applications
      using XML based messages via internet-based protocols]



      And in case you want to know what a URI is, again from the W3C -

      Every resource available on the Web -- HTML document, image, video clip, program, etc. -- has an address that may be encoded by a Universal Resource Identifier, or "URI".

      ...

      Other schemes you may see in HTML documents include "mailto" for email and "ftp" for FTP.


      You can have a Web Service running via email if you want. I know I talked about Web Server security in the original post, but that was to show that you can implement Web Services (reasonably) securely, within a corporate environment, using built in security.

      Anyway, a Web Service is not inherently any less secure than a web page. It depends what you let your service do. Every call to a URL is a call to some function or other on your web server. When you are filling in a web site application form and press submit, the URL that the POST gets sent to is a form of remote method. You can provide Web Services that offer exactly the same functionality that was available through passing POST parameters on your web page. This does not open up any security holes that were not already there. It is perfectly possible to build a web service that opens up huge security holes in your system, but then it's just as easy to build a web site that does the same thing.
    29. Re:Web services are like high school sex.... by crucini · · Score: 2
      The transport and negotiation methods are not the limiting factor. Once again, there are already standards for doing this stuff.
      Actually, they are the limiting factor. Incredibly, getting two companies' financial systems talking over the wire remains a project, an implementation. By now it should be totally casual - a small vendor should click "invoice" in QuickBooks and the invoice should immediately show up in ACME corp's ERP system. But the incredible stupidity and inertia of industry have retarded this. Microsoft is hoping to drag everyone into the modern age by labelling a specific kind of XML messages "web services" so even PHBs understand the simple proposition.
      Microsoft has enormous clout with software vendors. If every ERP/Accounting app supports the exact same protocols, the impact will be huge.
    30. Re:Web services are like high school sex.... by DamnYouIAmALion · · Score: 1

      I think you're missing the point of Web Services completely I'm afraid.

      Web Services will have a massive impact on business to business systems. Web Services provide a common language (well, the words..) and medium for systems to talk to each other.

      A company, say ACME, sets up all their systems with web services, allowing suppliers and customers to directly integrate with their systems. This will make huge savings on the cost of doing business and provide all concerned with more options.

      You would amazed by what's involved with many business to business systems. Often the system that links two businesses together is a FAX machine and someone to do data input. Very costly in time, money, accuracy, etc.

      However, industries now need to define their own language with the web services 'words' to make this a reality.

      Remember, web services are not only for offering 'web based products'.

    31. Re:Web services are like high school sex.... by foobar104 · · Score: 2

      I think you're missing the point of Web Services completely I'm afraid. Web Services will have a massive impact on business to business systems. Web Services provide a common language (well, the words..) and medium for systems to talk to each other.

      The system-to-system aspect of web services technology has already been pointed out to me. When I wrote the post to which you replied, I hadn't thought of that.

      But I don't think you're right about everything you said. Web services technology gives us nothing that we haven't had before with any number of other distributed computing systems. CORBA does everything that web services technology does. CORBA is great for solving certain types of problems, but it didn't change the world. Web services technology is almost certainly going to go down the same path. In fact, even through all of this discussion I still fail to see what web services technology provides that CORBA doesn't.

  16. .NET to the resque? by Anonymous Coward · · Score: 0

    I wonder if M$ is going to change a lot for these 64M unemployed. I guess .NOT

  17. J2EE and XML for free. by fatarfy · · Score: 2, Informative

    Download the full Manning book J2EE and XML Development (pdf) here
    You can also get a full copy of Bitter Java there.

  18. Grandpa JAVA ? by Te1waz · · Score: 1

    Geez,what does that make us COBOL-85 hackers?

    Piltdown man probably...

    --
    From my Autobiography - "Lifestyles of the Sad and Desperate"...
    1. Re:Grandpa JAVA ? by tomhudson · · Score: 1
      as in Piltdown man - the hoax?

    2. Re:Grandpa JAVA ? by Te1waz · · Score: 1

      That's the one - everybody knows COBOL people fake it - including orgasms.

      --
      From my Autobiography - "Lifestyles of the Sad and Desperate"...
    3. Re:Grandpa JAVA ? by skippy81 · · Score: 1

      COBOL-85? Still on the 74 brand here (which is worse considering I wasnt born when COBOL-74 came out)

  19. Java is Beautiful by Anonymous Coward · · Score: 5, Insightful

    I never really spend too much time advocating Java, even though I develop in it just about every day. There will always be people who play the other side, the devil's advocate, who regurgitates all the possible negative things that can be said about it...slow, not open, run once and debug everywhere, etc.

    So now, I want to say just how much I really enjoy and appreciate it as a technology. It's a complete dream to work with, with an absolutely huge library, extremely well done documentation and support, instant answers to just about ANY question at Google Groups, and a huge community around it. I think Sun has found a great balance between being open and providing leadership and definition.

    As a professional, the whole .NET thing has given me great pause. When it first came out, so many of my friends, mostly developers, started gleaming with energy about .NET. It was the greatest thing since sliced bread, and it was going to revolutionize computing as we know it. It was so tight, elegant, powerful, with great performance, and a much better GUI library.

    Instead of the hype settling down into seeing it just as a good tool, almost all of them have switched away from it. It was cool at first, they explain, but now they realize that it's still run by Microsoft, it still needs Windows, and almost everyone except Microsoft still has no idea what's going on under the hood.

    So it seems like it's simply a pre-requisite to the Internet Age that the source code must be available. The rules have changed, and the game people now are most excited about playing requires that the source code is available. It's now just a part of the ground rules. You can still play the old game, but the best and brightest are now playing a new game, and to prove yourself and be a part of the new game, you have to play by the rules. There are still people pretending (especially to themselves) that this old game is really exciting, but those playing the new one see how much better it is.

    So, I definitely expect that Java will continue, and that the ringing endorsement of Java by Microsoft will lead to a huge renaissance. It may be that it will have to become GPL'd to have a chance, but that's not clear at the moment. I think it's just a matter of time before it starts to take over on the client, and the eventual GUI for Linux will be written in Java. In the same way that you don't notice the BIOS when you run the OS, you won't even notice the OS when you run whatever becomes the NET GUI.

    1. Re:Java is Beautiful by --daz-- · · Score: 2

      First, .NET was designed to be platform independent. Win32 specific stuff is contained in specific assemblies prefixed with "Microsoft.", such as "Microsoft.Win32" which contains a whole slew of Windows-specific stuff like the Registry.

      The .NET CLI and C# language spec are open standards, which is more than anyone can say for Java. Sun has twice attempted to standardize Java, but pulled out. They want to keep a tight noose on Java because, presumably, they wish to charge licensing for it in the future.

      Go-Mono is an open-source, GPL implementation of the .NET CLI and C# for Linux (on several hardware platforms).

      Microsoft had Corel and some of their researchers in Cambridge, UK, develop a clean-room implementation of the .NET CLI and C# for FreeBSD and Windows called "Rotor". They have released it as Shared-Source (meaning you can view the source, but not use it) to demonstrate that it is possible to make .NET cross-platform.

      MS has said that it will discuss commericial licenses of Rotor.

      If there is sufficient demand, .NET will be ported to other platforms by MS or 3rd parties (since it's a standard).

      I don't think .NET will kill Java, that would be absurd. In fact, I hope it DOESN'T kill Java.

      A software world where your main choices are .NET or Java is a very good world indeed!

      But, it's equally absurd to think that Java will kill .NET and .NET will fade away. .NET is poised to sweep through the MS development community, after which it will have as much or more deployment than Java. It's a force to rekon with, whether you like it or not.

    2. Re:Java is Beautiful by Anonymous Coward · · Score: 0

      Hmm... the phrase "Drunk on Java and XML Kewl-Aid"

      mysteriously came to mind.....

    3. Re:Java is Beautiful by Anonymous Coward · · Score: 0

      The only real downside to Java is that it has spoiled my attitude toward C++. I used to be a C++ bigot, having worked with it for a number of years, and really didn't see what advantage another object-oriented language could provide. However, once I started to learn Java, my attitude has completely swung around. Now, whenever I must work in C++, my annoyance level is really high; it feels like C++ hell. I spend a lot of time chasing down macros that some C++ programmers like to use, or when I use a library like ACE/TAO, I am forever longing for documentation on the par with the Java SDK, or with JavaDoc documentation for 3rd party libraries. However, I do feel that when I now program in C++, my style has changed to more closely reflect Java (no pun intended), and to avoid the C++ features that have bit me in the past.

    4. Re:Java is Beautiful by Malcontent · · Score: 2
      Some things you ought to be aware of.
      • .NET without windows is like a car without an engine or wheels.
      • mono is not anywhere near complete.
      • it will be several years before the .NET database and GUI libraries are ported to *nix. By that time MS will have dropped .NET and moved on the next acronym of the day.
      • It is illegal to link against the .NET libraries to produce GPLed code. Using the .NET libraries contrains what you can do with your intellectual property.
      • It is illegal for you to write GPLed code using visual studio .NET. You stand to get sued by MS and face possible jail time for using their development tools.
      --

      War is necrophilia.

  20. Book likely to be shit by Anonymous Coward · · Score: 1, Insightful

    I haven't read this book, but from the fact that I own already a couple of such XML books with plenty of chapters with different technologies, I know that the only effect of it is that it doesnt cover a shit in details any of the technologies. Hence useless.

    What's even more uncomfortable to my mind is that I never hear any developer here talking about the fact that EACH XML PARSER (including expat, xerces, msxml, ...) that you happen to use has its corners, side effects, and many little things that make XML IN THE REAL WORLD NOT A STANDARD AT ALL, NOR XSLT, NOR ANY SHIT. For this reason, a book that only tells you that XML is an interoperable standard made of elements and attributes is SIMPLY LYING TO YOU. Money for it should be given back.

    1. Re:Book likely to be shit by hackus · · Score: 1

      Well, you have some good points. Your right too, as technology comes about and grows, standards and those who jump the horse and cart will have problems/frustrations with any new technology.

      You also didn't point out that XML/XSLT for example is really intended for Web Publishing. A technology that addresses the issues of organizational infrastructure in companies that have techies that do the programming and non-techies who have to have that new article about .Net failing to be accepted by the business world as Microsoft hoped for....

      For example.

      That is where it does shine.

      hack

      --
      Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  21. Re:4.5 Stars at amazon.com, $34.99 by foobar104 · · Score: 2

    (Above is an affilate link)

    It was nice of you to say so, at least, but for myself I don't really like it when people post affiliate links like this. This is too much like a barely-on-topic advertisement for my taste.

    In case readers don't know, Amazon's affiliate program is basically a system of kickbacks. Person X signs up with the affiliate program and starts handing out special links to the Amazon site. If person Y clicks person X's special link and then buys something, person X gets a small amount of money from Amazon. They say up to 15% of what person Y spent, but I'm sure it's a lot less that than most of the time.

    Long story short, people who post affiliate links to Amazon's site are really trying to maximize their gains from the affiliate program. I can't put my finger on it, but that just gives me a funny feeling for some reason.

    I'm not flaming you or anything, so don't get mad. I'm just voicing my opinion. Slashdot soapbox and all that.

  22. There is no new truth. by rodentia · · Score: 2

    --Socrates

    But there is still plenty of work to do getting it into the system. I've got this pagination engine, see. It doesn't have an integrated lisp machine. In its absence I'll have to stumble along with pointy brackets.

    The AC is thick, the comment tendentious. XML consciously borrowed the concept. Have a look at XSLT; remind you of anything?

    --
    illegitimii non ingravare
    1. Re:There is no new truth. by Anonymous Coward · · Score: 0

      XSLT reminds me that some idiots forgot LISP has already been invented.. and that XML makes piss poor functional programming syntax without a purpose or use.

      Those who do not understand LISP are doomed to reinvent it.

    2. Re:There is no new truth. by Anonymous Coward · · Score: 0

      It's funny, you see.. every application which uses XML has a built in recursive decent parser. Not much validation or integrity in the tools.. just idiots with a buzzword and in most cases, invalid or corrupt XML files.

      XSLT smells like shit. I'd rather use something like SAX to achieve the same effects.. then again, it's all buzzword soup.

    3. Re:There is no new truth. by rodentia · · Score: 2

      I am not about to implement a flippin' LISP machine inside my publication system to support single-sourcing. That's reinvention. Don't get me wrong, I like LISP, love Scheme, but it hasn't been done and isn't going to get done and I've got a job to do.

      XSLT, hype to the contrary, does not pretend to be a complete language. It is a simple way to build data-driven, recursive evaluations for the application of alternative markup templates. *MARKUP*. It's a publication system.

      If you could see the forest for the parenthesis, you could appreciate seeing good ideas finding new life in new clothes. What the hell does syntax have to do with it, piss-poor or otherwise?

      --
      illegitimii non ingravare
    4. Re:There is no new truth. by axxackall · · Score: 1
      I'd rather use something like SAX to achieve the same effects

      Assembler is even better, isn't it?

      --

      Less is more !
    5. Re:There is no new truth. by Anonymous Coward · · Score: 0

      You infer too much. I say "reinvention" you say "but but ... MOMMY HE HURT MY FEELINGS!" Grow up. Right tool for the right job, yadda yadda. It doesn't remove the fact that XSLT is reinvented Lisp and for the most part is unnesessary if you have the right tools. Therein lies the problem. The tools of XML are pure shit. W3C feels the urge to invent more layers of garbage in hopes that some poor soul will attempt to implement the features and validate W3C's purpose. W3C needs validation so big corporate dollars will be given to them so they can produce yet another bloated inelegant spec and the cycle continues. Money in, bloat out, programmer time in, validation out, rinse and repeat. Ever wondered why no spec has been implemented fully and exactly since perhaps HTML 3.x? They need to create moving targets so corporations can reinvent buzzword standards which developers and their corporations buy into. It's a nasty inefficient cycle. The end result is nothing of value is produced. Except an encyclopedia of arbitrary semantics associated with buzzwords.

      I'm not saying there isn't a use for XSLT. Hell, there is a use for Perl in this extremely fucked up world we live in. It doesn't make it _new_ or _better_. Crap remains crap. To get from point A to point B you might have to pass through XSLT, but do you _really_ want to? Not I.

    6. Re:There is no new truth. by rodentia · · Score: 2

      XML1.0 and XSLT1.0 have each received two effectively complete, free, open implementations. These two are more than enough to create a bungus of semantic arbitrarity sufficient to blow your neolithic mind. I, rather, have no shit for W3C or their corporate patsies. As to PERL, the world is the less fucked up now its REGEX flavor implemented in J1.4

      My point along has been it is neither _new_ nor _better_, merely useful. What do you _really_ want to do today?

      --
      illegitimii non ingravare
    7. Re:There is no new truth. by Anonymous Coward · · Score: 0

      hey buddy, that's my job security your crunching on

    8. Re:There is no new truth. by Anonymous Coward · · Score: 0
      XML1.0 and XSLT1.0 have each received two effectively complete, free, open implementations
      Which are complete shit when you get down to it and will be completely irrelavant in 6 months when XML 1.1 or whatever is out. Once a standard is finally implemented, W3C pulls the rug out and moves the target. They don't give a damn about stability or quality of implementations. They just want corporations to buy their magic snake oil.
      These two are more than enough to create a bungus of semantic arbitrarity sufficient to blow your neolithic mind
      I'm sorry you were incapable of understanding my sentence. Reading comprehension is not your strong point, eh?
      As to PERL, the world is the less fucked up now its REGEX flavor implemented in J1.4
      HA! You understand what regex stands for, don't you? _Regular Expression_. What perl implements (as do most *ix tools) is anything but _regular_.
      My point along has been it is neither _new_ nor _better_, merely useful. What do you _really_ want to do today?
      It's only useful because boneheads like yourself continue to believe it is okay to use inferior tools and believe in whatever garbage the W3C puts out. Fuck them, I say. Their pseudo-openness and fake impartial image can go to hell with an <a href="Tim Berners-Lee"> to boot.
  23. Re:Don't Let Dubya Hear You Say That.... by Anonymous Coward · · Score: 0

    ability of public speaking is not the same as intelligence.

    who had better grades in college, GW, who had better SAT's GW.

    gore is a better public speaker (i dont like his speaking ability either though, to much of a stereotypical politician

  24. Python and XML are a better match by Internet+Dog · · Score: 2, Interesting
    An alternative book to consider would be Definitive XML Application Development by Lars Marius Garshol. Python is not limited to the object oriented programming style of Java. It is the selective blending of alternative programming styles, such as functional programming, that make Python a better choice than Java for many applications. Processing XML is one such example. Numeric (think steering large physics programs)computing is another. Scripting animation for the movie industry is another.

    Python isn't hyped as much as Java. This has had a positive effect on the quality of books written about the language. You don't have to plow through hundreds of bad books when looking for a good book on the language. The referenced Python book had the following description on Amazon.

    In this book, leading XML developer Lars Marius Garshol covers every essential aspect of XML programming, from basic principles through advanced techniques, utilizing DOM, SAX, XSLT, XPath, schemas, and other key XML standards. Garshol presents scores of code examples based on Python, a cross-platform language that is exceptionally well suited for XML development. Garshol also presents new insights into XML application design and optimization, as well as complete sample applications.
  25. Re:java the best server side platform. by Anonymous Coward · · Score: 0

    http://www.blackdown.org/

  26. Re:Python and XML are a better match (NOT) by Anonymous Coward · · Score: 0

    Python still can't match Java for XML developement.
    JAXP Java API for XML parsing.
    JAXM Java API for XML messaging.
    JAXM Java API for XML Registries
    JAX-RPC Java API for XML-based RPC
    SAAJ SOAP with Attachments API for Java
    JAXB Java API for XML binding.

    The above API are very well designed and have amazing features, for example you can change with JAXP your XML parser at runtime, JAXB allow you to generate Java objects from your XML documents which facilated web services, JAX-RPC makes soap so much easier to develop and deploy ...

    Add on top of these the rich J2EE platform, J2ME and the Java standard APIs and you could see why java is the best platform for large scale web application.

  27. Who got it right first? by Anonymous Coward · · Score: 0

    No marketing-driven language has got it right yet. Common Lisp can, though.

  28. ...is love. by rodentia · · Score: 2

    Markup is inherently platform-independent for the same reason that scripting languages are: requires an interpreter on your platform.

    Pop quiz: Where does the term markup originate?

    --
    illegitimii non ingravare
    1. Re:...is love. by Anonymous Coward · · Score: 0

      Well are you going to tell us, Mr. SmartyPants?

    2. Re:...is love. by rodentia · · Score: 2

      That's right, boys and girls, proofreader's marks. Their annotations, referred to as *markup* by the ink devils setting the type, are the basis for *ML. Typesetting macros, whether SGML, Troff, Tex, et. al., were subsequently known by the same term.

      I prefer to see the scope of XML application as a broadening of the concept of publication rather than a narrowing of the idea of data.

      --
      illegitimii non ingravare
  29. Arrows in back by jlusk4 · · Score: 1

    IHBT. :)

    You can always identify the leader in a race by looking for the guy with all the arrows in his back.

  30. I had it once... by rodentia · · Score: 2

    but I was alone.

    --
    illegitimii non ingravare
  31. That's not the business model by Anonymous Coward · · Score: 0

    assuming somebody comes up with something that can be done better with web services than with a regular browser-based web app or a Java app or something

    Web services are for anything without a user interface: from replacing DCOM/CORBA/other-proprietary-distributed-component -architecture to user tools like Windows Update or whatnot. Any application can use the SOAP protocol to communicate with their server instead of proprietary binary, text, or XML formats; multi-tier architectures will increasingly use SOAP to communicate; etc.

    Basically, whenever one computer talks to another computer without user interaction, it'll increasingly be done with SOAP (ie. Web Services) instead of the plethora of proprietary and customized communication formats. Just like text, TCP/IP, HTTP, and XML, SOAP standardizes how computers talk to each other. I'm sure you can think of some more business examples of computers talking to other computers...

    1. Re:That's not the business model by foobar104 · · Score: 2

      Any application can use the SOAP protocol to communicate with their server instead of proprietary binary, text, or XML formats; multi-tier architectures will increasingly use SOAP to communicate; etc.

      What proprietary formats are you thinking of? CORBA is the opposite of proprietary, and it works very well. If you apply web services technologies to problems that are currently being solved with CORBA applications, you may find that the web services version is, at best, no better than the CORBA version.

      I suppose one might argue that web services technologies are better suited to the high-latency environment of the internet, but I don't necessarily buy that. I run CORBA applications across the internet from home to office and vice-versa all the time, with no complaints.

      Just like text, TCP/IP, HTTP, and XML, SOAP standardizes how computers talk to each other.

      So does CORBA. So we have two competing implementations of the same basic idea. Question is, is SOAP better in any significant way? I haven't yet seen anything that says it is. In fact, the amount of effort required to marshall and de-marshall objects into XML seems prohibitive in a lot of situations. CORBA obviates that need through the standardized mappings of IDL constructs to native language types.

  32. but you already have RMI and CORBA by Anonymous Coward · · Score: 0

    The only thin about SOAP that's useful is the platform neutrality of the protocol. It's an XML message over a protocol which is widely enough implemented that compatibility is not really an issue. If you're just doing a distributed Java app, use Java native tools; unless you expect to incorporate non-Java clients.

  33. Java static typing an asset for corporate dev. by alienmole · · Score: 2
    The nice thing about memetic trolls is it's easy to refute them.

    All the languages referenced in your links were not statically typed (Python, Perl, Lisp).

    The dynamically-typed languages are very useful and powerful for individual programmers, smart programmers, and small, tightly-knit teams. But static typing is an important feature in the commercial world, where software has to be worked on by ever-changing teams of often mediocre people. Static typing provides an enormous safety net in these environments, and supports capabilities - such as automated refactoring and IDE hinting - which are nowhere near as powerful in dynamically typed languages.

    The best way to understand the benefits of static typing is to ask the question "would it help if the computer had more information about the program it was running?" The answer, by many criteria - performance, safety, reliability, maintainability - is yes.

    As for p-code, the last widely-used p-code based system that had static typing was probably USCD Pascal, which dates back to at least 1980 or so. Java is certainly an improvement over that. Java did in fact advance the state of the art, quite significantly. Considering that Guy Steele, coinventor of the awesome language Scheme, was on the original Java team, perhaps they got some things right which you haven't understood yet.

    Finally, the "XML as flawed S-expressions" meme may have some truth to it, but it's also so misleading that it's valid to characterize it as simply wrong. The real benefit of S-expressions arises in "code is data" languages like Lisp. No-one has yet come up with a statically typed language that supports this model, so it's not valid to claim that Java+XML is a reinvention of Lisp+S-expressions; it's an evolution in a direction in which Lisp has typically been very weak.

    1. Re:Java static typing an asset for corporate dev. by Anonymous Coward · · Score: 0
      I think people who have used Genera would disagree about the comment about saftey nets, etc.
      the last widely-used p-code based system that had static typing was probably USCD Pascal
      Reinvention is still reinvention. There is nothing new about Java. The only "new" thing is there are widespread and "healthy" implementations of Java today. Yet everyone thinks that for some reason Java is _the_ language to use. It does nothing better than the other languages, except perhaps dumb programming down a few notches like you noted.
      Considering that Guy Steele, coinventor of the awesome language Scheme, was on the original Java team, perhaps they got some things right which you haven't understood yet.
      Ahh. Famous, but meaningless, associations to attempt to prove a point. Considering Kent Pitman was an editor for RxRS and is still involved with Common Lisp, I would say not enough things were right about Java for him to switch. I don't think Paul Graham likes Java much either. See how pointless your "point" was?

      Blockquoth Kent Pitman:
      Lisp manipulation of XML and HTML is something people have been working on for a long time. For example, the Document Style Semantics and Specification Language (DSSSL) was a purely functional, side-effect free variant of Scheme. Even XSL, the apparent replacement to DSSSL, offers the same kind of functionality. It just uses a more CSS-like page model and XML syntax. But, conceptually, it's Scheme inside.
      And you say:
      it's not valid to claim that Java+XML is a reinvention of Lisp+S-expressions
      I never said Java+XML = Lisp. I said all of those were reinventions (to a certain degree) of Lisp. XSLT+XML would probably be much closer, as Pitman noted.
    2. Re:Java static typing an asset for corporate dev. by alienmole · · Score: 2
      Reinvention is still reinvention. There is nothing new about Java.

      Java is not a reinvention of UCSD Pascal. One of the things that's new about Java is the combination of object-orientation (not in Pascal), with interfaces separable from implementation, with static typing, running on a bytecode interpreter which supports runtime loading of modules. This combination is actually quite unique. I don't doubt there are systems, probably academic, that did something along these lines previously, but there's Java was the first to make any kind of impact.

      Frankly, if it's anything more than simple trolling, I don't understand the kind of mindless language evangelism that leads someone to try to dismiss a successful language as containing nothing new or no new ideas. This simply implies you don't have very much experience with different languages to realize that there are no perfect languages, everything is a tradeoff, and most languages have some unique strengths and weaknesses. I mentioned Guy Steele in a concise attempt to encapsulate this idea, since he's demonstrated an understanding of these kinds of issues and has created two very different, successful (in different ways) languages.

      I said all of those were reinventions (to a certain degree) of Lisp.

      Your qualification there is all-important. Reinventing something "to a certain degree" but adding new functionality, like static typing, is not reinventing, it's building on what's come before, which is how nearly all technological and academic progress occurs. Java represents such progress, even over Lisp. No, it doesn't address every niche that Lisp addresses (which is why I use both Scheme and Java myself), but Lisp doesn't address every niche that Java addresses, either. Are you quite sure your reinvention meme isn't simply annoyed FUD, driven by a prejudice against the unfamiliar?

    3. Re:Java static typing an asset for corporate dev. by crucini · · Score: 2
      The dynamically-typed languages are very useful and powerful for individual programmers, smart programmers, and small, tightly-knit teams. But static typing is an important feature in the commercial world, where software has to be worked on by ever-changing teams of often mediocre people.
      You could be right. Having only worked in small teams of smart programmers, I haven't seen it yet. I guess you're describing this: Vlad has a variable $packets_received, which he thinks of as an integer. He increments it for each packet received. Six months later, Raji adds a line: $packets_received = 'NO'. Later in Vlad's code, we find if($packets_received)... and since a non-numeric string evaluates as 1 in perl, we have a bug that could be prevents by static typing.
      But the way I think Perl solves this is with the Package namespace. Variables generally stay in their packages, which should be kept small, or at a lower scope. Of course I have seen plenty of awful older Perl where global variables ran from file to file like wild animals leaving chaos in their wake.
      Anyhow, if there is a benefit to typing, the types furnished by Java are not very useful to business apps. Sure, it's nice to distinguish a float, int and string, but how about a zipcode, account number, iso country code? The only way to achieve that level of typing (in Perl and I guess in Java) is to make the variable an instantiation of a class which overrides the assignment operator. For some reason, this hasn't felt worthwhile (I guess because we haven't encountered the Vlad/Raji error above).
      But another reason is that we try to keep code generic. There's not likely to be a $zip_code variable in much of my code, because zip_code is just one field in a table. Dynamic typing allows Perl data structures to effortlessly reflect info from databases. For example, several XML APIs I've written perform a SELECT, compute some derived values, and return the whole thing as XML. If columns are added to one of the tables in the SELECT, my code is not affected. Casting todays schema in concrete is not a smart move for maintainability.
    4. Re:Java static typing an asset for corporate dev. by alienmole · · Score: 2
      I'd suggest that you actually try an object oriented language with static typing, since there's a lot more to it than you're imagining.

      By supporting the definition of types as distinct from any implementation (these are called interfaces in Java), and by checking the types of variables and assignments at compile time, an entire class of errors is caught at compiel time instead of runtime. It's not just about floats and strings, it's about every data type in the system, including complex business types, and every variable in the system, which must have a declared type, and the fact that the integrity of the relationships between values and variables is validated at compile time.

      Providing the compiler with all this additional info - specifically, about the types of all your variables - then buys a number of additional capabilities. Your tools now "understand" your code much better, which allows automated refactoring - many Java IDEs support dragging and dropping of methods between classes, classes between packages, renaming of methods, etc., automatically updating the references to those entities as appropriate, because it can tell absolutely where all those references are, which is close to impossible with dynamically typed systems (with the partial exception of academic "soft typing" systems).

      So when you talk about "casting schema in concrete", the surprising result is that the dynamic languages can actually end up *less* flexible than a statically-typed language. Take method renaming as an example. If you want to rename a method of a particular class in a dynamically-typed language, no tool can do that for you automatically, because in a reference like "obj.foo()", it's impossible to reliably tell what type "obj" is, and you can't simply rename every "foo" throughout the system, since some of them may belong to a different class than the one whose method you're trying to rename.

      In a statically typed language, the type of every variable is known, and this kind of renaming and other refactoring can be performed automatically and reliably throughout a system. In addition, in cases where a refactoring requires some manual changes, the areas requiring changes generate compiler errors, so are clearly identified; again, a dynamic language can't do this, except by crashing at runtime. Static typing allows refactoring to become automated and reliable, which improves the maintainability and flexibility of systems.

      BTW, as for generic code and reflection, it's not uncommon to use reflection in Java to map database or other data to Java objects; and interfaces provide a very powerful mechanism for developing generic code in a statically typed environment.

      Understand I'm not dissing dynamic languages. I'm a heavy user of a number of dynamic languages, and have developed products for and with dynamic languages. I love the flexibility and ease of prototyping that they provide. However, I am pointing at that there are pros and cons, and that the heavy use of Java in the corporate world is not at all irrational - there are good reasons for it. Another way to think about it is that the type annotations in a program are a kind of documentation that's guaranteed to be in sync with the code.

      If you're interested in furthering your education as a programmer, I'd strongly recommend adding a full understanding of static typing to your repertoire. If you can't bring yourself to learn Java in depth, take it to the next level and look at some of the polymorphic type inferencing languages, like Haskell, ML, or OCaml, all of which have the benefit of teaching important functional concepts also. For more rigorous academic coverage of types, check out the book "Types and Programming Languages" by Benjamin C. Pierce.

    5. Re:Java static typing an asset for corporate dev. by Anonymous Coward · · Score: 0
      Java is not a reinvention of UCSD Pascal
      You really like putting words in my mouth. I never said XML+Java = Lisp and I never said Java = Pascal. I never even _said_ Pascal. I said P-code interpreter. Get it right.
      object-orientation (not in Pascal)
      For the love of god! DELPHI man, DELPHI! The fucking thing was around waaaay before Java. Borland made the _best_ Pascal language ever and named it Delphi. It killed _anything_ Sun put out in '95. Sadly, the inferior beat out the superior in this case.
      This combination is actually quite unique
      No, it isn't. It's sad frankly. Sad that the majority of programmers are forced to use this shit designed for the mediocre--and not superior tools.
      Java was the first to make any kind of impact
      You finally see the light, somewhat. Sun's hype has nothing to do with better and does not take away any of the reinvention aspects of what they are doing. Too bad Borland didn't have the marketing team Sun did.
      I don't understand the kind of mindless language evangelism that leads someone to try to dismiss a successful language as containing nothing new or no new ideas
      Visual Basic. I hear it now. You are screaming bloody murder. Visual Basic is extremely popular. Moreso than Java, perhaps. Any sane person who calls himself a programmer by profession (or even hobbyist) would never admit to VB being anything more than a hinderance to software and computing. Popularity is often the worst quality to look for when picking tools to do a job.
      This simply implies you don't have very much experience with different languages to realize that there are no perfect languages
      Continue to put words in my mouth. It makes your argument that much more plausible when you do. And to get the record straight: I never said a damn thing about perfection.
      I mentioned Guy Steele in a concise attempt to encapsulate this idea, since he's demonstrated an understanding of these kinds of issues and has created two very different, successful (in different ways) languages.
      Java is still Sun's child. Are you truely that naive to think that Guy Steele had control over the final language? He was BAIT. Plain and simple. So people like you can say "But Guy Steele was on the Java team!" It validates Sun's motives w/ Java. It's a publicity stunt and most likely originated from their marketing team (the idea of using Guy Steele). It's the same reason they put on their image of "openness" with Java. Reality says they are full of shit.
      Lisp doesn't address every niche that Java addresses, either.
      I'd like to see an area where it doesn't. The only problem with Lisp is the lack of implementations. This is a problem only because people, much like yourself, insist on using shit for tools. Therefore, there is no market for Lisp or Lisp developers. Give a Lisp vendor Sun's market and you will see every niche filled. Every person who uses Java, yet knows in some small way there is something which is better, contributes to shitty software in the end. VB is one great example. C++ is another.

      Every time you pick up a hacked together inferior tool you are voting on the future of all software.
    6. Re:Java static typing an asset for corporate dev. by alienmole · · Score: 2
      In your haze of apparent anger at the rest of the programming world, you seem to be missing what I'm saying. ("You" is intended to refer to an arbitrary number of anonymous cowards.)

      Delphi wasn't a p-code language, and it didn't have the dynamic runtime capabilities Java does. Borland missed the importance of the virtual machine. Sun got that right. What I've pointed out is that Java is unique amongst commercial languages, in combining static typing with a virtual machine with object orientation, and on top of that, improving on the most common OO model, which confused interface with implementation, by adding pure interface types. Name the predecessor that fits this bill: not UCSD p-code, not Delphi, not Lisp. So Java is not simply a reinvention.

      My point about successful languages is that there are usually reasons for their success, and if you deliberately blind yourself to those reasons, you're going to be one frustrated puppy - which judging by your messages, you are. Visual BASIC also had reasons for its success, as does Perl.

      As for the perfection comment, my point was that Lisp misses out on some important issues, which other languages address. If you simply dismiss that without looking at the things that other tools do better, you're simply sticking your head in the sand. One of those things is static typing, and it's an important issue for large commercial projects, whether you're willing to acknowledge it or not.

      As for shitty software, if Lisp were such an improvement over other languages, it would do better in the marketplace - there would be many more Paul Grahams. But when you get down to it, the business case simply isn't there. It's a myth perpetuated by single-language zealots, Graham, Pitman and yourself included. And I say that as a proud Scheme programmer, who fully recognizes the power of s-expressions, macros, code-is-data, and functional programming (not that Lisp really qualifies).

    7. Re:Java static typing an asset for corporate dev. by Anonymous Coward · · Score: 0
      Delphi wasn't a p-code language, and it didn't have the dynamic runtime capabilities Java does.
      LEARN TO READ! I specifically quoted your bit about Pascal not being object-oriented. Then I showed you Delphi, an object-oriented Pascal. Ontop of that, the _language_ is superior to Java. That isn't saying anything about how it executes. I know damn well Delphi was a compiled language, as implemented by Borland. IT WAS OBJECT-ORIENTED PASCAL.
      Borland missed the importance of the virtual machine
      No they didn't. In 1995 and earlier, using a VM was absurd in most cases. You obviously never touched Java then.
      Visual BASIC also had reasons for its success, as does Perl
      VB, popular with the mediocre. Perl, popular with the obtuse and archaic *ix crowd. Java, popular with the dot-com programming neophytes who think "web applications" are going to be the Next Big Thing(tm). How foolish they are. Java has yet to deliver on their '95 hype. And will _never_ deliver on "write once, run anywhere(tm Sun)." If you haven't caught on yet, "write once, test everywhere" is Java's new slogan.
      Lisp misses out on some important issues
      It depends. If I were to play the Lisp apologist, as hundreds of people have played the Java apologist over the years, I would say "sometimes." Scheme is lacking in many ways, but some see that as its best quality. Some people feel Common Lisp is bloated or outdated, and there might be truth to it. The thing is, no-one is working with Lisp or Scheme in any significant way. If they do, it is very quietly. The CL spec is stable as can be. Scheme's R5RS hasn't been touched in awhile and leaves much to be desired. If the same significance was placed on Lisp, Smalltalk, etc. as is on Java, we would have developments by leaps and bounds. Instead, people focus on tools like Perl, Java, and godforbid PHP. These are all languages which are a mishmash of C/C++ with a hint of BASIC thrown in (Perl variables, to name one instance). Nothing has been completely thoughtout in any of them. Consider Java. They choose not to use S-expressions. Now they don't have the macro capabilities of Lisp-like languages. Sun effectively created a language sandbox for neophytes. This is not a bad thing, in itself. The problem is instead of Java becoming a learning tool, it is becoming _the_ programming tool. People are actually creating huge architecture on top of Java. This will lead to eventual disaster. Sun has Java seriously locked up, which is not a good thing. And then you have the myriad incompatibilities between Java implementations, but no way to get around it in the architecture code (as you can port C/C++, porting is not a Java concept). You are then completely dependent upon external architecture working as it should (Sun's Java spec and the Java implementation you choose to purchase and run on). If the Java implementation doesn't work as it should (as specified by Sun), you are shit out of luck. Of course, you could always go in and work around the flaws in your own code, but what's the point? Just go back to C/C++.
    8. Re:Java static typing an asset for corporate dev. by alienmole · · Score: 2
      LEARN TO READ! I specifically quoted your bit about Pascal not being object-oriented.

      Learn to comprehend! You were saying Java (and XML) was simply reinvention, and I was pointing out ways in which Java at least combined things in a new and useful way. Focusing on a single statement about Pascal the way you did completely missed what I was saying. I said that UCSD Pascal, which used a p-code interpreter, was not object-oriented. Delphi is irrelevant to that statement. I realize you misunderstood me, but the vehemence of your responses, elicited by your own misunderstanding, doesn't do you credit.

      In 1995 and earlier, using a VM was absurd in most cases. You obviously never touched Java then.

      I began working with Java when the first public betas became available, which was around '95, IIRC. In addition, I worked on the object-oriented engine for a commercial p-code based dynamically-typed language between 1991 and 1995. Your claim that "a VM was absurd in most cases" seems like a narrow perspective to me. VMs have had a very important role in serious software development, dating back to the IBM 360 mainframes in the '60s, and the precursors to the IBM VM OS.

      You continue to throw out examples of conventional "wisdom" which don't hold up to scrutiny, and presumably reflect a lack of direct exposure to these things, such as "write once, test everywhere" related to Java. Focusing on Java as a system for developing GUI applications (which is what you have to be doing to come to the conclusions you do) completely misses the point. Java, as a server-side language, meets the WORA claim, and does not need to be "tested everywhere". We and many other large commercial organizations deploy Java server applications on Solaris, Linux, and Windows without needing anything more than a sanity test on platforms other than our primary test platform.

      If the same significance was placed on Lisp, Smalltalk, etc. as is on Java, we would have developments by leaps and bounds.

      The first thing that would be needed for serious commercial use is the addition of static typing. If you know anything about type theory, you'd realize that this has significant implications for a language. If you love Lisp so much, you would probably hate the result.

      Consider Java. They choose not to use S-expressions. Now they don't have the macro capabilities of Lisp-like languages

      You're allowing your narrow viewpoint to unnecessarily constrain your capabilities. It's easy to achieve macro-like functionality in Java. Take a look at tools like AspectJ for commercial examples of macro-like functionality being used in Java. Most larger Java shops do some code generation somewhere along the line.

      When you really think about it, and if you have experience generating code in other languages, you realize that Lisp macros are a minor convenience - kind of like training wheels - that help you create custom languages. If you're saying you can't achieve the same capabilities in other languages, you're making a statement about your limitations as a programmer.

      If you allow the features of a single language or a set of similar languages to constrain your thinking about programming, you're guaranteed to hate any system that doesn't provide the exact features you need in the exact form you're used to. It sounds to me as though you're doing that.

      When you become a truly good programmer, you realize what matters are the abstractions that you design. The language you use to implement those abstractions, in a sense, becomes an implementation detail. There are certainly many valid objections that can be brought against a language like Java, as there are for CL and Scheme. But when you actually take the time to examine why those limitations exist, in many cases you find the reasons may be more valid than you thought, and that there's a tradeoff involved. You then have to decide which side of the tradeoff you want to take. In commercial development, there are some good reasons to make some of the tradeoffs that Java makes. Your wish that as much focus be applied to Lisp and Smalltalk simply ignores this, which makes it nothing more than an impractical pipedream.

      I'm telling you that you don't understand what's important to commercial development. To understand it, you need to look at what businesses are using and what they get out of it. You also need to look honestly at the problems with large and complex dynamically typed and heavily macroed systems - many of them suffer from the Perl problem of write-only code, and this is acknowledged even within the Lisp community. These are problems which languages like Java and even C++ address.

      You are then completely dependent upon external architecture working as it should (Sun's Java spec and the Java implementation you choose to purchase and run on). If the Java implementation doesn't work as it should (as specified by Sun), you are shit out of luck.

      You're descending into pure FUD now. There are multiple compatible Java VMs, compilers, and application servers today, so your point is strictly academic. Could the Java "platform" somehow splinter in future? Sure. But the future of software developement is always risky, because everything changes so fast. The availability of multiple compatible Java implementations is a benefit which insures against some of that future risk, and is another reason why it's attractive to businesses.

    9. Re:Java static typing an asset for corporate dev. by Anonymous Coward · · Score: 0
      VMs have had a very important role in serious software development
      Not _Java_ VMs. They were complete shit in '95 (and in most cases, still are).
      addition of static typing
      You really like spouting meaning less crap like this don't you? Static or not, software can be quality in each case--and it does _not_ make it easier with static typing (as was your _original_ reason for Java's greatness.. the safety net rant). Try Lisp vs. C/C++. I'd much rather have a neophyte coding Lisp than C. The code will still be garbage, but for the most part it will be better than C (in that, it can't possibly crash or become exploited via buffer overflow).
      you realize that Lisp macros are a minor convenience - kind of like training wheels - that help you create custom languages
      You don't understand Lisp-like macros. You are too used to C style #ifdef "macros." Custom languages are a good thing. It's basically what all the rage about "patterns" and most of what object-oriented is about--using domain-specific languages to organize code and data. You completely miss that macros are _compile time_ and for the most part not runtime. They are essentially a meta-programming language.
      If you allow the features of a single language or a set of similar languages to constrain your thinking about programming
      Riiight. Delphi, C/C++, Perl, Smalltalk. Are you that damn ignorant?
      When you become a truly good programmer, you realize what matters are the abstractions that you design.
      NO WAY! And all this time I was using macros as training wheels. I could have been abstracting all my code away.
      there's a tradeoff involved
      Of course. You either keep up the mediocre status quo using Java, or you tell your boss/programming buddies/etc. to go to hell and proceed to help the state-of-art.
      I'm telling you that you don't understand what's important to commercial development.
      I understand fully. You have to keep your boss happy, which keeps his boss happy, which keeps the CEO happy, which demands that the IT department is buzzword-compatible. Sun Microsystems produces said buzzword and your boss/boss-boss/CEO has Dilbert-itis and demands buzzword-compliance. It's quite simple.
      There are multiple compatible Java VMs, compilers, and application servers today
      Yes, but they are all different in minor to large ways. And many are flawed with respect to the Java specs. You _ARE_ shit out of luck if your JVM vendor dies off and the Java spec changes. All the vendor-specific work arounds become obsolete when you jump ship to a new JVM vendor and you must then implement new work-arounds. There are so many ways to get screwed using Java.. I don't see what the point of it is. Just use C/C++. It's more "write once, run anywhere" than Java will ever hope to be.
    10. Re:Java static typing an asset for corporate dev. by alienmole · · Score: 2
      Static or not, software can be quality in each case--and it does _not_ make it easier with static typing (as was your _original_ reason for Java's greatness.. the safety net rant). Try Lisp vs. C/C++. I'd much rather have a neophyte coding Lisp than C.

      You're still missing the most important point, which is that critical business systems can't always be developed by small teams. What works for a small team doesn't necessarily work for larger teams, and what works for development of an application over a short timescale doesn't necessarily work for evolution of that application over a longer timescale as the team changes. This is one of the major areas in which I'm saying static typing is important.

      You don't understand Lisp-like macros.

      No, you didn't understand what I was saying, specifically:

      Custom languages are a good thing.

      I completely agree. And I'm saying that Lisp macros are simply a convenient but also limited way to prototype a custom language. There are other ways, and the only real benefit that Lisp macros provides is a low barrier to entry. XML offers a similiar capability, as it happens, but there are other means to that end also, such as simply implementing a domain-specific language using a grammar and parser generator.

      You completely miss that macros are _compile time_ and for the most part not runtime.

      You plucked that out of nowhere. I talked about code generation as an alternative to macros, and that would be a compile time operation.

      They are essentially a meta-programming language.

      Correct. And there's nothing to stop you from developing your own meta-programming languages - macros simply lower the barriers to entry for this. If you're misled into thinking that macros are the only way or even the best way to achieve this end, though, then macros are doing you a disservice. They're a shortcut, and they exhibit the typical tradeoffs of a shortcut.

      Riiight. Delphi, C/C++, Perl, Smalltalk. Are you that damn ignorant?

      Ha! If you think those languages are so different from each other, you prove my point perfectly. I haven't seen you mention any logic languages, or functional languages (Scheme doesn't count, since I brought it up, and you've primarily been talking about CL). You seem to be stuck on a particular kind of semantics, specifically mutable languages with class-based object orientation, or subsets thereof. It's certainly true that the dominant and popular languages all tend to have these kinds of semantics, but I'm saying you need to learn how to apply the appropriate principles, regardless of the language you're using.

      NO WAY! And all this time I was using macros as training wheels. I could have been abstracting all my code away.

      In my consulting experience, this is absolutely true. You probably write a lot of code which could be abstracted away. Sometimes it's done because of the startup costs involved in developing generic solutions, and that's certainly an area where macros can help, but they're not a silver bullet, and one of the reasons is maintainability.

      I understand fully. You have to keep your boss happy, which keeps his boss happy, which keeps the CEO happy, which demands that the IT department is buzzword-compatible.

      This is simply the explanation you use to sooth yourself and to justify not extending your knowledge into areas with which you're less comfortable. I don't have a boss, and I sell to customers on the basis of being able to deliver working, in-house maintainable, extensible systems at competitive prices. BTW, I've never met a CEO that demands that his IT department is buzzword compatible, but they do tend to demand things like good return on investment, which includes the ability to extend and maintain systems, often over decades. Choice of a language like Java gets made far more for legitimage reasons of addressing business risk than you realize.

      I don't see what the point of it is. Just use C/C++. It's more "write once, run anywhere" than Java will ever hope to be.

      You're clearly talking from a complete lack of experience. I've worked on large, cross platform C and C++ systems, and I've worked on large, cross platform Java systems. With the caveat that the Java systems are server-based, there's no question that Java is immeasurably more portable than C++ across different compilers and OSes. We move our server side Java apps between OSes without changing a line of code, and without a single line of conditional code. Switching between compilers is completely transparent. There tends to be more variations amongst VMs, but nothing compared to the variation between platforms when using C++, even with portable class frameworks.

  34. Prolog is better by axxackall · · Score: 1
    Java is way TOO general programming language. The best language for stored procedures I think is Prolog.
    • It works perfectly with relational algebra;
    • It allows meta-programming;
    • Predicates are the perfect fit for WHERE expressions;
    • Database concept is already in Prolog.
    The only problem is the lack of Prolog skills in Oracle Corporation :)
    --

    Less is more !
  35. You missed one... by smagoun · · Score: 2

    There's one more thing you need: JDOM. It's basically a wrapper for XML parsers that make manipulating XML in Java much less painful. It's good enough, in fact, that Sun has adopted it as a JSR (JSR 102, I think). I bumped into it a few months ago, and it's already made a huge difference in terms of productivity. With JDOM you spend less time worrying about all the oddities of the DOM or the limits of SAX - instead you mess with good ol' Java objects and JDOM does the rest.

  36. Xerces v JAXP by andrew+cooke · · Score: 1

    The review talks about the difference between Xerces and JAXP. I thought Xerces implemented JAXP - could someone explain how they are two different approaches?

    Thanks, Andrew

    --
    http://www.acooke.org
  37. Got it right first? by hackwrench · · Score: 1

    As far as I can tell nobody has it right yet.
    Where are my voice/gesture aware applications and 3D interfaces?

  38. A few facts (not that you all care about facts) by --daz-- · · Score: 0, Troll

    Well, in an attempt to cut through all the anti-.NET FUD, let's throw out a few facts: - MS was first company who had a very, very good XML parser (MSXML 2 and 3) back in the IE4 and 5 days. MS is one of the major contributors to the advancement of XML and XML-related standards such as XML Schema (which is SOOOO much better than DTD, let me tell you ) - Java's support for XML was pitiful, broken, and horrible until just recently. There wasn't even a complete XML DOM solution in Java until JDK 1.4 which was only recently released! - There still is no good Web Services implementation in Java other than costly commercial implementations from BEA and IBM. In short: Java + XML is a joke. .NET has much better and pervasive XML support. Download the .NET Framework SDK (or view the docs online) and see the System.Xml namespace. Then, look at the javax.xml package in the JDK1.4 and then laugh at Java. Needless to say, saying that "java got it right first" is a complete lie.

    1. Re:A few facts (not that you all care about facts) by --daz-- · · Score: 1

      I knew that this would get mod'd down since the mods aren't interested in facts, especially ones that pertain to MS. The original text of the Slashdot article was incorrect. Java did not get it right first, I was merely illustrating that.

    2. Re:A few facts (not that you all care about facts) by angel'o'sphere · · Score: 2


      There still is no good Web Services implementation in Java other than costly commercial implementations from BEA and IBM. In short: Java + XML is a joke. .NET has much better and pervasive XML support. Download the .NET Framework SDK (or view the docs online)

      what about: www.soap4j.org?
      Free open source soap for java. You need no commercial products to do SOAP etc. in Java.

      Theonly FUD I see in this thread is yours :-9

      BTW: please provide a link for downloading .NET ... is there a Visual Studio .NET in cluded? All Visual Studios with .NET I found recently are for sale and nothing free to downöload.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:A few facts (not that you all care about facts) by JohnnyCannuk · · Score: 2

      --daz--,

      You ever heard of Apache? Jakarta? IBM Alphaworks? While only recent additions to the JDK core, all kinds of opensource, free and technically superior XML parsers and tools have been available for Javafor quite a long time now. Xerces, Crimson, Axis (Wow, Webservices!!!!), Cocoon...the list goes on.

      And please don't towt the virtues of .Not and complain about IBM and BEA having "costly commercial implementations" in the same breathe. MS will charge $$$$ for .Not servers and .Not Studio is $1000 USD for a single licence. Meanwhile,many Java-XML solutions are:

      1. Free
      2. More mature
      3. Based on W3C specs
      4. Free.

      BTW IBM and Sun were also "major contributors" to the XML-Schema standard...your point?

      Get over the MS marketing tripe..

      --
      Never by hatred has hatred been appeased, only by kindness - the Buddha
    4. Re:A few facts (not that you all care about facts) by VP · · Score: 2

      heh - another astroturfer with .NET FUD:

      MSXML 2 and 3 were not complete XML validation parsers, while IBM's XML4J was fully implementing the XML specification. XML4J later became the Xerces parser from the Apache project.

      MS invented the broken XDR schema, and only after they saw that they won't get to do their "embrace and extend" routine with the W3C XML Schema working group they hired one of the editors of the working group. Their newest BizTalk server still does not suport XML schema, only the broken XDR schema. Only MSXML 4 has any support for XML schema.

      I think the fact that there are many tools from different vendors and groups (IBM, Oracle, Apache) which provide XML functionality in Java is a much better foundation for Web services than a MS SDK...

    5. Re:A few facts (not that you all care about facts) by Anonymous Coward · · Score: 0

      You're the fool here. While I don't agree completely with the person you replied to (specifically the remarks about Java and XML being a joke, though he is 100% correct on the count that Microsoft were there first), the fact is that .NET (including a command-line C# compiler) is available for free on the MSDN (http://msdn.microsoft.com). Visual Studio .NET is a commercial product... much the same as SUN Forte (SUN ONE Studio), Borland JBuilder, etc.

    6. Re:A few facts (not that you all care about facts) by --daz-- · · Score: 1

      SOAP4J was a bloated mess (still is), which is why they're rewriting it and writing AXIS.

      I'm very familiar with Jakarta and AlphaWorks. I worked as a Java programmer for 2 years. I was very shocked to see how far behind in the XML arena the Java world was. After having worked with VB for a few years before and using the MSXML parser which supported existing XML standard proposals (it wasn't standardized at the time) more than any existing parser did.

      Xerces was a pile of junk without wrappers like JDOM. JDOM was cool, but it was sad that you ended up having to have 5 or 6 3rd party libraries before you could do anything serious with XML.

      This is mostly fixed now with 1.4, but my point was that Java DID NOT have it right before MS or .NET.

    7. Re:A few facts (not that you all care about facts) by --daz-- · · Score: 1

      Not that you deserve any reply because of your idiocy (".Not", "M$", etc)

      SOAP4J is crap. Which is why they're rewriting it and starting from scratch with AXIS. .NET is free. You don't need Visual Studio.NET to code in .NET just like you don't need Visual Crashe to code in Java.

      Java XML is:

      - Late
      - Slow
      - immature
      - Doesn't support all specs (namely web services, XML data definitions, XML Schema XSD, etc)

      IBM was a major contributor to XML Schema, but not Sun.

      Sun hasn't contributed much of anything. In fact, they're so far behind, they just announced a new Web-services-like definition called "WCIS" or something like that. It's sad. I wish IBM would just buy Sun and put them out of their misery.

    8. Re:A few facts (not that you all care about facts) by dringess · · Score: 1

      Please show me the SAX parser support in .NET.

    9. Re:A few facts (not that you all care about facts) by angel'o'sphere · · Score: 2

      Thanx for the link, but why I'm a fool?

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:A few facts (not that you all care about facts) by thammoud · · Score: 0

      I hate it when someone bashes apache.org stuff. Those guys produce the most wonderful and high quality software. Facts.

      Xerces supported XML schemas before MSXML did. Version 3.0 of MSXML supported XDR crap and did not support XML schemas until version 4.0. Get your facts straight. Yes MS did have a big hand in forming the schema spec but they DID NOT produce the first schema parser. Apache DID.

      Xerces implements w3c standards which are the same API's that MS boasts. Pile of Junk ? What are you talking about? We have been using Xerces with Schemas for almost a year now without the need for 5 or 6 libraries.

      P.S I own a consulting company. Perhaps you need some help. Send me an email.

    11. Re:A few facts (not that you all care about facts) by jilles · · Score: 2

      Get your facts straight. One of the first high quality xml parsers was xml4j from IBM. I used it nearly four years ago. At the time there were very few xml parsers and Java was about your only option if you wanted to do XML.

      A quote from the Xerces pages:

      The Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and contains advanced parser functionality, such as support for the W3C's XML Schema recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in addition to supporting the industry-standard DOM Level 1 and SAX version 1 APIs.

      Note that because some of the standards are still not complete, the stable API will definitely be different from its current form in Xerces-J 1.4.4. This is your chance to give us feedback on the features that are important to you, and let us know whether the APIs that we are providing are the right ones. Please direct your feedback to the Xerces-J mailing list.


      As you can see Xerces supports all the latest standards and even appologizes that some of the API calls will change because the standards are not stable yet. The moment these standards stabilize the 'mature' options you mention will of course suffer from the same problem. However, it wouldn't surprise me if xerces was updated first.

      Regarding soap, there are many java implementations from, among others, apache and IBM.

      So in reply to your comments, Java XML:
      - Java usually is among the first languages to support XML related w3c standards. Third parties like apache and IBM play an important role here.
      - Java is actually pretty damn fast (hence the popularity of server side Java).
      - Very mature (see first two points)
      - Standards compliant.

      I fully agree with your comments regarding the necessity of IDEs. Though, given your comments about visual cafe it is very clear that you haven't tried any of the fancy Java IDEs released in the new milennium since VC is long gone (hint, try Idea or Eclipse for a change). Of course with .Net you only have one realistic option: visual studio.

      --

      Jilles
  39. Go back a little more... by consumer · · Score: 2
    with all of Microsoft's slick marketing for .NET there's never been a better time to remind the industry which platform got it right first.

    Exactly, and that would be Perl on Unix. That got it right before Microsoft knew there was such a thing as HTTP.

  40. Java combo boxes by alienmole · · Score: 2
    Trying to use Java for it would mean .. well, using Java. Slow to load and slow to use, the trade off here is responsiveness.

    I bet you haven't tried this. It performs fine, we use a Java XML-bound combo box in in-house web apps which replaced traditional two-tier GUI apps. Used by professional data entry operators who love it. It's not slow to load or use.

  41. Re:Python and XML are a better match (NOT) by Internet+Dog · · Score: 1
    In response to my comments about Python being a good XML processing language you wrote:
    Python still can't match Java for XML developement.
    JAXP Java API for XML parsing.
    JAXM Java API for XML messaging.
    JAXM Java API for XML Registries
    JAX-RPC Java API for XML-based RPC
    SAAJ SOAP with Attachments API for Java
    JAXB Java API for XML binding.
    Python has a similar collection of libraries for processing XML. You missed the point. I was suggesting people look at Python because Java has fewer capabilities as a language than Python. For instance, the set of built in types is limited. And, as with C++, Java isn't completely object oriented.The primitive types are not objects, as they are in Python. For instance, here is an example of string object with a string method called on that object.

    Python 2.3a0 (#1, Jun 15 2002, 15:12:54)
    [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-110)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> "The cow jumped over the moon".find("jump")
    8
    >>>

    Also, the Python language is being improved by the open source community. It's growth isn't hampered by corporate interest. With the release of Python 2.2 the meta programming interface was added and work began on class/type convergence. The meta programming capability enables the core Python object model to be customized from within the language.The type/class convergence has made it possible to derive subtypes from builtin types int, list, dict, or str.

    This isn't to say that people cannot be productive using Java. The huge library of software available for Java makes short work of some problems. The purpose of my post was to point out a good book on XML processing and to suggest that Python might be of interest to anyone doing XML processing.

  42. Re:java the best server side platform. by Anonymous Coward · · Score: 0

    Linux always was the land of scripting languages. Python and Zope have more future on Linux platform than proprietary Java.

  43. Amen! by cascadingstylesheet · · Score: 1

    An, er, unnamed US state's child support system (terminals connecting to VAX servers) is being replaced with a Java-based web client app.

    The old system's usability is simply better. The users can just fly through it, using not very complicated keyboard shortcuts. Even before they learn the shortcuts, they get simple menus they can either arrow through, or type a number and hit enter (for say menu item 5). Tab between fields, of course, and a jump to a field key sequence.

    The new app has pulldown menus, clicky buttons, click click clik. Some things you just can't do with keyboard strokes, others are just difficult. Even people who are fast at it aren't as fast as you can be with the old app.

    You just can't beat some old terminal interfaces. I wish more people would look to them for inspiration.

  44. Sun is killing Java by Anonymous Coward · · Score: 0

    All thos JAX* APIs are killing very good competitive implementations, like Apache Xerces. Java becomes more and more proprietary platform of solely Sun. And as such it will die.

  45. Re:Python and XML are a better match (NOT) by Anonymous Coward · · Score: 0

    I do use python, all my system management scripts are written in python and I love a lot of python's features but i do not think it is a good language for web application and for complex applications that need xml parsing.

  46. Re:Data Entry by yintercept · · Score: 2

    I cut my teeth on the old style orange data terminal with fixed width fonts and no pictures. When designed well, the end user's learning curve was extremely low. New people, with no computer experience, were up and working within an hour of their new job. After moving to GUI (Windows) and OO formats, the learning curve increased, and quality of data and data entry speed decreased. For pure number crunching, data entry and access, these old systems were lean and mean, and accurate, and have not been improved upon by the GUI world. Of course, pure number crunching or efficiency is not end of existence or only consideration in designing a system...however I don't buy into the argument that the Java/XML/OO world is better in every way to ideas from the past. Different approaches have different strengthes.

  47. Java vs .Net by hackus · · Score: 1

    Java will continue to have its place in internet development because of its cross platform abilities.

    Java is the only language that will insulate you to the degree of managing a diverse enterprise that requires software development.

    It will also for the first time, preserve that investment across OS and hardware upgrades.

    That means you don't have to rewrite your business logic just because your hardware or OS technology changes.

    The cost savings by using Java is enourmous, without even considering the vs some other companies solution, feature for feature.

    So right out the door you have a major incentive for using it in this very highly networked world where vendors, customers, and suppliers, distribution channels all have very diffferent computing environments.

    I keep seeing "Java is too slow" comments from people on Slashdot that obviously have never used or have never developed web applications with it lately. So I won't even bother to say your wrong, your just way too inexperienced to understand a discussion on the topic. .Net requires far too much money upfront to build even the simplest applications, including a huge investment in hardware infrastructure to make it work as it was intended. I won't even get into the licensing issues, just to outfit a small group of 5 developers you could spend well over 100K to build and deploy .Net applications.

    Ridiculous.

    Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
    1. Re:Java vs .Net by Anonymous Coward · · Score: 0

      I work on a site that is written in Java an it is slow and expensive. our backend is written in VB while the front is Java because Java is too slow. It's a shame that VB beats Java in performance nad maintainability.

      Have you seen licensing costs for any of the J2EE servers out there (i.e. WebLogic, WebSphere, Oracle)? They are ridiculous. The cost structure in .net is much more resonable. Plus BEA, IBM, and Oracle have their own extensions to the wbeservers for performance and whatnot that is NOT strict J2EE implementations. Now you have the same vendor lock in that is so horrible with MS. You cannot easily port from one J2ee platform unless you write plain vanilla Java code. Hence write once run anywhere is a myth. Hardware is he same for both. If you want true interopibility use XML. and then the microsoft parsers runs 12 times faster than a pure java implementation. I've used both. Get your facts straight.

    2. Re:Java vs .Net by JohnnyCannuk · · Score: 2

      VB in the back and Java in the Front? WTF are you smoking?

      That's like having PERL in a web page and posting to HTML on the server...that just doesn't happen.

      And if by some bizzare twist you really did do that, well, yeah go ahead, use .Net. That's right it is superior....uh huh...you just go on now....;)

      --
      Never by hatred has hatred been appeased, only by kindness - the Buddha
    3. Re:Java vs .Net by Anonymous Coward · · Score: 0

      I agree with the great cost difference that incurred when using the Java-based webservers... and the extensions thrown into the Websphere are worse than Microsoft, because at least you KNOW it is proprietary and don't spend all day before realizing it.

      The important fact - the database. What good is a web app without a backend DB? SQL Server is so much more efficient (from a cost/performance standpoint) than DB2 or Oracle it isn't even funny. I've seen several companies nearly go bankrupt using Java/Websphere/Oracle, when the exact same thing could have been done with ASP/SQL Server for a miniscule fraction of the cost (and I'd put my money down that the site would be ready MUCH sooner, too).

    4. Re:Java vs .Net by andrew+cooke · · Score: 1

      Im working on a system like that at the moment. The reason is historical - back-ends tend to be legacy (VB or Cobol or whatever someone decided years back). Front ends are newer and, if the architecture separates the two nicely, can be in a different language (hence Java).

      So systems like that do exist, if not for the reason given in the previous post (speed).

      PS And "back-end" can be a relative term. The VB back end to the Java code might be a front-end to even older stuff in Cobol or RPG (AS/400) (shudder).

      --
      http://www.acooke.org
    5. Re:Java vs .Net by RisingSon · · Score: 1
      It will also for the first time, preserve that investment across OS and hardware upgrades.

      That means you don't have to rewrite your business logic just because your hardware or OS technology changes.

      This is not free...it comes at a cost.

      I keep seeing "Java is too slow" comments

      That is the tradeoff.

    6. Re:Java vs .Net by Anonymous Coward · · Score: 0

      exactly. when the bakend was developed it used all these COM object to do address matching and standardization and person matching. This stuff was not written in Java and if it was the licensing fees were outrageous plus to use the Java side components speed was an issue. Oracle sits in the middle as a messaging queue and as the DB. the VB picks up messages from the Java (when I say java I mean JSP, taglibs, Java, ...) frontend. Also a lot of PL/SQL is used called most of the time from VB. to do a total rewrite would be a waste of money. And they do seem to work well with each other.

    7. Re:Java vs .Net by Ramshackle · · Score: 1

      our backend is written in VB while the front is Java

      Worst. Architecture. Ever.

    8. Re:Java vs .Net by hackus · · Score: 1

      Certainly the servlet containers that many people specify are outrageous money wise.

      WebSphere, WebLogic etc.

      I don't use that stuff in my development work, I use Linux and Tomcat, and Cocoon 2.0.

      Ironically, these products more closely follow the w3 recommendations as well, so there are fewer surprises.

      I agree the licensing for building applications whether it be Java or .Net is outrageous.

      But I think the problem here lies that Java technology is extremely extensible, to the point it is SO open, you do not have to restrict yourself to really bad licensing schemes. .Net you don't have a choice.

      Most people use Tomcat and Linux for Java server side development.

      The only reason why the big guys are not is because Open Source Engineering is still viewed as a threat while the industry reshapes itself around this new economy.

      Which is, the people are the important products, not the software or the hardware.

      That is how you make money with Open Source. Products that are not based on people are sold using the old proprietary way of doing things.
      (Shrinkwrap).

      Since just about everyone sells things this way at the moment, OSE type organizations are very threatening, very unknown and are quietly fighting a revolution in many IT departments world wide...

      Hack

      --
      Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  48. Remember... by telstar · · Score: 2
    "with all of Microsoft's slick marketing for .NET there's never been a better time to remind the industry which platform got it right first"
    • It's not important who's gets there first ... it's important who's there in the end.
  49. Anti .NET evangelizing tips by alienmole · · Score: 4, Informative
    Thanks for the thoughtful post. I'd like to add that I've found it quite easy to evangelize against .NET, even in diehard MS shops, and I suggest that anyone in a position to should try doing this.

    There's hardly an MS shop out there that hasn't felt some misgivings about Microsoft and specifically .NET over the past couple of years - whether because of Microsoft tightening the licensing screws, dumping support for Java, radically changing VB for .NET, or pushing a brand new language (C#) for Microsoft's own benefit, or simply all the information that's come out in court which makes it clear that Microsoft has always been more than willing to screw their customers to make a buck.

    IOW, Microsoft has provided us with an enormous amount of FUD ammunition, all we have to do is load up and start firing. Don't be too in-your-face about it, though. Instead, start by asking questions:

    • Do you feel comfortable committing to .NET as a single-vendor standard? (Point out that open-source alternatives like Mono are still vaporware.)
    • If you're not going to use C# because it's too new and unproven, which language are you going to use to target .NET?
    • If you use VB.NET, aren't you concerned that the next version will leave you out in the cold, as just happened with the previous version of VB in the transition to .NET?
    • Wouldn't it be beneficial to be able to run your server-side apps on any hardware and OS? What if you need to scale up substantially? Will you simply build a huge farm of Windows machines and pay for all those server licenses?

    Don't get overly emphatic about any of this, you're just asking questions. Once the target has had a chance to think about this - maybe over a period of days, weeks, or even months, depending on the degree to which their brains are set in Microsoft concrete - you can slowly start pointing out the benefits of open platforms.

    For example, running Java means using any hardware and OS as your server, today. The WORA creed actually does apply to Java on the server side - we regularly run our server apps on Windows, Linux and Solaris, without changing a line of code. Linux server farms are a heck of a lot cheaper than Windows farms, because of licensing. And if you need a single box that's bigger than any PC-class server, you can't beat the Unix-based hardware that's out there.

    Running Java means wide support from multiple vendors, some of them very large and reliable, like IBM and Sun. There's competition amongst vendors in the form of multiple implementations of application servers, JVMs, and Java compilers - you can pick what you need, from open source to expensive enterprise-oriented products. The equivalents on .NET are all single-sourced - no competition, no openness.

    The lack of competition within .NET has important implications: Microsoft can't fill all niches, and it doesn't even try. Its offerings are usually skewed towards the most lucrative markets, the biggest enterprises, and as a result smaller businesses that don't need all the features have unnecessary stuff pushed on them. In the Java world, if you want something small and light, you can just download an application server like Jetty, a lightweight but powerful persistence solution like Hibernate, and you've got a kick-ass application development and deployment solution. Powerful open and extensible IDEs abound, with Eclipse being a top contender.

    What it comes down to is that companies have to be on some weird kind of crack to think that it makes sense to commit their development to .NET. Microsoft has upped the stakes in platform commitment required from their customers, but it's not offering anything in return. Meanwhile, there's a widely used, widely supported, competitive, successful, open, multi-platform alternative that's available today. The choice here is a no-brainer, folks.

    [P.S. for those who object to the Java-centricness of all this, I'm talking about commercial scenarios where Perl, Python etc. are just not considered options. But once companies begin using open solutions, they tend to become more open to other such solutions - I had one IT manager who switched from IIS/ASP to Java/JSP recently ask me where he could download Perl for Windows.]

  50. java's crap... by Anonymous Coward · · Score: 0

    ...go python.

    1. Re:java's crap... by Anonymous Coward · · Score: 0

      pythons crap go Fortran!!!

    2. Re:java's crap... by croanon · · Score: 0

      Fortran Craps! Go Assembler!

      --
      Dear Bill, do you have a .net tatoo on your ass for marketing?
  51. I like the Java language ... but ... by Skapare · · Score: 2

    I like the Java language ... but this Java Virtual Machine is a hindrance. For things like downloaded applets that need to run in anyone's browser on any machine, a portable run-time is essential. But for building server-side applications, the JVM is the problem. So I'm looking for a compiler system with libraries that compiles Java to native machine code (with many platforms supported), and still does everything any Java program would expect ... except for things like being able to share the runtime code, both the executeable and the libraries, across thousands of process instances, and the raw speed native code gets. Oh, and GPL, LGPL, or BSD style licensing would be nice.

    --
    now we need to go OSS in diesel cars
    1. Re:I like the Java language ... but ... by Ramshackle · · Score: 2, Interesting

      What exactly is the issue, here? Have you looked at any modern-day JVMs? None of them interpret bytecode on the fly anymore. They all just-in-time compile their code, and can do adaptive optimizations as the program runs.

      For a "server-side" JVM, check out BEA's JRockit. I it is available as a free download (registration required). Right now it only runs on Intel boxes (Linux and Windows) though.

    2. Re:I like the Java language ... but ... by rnicey · · Score: 1

      Bingo,

      My biggest problem with Java so far also, but for a slightly different reason.

      We develop algorithms that detect fraud and these are built from data that takes us years to gather. It's so easy to reverse a class these days that I can't deploy Java in any place my competitors could get ahold of it.

      As you say it makes sense when running applets, but server side, installed or embedded it's a real pain. Check out gjc for work they're doing on compiling java to native code on x86. When this matures a bit, it may be the killer app for Java. When I figure out how to hook that stuff into Tomcat I can retire :)

    3. Re:I like the Java language ... but ... by Skapare · · Score: 3, Interesting

      1000 processes doing just-in-time compiling? Now tell me how that resultant machine code is shared securely between processes. If compilation to native machine code can be done, why not do so before run time, and then the stored machine code image can have its one copy in RAM shared by the many processes running. This wouldn't have been an issue with applets in a browser, but it certainly is in a server.

      --
      now we need to go OSS in diesel cars
    4. Re:I like the Java language ... but ... by Tablizer · · Score: 2

      (* It's so easy to reverse [decompile] a class these days that I can't deploy Java in any place my competitors could get ahold of it *)

      Just use Perl. It is so well encrypted that even your own programmers can't decypher it :-p

      Seriously, though. Compiled stuff can also be reversed compiled. I don't know how much less so than VM code. Are the local variable names kept intact, or turned into ID's in VM code?

    5. Re:I like the Java language ... but ... by Anonymous Coward · · Score: 0

      There are all kinds of obfuscators out there. Get a search engine (or a clue)...

    6. Re:I like the Java language ... but ... by Ramshackle · · Score: 1

      Where do you get 1000 processes from? JVMs are multi-threaded, and share a codebase. If you're talking 1000 JVMs on different boxes, yes, they each do their own JIT-ing. And the whole point of adaptive optimizations (if you would read the link) is that it is superior to JIT-ing alone.

    7. Re:I like the Java language ... but ... by Skapare · · Score: 2

      Not all server environments can be just trivially made to be multithreaded and still work securely. Multithreading means more than just sharing the codebase. It means sharing the data and sharing the access permissions. It means a huge security exposure in servicing different users. So that is where the 1000 processes comes from (and its not a low estimate, either ... I just talked to one person the other day who had as many as 12000 processes running ... fortunately not JVMs ... during a peak of usage). If Java is to get beyond lame stuff like shopping carts, it needs to become wise to more isolated secure environments, and still do it efficiently.

      --
      now we need to go OSS in diesel cars
  52. Re:Python and XML are a better match (NOT) by DeadeyeFlint · · Score: 1

    Strings are objects in Java:

    $ 9 [../lib]> java -classpath bsh.jar bsh.Interpreter
    BeanShell 1.1a16 - by Pat Niemeyer (pat@pat.net)
    bsh % print("The cow jumped over the moon".indexOf("jump"));
    8
    bsh %

  53. um... it's java by Anonymous Coward · · Score: 0

    As an added bonus, the code within has been tested on both Windows and Linux.

  54. That can be done with javascript, no sweat by aWalrus · · Score: 1
    To do that you can initialize the options to a javascript array, assign a call to a javascript function that takes the value of the text form, goes through the array and using substr(0,document.fieldName.size()) checks for matches. Then, when it has gathered the ones that match (using an optimized algorithm, preferrably) it could display a floating div that contains the possible elements.

    In later, DOM compliant browsers (ie5+,ns6+,mozilla) the div can even be positioned to the end of the text inside the field, to simulate code completion style behaviour. You also need code to allow the selection of the correct option from that div and then write it to the form field. This is entirely doable from javascript using only it and HTML 4.0.

    As a side note: You can use java at the backend to provide the generation of the javascript code. Truly advanced web applications usually make use of a combination of technologies to provide better functionality (java servlets and xml for backend business logic, jsp's for presentation)

    --

    --
    Overcaffeinated. Angry geeks.
  55. my experience with dotNet by Anonymous Coward · · Score: 0

    Asp.net is great, but I wouldn't recommend using .Net for making fat apps for anyone. After spending three months working on a small fat application for internal use in our office I ran into all kinds of troubles at deployment. The client target was a series of win98se workstations (which M$ swears supports .Net). After testing a zillion scenarios on four different workstations, wiping and re-imaging after each attempt, the application never ran. I continued to get a System.Policy.PolicyException although there were no policies being enforced on the machine(s) by the network, I was not working from a network share, etc. I exhausted all resources, including M$ support, M$ public newsgroups, dejanews, etc. Now the app ran perfect the first time tried on win2kpro or winxppro. You know what M$ support said? "Well, why don't you upgrade the target machines to win2kpro or xp?" My response? "The machines don't have the hardware to run those platforms, and I'm not authorizing additional expenditures to fix this problem we didn't cause. I'll cancel the project first." So, I did.

    I'll continue to use Asp.net in my office, but .net for fat apps can go take a flying leap for all I care. I'll run VS6 into the ground first.

    btw, C# looks so much like java it makes me ill.

    1. Re:my experience with dotNet by Tablizer · · Score: 2
      The client target was a series of win98se workstations (which M$ swears supports .Net). After testing a zillion scenarios on four different workstations, wiping and re-imaging after each attempt, the application never ran. I continued to get a System.Policy.PolicyException although there were no policies being enforced on the machine(s) by the network, [emphasis added]

      Oh great! MS not only cloned Java, but also cloned the pattern of stupid, bloated, beurocratic Java error messages.

      When MS wants to kill a company or technology, they get so hell-bent that they copy the stupid parts also.

      I suppose they will now copy case-sensative file-names now that they also want to kill Linux?

  56. offtopic discussion by wrinkledshirt · · Score: 1

    Ever considered combining PHP with C-based CGI? I found that opens up a lot of doors. I'd wanted to do something similar to what you were doing, mainly, doing some socket work with PHP to talk to a search engine running in the background, and I wasn't comfortable with what PHP offered.

    Still, I found I could pass off the PHP search page to a C-based CGI page that itself connected to the search engine, and then after getting the results pass that back to a PHP page for the search results rendering, and it worked pretty well.

    Is that sort of solution unrealistic in the enterprise environment?

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

    1. Re:offtopic discussion by foobar104 · · Score: 2

      Ever considered combining PHP with C-based CGI?[...] Is that sort of solution unrealistic in the enterprise environment?

      In my opinion, it is. For starters, writing CGI applications in C is painful and error-prone. Java servlets are faster and much easier to write cleanly. So there's no real reason to use C or C++-language CGI for anything, unless you're doing something tricky on the back end that just can't be done with Java.

      On the other side of the coin, we've got PHP. PHP is easier to write and faster to develop than JSP, in my opinion, but harder to write in any sort of scalable way. For instance, JSP gives you tag libraries which can be used to abstract out some Java code without having to delve all the way into servlets. Very handy for presentation-layer automation. PHP doesn't give you that.

      There are lots of little things, too. You can package up an entire web app into a couple of files, for instance, while deploying a PHP/CGI application requires the installation of a whole tree full of scripts and programs. A small thing, but it makes a difference in the long haul.

      So I think the combination of PHP and CGI is better than PHP alone, but still losing in comparison to J2EE technolgies.

  57. Ummm by Thomas+A.+Anderson · · Score: 1

    "There's a whole lot of posturing going on in the world on Internet programming right now, and with all of Microsoft's slick marketing for .NET there's never been a better time to remind the industry which platform got it right first."

    Yeah, Perl.

    "Enter XML and Java, Developing Web Applications (2nd Ed.)"

    Whaaaa? Java? The most overrated, overblown programming language ever created. I can, in perl, do everything you can in java, but faster (both development and runtime).

    Face it, the *only* reason java has made it this far is because Sun refused to let it die the death it deserved. No such fake support for perl - it's huge because it works.

    Course I'm bitter because the dot.bomb I worked for spent 56 million dollars writing a "digital safe" in java that could have been written easier, cheaper, more stable, and modular in perl. Dumb fucks...

    --
    Personally its not God I dislike, its his fan club I cant stand (bash.org)
    1. Re:Ummm by Anonymous Coward · · Score: 0

      You just seem to be bitter because, apparently, you don't grasp the elegance of object oriented programming, especially in Java, and still cling to a clooge of a language called Perl.

      Let me see you design one good GUI based application with Perl, and see how well it runs on Windows/Linux/Solaris.

      Perl faster than Java? Stop smoking whatever it is your smoking. Or while your still high go convince the financial industry to abandon Java and move to Perl...

    2. Re:Ummm by Anonymous Coward · · Score: 0

      memory persistent objects.

      If you know how to do it in perl, please let me know. I don't want EJBs, but I don't know another way besides writing my own persistence layer in c, which I may yet try. Any volunteers to help?

    3. Re:Ummm by Anonymous Coward · · Score: 0

      seriously, let me (AC) know

      ahde#oz.net

    4. Re:Ummm by Thomas+A.+Anderson · · Score: 1

      " You just seem to be bitter because, apparently, you don't grasp the elegance of object oriented programming, especially in Java, and still cling to a clooge of a language called Perl."

      Yes, it's clooge - that will change in perl 6. Amd yes. OO is cool, but perl 5 is perfectly capable of doing it - and 6 will be better.

      "Let me see you design one good GUI based application with Perl, and see how well it runs on Windows/Linux/Solaris."

      What are *you* smoking - remember we are talking about web based apps? Which all run on Windows/Linux/Solaris/Mac/Beos/etc... This is where perl *really* shines. From data manipulation, data access, html generation - perl does all these well *and* easily (thanks to thousand of wonderful modules).

      "Perl faster than Java? Stop smoking whatever it is your smoking. Or while your still high go convince the financial industry to abandon Java and move to Perl..."

      Thanks to those aformentioned modules, perl is *many* times faster than java to code. And, if the code is then precompiled (ala mod_perl) into apache, it runs *at least* twice as fast as java. Sorry, no data on hand, but it's out there (I've seen it) - I leave this as an excercise for the viewer.

      I can't comment on the financial industry since I have no experince with it - but I *do* have experince with web apps - and perl kicks butt (along with PHP).

      --
      Personally its not God I dislike, its his fan club I cant stand (bash.org)
    5. Re:Ummm by Camel+Pilot · · Score: 2

      Actually from my experience I would agree with the parent post. Perl is faster than blazes for string manipulations and file I/O functions which usually forms a significant part of most server side web applications.

      I recently benchmarked an application that parsed large binary files, swapped bytes from big endian to little and sent the data out a socket to a remote application. I wrote the application in C and in Perl. Perl came within 5% of the performance of C, but the C program took me 3 times longer to write and debug.

      For web applications check out the
      Popular Perl Complaints and Myths Page

      A quote from this reference:

      Q: Perl had its place in the past, but now there's Java and Java will kill Perl.

      R: Java and Perl are actually more complimentary languages then competitive. Its widely accepted that server side Java solutions such as JServ, JSP and JRUN, are far slower then mod_perl solutions (see next myth). Even so, Java is often used as the front end for server side Perl applications. Unlike Perl, with Java you can create advanced client side applications. Combined with the strength of server side Perl these client side Java applications can be made very powerful.


      In reference to GUI's I just started playing with Perl/TK and was able to put together a short operator interface to view and filter a log file output. The application runs equally well in Linux, Windows and Solaris. I have not played with it enough to determine the weakness of the combination but first appearances are impressive.

    6. Re:Ummm by Tablizer · · Score: 2

      (* You just seem to be bitter because, apparently, you don't grasp the elegance of object oriented programming *)

      There aint nothing to "grasp". There is no fricken good objective peice of evidence that OOP is better. Ed Yourdon's studies found it made no measurable difference. The only comparisons available are with rigged lame procedural/relational code.

      oop.ismad.com

      (* Let me see you design one good GUI based application with Perl, and see how well it runs on Windows/Linux/Solaris. *)

      This has to do with API's, and not app OOP. There is the TK windowing kits. They are a bit kludgey at times, but so is Java's GUI under Windows.

      BTW, I am not a perl fan.

    7. Re:Ummm by Anonymous Coward · · Score: 0

      OK, so Java runs slower than C/C++/Perl/PHP/etc. and for some domains, development is possibly also slower.

      Java shines in the fact that debugging is much faster for complex applications due to strong typing, extensive standard libraries/documentation and a coding standard that requires you to be very explicit.

      The money you would have to spend on time/developers debugging comparable applications in most other languages more than pays for any hardware you need to make the application run quickly enough. Plus you get the advantage that all future development is quicker/simpler, again due to the strong typing and explicit nature of Java's syntax.

  58. Re:Don't Let Dubya Hear You Say That.... by Anonymous Coward · · Score: 0

    Well that would depend on what your definition of "is" is...

    or something like that...

    heh.

  59. Re:Data Entry by Anonymous Coward · · Score: 0

    There are things that the GUI could improve on these old systems: color and shape cues, better formatting, pretty fonts, etc. But too many GUI designers are enamoured with "clicking" and icons.

  60. Remember the "Push Services" fad? by Tablizer · · Score: 2

    (* Maybe not in the Internet world, but for internal sytems within companys with heterogeneous applications, there is a great demand for it. We have a whole host of different applications written in a multitude of languages and running on a whole host of operating systems that need to communicate. Web Services offer a great way of doing this. *)

    Why not either communicate via the database systems or regular HTTP Post and Get? Send some parameters, and get back the result in whatever format you like: comma-delimited, XML, HTML, BrainF*ck, etc.

    Databases already offer queuing, contention management (multi-user), transactions, etc. Why find other ways to reinvent a wheel that you are already paying for in the DB?

    Or even FTP for a third option. Between these 3, you have plenty of choice and approaches.

    Web services has the same marketing foot that "push services" did. Fortunately, it was pushed into the dump. Somebody just wants to move boxes off the store shelves to keep their pockets fat.

    1. Re:Remember the "Push Services" fad? by plumby · · Score: 2

      The database can act as a place for storing the data required for a call, but not as a mechanism for kicking off the server-side process. You then also need some method for the client to tell the server to actually start. You can do this with by throwing messages down a tcp/ip socket, but this involves writing a multithreaded socket handler on the server side. If you use an http based web service, then you get this sort of stuff handled by the server.

      As for http POSTs / xml responses, this is actually the method that we are using at the moment (and have been using since before Web Services were hyped). It does the job pretty well, but a "standard" Web Service protocol, such as SOAP, just add a few extra nice touches, like standard libraries to build/handle messages, and the ability for client development tools (such as Delphi) to query the Web Service and automatically generate a client component to wrap up all of the parsing of the message. We could write all of this infrastructure, but Web Services can give you it for free.

      And as for ftp, you can do Web Services over ftp if you want, or you could write your own wrapping mechanism for encoding/decoding messages, but why bother? What does it gain you? It would be extremely clunky, especially for online systems.

      I'm not quite sure what you mean about moving boxes off the shelf - you don't need to buy anything to implement a Web Service. They are simply a standards based approach to doing XML based inter-application communications via any uri-based protocol. If you can write XML parsers, you can develop your own. Or if you don't want to, several languages already have free libraries that take away the pain. Admittedly, some of the nice functionality (such as the auto-generation of components in Delphi) are only available in the latest versions, but then you can just use the hand-crafted method that you would have to use for your in-house developed protocols until you upgrade.

      You could just as easily look at XML and say - "It's just another data transfer mechanism. We could write our own, what do we need XML for?" It's all true. You can develop a protocol that achieves the same thing as Web Services, just as you can develop a data format that works as well as XML. But why bother? What do you gain?

  61. Re:Java is Beautiful (Not) by Tablizer · · Score: 2

    (* I really enjoy and appreciate it as a technology. It's a complete dream to work with, with an absolutely huge library, extremely well done documentation and support, instant answers to just about ANY question at Google Groups, and a huge community around it. I think Sun has found a great balance between being open and providing leadership and definition. *)

    That is not Java the technology, but:

    1. The 'network effect' where the more people that use it, the more info there is on it. Sun is playing Microsoft's game.

    2. Standard API's.

    Why should standard API's be tied to any one language? What is needed is standard GUI interfaces, standard network interfaces, standard file system interfaces, etc. Then the language nor platform would matter. Python, C++, or FORTRAN could all talk to the same API's.

    I know, other languages can still talk to Java API's through some fiddling, but the Java API's are optimized for Java syntax and design.

    And, the run-time-engine thing does not mean much for server software.

    We have plenty of languages already (viva choice). We just need standard protocols so that the OS does not matter for GUI's, etc.

  62. Re:XML And Java and LISP by Tablizer · · Score: 2

    (* I'm astounded by people who think XML is an acceptable language for writing code....*)

    LISP fans have found out that simply by replacing the parenthesis with angle brackets in the interpreter parse rules, they can convince their PHB that they are "programming in XML", but really doing LISP.

    They can then be "with it", AND use their favorite language (invented in the late 50's). Retro and cool.

    Personally, I like the verbs to the left of the parenthesis....I mean brackets, but to each their own.

    Try ColdFusion if you want one flavor of XML/HTML-like programming constructs. I cannot say I recommend it.

  63. "Distributed web apps" an oxymoron by Tablizer · · Score: 2

    (* using it as they realize exactly how powerful J2EE is for large distributed web applications. *)

    Why do they need to be distributed if they are web-based?

    I thot the idea of web standards is that it does not matter where the servers are. Thus, you might as well put them all in the same room to reduce/consolidate management costs of them.

    Or, are you talking about B-to-B stuff? (In that case, use HTTP Get and Post. You don't need complicated Java crap for that.)

    1. Re:"Distributed web apps" an oxymoron by Anonymous Coward · · Score: 0

      You're clueless. It does matter where servers are, if for no other reason than you don't want to go from Iceland through 25 hops (and a couple slow, overloaded routers) to get to the server farm in Australia. Optionally, since you like to put everything in the same room, you have "distributed" servers for fault-tolerance. Can you use HTTP Get and Post to take care of your fault-tolerance? Not to mention the fact that server-side *applications* don't communicate using http...

    2. Re:"Distributed web apps" an oxymoron by Tablizer · · Score: 2

      (* It does matter where servers are, if for no other reason than you don't want to go from Iceland through 25 hops (and a couple slow, overloaded routers) to get to the server farm in Australia. *)

      Why spread them out like that (for production)?

      (* Optionally, since you like to put everything in the same room, you have "distributed" servers for fault-tolerance. *)

      It depends how they are distributed. There are different partitioning dimensions to choose from: by user, by database, etc.

      (* Can you use HTTP Get and Post to take care of your fault-tolerance? *)

      It depends.

      (* Not to mention the fact that server-side *applications* don't communicate using http... *)

      And why not? There is still FTP, files, and Databases that can be used to communicate.

      I think we need to explore a specific example.

  64. Re:Java is Beautiful (Not) by Anonymous Coward · · Score: 0

    1. The 'network effect' where the more people that use it, the more info there is on it. Sun is playing Microsoft's game.

    I'm not sure what the original author of this thread meant, but I wouldn't agree with your statement. The JavaDoc documentation for the SDK is distributed with the SDK, and very easy to navigate. If I am programming with a section of the API that I am unfamiliar with, I often can get by with only the information in the SDK documentation. I have yet to see this sort of thing outside of Sun's Java SDK. Microsoft has MSDN, but I've found it to be less efficient to navigate, and I often must rely on search, which can be very frustrating, where in Java I can use the type hierarchy (i.e. start in java.net for network-related stuff).

    Why should standard API's be tied to any one language?

    Because each language has strengths that are reflected in the corresponding API. If you have a universal API, it often is slanted toward one language. .Net is supposedly slanted toward C#. Yes, you can also access the API from C++, but in a constrained way such that your code is similar to C#. VB was changed to VB.net, but it looks a lot like C#. POSIX and much of Win32 is slanted toward C, and thus many things are not done in an object-oriented way. The Java API assumes object-orientation (of course) and is constructed accordingly. Another thing is seen in much of the Java API: The API usually reflects the normal usage pattern. Creating either a server or client socket application is very intuitive in Java, but less so in C.

  65. Re:Java is Beautiful (Not) by Tablizer · · Score: 2

    (* I often must rely on search, which can be very frustrating, where in Java I can use the type hierarchy *)

    Sun's hierarchies often seem *arbitrary* to me. They stuck things places simply because they didn't know where else to stick them. I would rather search on keywords than traverse funky hierarchies and following dead-ends. Demeter lives!

    (* Another thing is seen in much of the Java API: The API usually reflects the normal usage pattern. Creating either a server or client socket application is very intuitive in Java, but less so in C. *)

    I find very little "intuitive" about the Java API's. I kept thinking of ways to rewrite them to make them "sane" the last time I tried to use them. Lets just agree to disagree and move on. Perhaps you just think like the Sun designers.

    (* If you have a universal API, it often is slanted toward one language. *)

    I don't know if this has to be the case. Unix-influenced protocols often use text as their transport mechanism so as to not tie things to particular binary representations. This is one of the reasons that HTTP and CGI can run on just about anything.

    (* The Java API assumes object-orientation (of course) and is constructed accordingly. *)

    What if OOP and/or Java fall out of style? You are dooming something to legacy-land faster if you tie it too closely to a given paradigm or language.

    You don't think OO and Java are the pinnicle of programming, I hope.

  66. WSJ - best web services framework - WebSphere,BEA by Anonymous Coward · · Score: 0

    .NET? Dunno if that's even a player right now..why don't *YOU* take a look at the Web Services Journal awards:

    http://www.sys-con.com/2001/PR/code.cfm?page=062 62 002

    Saying that XML isn't well supported in Java because it just got included in JDK1.4 is ... plain naive. So what? There's tons of great XML parsers for Java out there, all very good, all with particular advantages. Welcome to the freedom of choice with Java - the benefits of competition and innovation!

    There's been incredible support for XML in Java for years, and the power of some of the Apache XML and XSL based tools to a .NET/VB user might very well be astonishing - that I know for a fact.

    Wake up and smell the Java - check out an incredible world pal - you will be impressed. Sure Microsoft's got some good tools, their SOAP toolkit is well respected, what they don't have is the huge development support behind Java.

  67. Re:Python and XML are a better match (NOT) by Anonymous Coward · · Score: 0
    "corporate interest" is exactly why Java is doing so well. Its growth has largely been driven by businesses who need what it provides (true cross-platform compatibility, good error-handling, etc.) The fact that Sun has kept it open enough to keep developers happy (fixes, new features, etc.) has also been a great factor. Python (probably) experiences less contention in the forward progress of the language because (having fewer users) there are fewer people trying to bend and shape it to their own needs (which is why the JCP isn't as fast as some would like).

    I, for one, think it's good that Sun hasn't loosened the reins too much on Java, so that it doesn't become fragmented like Unix systems. *ramblings*... Sure, I'd like to add a couple new operators, and I could probably do it without breaking binary compatibility, but where's the long-term benefit?

  68. bungus of semantic arbitrarity by rodentia · · Score: 2

    Yes, I sense your fear, your fear of the bungus.

    As to me, I don't believe anything. I *think* its okay to use superior tools, but I find it much more effective to simply describe their superiority, particularly when I raise my voice.

    --
    illegitimii non ingravare
    1. Re:bungus of semantic arbitrarity by Anonymous Coward · · Score: 0
      Yes, I fear a nonexistent word used in place of a _real_ adjective.
      I *think* its okay to use superior tools
      What you think and what you do are two seperate things. When it comes down to it, you, like most mindless Java code slaves, prefer to use inferior tools simply because you do not know the superior. Or perhaps are scared of the superior.
      I find it much more effective to simply describe their superiority
      As most Java idiots do. You describe what is good, yet use what is crap.
    2. Re:bungus of semantic arbitrarity by rodentia · · Score: 2

      mindless Java code slaves

      Dude, I'm not even a programmer. I am speaking of XML.

      And its really no longer fun if you can't recognize when I'm mocking you.

      --
      illegitimii non ingravare
    3. Re:bungus of semantic arbitrarity by rodentia · · Score: 2

      What you fear is what hides behind the neologous noun *bungus* as qualified by the adjectival phrase *semantic arbitrarity*, that is, whatever bungus signifies must be constituted by semantic arbitrarity.

      --
      illegitimii non ingravare
    4. Re:bungus of semantic arbitrarity by Anonymous Coward · · Score: 0
      It took you a whole 13 minutes from last post to devise this cunning masterbation.
      And its really no longer fun if you can't recognize when I'm mocking you.
      It is extremely fun watching the mocker bite the bait and having to explain his rudimentary form of mockery. By the way, "its" is possessive.
    5. Re:bungus of semantic arbitrarity by rodentia · · Score: 2

      It sucks to lose on a grammar fault, but rules is rules. Still, I am struck that an avowed lisper has no regard for the spectacle of a greybeard typesetter is using S-expressions, in whatever guise, or the finer features of functional programming in the course of making my daily bread.

      And whether bungus or bungette, wasn't one of the breakthroughs of lisp an opening of the semantic space for the machine, a clearing of the forest?

      --
      illegitimii non ingravare
  69. PHP and XML by horza · · Score: 2

    If you want to use XML in PHP, then you may want to look here.

    Phillip.