You are currently viewing Good Samaritans & Nested Subroutines

Good Samaritans & Nested Subroutines

“So which of these three do you think was neighbour to him who fell among the thieves?”

And he said “He who showed mercy on him”
Then Jesus said “Go and do likewise”. (Luke 10:36-37). 
 
Sometimes when we hear a story, we get so engrossed, so drawn in, that we forget the context in which it was written. The Parable of the Good Samaritan is like that. We read this powerful tale in the context of ‘it’s just a story’, and forget the true meaning behind it. And when we do that, we lose its’ real context, and its’ importance.



I’m going to draw a parallel now that you might look at at wonder what I am doing. All I ask is that you please stick with me until I make my point!

Back in the 80’s I was keen to try my hand at computer programming. Just some basic stuff, nothing that would blow the programming world apart, but to test the waters to see if this was something I could pursue as a career. So I trundled down to the local Polytechnic Institute one night a week after work, to start my BASIC Programming Course (BASIC stands for Beginners’ All-purpose Symbolic Instruction Code).

One of the first lessons I was taught was how to structure a computer program  – what was I trying to achieve? I needed an order of which I wanted things done.
For example, let’s say I wanted to write a program that counted chickens. I would need to:

Put the chickens in a uniform order that they could be counted

 

Count the first chicken 

Move to the next chicken and count that one
When you have run out of chickens to count, print the total.

 

I was taught that the easiest way of starting out was by a method called ‘Top-Down Programming’. This incorporated the use of what programmers called ‘subroutines’. This is a fancy word that meant ‘a task within a task’, or the routine is subordinate to the original routine. So my program would be structured like this:

GOSUB ORDER CHICKENS
GOSUB COUNT CHICKENS

GOSUB PRINT TOTAL


‘GOSUB’ means go away and perform that subroutine, then come back and go to the next line.

So my program order is complete. What I have to do now is complete the coding for the subroutines. So my subroutine for ordering the chickens so that I can count them would look like this:

SUB ORDER CHICKENS
CREATE A NARROW CORRIDOR THAT ONLY FITS ONE CHICKEN AT A TIME
GRAB ONE 
IF HAND NOT EMPTY, FIX IT IN LINE
END SUB

But then I realise that, hey, before I fix the chickens in place, I need to first get rid of the eggs – because as everyone knows, you can’t count your chickens before they hatch (lame, I know…). That’s when I need another subroutine inside my subroutine. This is called a NESTED subroutine (all in keeping in line with the avian theme!). 
So my ORDER CHICKENS subroutine needs an extra line:

SUB ORDER CHICKENS
CREATE A NARROW CORRIDOR THAT ONLY FITS ONE CHICKEN AT A TIME
GRAB ONE 
GOSUB SCREEN FOR EGG

IF HAND NOT EMPTY, FIX IT IN LINE

END SUB

 

And my nested SCREEN FOR EGG subroutine would be like:

SUB SCREEN FOR EGG
IS IT AN EGG?
IF YES THEN PLACE IN SEPARATE BASKET
END SUB

Why put it in a separate basket? Because as everyone knows, you shouldn’t put all your eggs in one basket (I’m on fire today!).

One more thing I learnt that it helped to put comments in your programs as a marker to help you keep track of what actions each part of the program performed. We used the word ‘REM’, which is short for ‘remark’. So my little program might look like this:

REM CHICKEN COUNTING PROGRAM BY CRAIG GODFREY
GOSUB ORDER CHICKENS
GOSUB COUNT CHICKENS
GOSUB PRINT CHICKEN TOTAL

SUB ORDER CHICKENS
REM THIS SECTION PUTS ITEMS IN UNIFORM ORDER FOR COUNTING 
CREATE A NARROW CORRIDOR THAT ONLY FITS ONE CHICKEN AT A TIME
GRAB ONE 
GOSUB SCREEN FOR EGG
IF HAND NOT EMPTY,  FIX IT IN LINE
END SUB
SUB SCREEN FOR EGG
REM DON’T WANT EGGS TO BE COUNTED AS CHICKENS!
IS IT AN EGG?
IF YES THEN REMOVE FROM LINE AND PUT IN SEPARATE BASKET
END SUB


So then I need to complete all my other subroutines in the same way (COUNT CHICKENS, and PRINT CHICKEN TOTAL), and my program would be finished .
And that is the method I learnt to write my computer code. 

So what is the point of all this, and what does it have to do with The Good Samaritan?

Well, if we read the parable as a stand-alone story, then we see a fantastic picture of hospitality and human kindness in action. But is this the point of the story, or another sub-plot inside the story to clarify the original meaning?
Well, let’s go back to the start and see if we can get some context here. 

Jesus had commissioned 70 people to go before Him to the villages and towns to testify of Him (Luke 10:1-17). They came back with wondrous stories of salvation and deliverance (v17). Jesus then prays and thanks His Father that He has chosen to withhold these things from the wise and prudent (v 21-22). 

Right on cue, as if to prove a point, a ‘wise and prudent’ lawyer rises to ask Jesus the question:

“What shall I do to inherit eternal life?” (v25). 

This is a stupid question. When was the last time you had inherited something? And what did you have to do to inherit it? Exactly – nothing! You just had to wait until someone died in order for you to receive it. The lawyer was demanding his inheritance without anyone paying the ultimate price for it – no different than the Prodigal Son, which explains why Jesus later tells that story. Tuck that thought away at the back of your mind, and we’ll come back to that later.

The lawyer thought he could earn his inheritance cheaply by bribing his way into heaven with good deeds. So Jesus asked Him ‘what is written in the law, how do you read it? (v26)’. 

Whenever you hear someone trying to earn their way into heaven, always bring them back the law (The 10 Commandments).


