Rails as the Visual Basic of the Web
A couple of things have got me thinking along these lines recently.- Giles Bowkett made an interesting post on his blog:
“[T]his has always been my fear for Rails; that in five to ten years, the worst jobs you could get will be Rails jobs where you’re maintaining stuff built by non-programmers who figured Rails made programming so easy that they didn’t really need to understand what they were doing.”
- In Avi Bryant’s ETech presentation Applied Web Heresies (slides) he makes the following statement:
“Meaningful URLs don’t carry enough meaning
Names make me think too much
DRY (not everything is an API)”
This is reminiscent of Visual Basic (and VBA, Access etc..). I know I’ve done maintenance on some scary code which was written by someone who didn’t understand enough about what they were doing.
Not Everything is an API
The obsession of Rails dudes with making every object a REST endpoint is a particularly scary form of religion. In VB6 every “class” was exposed as a COM object. For those of you who are not familiar with COM - this means that every public class in your application was exposed as an API. Weather you wanted it available to other applications or not. As you can imagine - this resulted in some truly monstrous misuse of parts of applications by other applications and lead to the worst kind of spaghetti dependencies imaginable (circular build dependencies etc).
In general API’s should be carefully thought through, designed and exposed as a separate development exercise from building a web application. For example:
- Google maps was released
- People started hacking mashups using it.
- The GMaps team went away and designed a JavaScript api which is:
- versioned
- licenced
- secure
- supportable
No Comments Yet