This is the second article in a series about exceptions: BasicsTypes and filteringWhere to put catch blocks and handle exceptionsFinishing up You can filter which exceptions a given catch block deals with.Image credit. Type hierarchy for exceptions As I said in the previous article, an exception is an object with a particular type. Often, in … Continue reading Exceptions 2: Types and filtering
Category: Coding
Exceptions 1: Basics
This is the first of two things requested by Jesper. Please visit his blog for wisdom about testing, business strategy and things like that. I’m not always available for weddings and bar mitzvahs, but if anyone else has requests or suggestions for the blog, please let me know via the Contact page. This started off … Continue reading Exceptions 1: Basics
Recursion and iteration – loop unrolling
This article is part of a series on recursion and iteration: Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will talk about loop unrolling, and the wonder / horror that is Duff's device. Image credit Loop unrolling Loop unrolling is something to do only when you're very … Continue reading Recursion and iteration – loop unrolling
Recursion and iteration – blurring the lines
This article is part of a series on recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will look at how the lines between iteration and recursion can get a bit blurry. This breaks down into three areas: Iteration = fast, recursion = slow isn't … Continue reading Recursion and iteration – blurring the lines
Recursion and iteration – mutual recursion and tail recursion
This is part of a series of articles about iteration and recursion. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I have covered the basics of recursion in a previous article. In this article I will go onto two more advanced, rare and obscure versions of recursion - mutual recursion and … Continue reading Recursion and iteration – mutual recursion and tail recursion
Recursion and iteration – an introduction to recursion
This is the second article in a series about recursion and iteration. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I will assume that you have already read the article on iteration, and this article will focus on recursion. Like iteration, recursion is a way of repeatedly doing the same or … Continue reading Recursion and iteration – an introduction to recursion
Recursion and iteration – an introduction to iteration
This is the first of a series of articles about recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling Recursion and iteration are both techniques for doing some work (or similar work) repeatedly, so that you can solve a bigger problem. This could be things like summing all the … Continue reading Recursion and iteration – an introduction to iteration
The skills that developers and testers share
The idea that programmers and testers are different kinds of people with different kinds of skills is sometimes helpful, but not always. It can help to match people to jobs or show where people have different strengths. But it can also lead to tribalism – you’re different from me so you’re worse than me. In … Continue reading The skills that developers and testers share
Different ways people add value in a software development team
There was a tweet about how tech companies measure people by the impact they make. I replied in the common terse Twitter way, and I want to expand on that here. I think that there are few different ways in which someone can add value in a software development team, and they're not all equally … Continue reading Different ways people add value in a software development team
Brains, tools, chess and programming
Seeing how unimportant the chess board and pieces seemed to Beth Harmon in the TV series The Queen’s Gambit, and a recent Software Engineering Radio podcast on The Programmer’s Brain made me think about how programmers work. How much of it is using tools out in the real world, and how much goes on inside … Continue reading Brains, tools, chess and programming