Guitar, Swift and Spanish

Guitar, Swift and Spanish

Catchy title, hey? I’m one of those people who likes to have little projects going on all the time – at the current moment, I’m tinkering with Raspberry Pis, learning to code in Swift, mucking around with Python scripts, growing vegetables, building things out of wood, learning Spanish through Duolingo and trying to teach myself to play guitar through Yousician.

Yes, you’re probably right. It would make a lot more sense to slow down and learn one thing properly – but I’m old and ugly enough to know that if I did that, I would get bored with it, and move on to something else before I’d really cracked it. I’m a classic Toad of Toad Hall from Wind in the Willows in that respect – but with less of a penchant for cross-dressing, it must be said. Although there was that one time…

And if I did somehow manage to stick to that, I would miss the opportunity to compare the different learning processes that I experience in each of my different areas of fascination. And that, I think, would be a real shame, because I think there are some really interesting insights into what learning actually is buried at the heart of these different experiences. (And if this post sounds intolerably self-indulgent, I apologise in advance – but I found it interesting, in a Narcissistic kind of way).

For as long as I’ve been poking around in computers, the argument has always been that to be good at computers, you need to be good at maths. Computing – the actual process of programming and coding them, rather than simply using them effectively – is usually the domain of science or engineering faculties at universities, and there is almost always a requirement to undertake some level of tertiary level mathematics as part of gaining your B Sc (Computers) or whatever.

But recently, I have noticed that people are arguing that, either replacing the mathematics or in addition to it, that people who have a facility with language – and specifically foreign languages –  might perhaps be better placed to learn how to program computers effectively. This is not as completely far-fetched as it might first sound – after all, when we talk about Swift, Objective-C, Python, Fortran or whatever, we talk about computer languages – not computer sums or solutions or something mathematical.

Don’t get me wrong – of course there is a heavy element of logical (although perhaps not completely mathematical thinking or computational thinking) in programming, but there is also a lot that seems to be more language based – there are specific instances of syntax present in code, and ‘blocks’ of code that we might otherwise call sentences or paragraphs. There are ways of ‘speaking’ or writing code that rely on a specific facility with language and an understanding of how it is used. There is widespread acknowledgement that looking at other writing (i.e. code) helps you to write your own. And, like every author knows, sometimes it pays to borrow other people’s writing and repurpose it to your own devices.