Programming languages are often associated with the field they were developed for. That is because people have always seen it like that and cannot imagine it be otherwise. But it is also because the language was designed so as to fit a particular need and environment. HTML is associated with web development, PHP is considered a server-side scripting language … but, as programming becomes more fun, the boundaries between intended and possible uses are being blurred day by day.

The leap of web development languages

The HyperText Markup Language was created as the standard markup* language for webpages and web applications. But web pages also use CSS and JavaScript to beautify and provide nice interactions. However, the trio is now used to create other apps.

Node.js : JavaScript – more than just interactions

JavaScript has long been stigmatised as a web-confined language, incapable of performing other jobs. But now with Node.js, you can run your server and handle requests with JavaScript.


With HTML, CSS and JavaScript, just as you can create awesome webpages, you can also create awesome desktop apps. Electron is a an Open Source tool using Node.js that allows you to create cross-platform desktop apps using the lovely three.


Apache Cordova (previously named PhoneGap) is a framework that works on Node.js and allows the creation of Android, iPhone and windows phone apps as well as others with the help of again HTML, CSS and others.

■ When PHP comes to the front

PHP is up to now the first choice server-side script language. However, some ingenious people have also found some interesting uses for it which include desktop apps.

~PHP-GTK is an extention to the PHP programming language implementing the GIMP toolkit that allows the building of client-side cross-platform desktop apps.

~PHP also allows you to create pdf files using a library called PDFlib. This might come in useful if you want to generate HTML based invoices in PDF format.*2

The easy Processing

Processing is a java-based language created primarily to ease the creation of drawings done normally with Java or C++. But it has gotten well beyound the control of the virtual.


Superficie is an isometric drawer controlled by processing

■ Automatic Orchestra

The Automatic Orchestra is an audio installation exploring algorithmic composition and networked music. The perpetual interaction among the devices and the interpretation of encoded musical messages blurs the distinctiveness between structured composition and performative improvisation.

Prior to the realisation of the framework several software prototypes to simulate the pod’s network logic and behavior were developed in Processing and Java

■ Computational design methodologies for large-scale 3D printing

With an exponential increase in the possibilities of computation and computer-controlled fabrication, architecture is now facing a novel challenge. Bartlett School of Architecture’s RC4 in London researches computational design methodologies for large-scale 3D printing with industrial robots, taking logistical, structural and material constraints as design opportunities.

and much more. Those who’ve had an experience with processing can imagine to what heights some minds have taken their simple-looking favourite language.

There are other illustrations of out-context uses of languages, but the ones shown here shed enough light.

The idea behind – examples of hacking.

Being a programmer requires vision and out-of-the-box thinking. Finding new uses or using things in a different way to achieve great results can be called hacking. Hacking by itself is no harm, it is experimentation; computer-related experiments. Oh wait, life hacks also exist . . . and that is for sure well within the bounds of the legal framework.

* Markup refers to the sequence of characters or other symbols that you insert at certain places in a text or word processing file to indicate how the file should look when it is printed or displayed or to describe the document’s logical structure. The markup indicators are often called “tags.” For example, this particular paragraph is preceded by a < p > or (or paragraph tag) so that it will be separated by an empty line from the preceding line. source here

*2 source here