Many dream of success. A rare few focus on grand visions to reshape the future. Me, I fantasize about ideal software structures*.
Just a few days back I dreamt of middleware that would take completely dynamic objects and map required information into static structures which are connected to blazing fast compiled pipelines. In other words, flexible routing tables that bind dynamic to static objects, in tandem with interpreted scripts which call compiled code. This is something that I not only think is cool, but can readily apply. This form of middleware opens the door to scripting languages calling compiled c++ libraries at my day job. If you do this type of thing, I'd love to hear from you.
Highly desirable forms lead to blindspots
While this idea was baking in the background of my noodle, I scanned the following tweet from Andraz Tori (CTO of Zemanta):
Protocol buffers transfer encoded data into binary streams. Not only are dynamic calls to thinly wrapped compiled code happening, they're common place. In the HackerNews post Andraz referred to, several folks commented on their own development of rapid protocol buffers callable from Python. So the I/O layer was already well developed.
*Cough* Node.js Yo
Speaking of dynamic scripting language bindings to compiled c++ code, what about node.js? I've read a good deal of documentation on node, and toyed around with servers. One of my favorite high level descriptions of node is a post by Denton Gentry, node.js from 30000 feet:
Node.js Overall Structure
*= Ideal software structure posts
- Each time I get my hands dirty I learn
- Mind tools dynamic and static typing
- Ideal coding easy to pickup yet abundant in function
- Instant utility optimal execution syntactic sugar
Probe, loose ideas for a programming language