Programming then and now
The way we learn computer programming is changing, but people still do a lot of self-teaching.
Is this the right way forward?
I was recently speaking to a person who began programming in the 80s, and was struck by the difference in their outlook to people learning computer programming these days. I was explaining the common current programming practice of tutorials and Stack Overflow combined with trial and error. I mentioned that I believed there was room to better support how programmers are learning and working these days. The response from the other programmer, which I assume to be attributable to the era in which they learnt, was that the solution to a lack of programmer knowledge and ability was for these programmers to read the manual to learn the language and libraries. On the surface it seems reasonable, that people should study to understand something, and the onus is on individuals. On reflection this seems idealistic and misses the importance of teachers.
I began programming without a teacher or the Internet, being self taught from books and experimenting on the computer. While this was great fun, it was frustrating, lead to many bad habits and I learnt many misconceptions. The majority of these problems were not addressed by programming education at school or University, eventually being addressed through many years of reading, practice and discussion with other programmers. Although I’m sure I still hold many misconceptions and poor habits today. Speaking to other programmers who learnt as I did, the same story unfolds. To me, these anecdotes are a reasonable argument against learning by reading and experimenting alone. I also suspect the process of self learning is not suitable for a large number of people, who find this dry or difficult and give up very quickly.
Moving to today, and there are a huge number of tutorials, both text and video, with Stack Overflow solving problems and clarifying misconceptions. The current day is far better than what I grew up with, but I can’t help but feel there’s more room for improvement.