It supposed to be a text about RStudio, a free and open-source integrated development environment (IDE) for R that I have recently discovered and started using. But I have changed my mind, as something else occurred to me. The reason I have turned my interest towards programming in R was a huge amount of data collected during testing of my hash functions. R is designed to deal with such data, so it seems to be a natural choice in this case. The syntax is not particularly complicated and after catching some of R’s oddities, coding for someone having any programming experience should be fairly easy. The problem lies somewhere else. I have had to honestly ask myself whether I actually know what I am looking at.
The knowledge of the domain
Developing a piece of software, especially something that counts in thousands of lines of code and involves a large team of developers is a non-trivial task. Larger project, more people involved, greater specialisation. And here appears a question. Is it important for an ordinary developer to have extensive or even any knowledge of the domain, or it is just enough for him/her to know how to code? Vivid discussions at StackExchange show how polarised are opinions on this matter. Personally, I like what professor Dennis J Frailey said:
Knowledge of and experience with the [programming] language is the least important skill (mainly because a good software developer can learn a new language rather quickly, but language knowledge cannot make up for lack of the basic capability and experience with the application domain).
By the way, he recommends a book, ‘Software Engineering Economics’ by Barry W. Boehm, that seems to be very interesting, if I can say so based on a single information he quoted from it.
So back to my initial problem, what was I able to see on all those plots and data summaries that my R script gave me? What tool set the Computing and IT course that I have undertaken at the Open University has provided me? To be honest, not as much as it was possible. To some extend I am the person I should blame for that state of matters, since no one but myself has chosen a pure CS course instead of something more holistic, like Computing and IT with a second subject, where I could have choosen statistics, for example. Especially since I was studying the foundation modules in mathematics and statistics prior to my current course. The good thing is, nothing prevents me from coming back to that subject after I graduate. We will see. As someone said, the sky is the limit.