Archive for the ‘Ruby’ Category

In Memoriam: Emeritus Prof. Dr. Walter N. Verheyen (15/12/1932 – 29/12/2005), biologist (and so much more). Time to start a Wikipedia article…

(Technorati Tags: )

Goodies For Developers. I’ve been hopping about on the Web for just two hours, and I have found a few interesting/groovy/cool/… (add your own evaluation here) tools for developers.

  • jslint is a Javascript verification tool, similar to the venerable ‘lint’ tool of C programmers;
  • You can Try Ruby! in your browser (a neat example of a Web Two Dot Oh application that isn’t promoted as one ;-)
  • The CSS Framework may use the term “framework” in an unexpected sense (I’ld call it a platform, but hey: what’s in a name?) – but it sure fills a need. I’m going to check it out in detail, that’s for sure;
  • YourTotalSite.com intends to be a developer resource for all kinds of technologies pertaining to the Web: “usability, accessibility, visual design, online marketing, (X)HTML & CSS, JavaScript, Information Architecture, and more“.

(Technorati Tags: ,)


Read Full Post »

Just A Monkey Fight? Over at the Tucows Developer Hangout is a good overview of the start of a discussion about “humane” versus “minimal” API’s. Since I have been designing quite a few classes over the last two years, I feel compelled to add my two cents. Having read Elliotte Harold Rusty’s analysis of Ruby’s Array class, I can only say that that class API is just as badly designed as Java’s List interface: there’s too much going on that hasn’t anything to do with Arrays! So the real question is not whether we need minimal or humane API’s, nor whether YAGNI principles apply to API’s, but: how do we go about to create a coherent and easy to use API? How do we pick the methods, their names and parameters? What “principles” can or should we use? As far as I can see, the answers to these questions depend on the context of the API (how do other classes in your environment solve similar problems?) as well as on basic design principles for OO development (separation of concerns etc.). And that means that an Array class that is also used to implement Stacks and Queues and List isn’t OK, and it also means that a List class may well have a List.first() and List.last() method. Why don’t we use this discussion as a starting point to build good interfaces for java’s List and Ruby’s Array, just as an example? I think that the end result may well be minimal and humane at the same time!

(Technorati Tags: )

2005-12-29 UPDATE: even Bruce Eckel is joining the discussion…

Read Full Post »

Mac On Rails. No, I haven’t written any code with Rails (yet), but I am studying Rails because I really want to know what makes it tick. So here’s an excellent and detailed tutorial for Installing Rails On TigerAnd now I know why I wanted to learn more about SQLite too!

Read Full Post »

Frameworks And Discussions. I have been reading many web pages about Ruby and Python the past few days, in an attempt to make up my mind and choose one of them for a few personal developments I have in mind. Ruby On Rails has piqued my interest, since a rapid development environment (in this case, a framework and a few tools around it) can make the difference between mucking about and really getting something done in your free time! But since the applications I want to build don’t need a heavy RDBMS (a bit of XML is sufficient to get going; I want to be able to change to a DB if necessary), I’m not sure if RoR is worth looking into at this moment. On the other hand, I certainly don’t want to write my own framework, be it in Ruby or any other language. So I have not yet decided which road to travel…

At the same time, some of the claims about the fantastic productivity of RoR are getting challenged. Here for example: Bla-bla: Ta-da in Java (and Laszlo and RIFE), by the hand of Geert Bevin. The debate about his work is held at The Serverside, under the title Move over Ruby on Rails, Java can be concise too!. Don’t mind the drivel and cat calls, and remember two things: first, Geert did put his money (his time at least) where his mouth is, and you have to applaud him for that (and for his result), and second: RIFE, RoR, or whatever are just tools to help build applications, and each tool has its own specific target. You can build a hut with twigs and clay, but not a 100-story sky scraper – apply wisdom first, and frameworks (and languages) later!

One specific issue that bothered me about RoR is the fact that RoR dives into the DB to get things done. Having just done a lot of OO development, I still think very OO and not RDBMS. And perhaps that’s as it should be: you need to think about the difference between your object model (that you will be coding to) and your persistence model (where and how you will store your data). As has been noted before (but it was good to see a reminder in Sean Corfield’s report on a presentation by Scott Ambler),these two models don’t have to be the same! If, like RoR does, you derive the data structure from the database, then that means that your code and your DB are intimately linked – and that may well spell a lot of trouble in larger projects, where DB refactoring is much more prevalent.

PS. Did I mention that Geert is Belgian? No? Well, I’m happy to do so here. His Bla-bla List is not bad, either.

Read Full Post »

« Newer Posts