in reply to Reinventing the spaceship

There are good and bad things about reinventing complex applications just as there are good and bad reasons to do so.
Some Bad things Some possibly good things
Sometimes, depending on the wheel, it is easier to just code your own then decipher someone elses. I would simply suggest if you are going to rebuild the ship, then take the time to examine what is wrong with the other solutions. If you can't fix the popular means, make a version that solves these problems and is flexible enough so that the next person can bend your vision to their needs and avoid having to do the same. Bonus points if you can make transition from popular existing solutions easy.

I've run into this with templates. I have yet to find any that work the way I think a templating system should work. Many do 99% of what I want but it's that 1% that can't be retrofitted that is the deal breaker. I also find many have syntax and implementation that just runs against my grain of thought. These issues are easier to deal with as translation is a possible solution.

I've been working on one that is radically different on and off (and over and over) for quite a long time. I keep refactoring it over and over and over, trying to get the right balance. (It's not just a templating system actually but rather a whole system of components for easing and securing network programming UIs) Hopefully when it's completed it will be done right (In my book) and once and only once and extensible (A lofty goal..) so no one else has to do the same (An impossible goal I admit but, aim high right?).

-Lee

"To be civilized is to deny one's nature."

Replies are listed 'Best First'.
Re: Re: Reinventing the spaceship
by perrin (Chancellor) on Apr 09, 2003 at 20:35 UTC
    I've run into this with templates. I have yet to find any that work the way I think a templating system should work.

    You're killing me...

    What is it that you haven't been able to find? If it's a matter of syntax, Template Toolkit 3 will have totally configurable syntax. That might help.

      Syntax is a major issue. Though it's pretty easy to fix. I've used Template toolkit a few times in the past but decided after your post to give it a fresh look. (I haven't looked at it in some time) and it does seem to be a lot closer to what I'm thinking. Still dislike the syntax, but again easily fixed.

      What I've been working on is a bit different from this. Without getting too specific, It's part of a more unifed way of looking at internet apps. More of a layer around it at it's basest level. Meaning that if you run a regular pre-canned script under it, it still gains some of the advantages. If you're app is aware of it, it can use it to great advantage wether it uses CGI.pm, HTML::Template, Template Toolkit or HEREDOCS. There is also a Perl-esque language to sit on top of it. It has many perl functions (var types too) but is not Perl. The interperater is written in Perl but does no direct evaluation of expressions or var access in Perl. Hopefully it will be fast but my main reason for doing this is for writing large applications. Not nearly as concerned with 1 ~ 2 page scripts. Of course it's a big undertaking and with something so intermingled, it's hard to draw the design lines clearly. (I'd like it to be extensible too, run under mod_perl, etc). When all is said and done, I might just scrap most of it and rewrite it to use existing tools but who knows. Who knows :)

      -Lee

      "To be civilized is to deny one's nature."