I'M amazed by multilingual people. Their ability to move between conversations in other languages always makes me feel I should’ve studied harder in school. But most clients think the same of programmers.
During a typical day, I may be required to speak four or five different languages – from the basic HTML/CSS/Javascript powering the web to the PHP and Python scripts that make them dynamic. Then there’s the SQL/NoSQL statements powering the database in an application, and Shell scripts and compiled C applications that power the machines that our application stack runs on. After years of being surrounded by languages, it feels normal to be switching tongues mid-conversation.
There will never be any other way to run complicated systems, but I’m writing more Javascript and starting to swap out many of the languages I had to keep on top of.
I was lucky enough to programme and introduce a speaker at #DIBI12 this year and gravitated towards Tom Hughes Croucher, a Node.js developer who consults with companies such as Walmart, NASA and Yahoo! among other household brands. Node.js is a server side platform that outperforms traditional server languages due to its non-blocking (asynchronous) design. Written in Javascript.
Then we have the front end of a website. There are frameworks that have been built to do the shiny stuff end users expect, such as news feed updating without page refreshes. The dynamic part of the front end web that makes that happen in a user’s browser is... Javascript.
Then we have the databases (where data is stored). We use a mix of MySQL and MongoDB. MongoDB is a “schema-less” database which stores its data in BSON (Binary JSON). And JSON is “Javascript Object Notation” which, if you haven’t guessed, is Javascript-orientated. So we write to databases using Javascript as well.
And then we have the mobile application scene and its many native languages. If you want to develop natively on a mobile platform you can use a tool called Appcelerator which will bridge Javascript to native languages for those devices. You can build an application in one language and push it to the App Store and then an Android one to the (many) marketplaces using a single source code repository. Written in Javascript.
As English speakers, we enjoy our language. If you delve into programming, you can achieve a lot using just one language. Which will help you conquer the world.
:: Andrew Waters (@andrew_waters) is director and lead developer at Newcastle web and mobile application company band-x Media