The steep learning curve
TL;DR The bloody steep learning curve is just a silly excuse and will only result in keeping [computer|programming|stats|…] literacy low in life sciences. Stop using it.
Introduction
It is not uncommon to read statements as the following after praising to benefits of a powerful programmatic environment for data analysis such as python, R, MATLAB and friends:
However, one substantial disadvantage of [insert aforementioned software] is the steep learning curve before most biologists can take full advantage of the features they offer.
The rant
And while it is undeniable that there is a learning curve, I find it quite disheartening how the steepness of the curve is taken as an excuse for not learning what is unmistakably an essential requirement for modern biology. Does that mean that one should not to invest time in what takes efforts despite the confessed undeniable advantage? The goal is not to become an expert programmer, but learn enough to understand and apply basic concepts, gain independence when it comes to simple data analysis and communicate with one’s computational colleagues.
In this paper, I have attempted to offer a more considered view
Although an elaborated environment and programming language like R has undeniable strengths, its sheer power and flexibility is its Achilles’ heel. An important obstacle in the adoption of R is its command line interface (CLI) that a user needs to apprehend before being able to fully appreciate R. Life scientists very often expect to operate a software through a graphical user interface (GUI), which is probably the major hurdle to the wider adoption of R, or other command line environments, outside the bioinformatics community.
My point here is not the (silly) GUI vs CLI debate (that’s for another post), but here is the relevant part in the same reference.
The important point is, however, that properly designed graphical and command-line interfaces are good at different tasks. Flexibility, programmability and reproducibility are the strength of the latter, while interactivity and navigability are the main features of the former and these respective advantages are complementary. Users should not be misguided and adhere to any interface through dogma or ignorance, but choose the best suited tools for any task to tackle the real difficulty, which is the underlying biology.
Equivalent for computational biologists
What would the equivalent computational biologist’s and bioinformatician’s steep learning be? Would you trust a bioinformatician that finds it too difficult to learn about RNA-Seq protocols or basics of mass spectrometry?
Education
A solution is, of course, better education. How can we demystify programming - is it perceived as something that you are good at or not? Probably. I have Software, Data Carpentry and many other efforts. Not only do these teach important skills to the attendees, but they also contribute to a change of mentalities.