Monday, January 22, 2018

C, Programming Language of the Year

Five or so years ago I was renovating my programming practice, and I looked at the popularity of programming languages at that time (

Now I am doing a minor overhaul of my programming practice. I don't intend to change my main programming language (which remains C++), but I thought I would see what changes there have been over five years.

I am not interested in determining "the best" programming language. Obviously there is no single "best" language: what is "best" depends on the job to be done, the skills of the programmer(s), and things like the availability of suitable program libraries; C++ fits my situation. But a popular language will have an active user community and a lot of online resources, so popularity does have benefits.

Last time I looked at two indices of popularity, the TIOBE index ( and another called the Transparent Language Popularity Index. That is now defunct, so this time I looked at the IEEE's index ( IEEE stands for "Institute of Electrical and Electronics Engineers", but the Institute has broadened its scope beyond engineering to computer science and other areas.

Last time I looked at 11 languages. This time the TIOBE index and the IEEE index have the same top five languages: Java, C, Python, C++ and C#, though the ordering differs between the two indices. All of these except Python were designed as general-purpose programming languages, and were certainly very popular five years ago. Python started off as a scripting language, but soon joined the general-purpose club and increased in popularity.

The  surprise is the continuing longevity of the C language. The TIOBE index awarded it "language of the year" for 2017, as it increased its usage the most during the year (according to TIOBE's calculation). Of all the the languages mentioned in the this post, C is the oldest by some way (dating from 1973) and it is the only one in the top five that is not object-oriented. TIOBE speculates that C's ongoing popularity is due to being taken up by the manufacturing industry. It is suited to so-called embedded systems, computers that are built into other products; since all computers that were around in 1973 were small by today's standards, it isn't surprising that C is suitable for the new wave of small computers.

If I take a sort of average of the two indices, the next six languages after the five above are JavaScript, PHP, Ruby, R, Swift and Visual Basic, making up 11 languages altogether. The first three are associated with Web development, and R is designed for data handling and statistics. Swift is Apple's new general-purpose language, intended to replace Objective-C, and Visual Basic is a general-purpose Microsoft language with quite a long history in different versions.

Compared to five years ago, the newcomers are Swift and R. Swift has displaced Apple's previously favoured language of Objective-C, and R has more or less come from nowhere, presumably due at least in part to the rise of Big Data. The scripting language Perl has dropped out of my top 11, but would be number 12 by my rough ordering.

So the most popular languages are quite stable over five years, and I am pleased to see that C++ is still very much alive and kicking.


Sunday, January 7, 2018

Incoherently Massive

Earlier this week I visited the National Gallery of Victoria's NGV Triennial exhibition. This is free to enter and is a very large show, claiming over 100 artists from 32 countries. I only saw a fraction of the works, so I will be back. But here are some first impressions.

Firstly, there were a lot of people here. Secondly, the works that I saw are very diverse. The NGV has made a point of including design, fashion and craft alongside art, and information about the show states that there was initially no set theme, but that five themes or "prevalent ideas" emerged: Movement, Time, Change, Body and Virtual. It is hard to think of anything not covered by at least one of these.

And thirdly, the show is certainly tuned into modern media. Apart from actual multimedia artworks there are screens around the place showing words and images related to the five themes, and on the third level there is a bar with tablets for people to use, linked to all sorts of vaguely connected discussions, and more screens around the walls. And visitors are encouraged to get on social media and say what they think.

There were, as expected, a number of works dealing with refugees and with climate change. Some of these turned out to be political in a way that the NGV perhaps didn't expect, turning into protests against the employment by the NGV of Wilson Security, who have been involved in brutal treatment of detainees on Manus island. Two artists, Candice Breitz and Rafael Lozano-Hemmer, retitled their works to include the words "Wilson must go", and a third, Richard Mosse, edited his work to include statements from Behrouz Bouchani, a refugee detained on Manus Island who had been mistreated by Wilson Security. The changes came too late to be included in the catalogue, but they are included in the NGV's online material.

On this visit I saw two of the works just mentioned. Richard Mosse's Incoming is a large installation showing videos and still images of refugee camps and the like, obtained by using a military-grade infrared telephoto camera. The images are crisp, black and white, and with an eerie quality that reminds us that this camera does not see the same way that we do. Candice Breitz's Wilson Must Go consisted of six in-depth interviews with people driven out of their countries, and also a news-bite version consisting of brief extracts from the interviews read by two Hollywood actors, Alec Baldwin and Julianne Moore. There was a point here about the way that celebrities acting a part are more real to us than the actual people who have lived through the events.

A detail from Richard Mosse's Incoming

A number of the works in the Triennial were placed in among the NGV's permanent collection. This applied in particular to Ron Mueck's Mass, a massive collection of oversize skulls, in with 18th-century European paintings. The wall text referred to the tradition of vanitas painting, but the surrounding paintings didn't reflect this. For more, and more varied, skulls, come to Ballarat and see the exhibition Romancing the Skull, on until 28th January (

Ron Mueck's Mass in among the 17th-18th century European painting

Another work from the Triennial placed in among the permanent collection is Ore Streams, from the Dutch Formafantasia design studio. This complex installation is about mining of metals; the group consider that by about 2080 most of the available ores will have been mined, so the source of metals will have to be recycling: "the era of above-ground mining is upon us". Ore Streams was placed among the 19th-century paintings, and there was no discernible connection. But the placing did lead to some of the 19th-century works getting more attention than usual, even if of the selfie-taking kind.

Ore Streams, installation view (one side)
In front of John Rogers Herbert, Moses Bringing down the Tables of the Law (1870s)

Some other works I saw, across art, design and fashion: Sean O'Connell made images made by placing jewellery (rings made out of different materials) in the path of electric discharges that then struck photographic plates. The design studio Joris Laarman Lab had a large table in the form of a bridge, made by advanced manufacturing techniques. Timo Nasseri had a modern take on muqarnas, a technique used in Islamic architecture of covering the inside of a dome or vault with repeating three-dimensional shapes. Nasseri made a small version covered in mirrors and placed in a wall; it showed kaleidoscopic fragmentary reflections of the people passing by. Iris van Herpen had a remarkable dress cut somehow out of leather.

One of Sean O'Connell's Spark Ring works.

Joris Laarman Lab, Bridge Table (prototype)

Timo Nasseri, Epistrophy
Leather dress by Iris van Herpen
What I took away from this first visit was a feeling of incoherence. There are a lot of interesting things here (and I know I haven't seen some of the most interesting ones yet), but there didn't seem to be any reason for selecting these particular works and bringing them together. There wasn't even a post-modern line like "the theme is that there is no theme". What I saw reads as though the curators took a bunch of interesting works and threw them at the wall to see what would stick, always with one and a half eyes on mass audience appeal. The catalogue gives the same impression of incoherence, being a heterogeneous collection of essays, statements, interviews and images; the amount of space given to individual artists represented in the Triennial varies wildly.

After I had visited the Triennial I came across two contrasting reviews, an enthusiastic one by the Guardian at, and a remarkably jaundiced one by Giles Fielke at I haven't made up my mind about the exhibition yet, and I need to see more of it. I will definitely be back.

Wednesday, January 3, 2018

What's in a name? (Again)

Some years ago I had to choose a name for my art practice. Now I am returning to this, as I am starting a Facebook artist's page ( and an Instagram page ( It is apparently necessary to have a label that is at most three words long, in accordance with the idea of an "elevator statement" (U.S. usage, but "lift statement" sounds odd): you find yourself in a lift with an influential person: you want to tell them what you do, but you only have the time it takes the lift to travel a couple of floors.

My practice is to write computer programs that generate all or most of an artwork. There is an established name for the practice where artists set up systems (computerised or not) that generate artworks, and that is generative art. I would like to call myself a generative artist; unfortunately the term isn't well known, so it needs explanation; no good for elevator statements.

"Process artist" also needs explanation, and an artist's "process" generally refers to the personal process an artist goes through when making or developing work, such as reflecting on events or personal experience, gathering material, and so on. This is quite different from setting up a system that then makes the art.

"Computer artist" brings to mind someone who uses tools like Adobe's Photoshop and Illustrator to make art, which is not what I do.

I thought about "programmer/artist", since I write programs as part of my practice. But I am not a professional programmer, and "programmer/artist" (or "artist/programmer") emphasises the programming side too much.  For me programming is a means to artistic ends.  Also I don't want to use "software artist", as "software art" has had the meaning of art, made in software certainly, that is about software (and about the way governments and big corporations use it); my art is not about software as such, nor about its political implications, except in a very indirect fashion.

I have a similar problem with "mathematician/artist". It is quite a while since I have been active as a mathematician. I certainly use ideas from mathematics as one of the major inspirations for my work, and I use a certain amount of relatively low-level mathematics while writing my programs, but "mathematician/artist" over-emphasises the mathematical side (even if it might be good branding).

So the best three-words-or-fewer approximation I can think of is still "digital media artist". If I am allowed five words I could say "generative artist (digital media artist)", but it would have to be a long lift journey.