I’ve been evaluating the new Microsoft Silverlight technology recently, and have ported a game I wrote a while ago to run on it. Nibbles (sometimes called Snake) is the classic game where you guide a snake around collecting numbers and avoiding obstacles. You can play my version of it online here. It should run in IE or FireFox and can supposedly even run on a Mac. You will need to install the Silverlight 1.1 Alpha plugin first though. You can think of Silverlight as Microsoft’s equivalent to Flash, but it has the nice advantage that you can program it using .NET code.
Monthly Archives: May 2007
Trinity .NET
If you ever read a systematic theology, one of the most technical parts is the explanation of the doctrine of the Trinity (or, as my four year old daughter Lily calls it, the “holy, blessed and glorious chimney”). Wayne Grudem has gone beyond mere words and attempted to use diagrams (Systematic Theology p253-255) to explain both what is not meant as well as what Christians believe. But as a computer programmer, I prefer to think in terms of classes and interfaces. So here I present the doctrine of God in C#.
First we need to define some interfaces, to give us the three persons of the Godhead. An interface allows us to define the properties and methods of an object, without having to specify how they are implemented (which is good because it is easier for us to say what God does than how he does it). Naturally, there will be some commonality, defined in IPerson, as well as certain activities unique to each member of the Trinity.
public interface IPerson {
…
}
public interface IFather : IPerson {
…
}
public interface ISon : IPerson {
…
}
public interface IHolySpirit : IPerson {
…
}
Now the temptation would be simply to finish this off by creating a class that implements all three interfaces:
// No! Heresy!
public class God : IFather, ISon, IHolySpirit {
…
}
But this would not do! We would have created the heresy of modalistic monarchianism, and defined a unitarian God – one God who can appear in three different forms. We need concrete classes to represent the fact that the three persons of the godhead are indeed real and distinct persons:
public partial class Father : IFather {
…
}
public partial class Son : ISon {
…
}
public partial class HolySpirit : IHolySpirit {
…
}
Notice we have defined these as partial classes. We will not be able to compile our code. This is because God is infinite and cannot be fully known. There is more to each person of the Trinity than we are able to comprehend. But God is not unknowable – he has revealed himself to us – hence we do have these partial classes. We of course must not stop here, for so far we have got another heresy – tritheism. We cannot simply have three objects kicking around – we need a container class to represent the Trinity. We must continue to construct our C# doctrine of God:
[LoveAttribute]
[HolinessAttribute]
public static final class God : IFather, ISon, IHolySpirit {
private static readonly List<IPerson> persons = new List<IPerson> {
Father.Instance, Son.Instance, HolySpirit.Instance
}
public override Equals(object other) {
return false;
}
…
}
A few things to notice:
- This is a static class – there is only one God. He is a singleton. We need not concern ourselves with race conditions on startup as he is also eternal (a new keyword perhaps for C# 4.0).
- This is a final class – we will not be adding any capabilities to God in the future – he is complete
- This is a public class – God is knowable because of his self-revelation
- The list of persons is private and readonly – the Trinity will not be accepting any external additions of new IPersons
- If we want to apply any custom attributes to our class (such as FaithfulnessAttribute, JusticeAttribute, LoveAttribute), we will apply them directly to the God class, as they apply equally to all three persons. I have not shown the definitions of these attributes but naturally some will inherit from CommunicableAttribute and some from IncommunicableAttribute.
- Despite my comments above on modalistic monarchianism, I have actually chosen to apply the IFather, ISon and IHolySpirit interfaces to this class. At the very least, IFather is necessary as the Bible quite interchangably refers to the Father simply as God. But also the Son and Spirit are not wrongly described as “God” either.
- This means that the God class implements IPerson. I leave it to your own understanding of ontological equality and economic subordination to determine how a call to a method or property of IPerson would be delegated to the appropriate member of the Trinity. Naturally you could make explicit calls to individual members of the Trinity by casting God into the appropriate Person’s interface, but they may choose to delegate back up to the godhead. Hence calling Jesus.Forgive(me), Father.Forgive(me) and God.Forgive(me) will achieve the same operation.
- We have chosen to call our class God, but Godhead, HolyTrinity or even Yahweh may have been a more appropriate naming choice (feel free to discuss in the comments).
- Notice we resisted the good C# programmer’s instinct to implement additional interfaces. God is not ISerializable, IClonable, and certainly not IComparable.
- We have found it quite easy to override the Equals method – nothing is his equal, so we shall return false.
Thank you for listening to my first installment in my forthcoming magnus opum – Theology .NET. Next up I will be explaining the algorithm behind the doctrine of election.
Book Review – The Great Omission (Dallas Willard)
The introduction to this book claims that there exists a “Great Disparity” in Christianity, between the hope of “new life”, and the actual experience of many Christians. Despite many shining examples through church history, the fact remains that many believers do not live noticeably differently from the world around them. He asks then, is this a problem with the gospel itself – does it really have power to transform? Or is it a problem with ourselves?
If it doesn’t work at all, or only in fits and starts, that is because we do not give ourselves to it in a way that allows our lives to be taken over by it.
Dallas Willard argues that the urgent need of the church is to recover the practice of “discipleship”.
A disciple is a learner, a student, an apprentice – a practitioner, even if only a beginner. … Disciples of Jesus are people who do not just profess certain views as their own but apply their growing understanding of life in the Kingdom of the Heavens to every aspect of their life on earth.
So the book is devoted to exploring how we become disciples. After all, the in the Great Commission, Jesus tells us “as disciples to make disciples.” It is our failure to do this that is the “Great Omission”.
The book itself was not written as a book. It is a series of essays, lectures, book reviews and interviews all around the subject of discipleship. For the most part, this approach works surprisingly well, although it does mean a certain amount of repeated material, and perhaps a little loss of focus towards the end. While most of the chapters are accessible, a few of the lectures are a bit more academic, and more philosophical in nature. However, Willard is very quotable – I found myself underlining large parts of this book, and I will share some of these sections in this review.
The first chapter establishes the idea that “discipleship is not optional”. He states that:
Most problems in contemporary churches can be explained by the fact that members have never decided to follow Christ.
The problem is not easily fixed by telling people that Jesus is “supposed to be Lord” of their lives, as though it were an optional extra. He points the finger at explanations of the gospel that merely focus on “salvation” and missing any concept of “obedience”. The Great Commission has been modified from “make disciples” to “make converts and church members”.
A disciple is someone who has counted the cost, and desires above all else to be like Christ. They therefore “systematically and progressively rearrange their affairs to that end”. But if there is a cost to discipleship, there is also a cost to non-discipleship:
In short, non-discipleship costs you exactly that abundance of life Jesus said he came to bring.
The second chapter deals with the question of “why bother with discipleship”. After all if you can have your sins forgiven so you get to go to heaven when you die, surely that is good enough. He strongly opposes this viewpoint.
There is absolutely nothing in what Jesus himself of his early followers taught that suggests you can decide just to enjoy forgiveness at Jesus’ expense and have nothing more to do with him.
He agrees with Tozer’s assessment that the idea of accepting Jesus as Saviour but postponing obedience to him as Lord is in fact heretical.
This “heresy” has created the impression that it is quite reasonable to be a “vampire Christian”. One in effect says to Jesus, “I’d like a little of your blood, please. But I don’t care to be your student, or have your character. In fact won’t you just excuse me while I get on with my life, and I’ll see you in heaven.”
Failure to become disciples will result in us remaining “locked in defeat as far as our moral intentions are concerned”.
Only avid discipleship to Christ through the Spirit brings the inward transformation of thought, feeling and character that “cleans the inside of the cup” (Matt 23:25) and “makes the tree good” (Matt 12:33)
Willard anticipates some possible objections to this teaching. The first being that calling to serious discipleship could be construed as Pharasaism.
[The Pharisees] located goodness in behavior and tried to secure themselves by careful management at the behavioral level. However, that simply cannot be done. Behavior is driven by the hidden or secret dimension of human personality, from the depths of the soul and body and what is present there will escape. Hence the Pharisee always fails at some point to do what is right, and then must redefine, re-describe, or explain it away – or simply hide it.
In contrast, the fruit of the spirit, as described by Jesus, Paul, and other biblical writers, does not consist in actions, but in attitudes or settled personality traits that make up the substance, of the “hidden” self, the “inner man”.
The second objection is that the call to discipleship is thought by some to be in antithesis to grace – an attempt to pay back God for our salvation which we did not earn. He repeatedly replies to this objection with the assertion that
Grace is opposed to earning, not to effort. Earning is an attitude. Effort is an action.
We must stop using the fact that we cannot earn grace (whether for justification or for sanctification) as an excuse for not energetically trying to receive grace. Having been found by God, we then become seekers of ever-fuller life in him.
In other words, calling Christians to put all their effort into following Jesus is not in any way anti-grace, but is in fact quite biblical.
So having established the importance of discipleship, he then goes on to explain the practical ways one goes about becoming a disciple. He uses the term “spiritual formation” to describe the process of the transformation of our spirits to become more Christlike. The methods he proposes may surprise some. He does not focus on typical devotional activities such as Bible reading, prayer and church attendance. Nor does he suggest things such as exercising spiritual gifts, evangelising or social action. Rather, he sees spiritual disciplines such as solitude, silence, fasting and meditation as being key to spiritual formation. Other disciplines he encourages are private hymn singing and Bible memorisation.
This is perhaps again a point on which many evangelicals will get nervous. While the “spiritual disciplines” are not outright rejected, they certainly are not thought to be primary as means of spiritual growth. The second part of the book sets about explaining in greater detail how these spiritual disciplines are able to transform our character.
Spiritual disciplines are activities in our power that we engage in to enable us to do what we cannot do by direct effort.
Spiritual formation is the process whereby the inmost being of the individual takes on the quality or character of Jesus himself.
Spiritual formation does not aim at controlling action. … God is looking for those who worship him in spirit and in truth. We cannot fake before God. … To focus on action alone is to fall into pharasiasm of the worst kind and to kill the soul.
He takes some time to criticise the concept that God will just transform us with a lightning strike of the Spirit without the need for a process. This is common in some evangelical circles where the prayer is that God will send revival on us to change us in an instant without any need for effort on our own part.
What we must understand is that spiritual formation is a process that involves the transformation of the whole person, and that the whole person must be active with Christ in the work of spiritual formation. Spiritual transformation into Christ-likeness is not going to happen unless we act.
As I often point out to folks, today we are not only saved by grace, we are paralysed by it.
Again he urges us not to reduce the gospel to merely dealing with sin. “A gospel of justification alone does not generate disciples”. We are to trust in Jesus for everything, not just forgiveness of sins. “The gospel is new life through faith in Jesus Christ.”
For Willard, the most important part of spiritual formation is learning obedience. For this reason, we must regain an appreciation of Jesus as teacher. He bemoans the fact that few if any churches have any strategy for systematically teaching believers all the teachings of Jesus. He stresses the vital importance of Scripture memorisation. Being transformed in our characters so that we can obey him involves deliberate planning on our part.
We enter into each of Jesus’ teachings by choosing different behaviours that are relevant, finding the space – making the arrangements – in our lives to put them into action and re-visioning the situation in the new behavioural space that includes God.
The later parts of the book spend some time explaining the value he sees in disciplines such as solitude and silence, both of which he considers to be very important. The final section of the book is given to short reviews of books that may prove helpful. Many of these are written by or about Christian “mystics” and perhaps would be treated with a level of suspiciousness by many evangelicals. But Willard argues that there is much to be learned from them, particularly in regards to focusing our hearts and minds on God as we spend time in solitude with him.
This is certainly a provocative and challenging book and one I would thoroughly recommend. The call to discipleship is conspicuous by its absence in many churches, which can focus solely on doctrinal correctness, or evangelism, or social action without ever really addressing the transformation of the character. He does a good job of addressing some of the concerns that may be raised by his emphasis on discipleship, although I suspect that not all readers will share his enthusiasm for the spiritual disciplines. But in any case, this book deserves a wide readership and I pray that it will be instrumental in putting discipleship and spiritual formation back on the agenda in many churches.