Necessary learning
Nowadays, one needs to learn software in order to learn software.
Last week, our tutor was working with one student beginning to write programs in Java. One episode was particularly frustrating because the Java program was very simple, but kept generating an error code. On the face of it, the error code was in error, claiming that something wasn’t there when it was clearly visible. Eventually, our tutor made a lucky guess and tried adjusting something in the environment; it worked.
For non-programmers a little explanation is in order. In the old days, one wrote programs using a basic text editor (not one that adds lots of formatting details, like Word), saved them to a file, and ran them with a few command-line functions. Debugging was primitive, and error messages often counterintuitive. Nowadays there are environments like JGrasp and codehs. As you type in your code, the environment keeps track of keywords, matches parentheses, and generally checks for common problems. Much more advanced functions are also available. In principle, coding in an environment is vastly superior to old-fashioned hand-coding. But it means you have to learn the environment software in order to learn Java.
Even if you write no programs yourself, you still need to learn how to use your software, at least the “knobology:” what buttons to push or keys to press to get a given task done. After a while the actions become automatic, at least the ones you do often. But trouble can arise when moving between software packages. Text-editing in Word is not the same as in Google Sheets, and neither matches the LaTeX of our scientific papers. Our tutor’s company is now transitioning from Google to Microsoft for its administrative functions, and he foresees a more or less frustrating period of relearning.
Other questions arise. Any software package nowadays has far more features than any one person will ever use. How much of it is worthwhile to learn? Should one become an expert Excel-master? A wizard in the arcane reaches of Word? A doctor of LaTeX formatting? No doubt each person comes to a particular answer, but the border between necessary and not is fuzzy, and there’s always the danger of being faced with a task you do not know how to do.
A related question is how many different packages to learn. Our tutor’s students use at least three or four Java environments. The time and effort necessary to get even a basic knowledge of each would be considerable. And yet, as we’ve seen, knowing details can be important.
Perhaps our tutor should reconcile himself to sometimes not having the answer