Slashdot Mirror


Tapestry Making Web Development a Breeze?

An anonymous reader writes "IBM DeveloperWorks has an interesting article on how to simplify your Web-based development with Tapestry, an open-source, Java-based framework that makes developing a breeze. The article shows you around Tapestry, from installation to file structure. See for yourself how Tapestry facilitates servlet-based Web application development using HTML and template tags."

268 comments

  1. To warp a fan. by Anonymous Coward · · Score: 0

    ""IBM DeveloperWorks has an interesting article on how to simplify your Web-based development with Tapestry, an open-source, Java-based framework that makes developing a breeze."

    Quick! Someone weave a fan.

  2. Great another web framework by Anonymous Coward · · Score: 0

    I realized long ago that frameworks were a waste of time, I'd already authored several by then. The last framework I wrote generated static html and now we just edit these pages by hand or write simple shell scripts. The solution is definately more involved than the problem.

    1. Re:Great another web framework by mustafap · · Score: 4, Insightful

      >The solution is definately more involved than the problem.

      I'd love to say "amen to that". I hate frameworks.

      But the thing is, there are often classes of problems to which these things apply. It's just that you and I dont have them. A framework is a tool; use it when it suits.

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    2. Re:Great another web framework by Anonymous Coward · · Score: 0

      The reason we invested so much time in creating our own frameworks was because we did have a problem that we we were trying to solve. We have both public and intranet sites that require employee access and the frameworks we designed were atypical database backed solutions. At some point it became impractical to keep rewriting, not because the code was unmaintainable but because we were duplicating 50% of standard webserver functions. One day I called a meeting and suggested we revert to static files, we created a directory structure based on our existing taxonomy and went from there.

      We did end up coding a custom handler for a microsite, it's slim, simple, fast and zero maintenence. That was done in C, so flame me!

    3. Re:Great another web framework by Decaff · · Score: 4, Insightful

      I realized long ago that frameworks were a waste of time, I'd already authored several by then. The last framework I wrote generated static html and now we just edit these pages by hand or write simple shell scripts. The solution is definately more involved than the problem.

      Not necessarily. The right framework can produce the HTML for you, and can save you a lot of time because you can use components that generate things like fully-tested portable JavaScript. Some frameworks allow a lot of re-use. JavaServer Faces (JSF) will allow the possibility of rendering HTML, XML, WML or a range of other client presentation technologies from the same tags.

      The solution may only be more involved that the problem is simple, and it is hard to tell when a problem will grow to be complex. Using a framework can not only save time but can be a form of insurance against future growth in complexity of the website.

    4. Re:Great another web framework by baadger · · Score: 2, Interesting

      For personal development i've set myself a directory of perl scripts that don't interact directly with live html (they aren't CGI's), but rather perform small web related tasks on a bunch of files. I still edit my markup in a text editor. Here is a taste of what I mean.

      paragraph.pl: Replaces "\r\n\r\n" with "</p%gt;\r\n\r\n<p%gt;" to properly paragraph text.

      image.pl: Let's me issue a command like "add madness.png 4 right" to add an <img /> tag to before the 4th paragraph of a chunk of text and float it to right (by applying the 'right' class attribute to it).

      thumbnails.pl: Give it a directory, it simply creates a subdirectory called 'thumbnails' and creates a dump load of thumbnails of a specific size therein.

      I have a few dozen like this organised into folders, some taking a filename parameter but most just slurp stuff in via stdin and spitting out via stdout.

      For the most part, this suits my style of personal web development. I find it difficult and discouraging to finish a project and polish it off only to have it 'out of fashion' or hate it myself in a few months time. This method let's me idley write small scripts, almost out of boredom, and put them to use. Recycling code is made very easy as well.

      Of course personal pages these days have to have a bit of flashy interactivity. For that I get away with as much as I can on the client side. For example, manipulating lists using javascript for fast navigation (no not using xmlhttprequest, just manipulating the DOM), this saves on dynamic server side navigation code (Think of how many URL's out there you've seen ending in something like 'index.php?page=login' ... yuck!).

      For real interactivity, commenting underneath photos for example, comments are written using a live (cgi) perl script to a flat text file and a cronjob at my webhost crawls the directory tree every so often, does some filtering and validation, regenerates the comments html, and deletes the source files. The comments HTML in included into the photo page then using a server side include.

      Simplistic but.... sufficient for a geeks personal webpage?

    5. Re:Great another web framework by I+Like+Pudding · · Score: 2, Insightful

      Everything that isn't spaghetti code has an underlying architecture. Frameworks are just standardized, generalized, pluggable versions of that architecture. Practically any off-the-shelf web framework you decide to use is going to be better than what you hand roll, assuming your site is bigger than 10 pages. If it is smaller than 10 pages, stay the hell away from Java and get a decent Perl, Ruby, or PHP framework.

      A framework is less a tool than it is an entire toolbox and a methodology for using said tools. These things are almost always useful.

    6. Re:Great another web framework by sbenj · · Score: 2, Interesting
      This is definately the question that affects my development process more than any other, as I do java development in small 2-3 month consulting assignments. For me the fairly well known frameworks are becoming a necessity if for no other reason that they tend to be required on the resume. FWIW,

      On the plus side, they can possibly (and sometimes live up to the promise of) saving you the trouble of writing boilerplate code (e.g. db access, ....). They're far better than what would be hand-coded at shops where competence is, shall we say, less than common. My relevant horror story here was a job I walked into that had no definitive version of the source, no source code control, and developers just out of school given open-ended assignments to make this or that work with no supervision or code review. Lots of random SQL in jsps, a real mess. In a situation like that any framework is a godsend (any kind of architecture is better than none).
      Another positive is that you can learn a fair amount about architecture and patterns from using them - one of the things that made a fair impression on me when reading about patterns was the statement that other professions, like architecture, train people by having them emulate and study the works of professionals, and the complaint that there were no software masterpieces to study. A budding architect studies Frank Lloyd Wright's FallingWater. What does a budding software developer study? Maybe frameworks are the beginning of an answer to this question, as you can absorb a fair amount of architectural principles through working with them.

      On the minus side, I'm starting to see these things done as a sort of orthodoxy, and often they just add unnecassary layers to the code because "that's the way you're supposed to do it". You can often spend more time twiddling with the framework to get it to do what you want than it'd take you to write your own. My relevant story here is the day and a half I spent last week trying to figure out why my hibernate setup wasn't working properly, until I finally came upon a little note somewhere in the docs that it had problems with SQL Server and wasn't recommended. This is, BTW, for read-only access to the database, hardly worth the bother. (Of course, It's entirely possible that I was configuring it incorrectly in some way, didn't have the time to research it further, which is part of the point of the bother of it, there's a fair gap between learning it enough to get by and knowing it thorugh and through, and one rarely has time for the latter).
      Generally my problem with them is that they tend to black-box the solutions they provide (which I suppose is sort of the point) which is great if it works exactly the way it's supposed to and leaves you wasting enourmous amounts of time if it doesn't.
      A related issue is that they can make debugging and code tracing much harder. A Spring app, for example, links code through config files. Even if you understand the config files, you add a layer of indirection to code tracing. If you don't it can be almost impossible to figure out how this piece of data gets onto that page.

      They're neccessary, I suppose, and good for something, but should be swallowed with a bit more salt than they generally are in the industry.

    7. Re:Great another web framework by sparrow_hawk · · Score: 2, Informative

      My own current solution on my personal Web site involves doing a more limited version of that using PHP. I'm debating whether I want to try to move it to a Real Web Framework or not.

      If you like Perl, you might be interested in Jifty, a new open-source Perl-based Web framework. It's only a "developer release" right now (ie. don't use it to run your banking site), but it's pretty useable all the same. It's got a lot of the shiny AJAX stuff people have come to expect, and it makes setting basic things up ridiculously easy, but it's also got a solid core foundation for database stuff. It's a pretty spiffy framework.

      (Disclaimer: I work for Best Practical Solutions, the company that started Jifty.)

    8. Re:Great another web framework by MemoryDragon · · Score: 1
      Depends, some frameworks just solve general problems but do not bring anything to ease the html pain, in fact they make things even worse, Struts is the perfect example. Some frameworks allow to ease the most general things Turbine is the perfect example for that. And some frameworks bring componentization and general patterns and really ease things as soon as you have broken out of the html context thinking, which are for instance JSF and Tapestry but also Wicket comes to my mind.
      The main problem is, that almost everybody seems to think he has to program his own framework and then utterly fails in simplification or other areas instead of trying to improve the existing ones. Now we have the situation of around 100 frameworks or more, most of then do not bring anything new to the table but also most of them being only half baked. Only a handful really shine, that probably on the java side being

      Wicket

      Tapestry

      and JSF
      Struts, forget it it is a major pain in the lower backside and almost every line of code you save on the java side ends up in two lines of code on the xml side.

    9. Re:Great another web framework by Anonymous Coward · · Score: 0
      The right framework can produce the HTML for you

      Creating markup is the least challenging aspect of running a website, automatic markup generation can be done with macros, templates or a trivial script run from a shell.

      fully-tested portable JavaScript

      No website should be using javascript for basic functionality, yes ASP.NET devs I mean you.

      JavaServer Faces (JSF) will allow the possibility of rendering HTML, XML, WML or a range of other client presentation technologies from the same tags.

      We used to use XSLT for this, now we publish static xhtml and script a parser if we really need to pull data into other document types.

      The solution may only be more involved that the problem is simple, and it is hard to tell when a problem will grow to be complex. Using a framework can not only save time but can be a form of insurance against future growth in complexity of the website.

      Frameworks really do end up being more complex than the problems they propose to solve, I have first hand experience. We created our own framework because we couldn't find the functionality we needed and it was a simple thing for us to do. Then we expanded it, then we rearchitected for scalability, then we added sophisticated caching for the load balancers because we were experiencing performance problems. Then management signed international distribution deals and we suddenly needed to add multi-language support.

      How did the framework provide "insurance against future growth in complexity of the website"? The framework was handling events, we were duplicating large sections of functionality availiable in the underlying httpd. I was faced with 2 choices, one was maintaining what had effectively become a webserver without the networking code or chuck the framework. Keep in mind that it was me who had talked the web framework up to management, I had identified a problem and thought we could create and manage a solution. I'm confident we made the right decision, I also enjoy my job more ;-)

    10. Re:Great another web framework by Anonymous Coward · · Score: 0

      Ever had to make an app with 100 tables with 20 plus columns per table. Try a real framework like FUSEBOX, MACHII or MODEL GLUE. Those where designed by architects that spent months if not years developing them. In a situation like that coming up with a homegrown framework is a waste of time.

  3. Rapid web development getting out of hand? by Escherial · · Score: 3, Insightful

    Is it just me, or does anyone else feel that all the "rapid development" frameworks that are all the rage lately may be harmful to the current crop of new developers? There should always be a balance between development speed and flexibility, and I fear that crutches like rapid web development frameworks trade ease of use for the ability to do something novel. Of course, one can say "if you don't like it, don't use it", but the fact is that people new to the field will use it regardless, simply because it's the path of least resistance. True, some clever ones will extend the range of what was thought possible, but most will end up with the same cookie-cutter projects for which these frameworks are always tailored (look to scaffolding in Ruby on Rails for an example of the omnipresent "database browser").

    I suppose this is just the next step in the constant progression toward appeasing laziness; no matter how easy an interface becomes, there will always be demand for something or someone to fill the gap of applying actual effort to learn it.

    1. Re:Rapid web development getting out of hand? by evn · · Score: 4, Insightful

      but most will end up with the same cookie-cutter projects for which these frameworks are always tailored (look to scaffolding in Ruby on Rails for an example of the omnipresent "database browser").

      Scaffolding is a tiny portion of Rails, only a few dozen lines of code out of thousands. There's more code wrapped up in pluralization than scaffolding yet for some reason everyone's remains fixed on "scaffod :foo". DHH has said time and time again that scaffolding is there just so that you can get a quick way to get you running, by the time you're done the scaffolding code should be long gone.

      Think of it as the 'genie' effect in OS X: easily recognizable but mostly for show. People may not 'get' things like Unit testing, database agnostic schemas, MVC patterns, domain specific languages, duck-typing, or any of the other things that make rails really productive but they sure as hell get "1 line of code and I've connected to a database to perform CRUD functions." Once you've got them with the scaffolding hook people are receptive to the things that really make Ruby on Rails cool.

      Scaffolding makes for a nifty screencast but the real joy comes when you actually learn how to use the language and framework.

    2. Re:Rapid web development getting out of hand? by the+eric+conspiracy · · Score: 1

      New developers need to become familiar with frameworks like this in order to become exposed to to the (large, powerful) toolset that the Java world provides. When I started Java development these things didn't exist and I had to walk to school 5 miles each way barefoot in the snow uphill in both directions everyday. If you are mentoring young developers these frameworks provide a good kicking off point for design and architecture education.

      And lets be realistic - not using a framework isn't going to cure lazyness, so what you will end up with is not going to be as good as if you had used a framework.

    3. Re:Rapid web development getting out of hand? by Pixelmixer · · Score: 1
      "Real Men code html by hand, in a text editor"
      I agree with this and the parent... I'm a Freshman in college, but I work as the Web Administrator/Designer of the University Center for Media Design. I often find myself working 2x + 3x more than I should have to, most of the work is fixing mistakes in code created by Macromedia Dreamweaver and inexperienced designers. Most of the mistakes are created by people who have 4+ years experience with the software, but have NO IDEA how to hard code anything. These are the people getting the jobs that people like us, who actually understand the code, should get. IMHO its downgrading standards... businesses start to accept the badly designed and expect to pay less for actual quality material... http://www.lawsonflooring.com/
      --
      "What happend to just paying for a product without being constantly nibbled to death by Credit Card Ducks?"
    4. Re:Rapid web development getting out of hand? by Ridgelift · · Score: 2, Insightful
      True, some clever ones will extend the range of what was thought possible, but most will end up with the same cookie-cutter projects for which these frameworks are always tailored (look to scaffolding in Ruby on Rails for an example of the omnipresent "database browser").
      Do you realize scaffolding is less than 1% of what Rails is about? To cite Rails as a tailored cookie-cutter system isn't some great insight on your part, it's rather a profession of ignorance.
    5. Re:Rapid web development getting out of hand? by itior · · Score: 0
      I don't think it's necessarily frameworks that are the problem, but there are some issues associated with it that could lead to a few common misconceptions.

      • Stability - We see new frameworks popping up out of the blue all the time. Even thought like RoR that are getting a decent amount of publicity are still generally quite young in the SDLC. So how stable/scalable is RoR, Tapestry et al?
      • Features - While developers might be a bit more savvy, you will often get middle managers seeing a press release like this and expect that you be able to build a complex web application in minutes using 'the new framework.' While this isn't necessarily a problem with the frameworks themselves, it does become a chore explaining that they only provide a very basic skeleton, handling only the most simple of tasks.
      • Extensibility - Once you do have your base code written, how easy is it to add/refactor code to perform more advanced functionality? I haven't had much experience with them, so I can't really comment, but this would most definitely be an issue, especially with regards to maintaining code.
    6. Re:Rapid web development getting out of hand? by Hosiah · · Score: 2, Interesting
      or does anyone else feel that all the "rapid development" frameworks that are all the rage lately may be harmful to the current crop of new developers?

      I steadily advise anybody to run screaming in the opposite direction whenever they are approached by somebody trying to sell them a tool to "magically make all of the inherent difficulty in making computers do awesome thing vanish instantly!" Anybody who can fall for this pap the 100th time they've heard it also thinks there's a $0.02 pill they can drop into a gallon of water to turn it into high-test, there's a special pattern of crystals that you can sleep with to cure you of cancer, and that you really can turn lead into gold if only you build the right-shaped magnetic pyramid around it.

      Bulletin: Easy programs are easy to write. Hard programs are hard to write. Language doesn't matter at all. No, I'm not kidding: at all. I've tried all the major languages and quite a few minor ones. There's difference in functionality between one language and another, true. That's because different languages were built to different specifications and purposes: so there are no kernels written in python, no first-person shooters written in assembly, no databases written in POVray, no 3D pictures rendered from SQL. But they are all exactly, precisely, completely as easy/hard as every single other, to ten thousand decimal places.

      Development environments should be text editors for your first thousand projects, and then hedge into an IDE for shortcuts - but even in Glade, all it does is write a few lines for you - to make the widgets do anything, you'll *still* have to get into the text file and code it in with the keyboard *anyway*. I've literally timed myself using an IDE vs. writing pure code in Emacs - in every single last case, my time was only a few minutes shorter in the IDE, and that only in certain cases. That's because text editors can cut/paste, and run macros you can code once to make them smack out templates for you.

      People who flame/disagree are welcome to do so, but I'm just talking from my experience and observation. Maybe all of our perspectives will change in ten years.

    7. Re:Rapid web development getting out of hand? by NitsujTPU · · Score: 1

      I wouldn't worry about it. If these folks are to be competitive, they will manage to learn the material themselves, or find education in it.

      What I WOULD worry about is management cracking out on every new buzzword that comes along. Perhaps you can't get a project done using only "buzzword X." That I worry about, but, interestingly, introducing new buzzwords really doesn't change the situation.

      Relax. Why do you care what a bunch of web developers are doing anyway? If they have their fun with whatever tool it is that they are using, then they have their fun. The people who are going to introduce the next disruptive technology aren't going to get caught up in all of the hype anyway.

    8. Re:Rapid web development getting out of hand? by NardofDoom · · Score: 1

      I'm in the process of learning the language and framework and, yes, there is much joy. Especially if you come from ASP.NET and PHP.

      --
      You have two hands and one brain, so always code twice as much as you think!
    9. Re:Rapid web development getting out of hand? by misleb · · Score: 1
      but most will end up with the same cookie-cutter projects for which these frameworks are always tailored (look to scaffolding in Ruby on Rails for an example of the omnipresent "database browser").

      And what is wrong with a "database browser" web application? If you have a perfectly good database model that you want people to interact with, why not use a database oriented framework? Why should anyone have to reinvent a framework every time they want to write a database driven web application? I'll tell you what, going from brain dead PHP to Rails was a huge boost in productivity.

      I suppose this is just the next step in the constant progression toward appeasing laziness;

      I wholeheartedly disagree. It is a step in the contant progressio towards more complex applications using higher level development tools. What would be least "lazy" in you opinion? Developing a web application in assembly language? C? FORTRAN??? I know that is an exageration, but the fact is that people are expecting more and more out of the web and the only way to deliver in a reasonable amount of time is to use the "rapid" development tools.

      What is "lazy" is refusing to learn new tools and frameworks.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    10. Re:Rapid web development getting out of hand? by NardofDoom · · Score: 1
      If you think :scaffold is all that Ruby on Rails is, you haven't used it enough.

      And anyone who works in web development is that the vast majority of applications are CRUD. Anything that keeps me from having to duplicate all the hoops I have to jump through to get CRUD working on PHP or ASP.NET is wonderful.

      --
      You have two hands and one brain, so always code twice as much as you think!
    11. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      ...domain specific languages, duck-typing, or any of the other things that make rails really productive...

      What the Rails crowd seem to forget is that the issue of whether domain specific languages and duck typing really lead to long-term productivity has been a matter of hot debate for decades. It is all to easy to state that they are productive as is this was some established and universally acknowleged fact. It isn't. They certainly happen to be fashionable at the moment, as they were 20 years ago.

    12. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      DHH? Is that like DHL? Or is everyone supposed to be oh so hip that these initials mean something?

    13. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      And what is wrong with a "database browser" web application? If you have a perfectly good database model that you want people to interact with, why not use a database oriented framework? Why should anyone have to reinvent a framework every time they want to write a database driven web application? I'll tell you what, going from brain dead PHP to Rails was a huge boost in productivity.

      Because when you get above a certain size and complexity of application you soon realise that a web application can end up as a lot more that just a database-driven application. You may wish to persist data to a very wide range of forms - CVS or XML for backup, or to SOAP services, or even to a variety of different databases and stores. Having your data model defined within one database schema is extremely restrictive.

    14. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      This has been discussed even here on slashdot before. However, I'd have to say that there will always be a need for developers to step in and do complex problem solving required by certain projects.

      So you ultimately have to ask yourself... are you a rapidreaver/tapestry/insert your quick lazy framework here developer in human form, or are you a problem solving wizard that can do things better just waiting to strut your stuff?

      There's nothing wrong with efficiency, if what you can do can be replaced with a program then the problem lies with your skills, not with the industry - no offense. I try to replace myself with programs at my job all the time... it makes my life easier but there are some things that just need that human intuition. Most of web site design is brainless and should be automated. If that makes you nervous it's time to go back to school and get some new skills. Maybe learn to write frameworks like this yourself.

      Sorry, I just don't see how time saving framework tools can be a bad thing when they mean a project gets out the door faster and/or looks better.

    15. Re:Rapid web development getting out of hand? by misleb · · Score: 5, Insightful
      Bulletin: Easy programs are easy to write. Hard programs are hard to write.

      Meaningless tautology.

      Language doesn't matter at all.

      Baseless assertion.

      There's difference in functionality between one language and another, true. That's because different languages were built to different specifications and purposes:

      And here you contradict your own baseless assertion.

      no first-person shooters written in assembly,

      Ok, here is a good example. Lets say all you had was assembly language and perhaps FORTRAN to perform some "high level" math operations. Lets say someone asked you to create an FPS. Now, it could probably be done. You'd have to figure out how to interact with the graphics hardware at the register level. You'd have to write almost every single function by hand from aside from whatever math functions you can utilize from FORTRAN. So 6 months into development someone comes along an says, "Hey, here is this new language called C and a library called OpenGL. These will make your FPS development a whole lot easier. It solves the really hard problems of dealing with hardware and makes your code work on many different kinds of graphics cards." Are you saying that you would run screaming from this offer because it couldn't possibly make your work easier? Unless you are some really f'ing hardcore assembly programmer, I bet you coudl cut your development time by an order of magitude at least. You could probably even afford to complete dump that previous 6 months of development in the trash and STILL come out ahead because you found a new tool/language which makes a perviously hard program relatively easier.

      Contrary to your initial baseless assertion, language DOES matter. Frameworks matter. Libraries matter. There are, in fact, all kinds of things that can make a particular project easier.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    16. Re:Rapid web development getting out of hand? by misleb · · Score: 1

      You pressume that SQL database IO is all Rails is capable of doing. In fact, I am working on a Rails project which uses SOAP, LDAP, and SQL.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    17. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      What the Rails crowd seem to forget is that the issue of whether domain specific languages and duck typing really lead to long-term productivity has been a matter of hot debate for decades.

      Whoa there.. please clarify what you mean here. I'll admit the "Rails crowd" has forgotten basic data management principles like data integrity and logical modelling (or more likely, never knew it in the first place), but in my 15+ years of experience I've never seen any evidence that high-level languages (domain-specific languages) *didn't* increase productivity, except with novice or unskilled programmers.

      As for duck typing (or weak, dynamic, whatever.. these are poorly defined concepts), well, I'm on the fence about that. I like strong typing combined with good type inference (Haskell for instance), but I also like straightforward Lisp and Ruby combined with a strictly-typed DBMS and unit tests (a-la Rails, though the Rails boys wouldn't know a DBMS if it bit them in the ass).

      They certainly happen to be fashionable at the moment, as they were 20 years ago.

      Again, you have to give some evidence or anecdotes here.. I was around then, and some of the ideas were good and have been forgotten, others were bad and are being repeated today....

      I always learned that the best programmers "write programs that write programs".. you don't agree?

      For instance if I was controlling a robot, I'd much rather work with a domain-specific language:

      (with-left-arm
      (swing :up (34 degrees))
      (swing :down (-10 degrees))
      (release-hand))

      Than low-level code:

      (let larm (get-control-handle "LEFTARM")
      target-angle (mod (+ 34 current-angle) 360)
      (loop until (= (get-angle larm) target-angle) do (swing :up 0.1))
      ...

      You get the point..

    18. Re:Rapid web development getting out of hand? by Decaff · · Score: 3, Interesting

      You pressume that SQL database IO is all Rails is capable of doing. In fact, I am working on a Rails project which uses SOAP, LDAP, and SQL.

      SQL database IO is all that the Rails ActiveRecord ORM is capable of doing 'as shipped'. You may be able to write (or find) wrappers for ActiveRecord to deal with other methods, but that is not the point. A good framework should provide all this for you.

      When I use Java I use the JDO 2.0 persistence API. I can read and write objects to SQL-based relational stores, XML, CVS, Text files, LDAP and many other stores without changing a single line of my source code. I also have a rich query language (JDOQL) that I can use on any of these persistence mechanisms - even Text files! Why should I go backwards to Rails/ActiveRecord, which provide less than this?

    19. Re:Rapid web development getting out of hand? by Decaff · · Score: 2, Interesting

      Again, you have to give some evidence or anecdotes here.. I was around then, and some of the ideas were good and have been forgotten, others were bad and are being repeated today....

      I have been programming since the 70s. I remember in great debate between dynamic languages and statically types languages in the 80s (it was Smalltalk vs C++ in those days).

      I always learned that the best programmers "write programs that write programs".. you don't agree?

      I strongly disagree. This can lead to 'clever tricks' code that is obscure and can only be understood by a specialist. For me the key thing is clarity, even at the expense of verbosity.

      I think I differ from you in that I expect that a significant number of developers will always be novice and inexperienced.....

    20. Re:Rapid web development getting out of hand? by juiceCake · · Score: 1

      "Real Men code html by hand, in a text editor"

      I do. In Dreamweaver. It's not the tool, it's the person. If they're a good developer, it doesn't matter if they use a text editor or a WYSIWYG application. Blaming the application is ridiculous.

      People who understand code can use whatever they like, including Dreamweaver.

    21. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      Yeah, he's talking about a delivery service. The delivery guys are so brilliant they can offer advice on almost any topic. So when he's stuck on Ruby, he just waits until his package arrives and asks his questions. It's common to quote the delivery guys too, like he did. Jeez, get with it.

    22. Re:Rapid web development getting out of hand? by zr · · Score: 2, Insightful

      this is a way too simplistic a view. language does matter, and on many levels.

      when you study programming, it shapes your mind. when building software, it shapes the universe in which you model your target system. not to mention realities of software development in real life (here on earth, may be on your planet its different). you have to train people, you have to get people to work together. and different languages and environments have different devices to support (or, frankly, to discourage) these things.

      sure, i get your point, its not all language. and i agree with you there. there are activities in software developmeent that have nothing to do with coding. and, of course, one can write crappy code in any language. but having said that, when it comes to coding, importance of matching language to the job is tough to overestimate.

    23. Re:Rapid web development getting out of hand? by Pixelmixer · · Score: 1

      Well, I'll rephrase what i meant then... These people know how to use the program, but not the code. When all they use is the WYSIWYG editor it adds unnecesary code and they tend to rely on that instead of having the ability to edit the code themselves... This is what we mean by using a text editor... dreamweaver is a text editor basically, if you have the ability to use it that way, and i think that makes you a better developer.

      --
      "What happend to just paying for a product without being constantly nibbled to death by Credit Card Ducks?"
    24. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      Kind of the trashman in Dilbert, eh?

    25. Re:Rapid web development getting out of hand? by Planesdragon · · Score: 1

      That's because text editors can cut/paste, and run macros you can code once to make them smack out templates for you.

      A typical "text editor" might have cut and paste, but it sure as heck doesn't have macros in it. When you start adding that in, you're not terribly far away from being either an IDE or a "Word Processor".

    26. Re:Rapid web development getting out of hand? by misleb · · Score: 1

      Why should I go backwards to Rails/ActiveRecord, which provide less than this?

      Where did I suggest that you should?

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    27. Re:Rapid web development getting out of hand? by Skal+Tura · · Score: 1

      Humans are lazy, the reason we do anything at all is partly to lazyness.
      We have 2 drives IMO: Surviving, and making everything comfortable ;D

      Because we want to be comfortable, we work to get things to make us more comfortable ;)

      That aside, i've been doing an framework for PHP projects, to make me able to roll out and do a project a lot faster!
      There is no GUI, no "development tools", it's essentially a bunch of libs, functions, includes etc. Uses Smarty etc.
      Currently, a browser based game i've done is based on it, on the new version which is still in development, and when it
      starts to be finished, i bring back from that to the framework some of the libs made, and make it finally public, under GPL.

      The basic idea is that, you start a new project, good, copy my framework, setup database. now let's see what do we need?
      Ok, we need news, let's insert the article object to our frontpage, on frontpage, limit it to view only Press Releases.
      Goto template, insert a include for articles(short form) to put news here.

      What else? User management, registration & sessions. All ready in, make them publicly viewable.
      We need forums? Ok, let's use the commenting on articles code this way (just a couple options) and we've got ourselves
      basic forums.
      Next? URL Rewriting, whupsi doo, it's already in and works even without mod_rewrite in form of articles.php/Name_Of_Article/1.htm

      Multi-paged articles? Insert one if here, and put a link here.

      It's a breeze, and all the code is so easy to read (coder helping me with the browser game, adapted to it within minutes),
      uses Smarty templating etc. check the project out at http://framework.artichost.net/

      It's a rapid development environment, but not the usual way. You HAVE to be somewhat good with PHP, mediocre will do.
      No stupid assistance, everything is fast. But what we bring to the coder is to make his/her work easier & faster, a lot
      easier & faster.

    28. Re:Rapid web development getting out of hand? by asdfghjklqwertyuiop · · Score: 1

      I'm one of those people that gave RoR a gander and didn't really care for it. Most people looking at rails, I suspect, are already experienced with other frameworks... yet all the tutorials focus on is how easy it is to slap together cookie cutter database frontends in 10 minutes and how easy the scaffolding makes life (at least when I tried months ago). I've been doing web apps for a while now... showing me how easy it is to build a recipe database is really not very impressive. My suggestion would be that somebody write a more in-depth tutorial that focuses on some of the ways rails is fundamentally different and better and leave off the nasty scaffolding entirely and just explain what's really going on.

    29. Re:Rapid web development getting out of hand? by SavvyPlayer · · Score: 1

      Very good point, however reading between the lines, I don't think the GP really intended to suggest that language and toolset selection are fundamentally irrelevant to project planning. The point (I believe) he was trying to make is that, when staffing project involving a complex set of requirements within a specific problem domain, a competent project manager should emphasize talent & experience over toolkit.

      For example, say you want to build a blockbuster 3d shooter -- don't assume dx9 is the way to go based on a collection of articles you may have read, then pick the cheapest dx9 developer you can find. This practice will inevitably yeild an inferior result. Instead, look for individuals who've delivered quality 3d titles in the past (possibly in opengl), and work with those developers to establish the best toolkit for the job.

    30. Re:Rapid web development getting out of hand? by bhaberman · · Score: 1

      I find this comment especially amusing because EMACS really IS an IDE; much more than any other text editor, even VIM. It does much more than any other program (period - what other program has a psychologist?). So saying that EMACS is easier than any IDE is not really saying anything.

      Disclaimer: I don't actually use EMACS -- I find it pathologically complicated. Go VIM!

    31. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      "Contrary to your initial baseless assertion, language DOES matter. Frameworks matter. Libraries matter. There are, in fact, all kinds of things that can make a particular project easier."

      Hosiah does that from time to time. I think that like most Slashdotters, he's a cynic. Hear the words "business", "government", or "framework", and all the prejudices come forth around here.

      I'm happy to report that all these tools help when in the hands of one whom's competent. And there are academics and researchers out there pushing the envelope so we will have more tools to solve even bigger problems (and we will have bigger problems. you can bet on that).*

      *My research area is MDD, and related.

    32. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      Bulletin: Easy programs are easy to write. Hard programs are hard to write. Language doesn't matter at all.

      -----

      this doesn't contradict the notion that easy programs can be made easier to program or that hard programs can be made easier to write (while still more difficult than th eeasy program).

      it *is* about continuous improvement.

      I'm not kidding: at all.

      some people get confused into thinking marginal improvement means "making everything easy."

      No, I'm not kidding: at all.

      ask the right question and you'll get the answer... is it possible to make the job more efficient... yes, in many cases.

      is complex and difficult made fast and easy? nope. faster and easier? yup.

    33. Re:Rapid web development getting out of hand? by SomebodyOutThere · · Score: 2, Insightful

      No doubt people said the same thing about the development of high-level languages. I know Plato said it about writing (which he thought would damage people's ability to remember). These things don't prevent the gifted from learning or working, they just let average people do some kinds of work they couldn't do without them.

      --
      Everyone but you is telepathic.
    34. Re:Rapid web development getting out of hand? by Debiant · · Score: 1

      I agree completely.

      People make things to happen, not some toolkit or technology.

      Much more important than choosing tools, is choosing right people who know to use right tools for the job so they get results.

      Real life problem of course many times is that lot of solutions may have been locked to certain technologies by vendors or the infastructure. While one might think PHP is good language, some project manager may prefer .NET because company has paid courses for it and they have made huge investment on MS platform.

      So unforunately, tools do choose people manytimes as application development doesn't happen in vacuum. Lot of depends on the organization one works in.

      --
      Nobody knows the trouble I've seen, nobody knows has the trouble seen me, even I sometimes wonder why I write these line
    35. Re:Rapid web development getting out of hand? by Hosiah · · Score: 2, Interesting

      We're not being a very careful reader today, are we? "Language does not matter at all" in terms of "HOW EASY" to learn and to use. Use assembly to write kernel, or a C compiler. Use Python to write game. Both easy. Use assembly to write game. Use Python to write kernel or C compiler. Both difficult. Tool not made for purpose used. Use each language where it work best: make any language easy. Apply to HTML, XML, CSS, Javascript...

    36. Re:Rapid web development getting out of hand? by Hosiah · · Score: 1

      Granted, Emacs is the operating-system in search of a simple editor. But I was comparing it to IDE's such as Glade, or (more to the topic of web development) Nvu, which is a "click-n-build" CSS/HTML page builder. PS These days, show me a text editor that *doesn't* come with extended functionality built in? Even VIM's got macro capabilities with the sed-like commands, right?

    37. Re:Rapid web development getting out of hand? by Breakfast+Pants · · Score: 1

      You can't blame him. While it may well be less than 1% of what rails is about, it is simultaneously 100% of what those widespread cheesy screencasts are about.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
    38. Re:Rapid web development getting out of hand? by outsider007 · · Score: 1

      That's interesting. the thing I took away from that recipe tutorial was being impressed with how hard it was to make a non-elegant rails app. Definitely a good exercise for new coders IMHO.

      --
      If you mod me down the terrorists will have won
    39. Re:Rapid web development getting out of hand? by misleb · · Score: 2, Interesting

      I still diagree. I know people who can throw together a PHP page but would have quite a bit of difficultly with even a simple assembly program. Hell, even I thought assembly was daunting back when I gave it a go. Anything that has a very cryptic syntax is going to be tricky to learn. Some languages ARE easier than others even in their intended contexts. The context itself influences how easy or difficutl a language is. A lot also depends on the way a particular individual thinks. A procedural language might be much easier to work with than an OO language for some people.

      What happens when two languages are intended for the same purpose? Is it not conceivable that one might be easier than the other? Are you suggesting that it isn't possible for someone to come up with a really clunky and difficult language? I know I can name a few.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    40. Re:Rapid web development getting out of hand? by fingusernames · · Score: 1

      These days? I've been writing macros in vi since the mid 80s, back when EMACS was Eight Megabytes and Constantly Swapping. The :map command has always let you do that, long before vim was thought of. I have used a single keystroke macro in vi for probably a decade, ever since people started sending email in that shitty one-long-line-paragraph format, that will take a paragraph of text from an email message, remove all the double spaces, word wrap it to 72 characters per line like God intended, and prepend a '>' for quote level. I just press the key X in edit mode. I love vi.

      Larry

    41. Re:Rapid web development getting out of hand? by igblip · · Score: 1
      Rapid web development is not getting out of hand. There is a natural progression in most development processes to simplify and streamline complex and repeatable tasks to 1) reduce error; 2) increase productivity; 3) lower the required technical aptitude. Tools and frameworks provide each of these.

      Innovation, on the other hand, requires both insight and ambition. Insight is needed to identify the opportunity for technical progress, and ambition is needed to fulfill the promise the opportunity represents.

      Many engineers have the ambition to move past RAD systems to get to the deeper levels of technology but might not be insightful. Others have great insight into the fundamental structures of the systems they work with and yet have no ambition to dig deeper. Those engineers who possess both ambition and insight are precisely the ones who move our craft forward by creating the frameworks we are discussing.

    42. Re:Rapid web development getting out of hand? by swimmar132 · · Score: 1

      If you need the ability to persist data to Text files instead of SQL without changing a single line of code, and you don't want to contribute patches to the Rails project or create your own wrapper, then yeah, AR probably isn't what you want.

      Most people don't need that capability though.

    43. Re:Rapid web development getting out of hand? by Kent+Recal · · Score: 1

      And lets be realistic - not using a framework isn't going to cure lazyness, so what you will end up with is not going to be as good as if you had used a framework.

      Speak for yourself.

    44. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      Wow, you have a very specific app that you spent how much time writing when there are already plenty of apps in plenty of languages which are capable of the same thing? Go write a completely adaptable ERP system like OFBiz or Compiere and then come back and talk. Your solution solves your requirements, but I can easily pull off the same solution with Wicket, in probably half the time as your PHP solution. I just know Java a few frameworks and you don't.

    45. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      If you need the ability to persist data to Text files instead of SQL without changing a single line of code, and you don't want to contribute patches to the Rails project or create your own wrapper, then yeah, AR probably isn't what you want.

      Most people don't need that capability though.


      You may be surprised. How about giving software the ability to provide backup files or an export facility?

      But anyway, since when has supposedly innovative software being about sticking with the mainstream?

    46. Re:Rapid web development getting out of hand? by EntropyEngine · · Score: 1

      I largely agree with on most points.

      Unfortunately, a poor choice is often unavoidable when you're dealing with those new to any field.

      As a reasonably seasoned developer, I might use something like Adobe Golive or Macromedia Dreamweaver to quickly throw something together, but then pass that over to Eclipse for further integration and refinement.

      However, there are those who're not as accomplished at hand-coding, so the WYSIWYG editor is as far as they go.

      While this might sound depressing, there's something very Darwinian about it all, that being that those who opt for the easy option will ultimately diminish their skills to the point where they either learn to do their thing the right way, or someone will beat them to the work...

    47. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      "Why should I go backwards to Rails/ActiveRecord, which provide less than this?"

      Where did I suggest that you should?


      Sorry - it was not directed at you - just generally at the Rails enthusiasts who consider the framework to be innovative.

    48. Re:Rapid web development getting out of hand? by marcello_dl · · Score: 1

      It might sure be harmful to the new crop of lazy developers. People who like programming, on the other hand, can spend less time reinventing the wheel and use it to improve their skills with problems more interesting than writing blog engines or shopping cart interfaces.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    49. Re:Rapid web development getting out of hand? by misleb · · Score: 1

      Rails is innovative in the sense that it is a good balance between PHP and Java. And that is all it is meant to be. I know I wouldn't 'want to use Java to solve the (relatively small) problems where I've used Rails... for the exact oppose reason I wouldn't want to use PHP. PHP is brain dead and Java is too complicated and verbose. Does Tapestry address this? I don't know. I've heard mixed reviews.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    50. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0
      in the hands of one whom's competent
      This from someone who can't even manage to sound pretentious properly.
    51. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      Rails is innovative in the sense that it is a good balance between PHP and Java. And that is all it is meant to be.

      I have heard it called 'the future of web development', and 'a replacement for Java in almost all web applications'. Even the Rails website contains what I consider to be 'less that accurate statements', such as "Rails is all about infrastructure so it's a great fit for practically any type of web application".

      I would love to see a pure Ruby-based application try and cope with some of the processor-intensive things I have had to deal with in some web applications. "A great fit for practically any type of web application" is simply false, and it is this kind of overblown propaganda that puts me off Rails.

      I know I wouldn't 'want to use Java to solve the (relatively small) problems where I've used Rails... for the exact oppose reason I wouldn't want to use PHP. PHP is brain dead and Java is too complicated and verbose. Does Tapestry address this? I don't know. I've heard mixed reviews.

      I don't know - I use another framework - JSF. Combined with Spring and good ORM (JDO) it is very easy to get things up and running for even the smallest websites. Better still, you know your website has the performance to cope with whatever you throw at it in terms of load or future complexity. I have heard good things about Tapestry.

    52. Re:Rapid web development getting out of hand? by misleb · · Score: 1

      I have heard it called 'the future of web development', and 'a replacement for Java in almost all web applications'.

      I haven't really heard the latter claim. But then, I don't hang around Java forums/blogs where people might get a little defensive about such statements. Most of the "conversions" I hear about are from PHP.

      I would love to see a pure Ruby-based application try and cope with some of the processor-intensive things I have had to deal with in some web applications. "A great fit for practically any type of web application" is simply false, and it is this kind of overblown propaganda that puts me off Rails.

      Well, I am not sure from where you are pulling these quotes, but I would agree that they are are somewhat exagerated. Certainly there are specific solutions that require something more robust than RoR. That said, if 90% of all web applications are things like web forums and blogs (and I believe this is the case), perhaps the claims are not too far off. Besides, it isn't like they try to hide the fact that Rails restricts ones development. I mean, it is called Ruby on Rails. What do rails do? They restrict the range of movement to facilitate more efficient movement in a specific direction.

      I had my doubts about the hype as well, but I decided to put aside my doubts and just give RoR a try. I took an existing intranet PHP application which was pretty clunky and completely rewrote it in RoR just to see what Rails could do. And without ANY prior Ruby experience, I had duplicated the functionality of the original PHP application, and then some, in a little over a 40 hours. I don't know about RoR replacing Java, but I sure hope it eats up a good share of PHP's dominance.

      I don't know - I use another framework - JSF. Combined with Spring and good ORM (JDO) it is very easy to get things up and running for even the smallest websites. Better still, you know your website has the performance to cope with whatever you throw at it in terms of load or future complexity. I have heard good things about Tapestry.

      I guess the question is, have you actually tried RoR? I've done some Java work and I find it unnecessarily complex for most things. Granted, I haven't tried all the frameworks to find that "suite spot," but frankly, I don't hvae the time. I am not a full time software developer.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    53. Re:Rapid web development getting out of hand? by Decaff · · Score: 1

      Well, I am not sure from where you are pulling these quotes, but I would agree that they are are somewhat exagerated.

      The last one directly from the Rails website!

      Certainly there are specific solutions that require something more robust than RoR. That said, if 90% of all web applications are things like web forums and blogs (and I believe this is the case), perhaps the claims are not too far off.

      I doubt this. There are well-known examples where forums based on PHP (which may not be as elegant as RoR, but is likely to be as fast) has scaling problems.

      Besides, it isn't like they try to hide the fact that Rails restricts ones development. I mean, it is called Ruby on Rails. What do rails do? They restrict the range of movement to facilitate more efficient movement in a specific direction.

      Rails is a deliberate pun on 'Struts' - a well-known Java framework, which has been used to produce large applications for years. This is a further sign of the arrogance of the Rails developers.

      I don't know about RoR replacing Java, but I sure hope it eats up a good share of PHP's dominance.

      I think this is where it will succeed, although I suspect PHP will adapt to meet the competition.

      I guess the question is, have you actually tried RoR?

      Yes.

      I've done some Java work and I find it unnecessarily complex for most things. Granted, I haven't tried all the frameworks to find that "suite spot," but frankly, I don't hvae the time. I am not a full time software developer.

      There are certainly complex Java frameworks, but there are also lightweight ones. I find JSF very simple and quick to develop with.

    54. Re:Rapid web development getting out of hand? by Hosiah · · Score: 1
      Are you suggesting that it isn't possible for someone to come up with a really clunky and difficult language? I know I can name a few.

      No, we weren't talking about brainf*** or other languages intended as a joke.

      Look, I just don't think you have the experience with programming to hold ground, here. All turing-complete languages have input, output, math and logic operators, conditional branching, iterative branching, fundamental data types, user-defined functions, inclusion of pre-written code/modules/headers, and comments. The rest is sugar-icing. To write text out, in BASIC I go "PRINT text$", in C I go "printf("%s\n",text);", in Python I just say "print text" and even in assembly I say "call printf pushl $0" where $0 is where I pushed all the text I wanted printed. Big whoopdehoopdypoopdydoo! There is NO difference in being harder to type one command or another.

      You sound just like about 100,000 people I've heard before who learned one language and have embraced it forever and will carry it into the tarpit using blind bigotry as their defense because they reason that their first language was so painful to them, they don't dare learn a second and struggle through that agony again. And actually these people have been had: every language is as difficult to learn as every other, they just made their choice based on a frequency word-count of the want ads in their home town that year. In fact, people whio regard learning anything at all as being any degree of painful at all should not be in programming. You don't live in this business unless you can forget 75% of what you knew five years ago and start over with the same degree of enthusiasm learning all over again.

      Take your hand off your dick and pay attention: I'm not even arguing with *you* anymore, so you can quit purring contentedly at all the attention you're getting. I'm talking to new programming students who might stumble by. I'm not bothering to educate you; you're a box of rocks. I'll be ignoring you.

    55. Re:Rapid web development getting out of hand? by Hosiah · · Score: 1
      I love vi.

      *wink* Surprise, I love both vi and emacs! Trump card...

    56. Re:Rapid web development getting out of hand? by misleb · · Score: 1

      You sound just like about 100,000 people I've heard before who learned one language and have embraced it forever and will carry it into the tarpit using blind bigotry as their defense because they reason that their first language was so painful to them, they don't dare learn a second and struggle through that agony again.

      My first language? BASIC. Second? FORTRAN. Third? C. Third? asm. Fourth? Java. Perl. TCL. C#. Ruby. Shall I go on?

      Asshole. A somewhat notorious one at that, it seems.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    57. Re:Rapid web development getting out of hand? by Hosiah · · Score: 0, Troll
      Fellow Slashdotters, do keep in mind when I am discourteous, as in the case with this gentleperson, I only insult those who have already insulted the entire human race with their misinformation and belittling opinions of what humans are capable of. It's for the greater common good.

      See if you can go through my history and find one instance of a flamewar between me and somebody who had a POSITIVE, UPLIFTING, BENEFICIAL worldview. Now count how many times I've hammered somebody who had the "EVERYTHING IS IMPOSSIBLE, WE'RE ALL TOO STUPID, WE'RE DOOMED! WAAAAHHHH!" mentality. Know me by my enemies, God love 'em!

    58. Re:Rapid web development getting out of hand? by misleb · · Score: 1, Troll

      Holy Christ. I apoligize. I take it back. You're not an asshole. You're insane.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    59. Re:Rapid web development getting out of hand? by Anonymous Coward · · Score: 0

      Unless, of course, you're doing pedal to the metal coding to get the best out of specific hardware - which still goes on the in the world of console gaming, where you're dealing with a fixed hardware spec that doesn't change over time, so the only way to get increased performance is to start really understanding what the hardware is doing. Ditto in the occasional processor intensive app - where there's a real difference in optimising your code for PPC or Intel based instruction sets as opposed to leaving it to the compiler.

      Which doesn't take away anything from what you're saying above - everything is a tradeoff, and it depends on your project criteria.

    60. Re:Rapid web development getting out of hand? by Hosiah · · Score: 2, Interesting
      Holy Christ. I apoligize. I take it back. You're not an asshole. You're insane.

      Aw, they're so cute when they're bewildered! How can I resist? Hey, I'll spare this much for you: I know a secret. It's a secret you only find out after programming for a while. It's one you obviously don't know. You might as well have included a screen shot a couple posts back showing you googling for "programming language". Congratulations, you now know the names of several.

      There is this public perception, unanimous in user-land, and even permeating to the very depths of Slashdot, which goes: "Computers are only hard because evil computer programmers deliberately set out to make them hard." And the secret is: that that's a falsehood. Computers are not made artificially difficult. It does no good to tell you this; this is a special kind of secret that you can only learn through experience.

      The experience of struggling to design a usable user interface for your own system. The struggle to overcome the barriers of closed systems, lack of documentation, and misinformation everywhere you turn. The exasperation of dealing with users who come to you with the attitude that your program broke on purpose, you should fix it without knowing what the error was, and it's too hard to learn anyway because you make it difficult, because you're "evil".

      Programming experience erases that mental line drawn between user and programmer. You get experience on both sides of the fence, and eventually you see that there is no such thing as artificial complication. Interfacing with a machine upon which we have taught electricity to think and where we hope to make it sing and dance for us is inherently complicated TO START WITH, and the various tools we use to perform our tasks - why, each and every one was written by average people like you and me who also sat down with a clean file and furrowed their brow and wondered "How can I do this? How can I make it so people will use it?"

      No, you still have that mental mindset that there are programmers who deliberatly design things to be difficult, that it's all in spite, that they're laughing at you. Who, except as a joke, would deliberately make a programming language "hard to learn"? To fail at your task and blame your tool is simply a form of denial so that you don't have to face the fact that you have given up on trying to use something (no matter if it's COBOL or Javascript or Perl or freaking TECO, even!) that hundreds of other people have used successfully.

      There is no "easy". There is no "hard". There is only "Task".

  4. Re:Pathetic. by Anonymous Coward · · Score: 0
    The real irony here is that one of the core mantras of a lot of slashdotters is that microsoft is objectively inferior and that it is basically gliding on the fact that it has a giant userbase that is self-reinforcing. i fail to see how this criticism would not apply equally to slashdot at this point.

    Yes, the squirrel lives in a tree in my yard and I feed him nuts.

    You're probably wondering what this has to do with anything, which is what I would ask of the parent.

  5. I agree by TubeSteak · · Score: 1, Informative

    Real Men code html by hand, in a text editor

    --
    [Fuck Beta]
    o0t!
    1. Re:I agree by hazem · · Score: 0, Offtopic

      I prefer to use debug myself. It's a great tool for all the flexibility you could ever want. If it's not available, edlin is always a nice choice.

    2. Re:I agree by noamsml · · Score: 1

      Uh, the article is talking about server-side developement. This is not a WYSIWYG vs. Pure HTML argument.

    3. Re:I agree by hazem · · Score: 1

      I'm sure you could write some kind of "scripts" that that you could pipe into debug to generate webpages server-side.

    4. Re:I agree by xero314 · · Score: 1, Flamebait

      Real Men don't code HTML. Real Men don't write web pages. Documents are for secretaries not programmers.

    5. Re:I agree by dotlizard · · Score: 1

      so do Real Women.

    6. Re:I agree by Simon+Brooke · · Score: 2, Informative
      Real Men code html by hand, in a text editor

      This gets modded Informative? What crack are the mods on and please cant I not have any of it?

      In this day and age, real men write HTML by integrating several streams from databases, RSS feeds, and all manner of other things, and passing the resultant XML through an XSL transform on the fly.

      Fair enough, you probably write your XSL in a text editor.

      --
      I'm old enough to remember when discussions on Slashdot were well informed.
    7. Re:I agree by Anonymous Coward · · Score: 0

      "can't I not" is a double negative

      As for the rest of what you said... sure Simon.
      Sure.

    8. Re:I agree by Kent+Recal · · Score: 1

      In this day and age, real men write HTML by integrating several streams from databases, RSS feeds, and all manner of other things, and passing the resultant XML through an XSL transform on the fly.

      Yeah, right. I've seen such apps. And then those "real men" come crying to the various mailing lists of the various frameworks that they are trying to put to use without even the slightest clue about what those are doing, how they are doing it and much less how it would be done right (i.e. without a bloated framework).

      cf TooMuchMagic

      But maybe you were just being sarcastic...

    9. Re:I agree by ggy · · Score: 1

      Real Men code html by hand, in a text editor
      How come most "Real Men" are idiots? Seriously?
      Yes, for a small pure HTML page (not using CSS or any large JS), a text editor where you can see what you're doing is nice.
      But if you're trying to make larger pages, and constantly have to jump between docs and defs (just to look up what that entity is known by, which elements thats forbidden in XHTML Strict and Transitional and what the hell that CSS attribute is named) then you should use an IDE, like DreamWeaver in programmer mode.

      And if you're building large sites, then you're far better off using a Framework (like Tapestry, Rails, or whichever you like and know).
      Sure, write your templates in a text editor, but don't pretend it's the best solution everywhere.

      Disclaimer: I prefer tools that lets me focus on the problem/s at hand, whether it's a design or algorithms, instead of the quirks in that particular environment.

    10. Re:I agree by ultranova · · Score: 1

      Real Men code html by hand, in a text editor

      Nah. Smart People code HTML by hand, since it's faster than playing with a WYSIWYG editor and the end result is less likely to cause grief to either teh viewer or the updater. Real Men do their coding using only ALT and the number keypad ;).

      It is amazing what bits of arcane PC lore can be usefull when the only free computer has a broken keyboard...

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    11. Re:I agree by _pruegel_ · · Score: 1

      Generating XML and transforming it via XSLT on the server is plain stupid. I have never seen a project which required this extra flexibility and justified the huge overhead of using the ugly XSLT. Piping the XML to the client and doing the XSLT transformations there might be ok in cases where bandwith is of importance.

      All these frameworks limit testing capabilities and move things away from the compiler to the runtime. EL expressions, JSP taglibs, Beans using Reflection, huge XML configuration, XSLT and so on are all evaluated at runtime and none of this can be checked by a compiler. Now those framework creators also create complex testing environments and JUnit plugins which would not have been neccessary without the framework. And all this to create simple HTML!

      Never heard of "Simple is beautiful."?

    12. Re:I agree by 0xC2 · · Score: 1

      The Eiffel Tower was built using a wooden scaffold http://www.tour-eiffel.fr/teiffel/uk/documentation /dossiers/page/construction.html . I imagine that the 300 steelworkers who built the Tower were "real men". I can hear the hordes of American french-bashers, you guys need to read up on history http://www.exile.ru/2003-October-02/war_nerd.html .

      --
      Be heard || Be herd
    13. Re:I agree by Decaff · · Score: 2, Interesting

      Generating XML and transforming it via XSLT on the server is plain stupid. I have never seen a project which required this extra flexibility and justified the huge overhead of using the ugly XSLT. Piping the XML to the client and doing the XSLT transformations there might be ok in cases where bandwith is of importance.

      Here is an example, so you can say that you have 'seen' such a project. Sometimes it is useful to generate XML because it can be selectively transformed by XSLT to a variety of report formats as the user requires: XML+XSLT can output RTF, or it can output XSL:FO which can be rendered as postscript or PDF, which can be returned to the user. The same XML output can be transformed into these different formats simply by supplying a different XSL stylesheet. This is simple to use.

      XSLT processing can be very efficient, and to say XSLT is 'ugly' is simply a personal aesthetic judgment, and not of any value in judging how useful or fast it is.

      All these frameworks limit testing capabilities and move things away from the compiler to the runtime. EL expressions, JSP taglibs, Beans using Reflection, huge XML configuration, XSLT and so on are all evaluated at runtime and none of this can be checked by a compiler.

      This is simply not true. A good IDE (like Eclipse) has plugins that can check the validity of most of these before runtime.

    14. Re:I agree by Da+VinMan · · Score: 1

      It's a pity you got modded as flamebait for that statement. I guess the truth hurts.

      --
      Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
    15. Re:I agree by fforw · · Score: 1
      All these frameworks limit testing capabilities and move things away from the compiler to the runtime. EL expressions, JSP taglibs, Beans using Reflection, huge XML configuration, XSLT and so on are all evaluated at runtime and none of this can be checked by a compiler.

      JSP taglibs are compile-time validated. The compiler generates JSP page members/methods for them..

      A large part of EL expressions can be compile-time handled, too.. (my EL implementation (contained in my project) does this.. it uses known type information to create compiled EL expressions containing generated code and runtime EL operation calls where the EL ops can't be handled by the compiler..)

      If you're opposed to generate "simple HTML" via frameworks, I suppose you don't use compilers anyway.. I mean, binary code is so simple, right? ;)

      --
      while (!asleep()) sheep++
    16. Re:I agree by xero314 · · Score: 1

      Hey thanks for the support. But you are risking your karma being in my corner. I have this nasty habit of pointing out painful truths and getting the infamous Funny/Flamebait or Insightful/Troll mod. But atleast it did inspire me to finally set up a signature for my posts (not that it will stay long).

    17. Re:I agree by _pruegel_ · · Score: 1

      I am not at all opposed to using frameworks. I just hate the overhead introduced by badly constructed frameworks like Struts and JSF. In fact I regularly use a frontend framework I am unfortunately not allowed to talk about in detail. It is developed in-house, is 100% pure Java, completely compile-time-checked, is a lot faster even than compiled JSPs and is really simple. We did some Struts projects and we even tried Tapestry (although only versions up to 3.x). We won't be using those again except if a customer forces us to.

    18. Re:I agree by _pruegel_ · · Score: 1

      Oh and since I developed JSP tags myself I know for sure that the type of tag attributes is not checked at all. I even had to work with tags which accepted EL expressions, pointers to session/request/page variables and string values in the same attribute. No compiler is able to check this.

    19. Re:I agree by _pruegel_ · · Score: 1

      /your example/

      That is not a project but a description of an arguably possible project like those used by the framework developers to "demonstrate" the need for the framework. Just because something is possible this does not mean it has to be done that way. And just because "sometimes it is useful to" it does not underline the standpoint of the parent poster who claimed that real men generate XML. /the good IDE and the plugins/

      AFAIK Netbeans did not provide those tools at least until version 3.x. Maybe now it does. I don't care. I know for sure that our CruiseControl server would not be able to check all those things until someone introduced another complex library/plugin/ant scribt/whatever. All our projects have one thing in common - the code is compiled by the Java compiler. That is the common determinator and I want this to cover most if not all the code.

    20. Re:I agree by fforw · · Score: 1

      of course not.. how should a compiler check runtime type casting from java.lang.Object to another type?

      --
      while (!asleep()) sheep++
    21. Re:I agree by _pruegel_ · · Score: 1

      Exactly. I see you understand my point :-D

    22. Re:I agree by Decaff · · Score: 1

      That is not a project but a description of an arguably possible project like those used by the framework developers to "demonstrate" the need for the framework.

      No, it was an actual real-life project I have been involved with, not a demo.

      Just because something is possible this does not mean it has to be done that way.

      True, but it was the sensible way to do things. XML and XSLT made this easy.

      All our projects have one thing in common - the code is compiled by the Java compiler. That is the common determinator and I want this to cover most if not all the code.

      Fine, but then it is your choice to not use the tools that allow things like XML files to be checked by the IDE. This does not invalidate the point that these things need not be checked at run time.

    23. Re:I agree by masklinn · · Score: 1

      But if you're trying to make larger pages, and constantly have to jump between docs and defs (just to look up what that entity is known by, which elements thats forbidden in XHTML Strict and Transitional and what the hell that CSS attribute is named)

      Or you just have half a brain and a few cheat sheets taped on your walls, it's not like CSS, HTML or JS needed huge multiple books references to just list the names of the values/attributes/whatever...

      then you should use an IDE, like DreamWeaver in programmer mode.

      Uh, no, you shouldn't, you should never use dreamweaver, and i'm not even going to talk about golive and frontpage here.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    24. Re:I agree by fforw · · Score: 1

      I'm not sure.. Runtime type inspection and reflection is a great ability to have in your code..

      --
      while (!asleep()) sheep++
    25. Re:I agree by ggy · · Score: 1

      Or you just have half a brain and a few cheat sheets taped on your walls, it's not like CSS, HTML or JS needed huge multiple books references to just list the names of the values/attributes/whatever...

      I really prefer having the cheat sheets attached in the editor, instead of to the wall, since I generally prefer look at my screen. And no, you don't need multiple books, but constantly swapping to HTMLHelp.com, javascript-reference.info, google, etc is still clumsier than an IDE.

      Uh, no, you shouldn't, you should never use dreamweaver, and i'm not even going to talk about golive and frontpage here.

      Did you maybe miss the in programmer mode part of that sentence, or did you just ignore it to associate it with other WYSIWYG editors?

      So don't talk about golive or frontpage, try comparing it to Screem, Bluefish or Quanta Plus, which does offer a fairly good alternative. (On the *nix side. So far I've found Visual Studio to be a fairly good at editing HTML/JS/CSS.)

  6. Re:Pathetic. by Anonymous Coward · · Score: 0

    That doesn't make a damn bit of sense... unless IBM is giving them some sort of payoff for just posting the story then how the hell would they make revenue from this? So, stop being a bitch and either a) stop reading slashdot or b) shut the fuck up.

  7. Re:Pathetic. by tcopeland · · Score: 4, Informative
    > Do the "editors" even try to pretend that these aren't blatent ads any more?

    Hm. Tapestry is an open source project; from the FAQ:
    Tapestry is open source and free. It is licensed under the Apache Software License, which allows it to be used even inside proprietary software
    So I'm not sure that this really qualifies as an ad. More of a "free, informative article", especially since the author (Brett McLaughlin) is quite a Java guru.

    Looks like Tapestry uses annotations a lot; I've found them to be pretty handy things as well...
  8. Written backwards by Anonymous Coward · · Score: 5, Insightful

    IMHO, this article is really poorly written. When reading an article on this kind of topic, I want the first couple of paragraphs to tell me what is new/unique about this tool. Instead the author wastes endless column space describing how to install the software, then more space describing the sample applications that you could look at yourself once you downloaded it anyway. I want to be given a reason to try it out: What makes this tool powerful; how can it save me time/help me to produce cleaner code? Maybe he got to this by the end of the article, but I had given up by then.

    1. Re:Written backwards by Anonymous Coward · · Score: 0

      Can you sit through movies or read fiction?

    2. Re:Written backwards by Anonymous Coward · · Score: 0

      That's a valid question, and the answer is yes. The reason is that I don't blindly treat all sources of information the same way. I have a great attention span for those things that I actively seek out, such as movies, or articles about topics that I have a genuine desire to learn about. The tapestry article, on the other hand, is something that was of peripheral interest -- it was up to the author to either grab my attention quickly, and prove to me that this was something I should be interested in, or lose me. Unfortunately, due to the way the article was written, it was the latter.

      These days there is simply not time to read everything that you are presented with. If there's one way in which Slashdot has been beneficial to me, it's in teaching me to skip over things that are not worth my time. If there is one grammatical mistake in a comment, for instance, I'll tend to let it go. Two, and I'll move to the next comment unless the current comment has already shown me that it is otherwise worth reading. There are thousands of other comments and articles out there to read, why continue to slog through one that has not proven its value and is a pain to read?

  9. DeveloperWorks is supporting open source community by TapestryDude · · Score: 5, Informative

    As the original author of Tapestry (but not the article on DeveloperWorks, which caught me by surprise) I can say that IBM doesn't have any secret agenda on this. In fact, given that IBM is selling a commercial product that competes head-to-head with Tapestry (their JavaServer Faces, built on top of their WebSphere proprietary Eclipse IDE) it is enlightened of them to cover Tapestry.

    Of course, what's going on there is two fold. First, IBM is big enough that different areas of the organization will have different and occasionally competing goals. Primarily, all on-line magazines are constantly hunting for new material to keep the eyeballs looking (and the click rates clicking). IBM doesn't solicit authors to write on particular subjects, they accept existing authors efforts, with the authors pursuing their own interests. Here, Brett happened to be into Tapestry and did a great job providing additional documentation in the form of this article.

    I make my living off of Tapestry, so I'm happy to see this kind of coverage, but the framework itself is open source and free, with a very, very liberal license (ASL 2.0). I make money by providing Tapestry support and training. There's your ad.

    In even newer news, Tapestry 4.0 final release is now available.

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  10. More DevWorks by chundo · · Score: 0, Troll

    Great, another cookie-cutter, marginally informative post from IBM DeveloperWorks. This is getting old.

    DeveloperWorks has not come out with anything all that interesting lately. How very odd that they make it to Slashdot every week, like clockwork. They couldn't be paying for placement, could they?

    Slashdot has jumped the shark.

    1. Re:More DevWorks by kubrick · · Score: 1

      Slashdot jumped the shark when JonKatz started posting stories here.

      --
      deus does not exist but if he does
    2. Re:More DevWorks by RoadWarriorX · · Score: 1

      Damn it! How many stupid links are you gonna make in your comment? You insensitive clod!

      The lameness filter should be updated!

    3. Re:More DevWorks by nacturation · · Score: 1

      Slashdot has jumped the shark.

      You must be new around here. Either that, or you mean the fossilized bones of the shark that Slashdot jumped over and over years ago. At least it's still entertaining.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  11. REAL web based tapestry making by noisymime · · Score: 2, Funny

    pfft, web based tapestry making has been around for ages.

  12. Tapestry Making Web Development a Breeze?.... by Anonymous Coward · · Score: 2, Informative

    No!
    The post looks like an ad.
    I have used Tapestry several times since its firsts versions (pre-Apache). It sucks.
    Yeah is much better than Struts and others, but is really complicated... a lot of XML :(

    Why other frameworks like Seaside http://www.seaside.st/ doesn't receive the attention of Slashdot?
    Seaside is technically superior, it uses continuations to mantain state and this make it really transparent...
    Maybe because Seaside runs in Squeak http://www.squeak.org/, is open source and...
    Wait is not sponsored by any big name (like IBM, or Sun)... mmm both IBM and Sun publishes its ads in slashdot...
    Ahhh now I see why

    1. Re:Tapestry Making Web Development a Breeze?.... by Decaff · · Score: 2, Insightful

      Why other frameworks like Seaside http://www.seaside.st/ doesn't receive the attention of Slashdot?
      Seaside is technically superior, it uses continuations to mantain state and this make it really transparent...
      Maybe because Seaside runs in Squeak http://www.squeak.org/, is open source and...
      Wait is not sponsored by any big name (like IBM, or Sun)... mmm both IBM and Sun publishes its ads in slashdot...
      Ahhh now I see why


      No, it is because systems like Squeak, no matter how technically wonderful it is (and it is!) is not a production-ready system for high volume websites.

      If you want to use continuations (which are surely the future of web development), there are Java frameworks that allow you to do this - WebWork is a good example.

    2. Re:Tapestry Making Web Development a Breeze?.... by sparrow_hawk · · Score: 0, Redundant

      Seaside is technically superior, it uses continuations to mantain state and this make it really transparent...

      If you want a continuations-based open-source Web framework built on top of a stable, popular, well-tested language, you might check out Jifty, a Perl Web framework. Wait a second, you say -- Perl doesn't have continuations! This is true. Perl doesn't have continuations. Jifty does. It's only a "developer release" right now, but it's surprisingly useable all the same.

      (Disclaimer: I work for Best Practical Solutions, the company behind Jifty. Yeah, yeah, shameless self-promotion and all that. It's a spiffy framework, and it's open-source.)

    3. Re:Tapestry Making Web Development a Breeze?.... by MemoryDragon · · Score: 1

      Sorry to jump the gun here, but I had a quick check on seaside, and I must say, a controller->ui on the code level scripting framework does not make it. I have been programming with such a thin in java for a while now (being forced too), while it is excellent in the areas of having one standardized domain of problems, mainly backend applications which do not require excessive ui layout and excessive ui changing, it simply does not make it in normal day to day situations, where usually a layout comes from somewhere else and you have to make it dynamic. There is a reason why almost any controller only based framework has died out and the reason is they simply do not make it, templating nowadays is a must, sorry to say that.

    4. Re:Tapestry Making Web Development a Breeze?.... by mabinogi · · Score: 1

      There is practically no XML in Tapestry 4, except for when you _want_ to use it to make things cleaner...

      You can have a Tapestry page with just a single HTML template, or a single Java class, or you can have all three of template, .page descriptor and Java class if you want.

      I originally tried Tapestry in the 2.x time, and whilst I loved the concept, I found the fact that each new page required an XML descriptor _and_ an addition to the main config file to be way too much overhead.
      But that's all gone now....

      I've tried seaside, and I did like the idea of it, and I rather like smalltalk from the small amount I've dealt with it, but I _know_ java. I know the platform, and I know what third party libraries are out there. So in the end I'm going to use Java. (Plus most J2EE app servers are far more production proven than squeak - though there are a couple of other smalltalk implementations that may be more suitable for production purposes)
      There does happen to be a seaside like framework for Java called lakeside (or lakeshore or something...), but I don't think it ever got out of prototype stage....

      --
      Advanced users are users too!
  13. Re:Easy web development with Java? by TapestryDude · · Score: 4, Insightful

    Rails has a lot going for it, and the entire Ruby concept of focusing on code has influenced many frameworks, including Tapestry. Tapestry uses abstract properties combined with annotations (or auxillary XML files) to do the kind of meta programming that is done using class methods in Ruby, but nonetheless.

    In terms of dependencies, being an Apache project causes some distribution problems w.r.t depenencies, especially when you use non-Apache projects like OGNL and Javassist. The next major release of Tapestry will build using Maven, which will make nearly all of part 1 of this article irrelevant (or at least, standard). I'm looking forward to part 2 myself, which should identify why Tapestry is so special.

    Finally, within the Java community, Tapestry is fairly well known, though a regrettably small percentage have used it. The majority of the targetted readers of this article would have objected to wasting too much space describing Tapestry and its goals, just as others in this thread have objected to the lack of that introductory material. You can't please everyone (exception on Slashdot, where you can't please anyone).

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  14. Wearing grandfather's clothes getting out of hand? by Anonymous Coward · · Score: 0

    "I suppose this is just the next step in the constant progression toward appeasing laziness; no matter how easy an interface becomes, there will always be demand for something or someone to fill the gap of applying actual effort to learn it."

    Or this is the outcome of the evolution of the web. This is no longer our father's web so why should our tools be our fathers?

  15. High learning curve by Anonymous Coward · · Score: 0

    I've been using Tapestry 3.0. The first problem: its mechanisms are very hard to understand in the beginning; for instance, there is no such very basic thing as including HTML parts - you have to write your own components. OK, Tapestry simplifies creating basic forms (especially when used with Hibernate), but when you want to do something more advanced like variable number of input fields... you have to fight it and create workarounds. I really prefer something more low-level as PHP.

    1. Re:High learning curve by Decaff · · Score: 1

      but when you want to do something more advanced like variable number of input fields... you have to fight it and create workarounds. I really prefer something more low-level as PHP.

      No need to leave Java to do this - JSP has the same capabilities.

    2. Re:High learning curve by Debiant · · Score: 1

      So does ASP too. I have to agree with orignal poster of this thread.

      I can understand why people adopt things like Tapestry and swear by it.
      If you have enterprise leven solutions, you may have peculiar needs that aren't visible to us rest.

      However, more I have done programming and web pages, more I think simplicity is best. More there are layers and neat tricks, more there is confusion and something that you have to debug.

      Programming world is anyway filled with 'silver bullets' that people swear by. So far I've mostly seen good ideas to certain needs and lot of personal choices, but no overall silver bullet for everything that would justify adopting them all or just one of them.

      If something helps making something better, there is usually catch somewhere, like extra time needed to learn it and/or more things to keep track of. And if you come back years later and system is complex, you may not remember how it works - especially if you have learned dozens of 'silver bullets' after that.

      Many times simplest choice is just to do it by way you know best already.

      My choice is a text editor or Eclipse, and do code by hand if it just is possiböe. Not much can go wrong, and if it does, I know where the fault is.

      --
      Nobody knows the trouble I've seen, nobody knows has the trouble seen me, even I sometimes wonder why I write these line
    3. Re:High learning curve by Decaff · · Score: 2, Insightful

      However, more I have done programming and web pages, more I think simplicity is best. More there are layers and neat tricks, more there is confusion and something that you have to debug.

      Not really. There can be nothing as confusing as dozens of JSP/PHP pages with lots of repeated code and no central map of how the navigation is done.

      Often structure gives clarity.

  16. The Original Author of Tapestry? WebObjects. by bstarrfield · · Score: 2, Interesting

    Please don't take offense with this, but Tapestry seems to be an open source version of NeXT's - then Apple's WebObjects web application development system. Even the Tapestry documentation acknowledges this.

    WebObjects performed poorly in the marketplace due to Apple's stunning inability to market it's strengths - the exact same strengths the article is describing. Many people, including Apple employees - (myself in the past) - lobbied for WO to be made open source. We failed. Good to see that the ideas live on.

    To be fair, when I hear a reference to the "Original Author of Tapestry" I do think its only fair to refer to the staff at NeXT, then Apple who developed this wonderful system. Tapestry is impressive in its own right, but seems more an extension of WO design principals rathen than a unique work. Such is the history of software design, so all's fair in the end.

    And yes, I own your book, and think it's very well done. Tapestry is a great system, and can be recommended - but let's not forget the original inspiration.

    --
    /* Dang, I can't type that well. */
    1. Re:The Original Author of Tapestry? WebObjects. by alphaFlight · · Score: 1

      As a former WO zealot and programmer '99-03 there is a certain feeling of vindication seeing such a glowing write-up of a WO clone.

      --
      -= alphaFlight =-
    2. Re:The Original Author of Tapestry? WebObjects. by alphaFlight · · Score: 1

      I'm curious to see if part two of the DeveloperWorks article will mention cayenne as a good ORM framework. An older post with examples of using tapestry and cayenne can be found here.

      --
      -= alphaFlight =-
    3. Re:The Original Author of Tapestry? WebObjects. by bnenning · · Score: 1

      Hey Barry, fancy seeing you here.

      WebObjects performed poorly in the marketplace due to Apple's stunning inability to market it's strengths - the exact same strengths the article is describing. Many people, including Apple employees - (myself in the past) - lobbied for WO to be made open source.

      Yeah. I remember 5 years ago telling my manager and 50 other people in the room that WebObjects needed to be free, and the $700 that they had just dropped it to wasn't going to help. Amazingly they declined to take business advice from a random CE, oh well. We still use WO at my current job, but if we were starting from scratch today there's no way we could go with it due to the lack of any support or direction. Cayenne+Tapestry comes closest as a replacement, but there's still lots of cool EOF stuff missing.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    4. Re:The Original Author of Tapestry? WebObjects. by MemoryDragon · · Score: 1

      Everything except Struts in the framework space has been derived from Webobjects (and thus Struts is such an utter.... ) Webobjects is one of the things were things have been done right from day 1. Having business facades which can be used locally and remotely, having a web ui framework which allows heavy componentization, having a decent orm mapper to bridge the gap between an oo language and the db and having tools in place to gap the bridge between programming and visualisation.
      I agree you have to give WO the credits it deserves, it has been and still is the most influental of all frameworks in this area and the first one as well. Without WO we would not have Tapestry, no JSF, no EJBs etc...
      The main problem with WO is that its main problem always was and is apple, while the other competing derived technologies have moved on both frameworkwise and toolwise, Apples role always was problematic, it was held back by licensing for a long time, the tools have been surpassed by EJB based tools for years now and the framework has been stagnante for a while as well.
      In the open java world things are moving now towards EJB3 the first EJB incarnation now totally surpassing the backend and middleware side of Webobjects technologywise. And in the frontend side things are moving towards JSF a technology also superior to webobjects. And Frameworks like Tapestry which are clearly derived out of WO nowadays are leaps ahead of it. Typical case of having Apple (in this case NeXT) developing something superior and leaps ahead of everyone else for years and giving it the slow death due to licensing and lazyness issues.

  17. Not to be confused with.... by Anonymous Coward · · Score: 0

    Certain other tapestries....

  18. Re:Thank God I Learned Java/Eclipse by DogDude · · Score: 0, Offtopic

    It seems like every week I read about something like this where I'd be screwed if I was still locked into Windows only technologies.

    Oh, enlighten us, oh troll, as to this week's problem with IIS/.Net, if it's not too much trouble.

    --
    I don't respond to AC's.
  19. Re:Wearing grandfather's clothes getting out of ha by kfg · · Score: 2, Insightful

    This is no longer our father's web so why should our tools be our fathers?

    Because they work.

    KFG

  20. We have lots of experience with this kind of thing by Anonymous Coward · · Score: 2, Interesting

    I have heard authors who swear that handwriting is much better than typewriting. Some people swear that they can tell if a story was written on a word processor. I have heard many complaints that Power Point tends to force presentations into a kind of mindless cookie-cutter kind of sameness. All these things are actually true.

    What separates a good web page from a crummy one is not so much the tools that get used but the talent and knowledge of its author. The sad truth is that there are many hacks out there who won't produce good web pages no matter what tools they use. Easy-to-use tools do make it easier for talented designers to get up to speed quickly.

    My experience is with the sign industry. In the good old days, a sign painter would work for years to perfect a 'font' which he could produce effortlessly with his brush. By the time he learned his craft he was probably a pretty good designer too. Then we got sign cutters (cutting vinyl letters with a plotter). Now everyone had the same set of fonts. Joe's Rapid Cheap Sign Place was competing with businesses that had been established for many years. Guess what? The good designers still command good prices. The hacks race to the bottom of the market; undercutting each other on price. As far as I can tell, web design is quite similar. Any high school kid can churn out a web page. Some of them are nicer than those done by 'professionals'. There's still a market for good work. The hacks can't do good work and people can tell the difference.

  21. Rapid Development Framework is not enough by daniel.norton · · Score: 3, Interesting

    I think in real life it doesn't metter which technology you use for implementation to give results fast too much. Ofcourse with some technologies the results are faster than wiht another for instance PHP vs Java Servlet. But if you count time which you spend on implementation of user requirements and time which you spend by reimplementing functionality which user specified incorrectly, you can end-up with result that reparing taken most of the time in other words budget. In our company we solved this issue by creating prototypes with this tool PETRA (http://www.cleverlance.com/petra). Business analyst draws gui prototype by speed 20 pages per day. When he is finished he gives prototype to customer/user who clicks trough and expresses his changes. After making several rounds customer and customer is satisfied with prototype, programers finaly start coding. We expirienced that with this approach customer knows what will be delivered on the begining of the project. He saves money on change requests and we deliver real application twice faster. It isn't just rapid development what does delivering faster, but clear customers requrements rafined by prototype. Check out that tool, it realy helps.

  22. PHP seems to work fine by ylikone · · Score: 0, Troll

    I've been earning a living programming in PHP/MySQL for about 6 years now. Don't see any need to switch. Will this Java web dev thing catch on? Probably not. Will I be flamed for mentioning PHP? Probably. I don't care. I like PHP and am not interested in what the elitist programmers have to say about it.

    --
    Meh.
    1. Re:PHP seems to work fine by King_TJ · · Score: 1

      I tend to agree with you. I'm not even much of a "web developer" at all. Rather, I occasionally get paid to put together a basic e-commerce or plain old advertising "shingle" site for a small business customer. And even for my needs, building rather straightforward "cookie-cutter" type sites, I would rather go with an existing PHP and SQL based template. Especially for things like online shopping carts, a big concern is always security. (EG. Has the solution/template been used extensively and tested for flaws that would allow a customer to modify the price of an item during checkout, or to gain access to other customer's information?) The PHP based e-commerce "store" scripts seem to have the best odds of being widely used, tested, and debugged.

    2. Re:PHP seems to work fine by Anonymous Coward · · Score: 0

      a large part of my living is developing via php and pgsql (yeah, adodb, lemos' forms class, and will likely add phpgacl shortly).

      having said that, i don't want to be like the buggy whip manufacturer that didn't take innovation seriously. we think we are "high tech" b/c we program, but in the end, the same old human tendency to not want to leave our comfort zone is there and it is strong.

      it is fine to reject a new way of doing things. however, imho, learn what it is about first - before you go about saying it can't help you. investigate it. set it up. follow some tutorials. play with it - you are a programmer, after all.

      then, after giving it a good run, if you decide it can't help, walk away knowing your choice is an educated one.

      blow it off as unnecessary before the facts have been analyzed and, well, i hope the programming version of the car don't catch on and put you out of business.

      btw, i don't know much about RoR, but i like what i'm hearing. i will be applying the above advice - you are not alone. if it is hype, i walk away. if it does have advantages, so do i.

      especially b/c so many programmers are stuck in the rut of their comfort zone.

    3. Re:PHP seems to work fine by Debiant · · Score: 2, Insightful

      Yeah, I agree.

      I can understand why people choose Java and do J2EE. I've studied J2EE and liked it.

      But as I do work in LAMP enviroment, can't fathom why I should move to Java application servers in the web.
      They're far too complex, many are still buggy and costs are high for then. Jsp doesn't offer much more than does PHP, infact I think to effectively use it, one needs to do lot more.

      It's not that Java is hard or difficult, using it just create lot more work than using PHP. Unless you have some uber organization that needs lot of scalability and thread safety, then the sacrifice for java is not justified.

      --
      Nobody knows the trouble I've seen, nobody knows has the trouble seen me, even I sometimes wonder why I write these line
    4. Re:PHP seems to work fine by cdgan · · Score: 1

      I'm agree that PHP will be the ease for web development. Java and ,Net are both too much complex and that becomes the issue for deployment. I would say both the complex framework are suitable for advance legacy systems, etc. For fast, easy and wide deployment PHP will definitely be the best choice around. I'm wondering why people are not putting much attention in PHP kind of framework ?? There are some, but only bits and bites everywhere. And not getting much attention. For RAD in PHP, I'm coming across something called Modules Driven Web-Based Application Development. Search through google but not much are focusing on this.

    5. Re:PHP seems to work fine by MemoryDragon · · Score: 1

      Depends on the domain, first the "will it" it has and has for a long period of time. The domain of those applications usually is in the areas which is bigger than the usual hackish php app. Java is very common in banking insurance company, fortune 500 etc... domains, you knoa what I mean. But for the average I need a quickly hacked page in two days page you wont find it that often.

      Also with those languages probably nmost I learned php in 20 days and stuck with it people will get huge problems, you run into things you have not dreamed off probably. You will face the same problems all visual basic guys had when they suddenly had to move towards VB.net, you will have to learn the basics of algorithms and software engineering.

      To make it short, PHP is good for small apps which you need to hack quick, where java frameworks usually due to the setup problems is dreadful, but once things become bigger java scales quite nicely both from a development point of view and from a speed point of view. Therefore it has become the choice for many bigger applications and companies where the I need something within a day problem does not apply to usually.

    6. Re:PHP seems to work fine by MemoryDragon · · Score: 1

      J2EE Servers: You can get following without any costs: JBoss, Jonas, IBM Websphere Community Edition, Sun Glassfish, Apache Geronimo
      Buggyness, not very buggy at all, most of them are very mature.
      Complexity: Unfortunately yes it is there, but they cover a lot of domains, some of them have even integrated databases, security, clustering, messaging, remoting, webservices etc... you get this all out of the box
      JSPs only are a small subdomain of J2EE JSP in fact ist the only thing very close to PHP and nowadays normally only used as a rendering technology for more extended stuff. Using plain JSP basically has been a no go for years now. Check out stuff like Tapestry, JSF etc... this is stuff people nowadays work with.

    7. Re:PHP seems to work fine by hal2814 · · Score: 1

      I've used PHP regularly for about the same amount of time. I've also used other languages, but I primarily use PHP. PHP does require you to be careful about program design. If you don't build a web app to scale properly then that's your fault in PHP. The language is not going to help you. However, most programs I've ever built don't require any sort of scalability other than playing nice with others. Even the ones that do need a lot of scalability can be done in PHP. You just have to be careful during the design phase. Sure a lot of things look like nails if you only have a hammer, but a lot of things really ARE nails.

  23. Plain to see by DumbparameciuM · · Score: 0

    *coughs* I smell an advertisement! Seriously now, since when has this sort of crap passed as news?

    --
    "We are Samurai, the Keyboard...Cowboys"
  24. Re:DeveloperWorks is supporting open source commun by jnana · · Score: 1
    Howard, let me be among the first to thank you for this wonderful framework! I've just recently started using it, and it's been a breath of fresh air. I use Spring a lot, and I think their MVC implementation is a big improvement over Struts and the other frameworks I've investigated, but Tapestry is a huge improvement again, and the component-centric model is the way I think web apps should be developed. Using Tapestry has been one of those experiences where it just feels natural (which is always the result of good design imho), and things are no more difficult than one would naively thing they should be.

    By the way, do you plan on releasing a new edition of your Tapestry book soon that is updated for version 4.0? I have the current version, but would love an updated version detailing some of the new stuff in 4.0 (like friendly URLs, something about HiveMind in 4, etc).

  25. Seaside Making Web Development a Breeze?.... by Anonymous Coward · · Score: 0

    "No, it is because systems like Squeak, no matter how technically wonderful it is (and it is!) is not a production-ready system for high volume websites."

    Well Squeak may be, but since Smalltalk is Smaltalk. Dolphin Smalltalk is commercial grade software used...commercially. The problem is more marketing and mindshare than any technical deficiencies.

    1. Re:Seaside Making Web Development a Breeze?.... by Decaff · · Score: 1

      "No, it is because systems like Squeak, no matter how technically wonderful it is (and it is!) is not a production-ready system for high volume websites."

      Well Squeak may be, but since Smalltalk is Smaltalk. Dolphin Smalltalk is commercial grade software used...commercially. The problem is more marketing and mindshare than any technical deficiencies.


      Dolphin Smalltalk runs only on Windows. There are high-quality cross-platform Smalltalk versions, but the really good ones (such as VisualWorks), are either expensive of have very awkward licensing.

      Smalltalk would be a great development system if there was a high-performance cross-platform version that was free or open source.

  26. Don't be put off by Budenny · · Score: 3, Insightful

    Don't be put off by the comments. If you already know about it, how to install it etc, this is not for you. But if you don't, its clear and informative and interesting. Looking forward to the next part.

  27. Re:ruby by Anonymous Coward · · Score: 0

    That's what i did. You're forgetting about the lameness filter. Dumbass.

  28. arggh by Anonymous Coward · · Score: 0

    I could fall over and die right now. My graduation project is the exact same thing as their "Virtual Library". I feel so redundant. >X(

    1. Re:arggh by Anonymous Coward · · Score: 0
      I could fall over and die right now. My graduation project is the exact same thing as their "Virtual Library". I feel so redundant. >X(
      I have three words for you: Embrace and extend.

      'Nuff said.
  29. Easy web development with Java? by Bogtha · · Score: 3, Interesting

    I just finished reading an interesting comparison of Java, PHP and Python over on Bob Ippolito's weblog. It talks about the implementation of a simple web service in the three languages. To summarise:

    • 117 lines of very liberally spaced Python code, or
    • 138 lines of insecure PHP code, or
    • 3004 lines of Java code in 45 files, 29 lines of SQL, and 246 lines of XML configuration in five files.

    That's to implement the same web service.

    --
    Bogtha Bogtha Bogtha
  30. Way too many HTML frameworks. by CaroKann · · Score: 3, Insightful
    In my opinion, the appearance of yet another framework to help alleviate HTML development is a symptom of the flawed HTML web page application paradigm. Every time I grit my teeth over the tedious complexities and limitations involved in developing an ordinary, half decent web page, I long for the days of Visual Basic, or even MFC. Does anybody even develop GUI widgets anymore? It seems like to me that, after everything became webified, we stepped into some kind of GUI dark age, and we can't seem to emerge from it.

    I am aware of the dangers associated with poorly designed rich clients, but rich clients work well, as long as you use some discipline in the system architecture. I know some rich client architectures exist, such as Curl, but in general, it appears there is very little activity in this arena. I wish this industry would focus a little more on interesting GUIs, instead of beating the same horse over and over again.

    1. Re:Way too many HTML frameworks. by Anonymous Coward · · Score: 0

      Tapestry has been around for years; it didn't just show up today. And yeah, people still write widgets: look in any Microsoft or Java trade rag and take your pick.

    2. Re:Way too many HTML frameworks. by angel'o'sphere · · Score: 1

      In my opinion, the appearance of yet another framework ...

      Just because a new article shows up it does not mean a new framework shows up.

      Tapestry is an old one.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Way too many HTML frameworks. by slashk · · Score: 0

      i second that. i sincerely hope that XAML delivers. html is a blessing and a curse. there must be a better way, though.

    4. Re:Way too many HTML frameworks. by mevryck · · Score: 1

      There is no end to the revival of the HTML frameworks, but what ever may be the changes everything that comes into existence has got certain role to play no doubt it(Tapestry) is going to enhnace the applications.

    5. Re:Way too many HTML frameworks. by MemoryDragon · · Score: 2, Insightful

      I agree the whole web development paradigm is utterly broken and giving this idiocy entirely the boots and unlearning the people who learned this dreck will take another 10 years. Fortunatly there are at least some frameworks which try to brigde the gap between having a decent ui programming model on top of the broken paradigm. Tapestry is one of them html.net is the other JSF being the third.
      But most frameworks try to go along the route of plain actions and boilerplate mvc on top of it without any event mechanism and componentization that is one thing which I really call idiotic.
      HTML webapp programming has pushed back application programming at least 20 years, alternate technologies are there which could be used (applets, xul, ...) but they are mostly ignored and now we get the next boilerplate idiocy instead of fixing the system (ajax) and then Microsoft will wipe the W3Cs backside with their xaml system which was derived out of xul and will fix the probelm and everybody will be wailing and in the end we will end up with 3 incompatible next gen html replacements and have to bridge them again with frameworks.
      The whole thing reminds me on the early eighties when people moved over from plain vt220 rendering to rich client uis and everybody had its different technology and you had to bridge the gaps again with frameworks.

    6. Re:Way too many HTML frameworks. by MemoryDragon · · Score: 1

      No need for xaml there are others already which basically do the same, after all xaml is just copied and derived from xul, but besides xul there are java applets and have been for years, and there are several flash based rich client frameworks.

    7. Re:Way too many HTML frameworks. by slashk · · Score: 0

      i agree, but i am referring to some kind of mass market solution, where if you post your site in XAML, then you know that 95% of the users on the internet can use it.

      and there are tons of tools, and associated programming paradigms (e.g. WCF).

  31. Re:Easy web development with Java? by jhliptak · · Score: 1

    He says it takes 3004 lines of Java code, but he won't link to it. I don't think Java is 30x larger and unless it's available for inspection, it's just a bunch of hot air.

  32. Re:Thank God I Learned Java/Eclipse by Hosiah · · Score: 1

    Unbelievable. All the guy says is what worked for him and he's happy with it, and for this he draws such ire. Maybe he's not replying because it's a waste of time to enlighten a rock.

  33. Re:The Original Author of Tapestry? HLS by TapestryDude · · Score: 2, Informative

    Although I freely being influenced as a user of WebObjects back in the day (circa 1998 and 1999), that's about as far as the lineage goes. I certainly built Tapestry with a different set of expectations and compromises than WebObjects, and that has evolved further of the years.

    However, I will stand by declaring myself "the original author of Tapestry". That clearly describes Tapestry design and implementation; the flavor might inlcude a little WebObjects spice, but the meat is pure Java + Servlets + Howard Lewis Ship's insights and contributions (and mistakes).

    Now look what you made me do ... refer to myself in the third person!

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  34. from the article..... by phantomfive · · Score: 1

    You'll quickly learn that the watchword in Tapestry is simple. That's not simple as in primitive or lacking sophistication, but simple as in easy to understand, usable, and intuitive. Because installation is your introduction to any new technology, it goes without saying that installing Tapestry is very easy

    and this before a 4 page explanation of how to install.

    Without a doubt web development could use simplification, but if they can't even simplify the installation process to less than four pages, how can they simplify the web? Seems they have some interesting ideas, though.

    --
    Qxe4
    1. Re:from the article..... by tacoBandit · · Score: 1
      I think the article shows you how to "create" a tiny application in less than four pages, not just install..

      It's the easiest/most well written java web framework I've seen thus far. So much so in fact that I've started contributing to it in the 4.1 version. It also has many cool components ;) ( tacos )

    2. Re:from the article..... by phantomfive · · Score: 1

      You are right, the explanation talks about more than just installing, but installation did take up four pages of it (at least on my browser).
      I will keep your recommendation in mind though, and check it out next time I have to make a website. ~Andrew

      --
      Qxe4
  35. Re:Easy web development with Java? by Decaff · · Score: 5, Informative


            * 117 lines of very liberally spaced Python code, or
            * 138 lines of insecure PHP code, or
            * 3004 lines of Java code in 45 files, 29 lines of SQL, and 246 lines of XML configuration in five files.


    Which is complete nonsense, as with Java you can use JSP tag libraries, which will are secure (compiled, so no code injection at run-time) and can be used in exactly the same way as PHP, so will require about the same size of code.

  36. Re:Wearing grandfather's clothes getting out of ha by civilizedINTENSITY · · Score: 1

    Hey now, my legs work too. That doesn't mean I'm going to walk from LA to NY. It does mean I walk and use a stair-stepper. Agreed that people should code by hand to keep in shape, but don't look down at the corporate jet when we have a meeting a long ways away, saying, "I think I'll just walk."

  37. TANSTAAFL by angusmci · · Score: 5, Insightful

    I've worked with Tapestry. Is it a decent framework? Yes. Did we end up choosing it over JSF for our project? Yes, we did. Did it make development "a breeze"? No.

    In my experience, Tapestry simplifies some complex tasks and helps you write reasonably clean, well-structured code. This is, I think, all anyone should realistically hope for from any framework. However, it isn't a magic bullet and we did find that things became a little gnarly as soon as we tried to do stuff that the Tapestry developers hadn't really anticipated or designed for (and the things we were trying to do weren't really very exotic).

    Of the frameworks I've seen lately, Ruby on Rails is the one that bends the curve the furthest in the trade-off between 'what you can do' and 'how easy it is to do it'. Tapestry is a way behind that, but it's nevertheless a solid addition to anyone's toolkit, so long as you don't have unrealistic expectations of what it can do for you.

  38. Re:Easy web development with Java? by katre · · Score: 1

    Huh, the python and PHP versions don't use SQL? Then why does Java?

  39. Re:Wearing grandfather's clothes getting out of ha by kfg · · Score: 1

    don't look down at the corporate jet

    That's your father's tool. Yours is video conferencing.

    . . .when we have a meeting a long ways away, saying, "I think I'll just walk."

    I bicycle.

    KFG

  40. What does Tapestry have that Zope/Plone doesn't? by ivaldes3 · · Score: 1

    Z Object Publishing Environment (ZOPE) http://www.zope.org/ and its derivative Plone http://www.plone.org/ seem like they have all this and more. Like they are a whole universe. What does Tapestry have that Zope/Plone doesn't? -- IV

    --
    http://www.LinuxMedNews.com Revolutionizing Medical Education and Practice.
  41. True, but irrelevant to Tapestry. by melquiades · · Score: 4, Insightful

    I agree with the sentiment of this comment -- but Escherial, I think you saw the word "rapid" and made a bunch of bad presumptions about Tapestry. Tapestry is not a crutch; it is an excellent framework, one you're obviously ignorant of.

    What Tapestry is emphatically not is a whizzy-ooey drag-and-drop autogenerated no-coding-necessary whiz-bang shill. Those are, by and large, a bunch of crap: they usually just make the easiest 90% even easier, and the "last 90%" even harder.

    What Tapestry is is a very nice web framework, which has a lot of the same MVC capabilities as Struts and the code reuse possibilities of JSF, with far less configuration and unnecessary complexity than either of those options. The Tapestry team, much like the excellent Rails folks, have looked for ways to reduce redundancy, boilerplate code, and messy configuration -- especially in this 4.0 release. Roughly speaking, Tapestry is about 80-90% of the streamlined simplicity of Rails, but with a much richer framework underneath and all the existing libraries and machinery of Java at your disposal. It has the best mechanism for HTML fragment reuse I know of.

    What the Tapestry team has not done is try to make an app that thinks for you. You've still got to code. It's just a lot less tedious than with most other frameworks.

    My two latest webapps have been all Tapestry 4, and it's great how little code/config I have to write that isn't conveying useful information. I'm really quite impressed with the framework.

    So yeah, I agree with your rant, but it's not appropriate to Tapestry.

  42. Please, for the love of GOD..... by melquiades · · Score: 4, Insightful

    ...will people stop pretending that "Java" is one giant monolithic thing that only works one way.

    Look, these flagships specs like J2EE and EJB are designed to solve problems of writing massively distributed apps that need to have transactions spanning multiple servers running different OSes -- horrendous problems that you never, ever, ever want to have to solve. And if you do have to solve them, Java is the best way -- but if you take all that machinery and try to write a "hello world" webapp, of course it's going to take 30 bazillion lines of code.

    Somebody writing the webapp he describes in 3000 lines of Java is either (1) utterly ignorant of how to use the Java frameworks (like Tapestry) that are appropriate for the task, or (2) deliberately spreading FUD on behalf of Python.

    That is not to slight Python or the framework he's using. Python is very cool. I'm just sick of people complaining about "Java" when what they're really complaining about is "Java abuse."

    1. Re:Please, for the love of GOD..... by jazir1979 · · Score: 1

      hear, hear!

      i'm sick of all the ppl on slashdot flaming J2EE just because they don't understand the problems that need to be solved in the real world.

      and u don't need to be some "uber-organization" to need scalability and thread-safety -- every system i've ever worked on has needed these and could never be done in LAMP.

      --
      What's your GCNSEQNO?
    2. Re:Please, for the love of GOD..... by swimmar132 · · Score: 1

      You can't scale on with a LAMP-like stack? omg, someone tell livejournal!

    3. Re:Please, for the love of GOD..... by jazir1979 · · Score: 2, Insightful

      actually fair point, u probably can...

      my main point is to do with things like distributed transactions, etc.

      the comment on scalability and thread-safety was in response to a post way up above implying you needed to be an "uber-organization" to have those requirements.

      --
      What's your GCNSEQNO?
    4. Re:Please, for the love of GOD..... by MemoryDragon · · Score: 1

      You do not need to be an uber organization to have needs for something like transaction and thread safety and having scalability on your hands. The money also is a non issue since you can get excellent app servers for free nowadays, the tools also do not cost a fortune.

    5. Re:Please, for the love of GOD..... by jazir1979 · · Score: 1

      absolutely :)

      --
      What's your GCNSEQNO?
    6. Re:Please, for the love of GOD..... by rjstanford · · Score: 2, Insightful

      LAMP is very good at scaling if your problem domain is shallow, but broad. In LJs case its many people reading the same data, with only one person occasionally allowing to update any given piece of data. This model matches well with a lot of public-facing webapps. It matches very poorly with a lot of enterprise business requirements.

      --
      You're special forces then? That's great! I just love your olympics!
    7. Re:Please, for the love of GOD..... by Anonymous Coward · · Score: 1, Interesting
      • I'm just sick of people complaining about "Java" when what they're really complaining about is "Java abuse."
      I remember this argument being used a lot by people defending Perl. A worrying sign for any language.
    8. Re:Please, for the love of GOD..... by Anonymous Coward · · Score: 0

      Too bad the 3000 lines are repeated for every Java web service; welcome to the reality of Java.

  43. Re:Easy web development with Java? by lagerbottom · · Score: 1

    Despite the nay sayers below, I have done Perl, PHP and Java for web services...Java takes A LOT more code to do the same thing. So, I agree :)

    --
    "He was a wise man who invented beer." - Plato
  44. Re:Easy web development with Java? by AlXtreme · · Score: 4, Informative

    Lets just, for the sake of clarity and shameless Python-fanboyism, ignore the fact that the PHP code was properly commented (about a third of the 'code') and the Python code had a whopping 1 (one) line of commenting. Not to mention the PHP code had extra newlines adding to the readability of the code, and about half the code was a (very neatly indentend) array for some external library. Wake me up when you have a proper comparison.

    Don't get me wrong: I love Python. But it doesn't need flawed statistics. Heck, I'd think a maintenance programmer would love the PHP code easily over that Python mess. (K)LOC don't count people, your use of commenting and clear code does!

    --
    This sig is intentionally left blank
  45. Re:Easy web development with Java? by laffer1 · · Score: 1

    The numbers seem a bit off, but Java is a wordy language. The servlet api tends to make you code much closer to the protocol than you should need too. The lack of a standard web framework for java makes things very difficult. Every other language tends to have one way to do things at the basic level and with java you are stuck learning a few frameworks and pray you don't have to switch.

    Java based web apps take longer to code in my experience. I dislike php and haven't found time to play with ruby on rails or python. I also dislike jsp as a view technology.

    I think the problem we are seeing with web technology is that there are two types of programmers. We have the hobby or asp era web app developers who prefer scripting and we have the bulky framework keep my job by adding complexity since real app development is dead type. In reality, the ideal model is probably somewhere in the middle. Scripting for views and easy stuff and something more framework like for web services and other things that require performance or a lot of code. (where scripting is slow) I like ASP.NET to some degree because its somewhere near the middle. I learned to code with vb and classic asp in the late 90s so I have a bias toward Microsoft on development. I think they provide some of the easiest development environments. I think the lack of classic asp scripting has forced hobbyists into php though.

    I'd like to see someone create a good balanced environment with a scripting language and a framework for things like web services and ways to use code written in other languages (like C++) easily. I don't think we'll ever have that again.

    As for tapestry, at the time I tried to learn it when it was just switching to be an apache project, it had the worst documentation ever. From what i've seen lately, the apache project still has that problem. Apache 2.0/2.2 aren't well documented systems and most of the jakarta projects are an order of magnitude worse.

    In case anyone is wondering why I hate php so much, read the change logs. Code written for one release does not work on the next way too often. I don't just speak of the php 5 migration but of the 4.0 vs 4.1 vs 4.2 etc changes. A good project does not break their api on a whim. Most java developers and .NET developers agree on that point. Unless you are doing a major release (4.x to 5.x), there should be no major changes to the api that break things. Remember php is a language! Each time there is a change, its usually easy to fix but means there is non stop maintinence on web apps. It certainly makes it hard to sell them doesn't it? Your customers upgrade their server and break their software, etc. Your hosting company decides to patch a security hole and upgrade.. now customers sites are down. One can complain about microsoft, but at least asp apps tended to work when new versions of the language came out. IIS 4 and IIS 5 could both run my sites for instance without any changes at the time. I upgrade tomcat and my java servlets still run ok. I started on 4.x and now run on 5.5.x! Its not an open source problem because tomcat works.

  46. Comment removed by account_deleted · · Score: 4, Funny

    Comment removed based on user account deletion

  47. Re:Easy web development with Java? by Anonymous Coward · · Score: 0
    I don't know who Bob Ippolito is, but if his comments are typical of Python programmers, I'm sticking with Ruby, thanks:

    Responding to a user asking about his program:

    If you don't already know what it does, it's not for you. Not yet, probably never.

    Responding to a question about Windows:

    Yes, I wrote py2app, and I have no plans of making it operate on Windows. It'd be hard, and I have better things to do.

    Responding to another user asking about his program:

    Follow the links, google the terms you don't understand. How hard is that? :) Understanding all this stuff myself, I have no idea what's fuzzy to you.

    Wow, what a sweetie!

  48. Re:what is the business model for these promotions by jkauzlar · · Score: 1

    IBM has been pushing Java pretty hard for a few years now and has contributed a lot to the community. They may very well contribute to Apache, but I'm not sure on that. The article above was written for IBM's developerworks site which has frequent articles on all of the technology and development tools that IBM have their fingers in, including Linux, Java, Open-Source, and quite a bit more. It's a cool site to visit every so often.

  49. Survival of the fittest by dbucowboy · · Score: 2, Interesting

    There will always be a need for developers. The lack of creative flexability that these types of systems offer will be their ultimate downfall.

    --
    This just in! 3 out of 4 people make up 75% of the population.
  50. Re:DeveloperWorks is supporting open source commun by glesga_kiss · · Score: 1
    I came across Tapestry in my hunt for a Java HTML generation framework, however as I'm working on an embedded project I dismissed it as running an application server is not an option for me. The mention of
    "However, Tapestry applications are 100% container agnostic ... Tapestry doesn't care what servlet container it is used with and does not even require an EJB container."
    in the FAQ (section 1.6) offers a little hope, but I could find no other info on alternate (lightweight) deployment methods. After reading the article, it's got my interest again.

    Sorry for what must sound like a technical support question, but is it possible to run Tapestry in a lightweight HTTP server such as Simple? It uses the usual HttpRequest/HttpResponse API for dealing with requests and has a minimal footprint. Can I call something in the Tapestry API and pass it the request to render the page?

    Or can anyone recommend any other lightweight Java HTML generation frameworks that don't require full-blown servlet containers such as Tomcat?

  51. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    Those are perfectly reasonable answers. If you don't know what Flash and Python are, then it's highly unlikely you want a Flash library for Python. If you want him to write Windows stuff for you, then he's just making it clear it ain't gonna happen. And he's not a mind-reader, so how the fuck can he explain things to somebody with vague complaints of "fuzziness"?

    Oh, and even considering for a second that you can generalise one programmer's attitude to everybody using the same language is idiocy in the first degree.

  52. Re:Easy web development with Java? by Anonymous Coward · · Score: 1, Informative


    I would just like to weigh in and place my X firmly in this "What a load of horseshit!" box.

    The Java version of the BirthdayOrganizer backend, which I won't even bother linking to, is well... ginormous.

    The author happily provided links to the python and PHP code but 'wont bother' linking to the Java source. Anyone who needs 3004 lines of Java over 45 files to implement a simple webservice is in the throes of a brain haemorrhage. I do love these kiddie blogs, "I wrote some crap Java code and look how crap it is, ergo, Java must be crap!!!11".

    Java does have it's faults, but I advise the reader to seek out a better source of information. It can sometimes be difficult to be sure of the quality of a source of information but fortunately this blogger has made our job easier by using the word 'ginormous', clearly showing themselves to be a complete wanker.

  53. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    Or...I could use about a hearty 20 lines of coldfusion code and have the data communicated between flash and the coldfusion server in binary (much less data overhead). Quit trying to unfairly compare code of languages when you do not equally understand what is available in all of them nor share your code.

    One library or capability makes no language worth switching to and when I see an excellent library I think:
    1) Wow, I wonder how I could implement this using my development tool of choice
    2) What benefits of the library are specific to the language it was originally developed in (ex: more readable syntax)
    3) What benefits could my development tool of choice offer the library that the other language does not (ex: better caching)

    There is a world more considerations and we need to start cooperating between many of the great languages out there instead of becoming pride mongers for our respective languages of the week.

  54. Re:Easy web development with Java? by manarth · · Score: 1

    from TFA

    One such thing is a soon-to-be-released (but available from svn) open source library called flashticle.

    One of the more interesting features of flashticle is the integration it has with TurboGears: flashticle.turbogateway. This lets you very simply develop Flash Remoting services using Python.

    So that's 117 lines of Python...and a library. And it doesn't say how big the library is.

    The Java version of the BirthdayOrganizer backend, which I won't even bother linking to, is well... ginormous. 246 lines of XML configuration sludge in 5 files, 29 lines of SQL schema in 1 file, and 3004 lines of Java code in 45 files.

    Could any of these 3004 lines be considered/implemented as library files? How many lines of Java would it take then?

    The PHP version of the pizzaService backend (pizzaService.php) is 138 lines of code, is one big security flaw (doesn't escape SQL properly, big surprise), is MySQL specific, and it doesn't include the DB schema and can't create any tables for you.

    And this begs the question: who wrote it? It is possible to write secure PHP, as much as it's possible to write insecure python.

    You can take yer apples and pears, and compare them up yer own arse.

    --
  55. French is a far more compact language than English by irritating+environme · · Score: 3, Insightful

    Must be slashdot:
    - Uninformed comment near the top? check
    - Pointless flamebait modded to Score 5? check
    - Disingenuous and patently ridiculous to boot? check
    - Complete ignorance to the turing equivalency to all languages? of course

    Wow. I'm making a study. Apparently in french:

    "Voulez-Vous Couchez Avec Moi?"
    In English
    It has come to the attention of my biological subsystems that I find you sexually fit and attractive, and thus would like to engage in procreative attempts in order to further the expansion of my genetic sequences in the Hobbesian environment we live in. Do you find such a query to be to your liking and predilection?

    --


    Hey, I'm just your average shit and piss factory.
  56. Re:Easy web development with Java? by angel'o'sphere · · Score: 1

    I second that.
    Especially the XML configuration file can't be much bigger than 20 lines.

    It should be something like:
    140 - 200 lines of JSP/Java (for imports, package declarations, typed variables etc.)
    29 Lines SQL
    20- 30 lines XML Config file

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  57. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    who is bob ippolito?. is he a guru or something?

  58. Re:Verizon known for crippling phones by Thomas+Shaddack · · Score: 1

    Real men do server-side scripting in PHP (well, the really real hardcore men code CGI scripts in machine code, but it is rather extreme) in a text editor.

  59. Groovy Groovlets by Anonymous Coward · · Score: 0
    The easiest way to write a web page in Java is to use Groovy Groovlets. Wanna see a hello world page:

    println "Hello, World!"

    How about something more useful like dumping your properties in all your property files?
    println """
    <html>
      <head><title>All your Property Files!</title></head>
      <body>
    """
    new java.io.File(context.getRealPath("/WEB-INF")).each FileRecurse{ file ->
      if (file.name =~ /.properties$/) {
        out.println "<table border='1'><caption>${file.name}</caption>"
        file.eachLine { line ->
          def property = line.split('=')
          if (property.length == 2)
            out.println "<tr><td>${property[0]}</td><td>${property[1]}</td ></tr>"
        }
        out.println "</table>"
      }
    }
    println """
      </body>
    </html>
    """
    1. Re:Groovy Groovlets by arevos · · Score: 1
      That doesn't seem that much shorter than plain old Java, and if you're going to be loading up properties files, why not use the Property class instead of trying to manually read it in?
      StringBuffer buffer = new StringBuffer();
       
      buffer.append("<html>");
      buffe r.append("<head><title>All your Property Files!</title></head>");
      buffer.append("<body>");
       
      for (File file : new File(context.getRealPath("/WEB-INF")).listFiles()) {
        if (file.getName().endsWith(".properties")) {
            Properties props = new Properties();
            props.load(new FileInputStream(file));
       
            buffer.append("<table border='1'><caption>" + file.getName() + "</caption>");
       
            for (Map.Entry entry : props.entrySet()) {
              buffer.append("<tr><td>" + entry.getKey() + "</td><td>" + entry.getValue() + "</td></tr>");
            }
            buffer.append("</table>");
        }
      }
      buffer.append("</body></html>");
      return buffer.toString();
      Not that I'm a fan of Java, but you could have picked a better Groovy example ;)
    2. Re:Groovy Groovlets by Anonymous Coward · · Score: 0

      Better still is to use Groovy templates, these are much cleaner and easier to write, and they are not coupled to the Servlet API. A layout framework such as that used by Simple makes building complex views with Groovy real easy.

  60. yeah, well... by jpellino · · Score: 0, Redundant

    "Our apologies The IBM developerWorks Web site is currently under maintenance.
    Please try again later. Thank you."

    Isn't that French for "we got slashdotted"?

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  61. A "hand-cranked" crank. by Anonymous Coward · · Score: 0

    "Because they work."

    Then "father" shouldn't have a problem running IBM, or Microsoft's site, let alone the NYT, using notepad.

    1. Re:A "hand-cranked" crank. by kfg · · Score: 1

      Ed, man! !man ed

      ed is the standard editor.

      KFG

  62. Oh yea? Well... by Ruff_ilb · · Score: 1

    01010010011001010110000101101100001000000110110101 10010101101110001000000110001101101111011001000110 01010010000001000101010101100100010101010010010110 01010101000100100001001001010011100100011100100000 01101001011011100010000001100010011010010110111001 100001011100100111100100101110

    --
    http://www.TheGamerNation.com/Forums
    1. Re:Oh yea? Well... by DarkMantle · · Score: 1

      01001001 0010000 0011000 0101100 11101110 01001100 10101100 10100100 00001110 11101101 00001101 11101101 10001100 1010010 0000011 0100001 10010101 10000101 11001001 11010001 10010101 10010001 10110001 111001 (I agree whole heartedly) Except it takes too long.

      --
      DarkMantle I been bored, so I started a blog.
    2. Re:Oh yea? Well... by glenstar · · Score: 2, Funny

      Your code has a buffer overflow error at byte 12.

    3. Re:Oh yea? Well... by tehshen · · Score: 1

      Well of course we do! Ever thought what base the source files are stored in?

      --
      Guy asked me for a quarter for a cup of coffee. So I bit him.
    4. Re:Oh yea? Well... by marcello_dl · · Score: 2, Funny

      Argh, you spoiled the joke. Every developer who doesn't use frameworks could see that obvious programming mistake.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
  63. Re:Easy web development with Java? by misleb · · Score: 1

    They probably also tested Ruby on Rails, but didn't think a number like 30 would make Python look good so they left it out.

    -matthew

    --
    "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
  64. Re:DeveloperWorks is supporting open source commun by plughead · · Score: 1
    You might try looking at Jetty (http://jetty.mortbay.org/jetty)

    I have no first-hand experience, but it seems to be lightweight (350K), embeddable and Tapestry is said to run under it.

    --
    If a giant oil company wanted an abortion, would W's head explode?
  65. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    Hmm, how much do you want to bet that Mr. "bob.pythonmac.org" knows python just a bit better than Java? Hopefully he does, because no one in their right mind would _EVER_ write a "trivial" little app like his test application in full J2EE.

  66. Re:We have lots of experience with this kind of th by Debiant · · Score: 1

    I think it's not just up to us web developers are pages good. I mean, I can make technically good page that is well done. It isn't necessary same page or site that is good to use.

    After all, customers may have their own ideas and needs that aren't good, and customers are always right.

    Depends what one does of course, but where I work, were more a consulting architech that the architect that desigs the whole thing. We do what cusomers have visioned and inform what sucks in that context. We don't make the context , design or choose it.

    Like construction company, we don' design the bulding we just build by the design and try to make it work well as possible. Within frameowork of time and expenses.

    If the original idea sucks and can't work well, then it is so. It doesn't matter how good pianist you are, if acoustic sucks and composer did it all while drunk(besides being ungifted), you can't evoke miracles from absolutely nothing. You can only do best what those circumstances allow you to do.

    --
    Nobody knows the trouble I've seen, nobody knows has the trouble seen me, even I sometimes wonder why I write these line
  67. Sun's java studio creator by acomj · · Score: 2, Informative

    Sun's java studio creator is now free. I'm not sure which "framework" if any it uses but it seems a quick and
    well though out way to created database backed web pages. I wonder if tapestry works with this or eclipse.

    Sun is definetly feeling some heat from eclipse and starting to make it development tools significantly better.

    If I wasn't using php I would definetely look into thses.

    http://developers.sun.com/prodtech/javatools/jscre ator/index.jsp
    http://developers.sun.com/prodtech/javatools/jscre ator/reference/quicktour/2/flash/index.html

  68. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    Preach on bro!!!

    <CFINVOKE
      WEBSERVICE="http://services.xmethods.net/soap/urn: xmethods-delayed-quotes.wsdl"
      METHOD="getQuote"
      RETURNVARIABLE="aQuote">
            <CFINVOKEARGUMENT name="symbol" value="MACR"/>
    </CFINVOKE>
    <cfdump var="#aQuote#">

  69. Interesting, I found the opposite by melquiades · · Score: 3, Interesting

    I evaluated both JSF and Tapestry for my latest project, with a slight prejudice in favor of JSF, and ended up choosing Tapestry ... by a mile, actually, and for some of the same reasons you mentioned: too hard to "break the mold" in JSF.

    That's not to say that I haven't had some wrangling with Tapestry, but it was for genuinely unusual stuff. And it's a heck of lot more concise than JSF.

    The Tapestry docs are rather mediocre; they're still a holdover from v3 in many parts, and make some things sound harder than they need to be. I wonder if you used Tap 4 on Java 1.5 to their full potential?

    1. Re: Interesting, I found the opposite by angusmci · · Score: 1

      I'm behind the times. We used Tapestry 3 for our project, and I haven't yet seen Tapestry 4, although I know my colleagues have adopted it as a standard (I've just been working on other stuff, so I haven't needed to use it yet). But even Tapestry 3 seemed better thought-out than JSF, and certainly met our needs well for at least 95% of what we needed to do.

  70. Re:Pathetic. by Anonymous Coward · · Score: 0

    The annotations are indeed nice, but they're not necessary. Anything you can do with an annotation, you can do with XML. Just wanted to make it clear that Tapestry targets older platforms (1.3+, IIRC).

  71. Oh please....welcome to the 21st century by Anonymous Coward · · Score: 0

    Handcoding as a means of measuring who has the biggest.....

    RAD is indespensible these days because these tools allow you to do a lot of work fast. I personally use Codecharge studio to create webapplications and the time it safes is tremendous. Doing all that work by hand would cost my employer a lot because I would take three to four times as long. So now stand up and run to your employer and ask him to still keep you on board just because handcoding is sooo cool.

  72. Re:We have lots of experience with this kind of th by SoupIsGoodFood_42 · · Score: 1
    Some people swear that they can tell if a story was written on a word processor.

    These are the same kinds of people who can tell the difference between normal high-quality copper cables and gold plated, revsered ionising, high-molecular partical charged, $10,000, copper audio cables.

  73. Re:DeveloperWorks is supporting open source commun by TapestryDude · · Score: 1

    If the Simple container is a valid Servlet container, then Tapestry will work fine within it. Tapestry's footprint is rather large, however. About 2 MB for the framework and its dependencies. That may compromise its use for embedded.

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  74. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    How about 55 lines of ColdFusion?

    <cfcomponent displayname="pizzaService" hint="Sample pizzaService authors:Klassjan Tukker and Justin Watkins" output="No">

    <!---///
    A container to store all of the relevant
    db connection info ///--->
    <cfset variables.host = "localhost">

    <cfset variables.db = "DATABASE">
    <cfset variables.user = "USER">
    <cfset variables.pwd = "PASSWORD">
    <cfset variables.ordertable = "amfphp_orders"> <!---/// the orders table ///--->

    <cfset variables.pizzatable = "amfphp_pizzas"> <!---/// the pizzas table ///--->

    <cffunction name="orders" access="remote" returntype="numeric" roles="pizzaLovers" displayname="orders" hint="Orders a pizza">

    <cfargument name="name" type="string" required="yes">
    <cfargument name="orders" type="array" required="yes">

    <!---/// grab the time stamp ///--->
    <cfset variables.t = now()>
    <!---/// insert the customer information ///--->
    <cfquery name="CustomerInsert" username="#variables.user#" password="#variables.pwd#" dbserver="#variables.host#" dbname="#variables.db#">

    INSERT INTO ordertable (order_status, order_time, order_name) VALUES (1, #variables.t#, '#cfargument.name#');"
    </cfquery>
    <!---/// grab the new id from the auto increment key ///--->
    <cfquery name="GetMaxKey" username="#variables.user#" password="#variables.pwd#" dbserver="#variables.host#" dbname="#variables.db#">

    SELECT MAX(order_id) AS order_id FROM ordertable
    </cfquery>
    <!---/// loop over each order ///--->
    <cfloop index="i" from="1" to="#ArrayLen(cfargument.orders)#">

    <cfquery name="OrderInsert" username="#variables.user#" password="#variables.pwd#" dbserver="#variables.host#" dbname="#variables.db#">
    INSERT INTO pizzatable (order_id, pizza_details, pizza_quantity) VALUES (#GetMaxKey.order_id#, '#cfargument.orders[i][details]#', #cfargument.orders[i][quantity]#)
    <cfloop>

    <!---/// return the new order id ///--->

  75. Re:DeveloperWorks is supporting open source commun by Anonymous Coward · · Score: 0

    As a long term web application developer, with exposure and experience developing with/on/for many of the top frameworks, I would like to say that tapestry *IS* one of the better ones. I've seen it progress over the years and have to congratulate Howard on his amazing work. It may have started off with WO in mind but it has certainly evolved since then. I have written a HUGE project with it, that couldn't have been done nearly as well with some of the competing proprietary systems. I encourage any serious developer to give it a try. And since you all seem to love google so much you might want to read some of the frameworks they are looking for experience in as of late.

  76. Re:Pathetic. by stupidfoo · · Score: 1

    No... Java is going to change the world! Write once run slowly everywhere!

  77. 40 lines of code for python, actually by oSand · · Score: 1

    117 is the LOC for two examples. The php is closer to 66 lines if you remove the array's formatting and delete commments. Of course, the python is far more secure and readable.

    1. Re:40 lines of code for python, actually by douceur · · Score: 1

      I could just as easily write insecure and unreadable Python. I love Python, don't get me wrong.. I just get tired of seeing PHP consistenly labeled as insecure. It's really not the language's fault that you (or whomever) is incapable of writing secure code.

    2. Re:40 lines of code for python, actually by oSand · · Score: 1

      I'm tired of people returning that old chestnut. You CAN'T just as easily make that code insecure. Try to modify that code to make it vulnerable to an SQL injection attack. Try to post it an extra parameter. Try to make it vulnerable to a code injection attack. Is it even possible? This is the basic difference: PHP relies upon the discrimination and knowledge of the author to be secure; it takes no responsibility for encouraging or facilitating good practice. Now, you might be a competent and security-minded person, but what happens when you make a mistake?

    3. Re:40 lines of code for python, actually by douceur · · Score: 1

      PHP relies upon the discrimination and knowledge of the author to be secure; it takes no responsibility for encouraging or facilitating good practice.

      That's like saying my car is insecure, because I have to physically lock it myself. Is Python inherently more secure? Yeah probably. But I get sick of people speaking of PHP as if it's some sort of gaping security hole when they should obviously be learning to write better code. Using mysql_real_escape_string() is far from a complex procedure.

    4. Re:40 lines of code for python, actually by Anonymous Coward · · Score: 0

      Read the changelog for php sometime. The language runtime is insecure.. why did php 4.4.0 come out? hmm...

      If the developers of php can't get their code right, why do we expect the functions they provide us to be safe?

      As for php users that develop web apps, I don't think they all write secure code. Look at common apps like phpbb, squirrelmail, e107, etc. phpMyAdmin isn't bad but thats an exception not a rule. Most php sites suffer from SQL injection or XSS issues. A good chunk of that could be avoided with proper documentation. I don't see that at php.net either. You have to read the damn user comments to know how to REALLY use a function. That is so sad. The people that document php don't know how to use it! How can we expect secure, proper apps with bad documentation?

      php is not the best OSS language, and its not going to get better. I think its time everyone realize that and move along. Pick ANYTHING else. python, ruby, fucking perl even.

    5. Re:40 lines of code for python, actually by douceur · · Score: 1

      why did php 4.4.0 come out?

      Yes, let's see. From the changelog: "If references were used in a wrong way, PHP would often create memory corruptions which would not always surface or be visible." Code properly and this was not an issue.

      Also from the changelog: "Fixed bug #33150 (shtool: insecure temporary file creation)." Looking at the bug, we find a link to securityfocus.com stating Ubuntu, Trustix, Fedora, PHP, and Debian were all vulnerable. This wasn't the fault of PHP.

      As for php users that develop web apps, I don't think they all write secure code.

      They don't--nobody ever said they do. However, that's not the language's fault, and it's flawed logic to believe it is. The fact that IE is riddled with security holes does not mean that any code written in C++ is automatically insecure.

      A good chunk of that could be avoided with proper documentation.

      Bah, PHP has some of the best documentation you can find. I would absolutely love it if every language had a resource as useful as php.net.

  78. Let me see... by mrjb · · Score: 1

    Book: Rapid Development.
    Section: Classic mistakes
    "There are no silver bullets"

    Check. As long as I can build entire sites over the weekend, I'll keep developing with a framework that I know.

    --
    Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
  79. Re:DeveloperWorks is supporting open source commun by MemoryDragon · · Score: 1

    Well, Frameworks like tapestry are pretty server agnostic as well all they need is a valid servlet/jsp runner. The reason for this simply is that servlets/jsps have become the base technology for such frameworks, there is no use in providing your own servlet clone, the technology is mature and stable and dozends of implementations many of them free can be downloaded from the net. The last framework I have seen not doing this was around 2000 (and that one was utter cr***).

  80. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    using what frameworks or tools? Ever tried wicket? hibernate or EJB3? Spring or other IoC containers? What type of app was this? Less lines of code doesn't not always mean better... have you ever had to take over a PHP or Perl project that someone else wrote? IMO, PHP code gets mangled as all hell because there are so many "outs" to any given problem (like variable variables when a simple array will do). I believe you can code PHP or Perl in less lines of code because they are just Syntactically different, yet when I have IDEA working on my side I can hammer out 10 lines of code or more in a few keystrokes. I have the knowledge, tools and frameworks working on my side, whereas you are relying simply on the language syntax for brevity.

  81. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    That's what great about Java, you have plenty of web frameworks to choose from. Why do you need a standard framework? ASP is not perfect, .NET is not perfect... I know I hated ASP.NET when I used it so I'd surely hate it if I was stuck using this "standard" framework. Java probably takes longer to code because you have more experience with Microsoft specific products. Most Java developers can stake the same claim for Java, so that is a moot point. And I honestly don't see how you get off saying Java is wordy when you code in VB... Let's see code examples in both languages that perform the same thing, with the VB version coming out significantly more concise than the well-written java counterpart-- and then I may begin to believe your claim.

  82. Tapestry drawbacks by Anonymous Coward · · Score: 0

    1. Complicated. Uneasy to learn.
    2. Does not support unit testing.
    3. The "Model" component of MVC is closely tight to "View"; you cannot have many views of the same page (for instance: web page, web page for printing, WAP page).
    4. Adding your own JavaScripts suxx. You have to map component names etc.
    5. If you want to validate form field, you have to use special components (ValidField). Some components do not have their validated counterparts. Client-side validation is very basic (e.g. cannot check if entered date is in the future).
    6. Changing one line of code/template requires you to redeploy whole application; that is, pack it into .war archive, send to web server, perform refresh. When used with Apache Tomcat, leads to memory leaks.
    7. The page pool model is said to scale well, but can be very error-prone. For instance: if you forget to reset some variable, it can be displayed by some other user when he happens to pull it from the page pool.

  83. No mention of Wicket? by cca93014 · · Score: 1

    I'm surprised no-one has mentioned Wicket in this thread. It is a component-based framework in the same mold as Tapestry but is a lot easier to work with...

    1. Re:No mention of Wicket? by heffel · · Score: 1


      I wrote an introductory article on Wicket a while back. A First Look At The Wicket Framework.

    2. Re:No mention of Wicket? by Anonymous Coward · · Score: 0

      Thanks for the link. And thanks for the parent poster for sharing the info!

  84. Re:What does Tapestry have that Zope/Plone doesn't by Anonymous Coward · · Score: 0

    Speed?

  85. Oh, the irony by Simon+Brooke · · Score: 2, Informative
    Real Men code html by hand, in a text editor.
    This gets modded Informative? What crack are the mods on and please cant I not have any of it?

    This gets modded Informative? Oh, the irony... it hurts.

    Mods, just bogart that joint! My post (above) wasn't Informative . At best it was (dubiously) Funny . Arguably it was either Flamebait or Troll ; and it is now certainly Overrated .

    See, these funny little words in the moderation menu, they all have semantic content, you know? Like, they actually mean something... Oh, never mind. As you were.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  86. Re:Tapestry drawback myths by TapestryDude · · Score: 3, Informative

    1. Complicated. Uneasy to learn.

    Just different. People trying to find Struts++ get confused because Tapestry is a completely different beast.

    2. Does not support unit testing.

    Wrong. This was doeable in 3.0 with an add-on; an improved version of the add-on is part of Tapestry 4.0.

    3. The "Model" component of MVC is closely tight to "View"; you cannot have many views of the same page (for instance: web page, web page for printing, WAP page).

    Ultimately, your model is really DTO, not your page or component class. Tapestry components don't care where data comes from, thanks to OGNL. So, there's no reason you can't have multiple pages for different formats. However, Tapestry does not address the myth of one page / multiple views. A desktop HTML application and a WAP application are completely different beasts and should be treated as such. You should not be coding applications inside a big case statement.

    4. Adding your own JavaScripts suxx. You have to map component names etc.

    Because HTML output is componentized, JavaScript generation for that HTML must be componentized. This is an annoyance for simple cases, but means that complex cases just work. You can have as many DatePickers or Palettes or validating fields and forms per page as you like and it all just works with everything wired together properly, and all client-side elements (JavaScript variables and function names) generated free of naming collisions. Tapestry was born to do Ajax.

    5. If you want to validate form field, you have to use special components (ValidField). Some components do not have their validated counterparts. Client-side validation is very basic (e.g. cannot check if entered date is in the future).

    You haven't looked at Tapestry 4.0. Paul Ferarro did a complete rewrite of the validation subsystem to make it more powerful and more flexible; all the form control components now support input validation, ValidField has been deprecated.

    6. Changing one line of code/template requires you to redeploy whole application; that is, pack it into .war archive, send to web server, perform refresh. When used with Apache Tomcat, leads to memory leaks.

    So you're blaming Tapestry for your bad development model? I deploy into Tomcat, but do all my development inside my IDE using Jetty. No redeploy, and I can bounce the Jetty instance in a few seconds.

    7. The page pool model is said to scale well, but can be very error-prone. For instance: if you forget to reset some variable, it can be displayed by some other user when he happens to pull it from the page pool.

    This I find an amazing observation; Even Tapestry 3.0 supports transient and persistent properties for you ... meaning you write an abstract class and let Tapestry provide the code to implement the property along with the compliance code to work well with the page pool. Management of transient and persistent page state is an application concern that you should be delegating to Tapestry. Just define abstract getters and/or setters, rather than instance variables (and getters and setters). Tapestry writes the code for you (at runtime).

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  87. Re:What's this? Java on Rails? by SporkLand · · Score: 1

    ...or maybe we can switch it to Java On Nails, Jon for short. People in the industry will be talking about how they "Used Jon to build this or that", and I will quietly sneak off and switch my name to "Jon" on my resume and watch the job offers pour in.

  88. Re:I predict a sour reception by _pruegel_ · · Score: 1

    Next time please include "ultimate" ;)

  89. Re:Easy web development with Java? by Anonymous Coward · · Score: 0

    You forgot to add all the additional frameworks like spring, hibernate, etc, which seemingly must be used for absolutely no reason. I've worked on projects where there were well over 1000 lines of XML configuratoin just to work with FIVE JSP pages. But at least we avoided writing any SQL! ...and replaced them with 10 lines of XML per query.

  90. Re:French is a far more compact language than Engl by Anonymous Coward · · Score: 0

    That's a good one. I'm going to try that one next weekend.

  91. Re:DeveloperWorks is supporting open source commun by glesga_kiss · · Score: 1

    I've actually been using Jetty as a development platform to test my code, but it's a bit of a memory hog. However, I note now that Jetty 6 is out and one of the goals was to reduce the footprint and dependancies apparently. I'll be checking the update out, thanks for the suggestion.

  92. Re:French is a far more compact language than Engl by Anonymous Coward · · Score: 0

    Just for the sake of correctness:

    "Voulez-vous coucher avec moi?" (It sounds exactly the same, but spells differently)

    As in "Would you like TO sleep with me?"

    In fact, as French, I tend to prefer the double meaning English version, even though that there's not much room for interpretation once you're a grown up...

    PS: What a coincidence! The word to type to validate this post is 'naughty' :)

  93. Re:Easy web development with Java? by angel'o'sphere · · Score: 1

    Hehe,

    you only add and use them if you want to use them.

    A standard Java Web Application does not need hibernate/spring ... if you use it because it simplyfies something for you, of course you have to configure it.

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  94. The car should lock itself, ideally. by oSand · · Score: 1

    Relying on constant diligence and universal competence IS a gaping security hole. A good web environment should rely upon the fact that all people are idiots all of the time.

    1. Re:The car should lock itself, ideally. by Anonymous Coward · · Score: 0

      The car should lock itself, ideally.

      No, the car shouldn't lock itself. It'd be a pain if it locked itself when I didn't want it to. Plus, I've never once forgotten to lock my car when I got out. I honestly don't have that much trouble relying on my own intelligence.

      Relying on constant diligence and universal competence IS a gaping security hole.

      If that's the case, then Python is a gaping security hole, as well, for the simple fact that I can expose the interpreter to the user with input(). After all, it's probably the easiest way to give the user access to a simple calculator, and it would take a little diligence and/or competence to find a better method.

  95. Re:Pathetic. by Bill+Dog · · Score: 1

    No... Java is going to change the world! Write once run slowly everywhere!

    Not everywhere: "You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility." Good thing, too, or it might indeed "change the world"! ;-)

    --
    Attention zealots and haters: 00100 00100
  96. Re:Easy web development with Java? by Jussi+K.+Kojootti · · Score: 1
    That's to implement the same web service.
    Well, we only have this guys word on that... He doesn't "even bother linking to" the java version. I have a feeling if he did, we'd see some pretty interesting design decisions. 50 files for a small web service is not normal, neither is >3000 lines of code.
  97. Re:What does Tapestry have that Zope/Plone doesn't by chaves · · Score: 1

    It runs on the general-purpose cross-platform runtime the industry has chosen.

    Make Zope/Plone run on any standard JVM and that might change.

  98. Simple, Stable, and Scalable by Anonymous Coward · · Score: 0

    A not so well known framework Simple provides an effective alternative to Servlet based frameworks. Its very stable and its much more scalable than most if not all of the open source Servlet engines. It makes use of a Struts Tiles like framework for presentation and can use Velocity or Groovy templates for the view. Also, frameworks like Tapestry seem to go a bit over the top, over 40 packages for web development with the addition of a Servlet engine??

  99. Re:Pathetic. by masklinn · · Score: 1

    Ad to what?

    Either it's an ad to DeveloperWorks, which is fine for they run interresting articles about most languages and frameworks and get linked everywhere all the time.

    Or it's an ad to Tapestry, which is an OSS framework...

    Wait, aren't ads supposed to generate some kind of revenu or something?

    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  100. Re:Pathetic. by masklinn · · Score: 1

    Well, Java is nice indeed, but it's not necessary. Anything you can do with Java, you can do with Brainfuck. Just wanted toi make it clear that your statement is stupid.

    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  101. Tapestry quite scalable by TapestryDude · · Score: 1

    Two comments on your post:

    If you assume that all Tapestry is doing is routing requests and outputting HTML, you are missing the forrest for the trees. To be honest, I think most web application development is primarily about state management (transient state used for one request, persistent state used across requests, stored on the server or on the client). These are more areas where developers are used to slaving away, but a real framework is quite capable of handling it, and handling it better than the developer can (at a certain scale of complexity). So, as long as you are happy to try and manage everything in terms of HttpServletRequest and HttpSession attributes, and endless code to pick apart query parameters, and a bunch of other limitations, you can get by with something simple. I tend to think of Tapestry, not as more complex, but as more complete.

    Second, there is an inherent and invalid assumption in your statement that Tapestry is not scalable, when in fact, it is very scalable not just in terms of concurrent users, but scalable in many dimensions: scalable in terms of number of pages, of number (and type) of developers, in the complexity of pages. What's important is that as your application does grow more complicated, your approach never has to change ... in effect, Tapestry is built for the worst case: highly dynamic pages, complex forms, multiple forms per page, complex client-side JavaScript, etc. A major portion of what Tapestry does is fundamentally about naming things, particularily form control element ids, and JavaScript functions and fields, to avoid naming conflicts. But even in terms of basic scalability, Tapestry uses a pooling mechanism around its page objects to support effecient, concurrent access by restricting non-threadsafe objects (the pages) to individual requests (and, thus, individual threads).

    So, what you get is an object oriented programming model (hey! look! objects with methods and properties!) in a highly multithreaded environment without having any concerns about multiple threads. The pooling and typesafety is baked into the framework, not the code you write. Further, you get to build a servlet application without ever seeing the servlet API (unless you really want to).

    So, yes, there's a lot of moving parts in Tapestry, but they are all there for a purpose. I personally find Tapestry useful even for a single-page application ... and I wouldn't want to use anything else when I'm working on an application with dozens or hundreds (even thousands) of pages and components.

    --
    Howard M. Lewis Ship -- Independent J2EE / Open-Source Java Consultant -- Creator, Apache Tapestry and HiveMind
  102. Re:Easy web development with Java? by lagerbottom · · Score: 1

    Sorry I didn't reply sooner. I was troubleshooting an XML file so I could persist my data.

    --
    "He was a wise man who invented beer." - Plato