I’ve been aware for some years now of the “Lego Hypothesis”, a software engineering “dream” conceived by James Noble, Professor of Computer Science and Software Engineering at Victoria University of Wellington, New Zealand.
For decades, software engineering has “dreamed an impossible dream”, to build software as easily as building Lego houses, says James.
There’s a talk by James Noble on InfoQ about this subject. In this talk, James Noble imagines a world where the dream has been realized, where software parts can be found in worldwide repositories, where most software is built by reusing existing software, and where we’ve “finally been freed from the mundane necessity of programming”.
Of course, it’s a dream but, how close (or how far) are we from such dream? I, for one, have certainly been working in that direction with ABSE:
ABSE allows you to create the building blocks of your software systems that, though simple constraint mechanisms, allow you to build your software by snapping them together, just like Lego.