(Computer) Language is culture

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

I find it remarkable that each computer language has such a strongly unique culture. I notice that in Python-land it is common to profile the heroes of Python-land. There is no other language community that does anything like this:

This week we welcome Dr. Margherita DI LEO as our PyDev of the Week. She is our first PyLady in this series! Let’s spend some time getting to know her!

madi

Can you tell us a little about yourself (hobbies, education, etc):

I come from a small village in the south of Italy. Like the most classic stereotype of a person coming from southern Italy, I very much enjoy sleeping, eating and cooking, especially for large and noisy companies. Moreover, like most women from the south (another stereotype!), my hobbies entail creative crafts, like sewing, knitting, crocheting, and I would add coding because times are changing and so are the ways of crafting.

I graduated as an Environmental Engineer with a focus on Natural Risks management. My first work experience was in a private company as project designer of renewable energy plants. After some time, I returned back to academia and got my PhD in Methods and Technologies for Environmental Monitoring. Currently I work as a researcher at the European Commission, Joint Research Centre (JRC), Ispra (VA), Italy, in the Forest Resources and Climate Unit.

I mainly work as a GIS (Geographic Information System) analyst, and when I have the freedom of choice, select Free and Open Source Software (FOSS) tools.
I’m a FOSS enthusiast and take active part in associations supporting the use of FOSS, for exampleas an OSGeo charter member. OSGeo is the Open Source
Geospatial Foundation, an international organization that supports, promotes and spreads the use of FOSS for geospatial (GFOSS). I also started a group at JRC within which we organize meetings and lectures about GFOSS. The initiative aims at facilitating the exchange of information and the cross-cooperation among
developers.

Why did you start using Python?

My first work in Python was developing a GRASS GIS extension (addon). GRASS is a popular GIS originally developed by the U.S. Army Construction Engineering Research Laboratories, later evolved into a FOSS project, supported by a vibrant community. Thanks to such welcoming community I selected GRASS as my favorite GIS and turned gradually into a developer and become also a member of the Project Steering Committee (PSC).

It is possible to develop applications for GRASS in Python, C, but also Fortran or bash. What made Python my selection, is the possibility of making your application multi-platform only sticking with some coding rules. Another advantage is that you can create with Python a whole chain of actions, from pre-processing (including parsing input files) to the final product and even its publication onto the web, entirely using Python as a glue. Also, some very important libraries for geospatial can be easily used through Python.

What other programming languages do you know and which is your favorite?

At university, I received formal education in Fortran, C and C++, but didn’t use them much in real life, preferring Python, Bash, the Matlab-like GNU Octave, and more recently R. This latter is a good candidate for becoming my new favorite after Python. It is specifically designed for statistical computing, but many libraries have been developed for close any purposes. You can use R along the whole chain of data analysis and statistics, from data retrieving, pre-processing, analysis, graps, and publication onto the web, see knitr and shiny just for example. Moreover, particularly handy are the “apply” family of functions, that perform implicit loops.

Roughly speaking, these are some languages I know, and their cultures:

Ruby: young men with big egos. The community subsists on recurring bouts of cult-of-personality, often bolstered by an authentic idealism.

Java: boring corporate middle aged people who sit in cubicles

Python: scientists, pragmatists, experimentalists, un-purists

Lisp: purists, the engineer-as-artist, loners, perhaps insane. If Van Gogh had been a programmer I don’t think anyone doubts that he would have gravitated toward Lisp.

PHP: a disorganized mob, mostly beginners, bereft of leadership and, more than any other computer language, lacking in community, discussion and culture

Scala: a mix of the attributes I listed for Java and Python

Clojure: dreamers who woke up to deal with a crisis. I’m reminded of Sartre’s novel Troubled Sleep. The Lispers who were not hopeless woke up and realized the need to do something overrode concerns about purity. And yet, in some ways, Clojure is more pure than most Lisps, and therefore more pure than most languages. As with Ruby, an authentic idealism pervades the community, and some cult-of-personality.

Javascript: some intelligent engineers trying to make progress while overwhelmed by the hype and overreach of others, encouraged by investors who have money to burn. Javascript was/is as important to the current boom as plastics was to the boom of the 1960s, and so this quote from The Graduate is appropriate:

Mr. McGuire: I just want to say one word to you. Just one word.
Benjamin: Yes, sir.
Mr. McGuire: Are you listening?
Benjamin: Yes, I am.
Mr. McGuire: Plastics.
Benjamin: Exactly how do you mean?

Post external references

  1. 1
    http://www.blog.pythonlibrary.org/2015/01/05/pydev-of-the-week-dr-margherita-di-leo/
Source