Week in Review
TIme to round up and respond to the last couple of rather controversial rants. First regarding webwork/opensymphony. I happen to agree with ‘toy app maker’ that bragging of a 50 (rampting up to 800) user deployment is a bit laughable. There’s nothing wrong of course with such an app, and more power to you if some framework or the other helped you deliver it in a more timely and functional manner. However, to cite it as an example of scalability or robustness is hilarious at best. Also, I agree that Jason’s tedious chest-thumping and anti-Strutsism is pretty detrimental to webwork 2.0 (and more generally, to anyone associated with him). Nobody likes someone who brags of their own work, and I suspect that his attitude and irritating personality (at least, the online version) contribute towards people avoiding webwork 2. Human nature being what it is, it’s particularly delicious when someone like that fails for whatever reason. Slagging something off as an outsider is OK (of course, I WOULD say that, so no pot related comments please), but slagging off your competition to big up your own work is a bit cheesy. If your product is that great, then it’ll speak for itself (given of course, you have something more serious than a beta2 to offer, teehee).
Finally, for all those who offered help/participation in webwork 1.3, it’s time to put your money where your mouth is. I’ve picked up the development of that and it’s now moving forward again (so far with xml reloading, cleaned up build structure, functional testcases, fixed skeleton app, and a new push tag). Testcases, docs, new features, and even backported 2.x features are all welcome. The goal isn’t to be cool or knock 2.0, it’s simply to cater to the quiet crowd out there who use webwork 1.x in production environments and would still like new features and enhancements without having to waste days retesting everything or ‘upgrading’ to some new API or paradigm.
Next up, the build.xml advice. Imagine my surprised when I saw that TSS was kind enough to pick this up and copy it into their article body verbatim. Hrmph. Far funnier though were all the maven twats farting away about how maven solves all these problems. What astounds me is that it wasn’t even a joke suggestion. People seriously think that the answer to badly written build files is to use maven. How the hell can you fix such braindamage? Where would you even begin? No wonder the world is in such dire shape, with such pretentious turdburglars deciding that the best way to deal with incompetence is to increase complexity.
Finally, I’m heartened to see that so many people despise linux. I’m particularly proud of the fact that I was called a microsoft slave. I actually had a bet with someone that that would happen. I won’t pretend I even understand the workings of such a mind, but I know the symptoms. How they make the leap from ‘linux sucks’ to ‘I want to bend over and take it up the dirtbox from Bill Gates’ is a leap of faith the like of which hasn’t been seen since some guy on a stick became synonymous to God. Oh and you know what? I haven’t had a BSOD in Windows for a few years now. I wish I could say the same about kernel panics (the linux variety, I haven’t had an OSX kernel panic after 10.0.x).
November 8th, 2003 at 8:52 pm
If my attitude is holding back WebWork2, then so be it. I have a problem with Struts and its position in the community. The same applies for EJB, in my opinion, and I don’t hold back there either. I have no problem listing my specific technical problems with both of these technologies or listing constructive ideas for ways they could be better. I also fail to see the problem with pointing out these failings then DOING SOMETHING ABOUT IT in another framework. This is the same crap Rod Johnson was having to put up with on TSS in the messages about his interview.
Delighting in the failings of others is a particular failing of immature personalities….
November 9th, 2003 at 12:03 am
I agree with Ron Eisele in his comments on the OS bile. He stated that he has yet to see a true analysis of WW2 (in relation to Struts, making the case for why it is better). Simply stating that it is better, and has a simpler API is not enough for a lot of people.
Jason, you mention that you have no problem listing the technical problems with Struts. If you find the time, I’d like to see this list – along with a list that describes how WW2 addresses these shortcomings. I would particularly be interested to know if anyone has done any kind of profiling of the two frameworks. How do they compare with regards to performance, scalability, garbage generation, etc. That would be very interesting.
Hani, thank you for resurrecting the WW1 initiative. That is commendable. I’m sure you’ll find a large audience for your efforts, as well as willing contributors.
November 9th, 2003 at 11:31 am
Damien, I’d like to back up what you’re saying here – specifically as one of those people slinging “crap” at Rod Johnson on TSS. There are several current cases of open source software people claiming precisely what you said, Damien: “stating that it is better, and has a simpler API” – without any objective measurements or analsysis as to why it is better. We are expected to take the person’s word for it. I for one would like a detailed analysis as to why it is better, with examples, and that includes performance, scalability, garbage generation, etc as you say. Assertions that XYZ sucks, and my framework ABC is better, just doesn’t cut it, and is additional an invitation to criticism.
November 9th, 2003 at 11:37 am
I’m starting a page with a point by point comparison on the OS Wiki, I’ll blog when it’s done.
For now, check out the article on Building Applications with WebWork2 (http://www.theserverside.com/home/thread.jsp?thread_id=22238) which covers a lot of the issues and discusses different frameworks.
At some point it behooves you as a developer to take a look at other ways of doing things for yourself…
November 9th, 2003 at 10:50 pm
Jason, you’re last statement is absolutely correct. However, when faced with many responsibilities, deadlines,, a lot of times the developer first looks to others who may have done some of the background research before them (avoiding the whole ‘reinventing the wheel’ thing).
The things that I “take a look at other ways of doing things” are usually related to my business domain, and are ways to differentiate my organization and product line from the competition. A web framework to is one of the tools that we use, but is not related to our core competencies (which in our case happens to be enterprise medical image management and distribution). The tool is expected to work, and work well, allowing us to do the other things that we need to do to survive as a business. A simple API is very nice because it allows us to do that, but if we already know another framework’s API that becomes a moot point. That’s where performance and scalability step in as the more important differentiators of the tool.
I’m a ‘do it yourself’ kind of guy, and would love to be able to do the feature comparison and benchmarking/profiling (I’m also a ‘performance’ guy) that I mentioned. However, the reality is that I just don’t have the time. Call me lazy if you want, it’s just not a high priority for me right now. I’ve used Struts and WW1 in the past, so would most likely go one of those routes in the future, UNLESS there was some hard evidence that would point me in another direction.
You have the knowledge and expertise that comes from knowing all three frameworks intimately to be able to do that. In addition, enough people read your online publishings that the message will get out quickly, finding many interested parties.
November 10th, 2003 at 4:03 am
Agree. Speaking about production servers and not only desktop workstations I haven’t seen a BSOD in years, since I started using Windows 2000 I guess.
Yet this is fact (ever increasing Windows robustness) that it’s constantly ignored by the Linux zealots.
My guess is that the next *nix mith to fall will be security. Time will tell anyway.
November 10th, 2003 at 6:30 am
Jason, WebWork2 may be great. It certainly looks like it could be a serious competitor for Struts. However your ‘Struts is wrong, I am right’ just turns people off using you, and polarises current struts users against webwork – after all you are almost saying they are stupid for using Struts. Your attitude is nowhere near as bad as that of the prevlayer developers (god – where do I start with that one?). What I mean to say is valid criticisms are good, bashing isn’t, and if you aren’t careful your anti-struts rant could end up alienating potential users.
November 10th, 2003 at 6:31 am
>> I have a problem with Struts and its position in
>> the community. The same applies for EJB…
But no-one wants to hear about it.
People have more respect for, say, Gavin King (who quietly lets his Hibernate do the talking) than Marc Fleury who can never shut up about the “problems” he has with (BEA, IBM, Sun, Jakarta, the list is endless) and how JBoss is SO much better.
People dont like critics when its obvious that all they say comes loaded with an agenda.
The best advice I can give is to show some respect for the intelligence of your users.
-P
November 10th, 2003 at 6:56 am
Very well put Pondok, certainly better put than me :-)
And goddam if Hibernate isn’t bloody good too…
November 10th, 2003 at 6:57 am
“…is a leap of faith the like of which hasn’t been seen since some guy on a stick became synonymous to God. ”
What? If you’re talking about Jesus; he’s not synonymous with God, He IS God.
November 10th, 2003 at 9:20 am
Let’s not forget that the reason Jason can complain is because he has taken the next step and put his time and skill where his mouth is. He has earned the right to criticize.
I am curious to see how long development on Webwork 1.3 really lasts. I am not holding my breath.
November 10th, 2003 at 9:36 am
I, Anonymous, hereby yield my stature and position as the regular First Post! guy here on bileblog. May the next keeper of the name and role wear it with pride.
November 10th, 2003 at 11:06 am
Thanks for the props. And to think…all I thought I was doing was pointing out the obvious!
November 10th, 2003 at 12:03 pm
Here’s some details:
http://wiki.opensymphony.com/space/Struts+vs.+WebWork
I agree that I need to be more detailed in my criticisms… it’s just so time consuming considering how many times a week I see someone touting Struts as the be-all end-all when they don’t know what other options they have.
I perhaps assume too much when I assume people will have become frustrated with a framework that forces you to extend their base class, that ties you tightly to the web, and that forces you to generate lots of pointless FormBean classes.
November 10th, 2003 at 12:42 pm
You could always configure DynaBeans and not worry about the FormBeans. That lets the air out of THAT criticism.
November 10th, 2003 at 1:14 pm
Jason, Thanks! This is a real good start. I am now starting to see the light.
I am still curious about the performance though, although I would tend to think that it would be somewhat similar between all three frameworks – with WW1&2 possibly generating a lower number of transient objects.
November 10th, 2003 at 6:51 pm
I happen to agree with much of the criticisms raised by Jason concerning the shortcomings of Struts, however I would take issue with lack of support for the standard JSTL EL and instead using the Ognl being an advantage. Probably not the right place to raise this though – mind you that never stopped anyone else :-)
For the record I’ll look at WebWork in a bit more detail soon (currently using struts) although as it looks like I’ll be using Spring as a general enterprise framework I may well decide to use Spring as the web framework too.
November 11th, 2003 at 9:07 am
As ridiculous as I feel responding seriously to Bile Blog _comments_, I feel massively uncomfortable about seeing my friend Jason – who I love and respect – being compared unfavorably to _me_.
The Hibernate team is in the very fortunate and lucky position of not having to compete against a 500 pound gorilla like Struts. Hence we have the luxury of being able to let our product speak for itself most of the time. But even then, from time to time, we have needed to publicly evangelize Hibernate and criticize the shortcomings of competitors. Every organization on earth does this – I have been in IBM seminars and seen their people rip into WebLogic and BEA, and I’m quite certain that BEA people do the same to WebSphere and JBoss. There is absolutely nothing unprofessional or unusual about this. Its true that I have been extremely careful to not criticize other open source projects (it just feels a bit too fratricidal) but, again, we don’t have to compete with something like Struts.
Exactly the same criticism you are making of Jason used to be made of Howard Ship (another charming guy with a great web framework) and it looks to me like this is simply something that goes with the territory. The web framework space is noisy and crowded and these people need to shout to be heard.
For the record, after having used Struts on two different projects, I agree with Jason that Struts has a number of very serious shortcomings. Worse, Struts doesn’t try to improve. I guarantee you that if some new ORM project starts up a few months from now that offers the same kind of design improvements on Hibernate that WW offers above Struts, then we would be hard at work copying their good ideas. This is the kind of attitude you need if you are serious about producing great stuff as opposed to the merely serviceable.
As for “Jason [is] almost saying they are stupid for using Struts” – c’mon thats just silly. I am a Struts user (at least I was), and I don’t think Jason thinks I’m stupid. Well, at least he doesn’t let on to me ;)
November 11th, 2003 at 1:18 pm
LOL
Nope, not at all Gavin. I realize there are a lot of reasons for choosing frameworks. I’m just trying to make sure that if it comes down to technology that people realize there are better solutions than Struts.
November 12th, 2003 at 3:35 am
… and better, simpler, more performant solutions than Webwork 2 also. Webwork 1 springs to mind.
November 12th, 2003 at 8:41 am
“Let’s not forget that the reason Jason can complain is because he has taken the next step and put his time and skill where his mouth is. He has earned the right to criticize.”
I’d have to agree. And also say that for the amount of time WW2 sucks out of my household, shoot, *I* should have earned the right to criticize.
Not so much what framework anyone is using. I’d hope that everyone doesn’t use the same one or OS becomes Microsoft all over again. But to Anonymous Nos. 1 thru 1,000,000, why is it so easy to criticize everyone (and by all means, not just Jason and WW2) from the safety of anonymity? Or is it just easier to throw stones from a safe, cushy, not-contributing-to-anything house?
I’ve read Hani’s blog for a long time. Mainly because I find it funny and usually get a good giggle when he starts poking at Jason. I can find him funny and overzealous at times too. But if you aren’t contributing, put up or shut up. If you don’t like the way WW2 was heading, why not contribute rather than rant on Hani’s blog to a captive audience?
The main focus in doing ANY software, be it OS or a Microsoft masterpiece, is that if you build it, you have to GET them to come. Putting it out there and hoping that people are just going to find it and think it’s great is wasting everyone’s time. Promote, promote, promote. Duh. Maybe all OS folks need to get the marketing folks and smarmy sales guys in there instead of having people who know their code doing their own evangelizing.
November 13th, 2003 at 8:06 pm
Wow, that’s the second time I’ve been mentioned in a bile blog. The first time was for some performance problems I reported on the ww2 mailing lists. Hani used it to go off on a rant. I’m starting to feel important…
I haven’t checked back in a while and I’m surprised to see what little opinion toy app maker and hani have of me. By no means would I consider an 800 user web app an enterprise-level application. My point was that 800 users, or even 50 for that matter, is past the point of “toy”. To me, a “toy” app is a little departmental website, designed to support a handful of users, without any real infrastructure for security or other “real-world” plumbing issues. The point I was making with my ww2 example was that a real business world app that a client was paying for had been delivered, and that it used webwork2, and that webwork2 made a lot of things a lot easier. I haven’t done a lot of stress-testing beyond the client’s requirements yet with the framework we used, so I can’t say for sure how well ww2 will scale, but I’ve found it to be a great help, and far better than Struts (I’m in the middle of migrating another application from struts to webwork2). There are a lot of things that go into making a web app ready for the real world, and performance is only one of them.
Also, toy app maker seemed to be playing a “mine is bigger” game and indicated that the real men (or women) in this business develop their own frameworks. If super high performance on ebay levels is your goal, then you probably have a better reason to develop your own custom way of doing things to deal with speeding up your application, based on its particular needs. A reflection-heavy framework like ww or struts would probably, at some point, take too much of a performance hit, and you’d need something else. No shit. You’re stating the obvious. For the many out there who aren’t dealing with that kind of development, a framework will help save a lot of effort. If you end up developing your own from scratch each time just to show how big your balls or tits are, you’re most likely wasting time.