gonzojive

Gripes about Web Programming in 2008

In Lisp on February 8, 2008 at 10:10 pm

Web development frameworks abound on the intertubes. Ruby on Rails heralded a blizzard of new platforms using all sorts of languages and “technologies.” (see Wikipedia for a sample of these efforts) But nothing has struck my fancy, and it’s time to blaze new trails.

The most important lesson from Rails(tm) is simplicity. Rails showed it is possible to learn a platform, and indeed a whole programming language, in a few days, and soon thereafter to pump out a full working web site. Rails did not, unfortunately, solve all of our problems.

But Rails et al. have not solved the major problems of web programming. These include:

  • annoying designing and testing mechanisms (lots of page reloading)
  • multilingual inconvenience (between server & client and on the client & itself)
  • weird persistence paradigms i.e. the diseased relational database of the new millenium. (where are the object database evangelists?)
  • lackluster visual tools for
    • laying out pages
    • designing widgets
    • introspecting the framework

    (The above is a brief brainstorm, not a list of Fundamental Problems.)

    In order to deal with the problem of multiple languages, I propose doing all the programming in one language: Lisp. Use it for the server language, and use it wherever a Javascript-like doohicky is needed on the client. The client dialect may need to be different, but all the Lisp concepts, primitives, etc. should be preserved. Parenscript was at one point converging with Lisp, but the project has chosen to be more of a Javascript-in-SEXPs than a Lisp of its own. WebLisp, a Lisp that compiles to Javascript, is a fantasy to be described in an upcoming post.

    Visual tools for web programming could help out the world of web development dramatically. I have used Dreamweaver a little bit, but even after a few tutorials I haven’t been able to produce results as good as those using manual HTML/CSS editting. This is a weird state of affairs. I wish that instead of several dozen replacements for Ruby on Rails, we had an innovative framework that makes Adobe Dreamweaver obsolete.

    Using more semantics and then creating tools for easily constructing “views” for certain classes of objects seems like a good direction.   But I’ll try look into visualization more and rant at length about that later…

    Persistence is not the problem of a web framework. Web frameworks should deal with issues related to the high magnitude of time to transmit information from server to client, but databases are somebody else’s gig. Get yourself a killer object-oriented database solution (e.g. Elephant for Common Lisp) and have at it.

    Now on to better things.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    %d bloggers like this: