|
I think this is a very valid point, and it comes up quite frequently in comparison of frameworks and libraries. One example that was annoying me recently was in trying to select a Javascript client-side MVC (MVVM, etc.) framework for a single-page application. The internet is full of people busily comparing, contrasting, arguing about, and recommending JS frameworks. Problem: 95% of them are doing so based on a < 100 line demo app, usually implementing a todo list, often which makes implausible simplifying assumptions. "Hm, that's nice, but check out the demo todo list app for MagicJS! It's 57 characters shorter, and the code forms the shape of a flower, and it would be quite easy to extend it to let you create new items!"" No real world app is going to be solved in < 100 lines[1], and while it's awesome to know that you've chosen a framework which can be used to create incredibly elegant < 100 line demo apps, what I really care about is how the framework works for large apps. Scale (in the sense of scaling up from the example code on the frameworks homepage to a real app that actually handles all the corner cases) matters HUGELY. And I don't think that gets nearly enough recognition. (In fact, on this very thread, I see someone comparing a "hello world" app in Flask and Sinatra, and complaining about Flask's relative "verbosity". This is utter nonsense of the precise kind you've identified. Implement a calendar app in both that syncs with Google Calendar, and THEN compare line counts, and NOW you have a some feel for verbosity. Sinatra might win handily, but you can't tell that from a hello world app. Then again, off the top of my head, I can't think of one actually useful thing a hello world app can tell you about a framework.) [1]: I'm speaking figuratively, obviously. Some of my proudest moments as a programmer have involved solving problems in just a couple. Sadly, this does not happen often. :) |
I feel your pain on figuring out which JavaScript SPA framework to use. I don't think I've seen any particularly compelling examples in public of even Backbone.js, which is currently the most popular one to use. The templating and sync semantics aren't appealing.
And yes, some of my proudest moments, too, have been making a <100 line solution to a problem. That having been said those are never the truly hairy problems.
The hairy problems are when the rubber meets the road and whether or not the solution I've built on is going to be appropriate or not. Those are going to be >100 line of code problems.
I have to be able to build things of at least moderate complexity with a framework without blood gushing my eyes and ears.
<100 line examples don't tell me if that's going to be the case or not.
The superficiality of this non-content makes my spleen rupture.