Connected Links


By Chris Douce

Some time ago, I heard of a new programming language called Go (which has apparently been developed by Google, as described in an article on the same subject). I have to confess I don't know much about it, but it appears to be dynamically typed and have a C like syntax.

Some comments on commenting: I recently discovered an article that discusses whether the elegance of comments may reflect the elegance of code. I have to confess I agree with this view. I seem to remember rolling my eyes on too many occasions when I've discovered one too many HACK comments and the sentence, 'this seems to work but I'm not quite sure why' (I'm sure we've all see these!)

Some bugs are just plain weird, like this one about problem reported in Android phones In moments of debugging desperation I wonder whether there are other developers who have also thought if the phase of the moon was the source of all their difficulties. Some not really related research makes a useful suggestion, that more bugs are written in software between midnight and 4am than at other times of the day.

The domain of visual programming (or whatever that means) remains and interest, but developers at Microsoft confess their attachment to the text editor in an article entitled: Microsofts top developers prefer old school coding methods (this begs the question, 'so, what are the new school coding methods?').

You've heard of carbon offsetting, right? Well, there is this crazy (or innovative?) idea of 'code offsetting', which allows you to pay for your past software development sins (go on, admit it, we all have them… they come from a time when we were just learning the craft and didn't understand the consequences of our choice of constructs and abstractions). More information can be found through The Alliance for Code Excellence if you have enough time.

On a more serious (but related note), I really enjoyed a slashdot discussion about how to tackle a large codebase.

I have also made a note of an article about 12 programming mistakes to avoid (I'm now wondering whether there is a shorter list of just seven).

I have also made a note of an article about 12 programming mistakes to avoid (I'm now wondering whether there is a shorter list of just seven).

There is also a link to another blog post about perennial discussions (or perhaps 'old chestnut' discussions?) about how important mathematics is for computer science education (and software development jobs in general). I guess it comes down to what kind of job you would like to do.

Frank Wales circulated an interesting opinion piece that compares hypnosis and programming I think the key point is that are both difficult to understand from an outsiders perspective, and both can be considered to be a craft of some form or another.

Have you ever debugged using sound? Here's an inspired use of sound that demonstrates the operation of sorting algorithms. I could have sworn I heard the bubblesort algorithm played in a Manchester nightclub I once went to...

The sound clips do have a slight retro feel to them, which leads me onto a TV clip entitled BBC Micros used in retro programming classes. It was also interesting to see the use of kinaesthetic learning (which can be briefly witnessed at the start of the clip). I love the quote, 'I managed to turn the plane from white to black.'. Ah, those were the days...

Here's a related link to an article entitled tools for teaching kids to code.

It contains a number of embedded YouTube videos which give a flavour of the different environments (the first video relates to the Scratch paper that was mentioned earlier in the newsletter). Roman Bednarik also points us to the Finch Robot, by CMU, which can be used for computer science education. I do like the idea of its design simplicity, and the fact that you can simply connect it to a USB port.

When a programmer turns professional there is a lot of advice available, including this handy list of strategies for becoming a better programmer. (I'm not sure about the idea of unlearning stuff – some stuff is just hard to forget, like the confusion I faced when trying to figure out Prolog for the first time).

Even if you've memorized all these tips, it may take time to find your feel at a programming shop. Tech recruiters are always faced with the difficulty of trying to figure out what people know. This issue is reflected in an article why the new guy can't code (I'm assuming we can forgive the author's gender bias through his footnote).

And finally, the idea that social media might be able to tell us a little more about the world of software development and coding. On an article about programming language popularity it appears that Twitter users make more references to PHP than any other language.