Perfect demonstration of the necessity of metaprogramming

An employee at SoundCloud has a guide on writing React.js and Redux. The current SoundCloud app is written in Angular.js 1.x and they have their own flux-like library. The guide is a guide on how to build a SoundCloud client web app using React.js and Redux. It’s a perfect demonstration of why metaprogramming is necessary for larger projects and in particular for the JavaScript ecosystem.

Instead of writing a new app from scratch, this guide could have been a guide on specifying the SoundCloud client app in a meta-description language and then using that to generate all of the React.js and Redux code that is needed. Unfortunately, this guide is plain programming with no metaprogramming at all.

At this point in the game, a SoundCloud client has to have basic functionality and make certain API requests. Instead of writing at a low-level in particular web frameworks or libraries, it should be possible to generate the basics of a client from a description. Something like an XML interface file.

I hope to be publishing a metaprogramming description language of my own soon, so this guide is very timely and shows why metaprogramming is needed.



Comments are Closed