Home > Software > Languages, Frameworks, and a problem to solve

Languages, Frameworks, and a problem to solve

January 30th, 2006

Some note worthy quotes:
source

And of course, who can ignore Rails? The backlash from heavyweight web frameworks has been significant. We now know that EJB 1 & 2 were based on an entirely flawed set of use cases. Because of the damage this (still slowly dawning) realization has wrought to Sun’s reputation, it’s hard to know whether EJB3, which probably should have been called something else to disassociate it with the failures of its predecessors, will succeed, despite the fact that EJB3 is like a breath of fresh air. You look at the code and it makes sense; no bizzarre and obscure interfaces and concepts to puzzle over while thinking, “I wonder why I have to do this? Well, these guys are clearly smarter than I am.” (I tried to understand EJB1, but when I first heard that entity beans didn’t actually work, my brain refused to let me invest any more time, which turned out to be the right choice). As a result of all this, someone said “hey, all I want to do is create a database and use it from the web. Why should I do all that work?” As it turns out, such activities seem to be about 90% of all we ever do in “Enterprise” programming, and EJB 1/2 were solving an entirely different problem, and making the 90% incredibly difficult in the process. Thus, the Rails approach of “just connect the database to the web.”

This one reflects my current experiences, in learning zope, using php, and now rails

My own experience in web frameworks was with Zope. In an interesting parallel with EJB3, Zope is now on version 3 which is a from-the-ground-up redesign, and everything I’ve seen of it indicates that, like EJB3, it represents a great deal of rethinking of the problem. I’ve been bumping up against the problem of “but all I want to do is connect a database to the web” in Zope2 for several years now. Oh, it’s definitely something you can do, but unfortunately it’s past the knee of the “Z-shaped learning curve,” and is only trivial if you live and breathe Zope every day. Don’t get me wrong; Zope is an excellent system and incredibly powerful, and Zope3 may be much easier, but I’m out of steam. I have realized that on my site, I really just want to do a collection of simple things, and I don’t want to relearn Zope every time I want to accomplish something. So — sorry, Jim (Fulton, not Kirk) — I’m going to find something drop-dead simple to solve my drop-dead simple problems. Probably PHP5, which actually includes most of Java and C++ syntax, amazingly enough, and I wonder if that isn’t what made IBM adopt it.

Update:
I wanted to add, I don’t really see the point in arguing for or against python/ruby. I think they are pretty comparable languages; So, it really comes down to preference and task. Right now there is rails, so I’m using ruby. What I like about ruby in this respect, is it has block structure just like Javascript, but really something like PHP is even better in this respect because it uses the same kind of block structure (e.g. {} vs begin end).

Software , , , , , ,

  1. Anonymous
    February 3rd, 2006 at 15:58 | #1

    HI Todd

    Sorry this is not on the subject of your post but i would like to ask you since I have not come across many xul corporate products.

    According to your profile you work on a xul product called simohealth. I am interested in developing a remote xul application. Is simohealth a remote xul app? What has been your experience developing with xul (likes, dislikes etc…)?

    Thanks
    Andrew

  2. Anonymous
    February 3rd, 2006 at 16:06 | #2

    by the way, about python web servers, have you tried cherrypy? I’m new to python but i found it very easy to set up, I also liked the URL to object mapping same as zope.

    Andrew

  3. todd
    February 11th, 2006 at 12:31 | #3

    “by the way, about python web servers, have you tried cherrypy?” I haven’t tried this yet. I’m currently doing most of my web development work in ruby on rails.

  4. todd
    February 11th, 2006 at 12:30 | #4

    Andrew, sorry i took so long to get back to you, apparently last weekend blogger lost my comments.

    “According to your profile you work on a xul product called simohealth.” I did extensively last summer, currently I’m doing more web work.

    “Is simohealth a remote xul app?” No it’s a standalone desktop application.

    “What has been your experience developing with xul (likes, dislikes etc…)?” It’s a really great platform, I highly recommend it to anyone settingout to build a cross platform desktop application.

    For remote applications, I would shy away from XUL for the sack of cross browser compatiblity. However, if the application has a specfic audience then it may make sense.

  5. Anonymous
    February 16th, 2006 at 05:37 | #5

    HI Todd

    Thanks for your reply. I can dictate to my users what browser to use so im not too worried about cross browser issue. I am worried that I cannot find examples of remote xul apps. And I have seen a couple of rants about firefox freezing. I just feel that if it gets deployed and I have a hassle, eg.. memory leak in firefox… how do I fix that? I also don’t know how the mozilla development environemnt is set up. Is there a team that is dedicated to improving xul? Maybe when people start developing in XAML, XUL popularity might pick up. Anyway .. I have started my app in java and will use java web start for deployment… but will still play around with xul. Happy developing in ruby! using python instead of java was so refreshing. I am on the xul planet forum as member avine.

    Keep well
    Andrew

  6. todd
    February 16th, 2006 at 09:05 | #6

    “I am worried that I cannot find examples of remote xul apps.” See:
    Searched remote xul

    “memory leak in firefox… how do I fix that?”:
    Memory Leak

    “Is there a team that is dedicated to improving xul?” I would look in irc at #extdev

    “I have started my app in java and will use java web start for deployment…” I’m wondering why not use HTML/Javascript and make a cross browser site? Browser detection is usually not a good idea. It’s better to detect what features the browser can support and cater to those…

  7. Ryan Platte
    March 1st, 2006 at 15:11 | #7

    You do know you can define blocks in Ruby using curly braces as well as in do…end, right?

    [:a, :b, :c].each { |item| p item }

    and

    [:a, :b, :c].each do |item| p item end

    are exactly the same.

  1. No trackbacks yet.
CommentLuv Enabled

Comments links could be nofollow free.