The lawyer replied “Love the Lord your God with all your heart and with all your soul and with all your strength and with all your mind’ and, ‘Love your neighbor as yourself.” (v27). He knew exactly what the law said and how to live it out.

Jesus said ‘Correct. Do this and you will live.’ (v28). He was right. If you love the Lord your God with all your heart, soul, strength and mind, and love your neighbour as yourself perfectly, then you will inherit eternal life. 

But that’s the catch, we have to do it perfectly. ‘Be perfect, therefore, as your heavenly Father is perfect’ (Matt 5:48). 

More than 50% will not do. 99.9999…% will not suffice. Perfect laws require perfect law-keeping. One slip-up and the gavel of righteousness is justified towards you. ‘For whoever keeps the whole law, yet stumbles at just one point is guilty of breaking all of it’ (James 2:10).

‘But wanting to justify himself, he said ‘And who is my neighbour?’ (v29). 
Why was he trying to justify himself? Because he knew he had fallen short of the ‘all your heart’ mark. 
Plan ‘A’ was not working out, so he was looking for a Plan ‘B’. He was thinking ‘If I can short-cut this perfection thing by narrowing down my target audience, I can do this’.  
Jesus knew this, hence why He tells the story of The Good Samaritan.

The story is a beautiful picture of human compassion and kindness in action – yes, I agree. But it is much more than that. Littered throughout the story are also little markers of law and gospel.
For instance, why did the Priest and the Levite cross the road? No, it’s not the start to a another sick chicken joke…it’s to prove that the law cannot save us. When they saw the man down, they did not want to touch him for fear of being unclean, otherwise they would have to jump through a gazillion hoops in order to cleanse themselves.

You see, the law does not free you, the law actually imprisons you the more you try to follow it. The more effort we produce in order to follow it, the more we realise how futile our attempts are. This is the purpose of the law, to show us how much we are in need of a Saviour, who fulfilled the law on our behalf (Matt 5:17). 
This mirrored exactly what the lawyer was trying to do – fulfilling the law as best he could in order to make himself look good, not realising that the law was self-defeating, in that it side-stepped the very human morals for which it was created to serve; i.e. preserving our fellow man.

I’m not going to focus much more on the story itself, because I believe the answer to the lawyers’ question of how to inherit eternal life is outside the story. Why do I believe that? One reason only:
The lawyer was trying to justify himself because he could not love God with everything, and love others as himself. Why would Jesus then try to convince him to love others more? It doesn’t make sense.

The penny dropped for me when I looked at the interplay of the questions either side of the parable:
‘…and who is my neighbour?’ (v29)
‘So which of these three do you think was a neighbour to him who fell among the thieves?’ (v36)
‘He who showed mercy on him’… (v37)
‘…go and do likewise’ (v37)

The lawyers’ neighbour was not the dying man at the side of the road. 
His neighbour was the one who showed him mercy.

 

If we look at the Parable with tunnel vision only, we are missing the point entirely. Pan out from it and we see it is an answer to finding our neighbour. Pan out a little more and we discover exactly who our neighbour is.

Back to our analogy of computer programming. In the same way a subroutine is a task within a task, it does not define what the purpose of the program is. It is subordinate to the main task. 
For example, if I focused on the ‘SCREEN FOR EGG’ nested subroutine only, I could say that the whole purpose of my program is to separate eggs from chickens. But that would be silly – we already know that the purpose is to count chickens. The subroutine is a very important component, but it is there as a means to fulfill the main task only.

In comparison, the Parable Of The Good Samaritan is subordinate to the question ‘What Must I Do To Inherit Eternal Life?’.

If I would display Luke 10:25-37 in computer programming terms, it would look like this:


REM HOW TO HAVE ETERNAL LIFE, BY JESUS CHRIST

 
WHAT MUST I DO TO INHERIT ETERNAL LIFE
             WHAT DOES SCRIPTURE SAY
                          LOVE GOD, LOVE NEIGHBOUR
               WHO IS MY NEIGHBOUR
                           PARABLE OF GOOD SAMARITAN
                NEIGHBOUR = HE WHO SHOWS MERCY

GO AND DO LIKEWISE

QUESTION: WHAT MUST I DO TO INHERIT ETERNAL LIFE?
ANSWER: LOOK FOR THE ONE WHO SHOWS YOU MERCY.


Remember the thought we tucked away earlier that someone had to die in order for us to inherit something? This is the key that unlocks the beautiful treasure of this passage.
We cannot ‘do’ anything to inherit eternal life. But we try. We try hard, and we try harder. And when we don’t succeed, we try harder still. But we can’t do enough. Why? 
Because doing something with all our heart, mind, soul and strength requires 100% focus, 100% of the time. It is a physical impossibility. And that was the way it was designed. If we could achieve it we would be able to say ‘look what I did!’. But eternal life is not based on how much we do:
‘For by grace you have been saved through faith, and that not of yourselves; it is the gift of God, not of works, lest anyone should boast (Eph 2:8-9).

Eternal life is via a gift of God. And what is that gift? The death, and resurrection of His Son Jesus Christ. It is His death that we claim the inheritance of eternal life from, through faith.
So instead of us saying do more, do, do, do – we can look at Christ, our benefactor, and say ‘it is done!.

So can the Parable of the Good Samaritan teach us to be nice to our neighbour? Well I guess you could extract that out. But there are other bible passages that show that better. This is not the main goal of this story, though.

When you next read this parable, remember that it is not a call to look for people to be a neighbour to (although that is not a bad thing), rather it is a call to look to Jesus Christ – the one who shows you mercy – and saves you from the law of sin and death (Rom 8:2).

Blessings.

This Post Has 2 Comments

  1. Anonymous

    good stuff, Craig. Keep it up!

    David

Leave a Reply to Anonymous Cancel reply