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.

117 of 290 comments (clear)

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

      --

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

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

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

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

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

    8. 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.
    9. 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. :-(

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

    11. 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.
    12. 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?

    13. 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
    14. 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.

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

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

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

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

  4. 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.
  5. 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
  6. 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.

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

  9. 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?
  10. 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 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.

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

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

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

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

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

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

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

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

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

    11. 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)

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

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

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

    15. 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?

    16. 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?

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

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

    19. 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.
    20. 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.
    21. 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.

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

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

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

  14. 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 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
    2. 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
  15. 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...
  16. 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.
  17. 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.

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

  19. ...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 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
  20. 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.

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

    but I was alone.

    --
    illegitimii non ingravare
  22. 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...
  23. 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 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?

    2. 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.
    3. 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.

    4. 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).

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

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

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

  25. 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? ;-)

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

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

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

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

  30. 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...
  31. 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.
  32. 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.]

  33. 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.
  34. 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
  35. 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...

  36. 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 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
    3. 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?

    4. 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
  37. 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.
  38. 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
  39. 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.

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

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

  42. 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.
  43. 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).
  44. 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?

  45. 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?

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

  47. 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.
  48. 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.

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

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

  51. 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.)

  52. "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 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.

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

  54. 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
  55. 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 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
    2. 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
    3. 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
  56. PHP and XML by horza · · Score: 2

    If you want to use XML in PHP, then you may want to look here.

    Phillip.