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:
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.
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.
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.
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;