Choice of Programming Languages


At a recent interview, I was asked what computer languages I prefer and the reasons for the choice.

This is an expanded answer to what I gave in the interview.

The three (3) programming languages I mainly work in are:

  1. Ansible
  2. Python
  3. R

SQL is a specification language: it specifies what is to be done, now how it is to be done. The latter is what programming languages are for.

Ansible

I consider Ansible to be a programming language because it has implemented features (such as loops. conditionals, assignments, and variables) that are not available in raw YAML.

I choose Ansible because of a recommendation from Frits Hoogland in his blog post about Using Ansible for executing Oracle DBA tasks.

A fuller explanation of my experiences can be found at Experiences with Ansible.

Although there are other choices for automation languages, I have not had any experience with them.

Python

My motivation to learn Python was driven by my need to learn Jython which is the programming language used in the API for Oracle Enterprise Manager.

Now that I have much more experience with Python, I use this as my programming language of choice because:

  • University students are now being taught this language when they are introduced to computer programming. This means junior staff can more easily pick up on my code because the language used is not a barrier;
  • I have a single language to write code for Oracle Enterprise Manager and for other tasks. This lowers my cognitive load;
  • I can more readily understand the idiosyncrasies of Ansible because Ansible is implemented in Python;
  • I can use the same language on my PC and on Linux and Windows servers.

R

R is my choice for statistical analysis. I was introduced to R through studying Data Science.

Other statistical programming languages that I have used are SAS (back in the 1980s and 1990s), and SPSS (for a university course). But my knowledge of these has faded with time. Statistical analysis in Python seems primitive compared to R, but this seems to be rapidly changing.

The reasons that I stick with R are:

  • There is an extensive reference library for R, both in packages and examples;
  • Modelling is easy to to express in R;
  • The ROracle package makes it easy to download Oracle data into a R program;

Once the Python statistical ecosystem matures, I would consider switching away from R.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s