Home

Jul. 26th, 2006

happy

[info]dmitriid

Running along the rails

In July 2006 CNN Money gave a fellow named David Heinemeier Hansson the 50th place in their list of most influential people in contemporary online business (also known as Business 2.0).

What? You don't know who this fellow is? Well, he is the creator of Ruby on Rails.

Ruby on Rails is an iPod of online technologies:



  • Like iPod, Rails doesn't use any new revolutionary technologies:

    • - Ruby itself appeared in 1995

    • - The MVC (Model-View-Controller) pattern was first described back in 1979


    and so on


  • Both iPod and Rails, when they appeared, were the cause an unprecedented buzz and discussion.


  • Rails's fans, much like iPod's fans, are blind to the shortcomings of their favorite toy and are ready to rip any critic to pieces (or worse).


  • Rails, like iPod, has created numerous clones which are striving to duplicate the functionality without actually introducing any new ideas:




So, why Rails has not only appeared, but also become very popular and eagerly cloned?

I suppose this happened because Rails (and iPod, too) showed us that technology can be humane.

In the case of Rails you can obtain interesting result fast - lightning fast (nonbelievers can check out Rails screencasts). Most of the time you spend in Rails is not fighting databases, or sessions, or files, or anything else, but actually writing the logic of your application.

Additionally, Rails lowers the entry level for the MVC pattern (quite a complex pattern, actually). You simply forget about it, it comes to you naturally.

Rails is, in essence, a ready and sound foundation that let's you build your own house. You may choose either a number of available blocks or just build everything brick by brick. Most other framewroks, on the contrary, have been providing you with either a finished house or with a number of raw materials and a dozer.

So, this David Heinemeier Hansson fella has again proved that no "designed by committee" system/framework (even if this committee is a multi-billion dollar corporation) can ever compete with frameworks that people build for themselves. After all, people know better about their own needs than a committe ever will.

Anyway, I can't wait to see what happens to web technologies 5 years from now. After all, too many developers have accustomed themselves to thу idea of humane technology to ever turn back. I hope.
Tags: ,

Jul. 3rd, 2006

happy

[info]dmitriid

A web programmer's lament

Web programmers are generally viewed as "less-than-programmers". Some even think that they are not programmers at all, come to think of it. Indeed, some think that creating something like Codeproject is a piece of cake. Those same people also think that creating a yet another accounting program in Visual Basic (or, god forbid, VBA) is uber-cool and is worthy of all praise.

Now, why would anybody think that? Huh?

Let's consider the so-called "application programmer". Or even the so-called "systems programmer". All they ever need to know is their favorite programming language (C/C++/Java/Object Pascal...). Well, quite often something like a passing knowledge of SQL comes along and a declarative language to store application settings in (usually the INI file format or XML). In toto - at most three technologies: programming language, SQL, XML, and chances are the programmer will use datasets and MSXML to work with the latter to.

What about the web programmer, then?

  • Favorite programming language - one of PHP/Ruby/Perl/Java/C#/Python

  • SQL

  • HTML

  • CSS

  • JavaScript (sometimes with an added bonus of JSON)

  • and quite often XML


Also throw in the bag the fact that web programming is originally and immediately a client-server programming. Most of application programmers don't even have a clue about what's that all about.

So, what we have in the end is that the despised web programmers actually know and do the following:

  • They program client-server applications easily and effortlessly

  • They combine imperative and declarative programming seamlessly

  • They have a more-than-passing knowledge about about non-compatible and non-intersecting technologies and know how to combine them


And as soon as the project starts to grow... We have data replication, distributed servers and son on and so forth...

And still web programming is perceived to be a child's play whereas grown-ups are off working on their "serious" technologies which are supposedly to hard for a web-programmer to comprehend. Well, think again, lads. It is we, web porgrammers, who look down on you because most of the technologies most of you are just beginning to toy with have already been seen, learned and taken to use by us.

BTW, this discrimination against web programming is exactly the reason why web programmers are so behind on tools and libraries. It is only recently that decent tools have sprung up all over the place (such as Ruby on Rails, Django, Seam, Prado and others)

Now that's a bloody shame if you ask me.