Glue Languages

Glue languages are used everywhere. While you may identify as a Python, Java, Haskell or C/C++ developer, we all eventually end up congregating in some common spaces. On the web side of things of all these languages is JavaScript. On the server, this means shell/bash. These are our glue languages: languages that bring our ever so divided programming communities together.

JavaScript, shell scripting, SQL, and other glue languages like them are ubiquitous. Grab and Unix based computer and box and dive right in with a shell script. JavaScript, is allowing people to push the envelope both on the client as well as the server. No matter what language you primarily develop in, improving your skills in these common-ground scripting languages is one of the best things you can do for yourself.

Specialization is for insects

It’s extremely difficult to find a “shell scripting expert” or, to some extent, a “JavaScript experts”. Both JavaScript and Shell expose other technologies rather than the primary focus of your program. A shell script exposes UNIX internals, and JavaScript binds HTML and CSS together. Due to this, you’re much more likely to find generic “sysadmins” or “front-end experts”

That’s your opportunity. You don’t need to become the “expert” in a particular glue language, but the more you can improve your glue language skill set, the more valuable you are to a large subset of developers and more able to have watercooler conversations about the cool stuff you learned.

Futuristic Glue

This is why I find tools like Node.js so interesting. JavaScript isn’t binded to HTML and CSS anymore; it now is becomes a first-class language. All you have to do is install the engine in your favorite OS and bam you can write any of your programs in JavaScript with a wide array of support from many like-minded developers.

Node is more assessable in JavaScript than if it were written in something like Python or Ruby. This is even apparent in shell: rvm, a platform-agnostic Ruby installer(brew), is substantially written in shell rather than Ruby. You don’t need to be a Rubyist to improve the project.

I feel it’s hard to consolidate in our industry. Thanks to the power of Git and SVN, Technologies are forked or cloned and turned into new projects which are forked or cloned again. But we may see more consolidation in the near future. With more people going into JavaScript, attention will be focused upon optimization various JavaScript compilers, which will continue to drive the future development of JavaScript.

Back to Basics

Shell scripting syntax is fairly basic. JavaScript(ES5) has a pretty standard library. But those simplicities are strengths, not weaknesses.

If you JavaScript skills consist mostly of running alert() for input validation, then try stretching your legs with Node.js. If you still don’t know what a pipe is, dive into shell scripting a bit further. These languages have been around for ages, and will continue to be around for years to come.

Also look into other common area’s too: they don’t even need to be languages. Make sure you understand JSON. Look at how you can leverage REST to expose your web frameworks. Consider streaming protocols in your API. These are concepts that transcend arbitrary language choice.

The usage of cross-discipline, cross-culture glue languages is only going to grow. Embrace it. Get out of your language comfort zone and work at becoming a better programming citizen. The more our communities can work in glue languages, the better we can work together.