Another libraries vs frameworks
dhruvbird.blogspot.com
Another libraries vs frameworks
1–8 of 8 posts
Re: Another libraries vs frameworks
#2It's an argument I've come around to recently, but what I'd really like to see is some investigations of what styles of though can lead to functionality that is "scaffolding" for other code. That doesn't just provide a floor or a ceiling, but that provides a ladder that you can hang more code from. A simple example is Lisp conditions: they provide a hook in the code you can attach things to, instead of just providing a baseline to code off of. Event-based systems are another good example (whether this is a Javascript-like model, or a Emacs-like hook model). After all, the event model of HTML gives you enormous flexibility on handling events.
So here's a language-design question: what's a language we can talk about hooks in? How can you make a hook-based model maintainable? Is there any way to make hooks implicit (like advice --- though advice seems to still require too much internal knowledge to be maintainable if used everywhere).
Maybe an Erlang-like model where you have servers pass messages, but you add the opportunity to intercept messages? If the messages are fixed-format, they'd hopefully be well-defined enough for the whole system to be maintainable. And if you need security, you can use all of the now-well-known methods for authenticating and encrypting messages. (And hopefully the vm you're running on can make it cheaper than actually encrypting.)
But that seems like the sort of insufficient creativity endemic of Hacker News posts at 5AM. How do we do better? Or
Re: Another libraries vs frameworks
#3Re: Another libraries vs frameworks
#4So frameworks provide functionality above your code, and libraries provide functionality below your code; it's better to be limited below than above; thus we should use libraries more than frameworks. It's an argument I've come around to recently, but what I'd really like to see is some investigations of what styles of though can lead to functionality that is "scaffolding" for other code. That doesn't just provide a…
I guess it makes sense to have a framework when you know the requirements in & out and you know that they are not going to change (like low-level I/O or socket or FS stuff which has remained the same for years now), and a library otherwise.
Re: Another libraries vs frameworks
#5- operating systems
- Windowing/component frameworks for GUI (like Java Swing)
- and of course in case of web development the browser itself.
Re: Another libraries vs frameworks
#6One the same note, if all you need is a quick animation when a button is clicked, and some extremely trivial dynamic elements on the page, a large framework like Sproutcore is going to just get in your way, and you'll spend more time trying to learn how the hell to use the damn thing and twist it into doing a task that's outside of its primary purpose.
In short: use the right tool for the job. The anti-framework posts to come out of the woodwork this morning on HN are pretty disheartening. I sincerely doubt anyone that's completely against using a framework has ever written a large application that they need to support, that didn't end up as a giant mess of spaghetti code stringing libraries together haphazardly.
Re: Another libraries vs frameworks
#7If you have the time and the expertise for the latter, great! Otherwise, do some research and understand the benefits and compromises.
Re: Another libraries vs frameworks
#8So frameworks provide functionality above your code, and libraries provide functionality below your code; it's better to be limited below than above; thus we should use libraries more than frameworks. It's an argument I've come around to recently, but what I'd really like to see is some investigations of what styles of though can lead to functionality that is "scaffolding" for other code. That doesn't just provide a…
I guess frameworks have their use cases. For example, now that you mentioned it, the EventEmitter on node.js is a framework-kind of model where your code is invoked when a certain condition is met. They seem to have done it beautifully. In fact the whole runtime (environment) is event driven, so I like to think of my application as a user of the node.js framework. However, many a times when coding higher level requir…