Friday, November 23, 2012

1.0 Scriptural Patterns in Software Development

In the Beginning God

In the beginning was the Word, and the Word was with God, and the Word was God. He was with God in the beginning.
Through him all things were made; without him nothing was made that has been made (John 1:1–3 NIV84).
I love software development. I don't have a bachelor's degree nor do I have any degree in computer science, but for over twenty years I've had the joy of working in the software development industry and I love it. The Logos of God, the full expression of God, God's Wisdom, God's Ultimate Craftsman, the Lord Jesus Christ through Whom the Father created the universe has been at my side that entire time, answering my supplications as I called to Him for wisdom, leading me into all truth and showing me His glory along the way. I am very grateful.

Design Patterns/Pattern Language

Nevertheless, death reigned from the time of Adam to the time of Moses, even over those who did not sin by breaking a command, as did Adam, who was a pattern of the one to come (Romans 5:14 NIV84).
They serve at a sanctuary that is a copy and shadow of what is in heaven. This is why Moses was warned when he was about to build the tabernacle: "See to it that you make everything according to the pattern shown you on the mountain (Hebrews 8:5 NIV84)."
Did God invent pattern language or is it an attribute of His nature? I'm convinced it is an aspect of the Logos of God, but in either case it is a gift from God for software development. I'll admit that I'm often confused and discouraged by design patterns literature, but design patterns give us a way of communicating about software architecture and learning about best practices. I imagine it's been around in one form or another since the beginning of computer programming. The most useful design pattern is a working system, just as the best Bible teaching comes from a life well lived.

Naming The Animals

I had intended to start out with an associates degree in computer science but wasn't interested in Cobol or mainframes. I wanted to work with micro computers. Back in the early 1980s I was warned that micro computers meant micro paychecks, but I was working with Ashton Tate's dBase II and I really enjoyed it. I ended up getting an associates degree in business administration from Anchorage Community College and later took some programming classes at The Evergreen State College where I also took an interdisciplinary environmental studies program that combined marine biology, political science and water chemistry. It was fascinating.

When the marine biology professor talked about the taxonomy (classifications) of marine invertebrates he'd often begin with the phrase "the taxonomy of this is all messed up." The text told us that there are three ways you can come up with a taxonomy: 1) looking at the over-all shape (morphology) of the various species, 2) comparing their DNA structures or 3) assigning points to their various characteristics. The funny thing is that--even though evolution is supposedly the foundation of all life sciences--each of these different methods will lead to different taxonomies. The evolutionist is forced to say, "These two species look very much alike but their DNA is quite different. They must have arrived in similar places through very different evolutionary routes." Sure.

God gave Adam the first scientific mission of all times when He told him to name the animals. A good name captures the essence of a thing. Adam had to study each creature, compare and contrast it with the others and come up with the perfect name. Not an easy task.

At the end of the day, software development is about writing code. The biggest expense associated with that code is the maintenance of it, and maintenance begins long before the first version is ever shipped. The more readable it is the less it costs to maintain. Code that is organized in a reasonable manner with well named variables, classes, methods and attributes is a great asset for the organization that owns it. I'm a maintenance programmer and I've read a lot of code over the years. Naming those animals is still one of the most challenging and important things that we do.

One thing I know for sure, brain-dead naming conventions lead to the worst names of all. Also, I've learned to have a healthy scepticism about names. An object is what it's used for, hopefully the name reflects that, but not always.
A good name is more desirable than great riches (Proverbs 22:1 NIV84)...

A Way that Seems Right

Do not move an ancient boundary stone set up by your forefathers (Proverbs 22:28).
Make level paths for your feet and take only ways that are firm. Do not swerve to the right or the left; keep your foot from evil (Proverbs 4:26–27 NIV84).
Neither do men pour new wine into old wineskins. If they do, the skins will burst, the wine will run out and the wineskins will be ruined. No, they pour new wine into new wineskins, and both are preserved (Matthew 9:17 NIV84).
Wisdom is supreme; therefore get wisdom. Though it cost all you have, get understanding. Esteem her, and she will exalt you; embrace her, and she will honor you. She will set a garland of grace on your head and present you with a crown of splendor (Proverbs 4:7–9 NIV84).
I began working with relational databases on micro computers long before they could legitimately claim to be relational. I suppose Edgar F. Codd may still be looking down wondering if anyone will ever get it right. I've worked with dBase II, dBase III, Paradox, Microsoft Access, SQL Anywhere, Microsoft SQL Server and DB2. I've programmed in each of the databases I've mentioned, Clipper, Delphi, Powerbuilder, Visual Basic, VB .Net, C# and Java. Love me some Structured Query Language, baby. Along the way I've learned the hard way that you can't program in a new language or environment the way you did in the old one. I remember trying to program Paradox the way I did dBase. What a disaster!

It's crazy. I'm a highly intuitive person with an attention deficit disorder. Everything in me screams that I should be able to just envision a system and build it using the simplest of constructs. I can, but only in my dreams. In the real world, I have to research and discover best practices. Approaches that make little sense to me are often the most practical ones. Only after I've used them a few times do I internalize them.
There is a way that seems right to a man, but in the end it leads to death (Proverbs 14:12 NIV84).
Slinging code is a great way to make a living. I hope I can keep doing it for at least another twenty years. Of course, it would be great if I could afford to retire then I could spend more time programming.

In This Way Death

Adam On the High Price of Disobedience

Therefore, just as sin entered the world through one man, and death through sin, and in this way death came to all men, because all sinned... (Romans 5:12 NIV84)
We can learn a lot from this verse if we reflect on the "just as" and the "in this way" and then journey through the scriptures to see what mistakes Adam made, what we can learn from them and how we can make better choices.

Beyond all doubt Romans 5:12-21 centers on Christ: His example of obedience and the great things He accomplished for us in His mighty work of redemption. However that work was necessitated by Adam's act of disobedience and the terrible results of that disobedience in the lives of each of Adam's descendants.

There were four players in the great drama of the first act of disobedience: God, Who gave Adam one specific command (And the LORD God commanded the man, “You are free to eat from any tree in the garden; but you must not eat from the tree of the knowledge of good and evil, for when you eat of it you will surely die (Genesis 2:16–17 NIV84).” ); Satan, the father of lies, who was a murderer from the beginning; Eve, one flesh with Adam, his one and only companion, his partner in establishing God's reign on the earth; and Adam, who needed to make a decision.

Besides God's commandment and the call to love God with all his heart, mind, soul and strength there were three influences on Adam: the world, the flesh and the devil. We've mentioned the devil who desired to steal all that God had given Adam, to separate Adam from God and to destroy God's kingdom on earth. Adam's flesh included all of his human nature without consideration of God. This battle was not about Adam choosing his lower nature instead of his higher nature, it was about him choosing to disregard his relationship with God.
Do not love the world or anything in the world. If anyone loves the world, the love of the Father is not in him. For everything in the world—the cravings of sinful man, the lust of his eyes and the boasting of what he has and does—comes not from the Father but from the world. The world and its desires pass away, but the man who does the will of God lives forever (1 John 2:15–17 NIV84).
Through the eyes of his wife, Adam saw that "the fruit of the tree was good for food and pleasing to the eye, and also desirable for gaining wisdom (Genesis 3:6 NIV84)." Genesis 3:6 spells out the lust of the flesh, the desire of the eye and the pride of life involved in this temptation, but what worldly influence was there?

Adam's world revolved around his wife, Eve. Before the fall he said of her, "This is now bone of my bones and flesh of my flesh; she shall be called ‘woman,’ for she was taken out of man (Genesis 2:23 NIV84)." Notice that he did not name her at this point. Naming her would imply that he had power over her. He just said that she would be called woman. He recognized how everyone would perceive and address her. Also, he declared her essence. Woman is a marvelous word. It sounds like man, but it isn't man. Women are equal to men in every respect but they are different. That's all I'm saying.

It's been pointed out that Adam was with Eve while she was being tempted by the enemy of her soul and did nothing to support her. He remained silent and just waited to see how things would play out. I think that is a true and useful observation, but what did the Apostle Paul say about this?
For Adam was formed first, then Eve. And Adam was not the one deceived; it was the woman who was deceived and became a sinner (1 Timothy 2:13–14 NIV84).
This language may sound harsh to our modern ears, but there are two things here that are critical to the topic at hand:
  • Adam was formed first. That put him in a place of responsibility. He was called by God to be the servant leader.
  • Adam knew what he was doing. He was not fooled by the lies of the devil. He brought destruction on his family with full knowledge of what he was doing.
No temptation has seized you except what is common to man. And God is faithful; he will not let you be tempted beyond what you can bear. But when you are tempted, he will also provide a way out so that you can stand up under it (1 Corinthians 10:13 NIV84).
The enemy of our souls is capable of using much more cunning deceptions than he does, but God does not allow him to and, frankly, he doesn't need to. We fall for lies that we know are utter nonsense. We choose to believe things like:
  • If I just have this one shiny thing, I'll be happy.
  • Some lucky dog's gotta win.
  • I can play with fire and not get burned.
When we believe this nonsense we:
  • Focus on our own selfish needs and childish egos
  • Disregard the God who created us and sent His Son to die for us
  • Bring trouble on those we care the most about
I don't believe we are guilty of Adam's sin, but we did inherit his conditions. As a result of Adam's act of disobedience we have a sinful nature to contend with. Trouble has come on all of us because of Adam, but Christ's obedience has given us a new opportunity. When we give our lives to the One Who gave His life for us we are born-again, made new, free to make better choices. No destructive habit, no character flaw, no personality weakness has power over the child of God. We still have a sinful nature to deal with but by daily surrendering to the authority of Christ in our lives, confessing our failings and seeking to follow the leading of God's Spirit we can live a victorious Christian life.

How can we avoid the way of death?
  • Recognize that the enemy of our souls desires our destruction and will tell us all sorts of lies that appeal to our selfish desires and childish egos
  • Disobeying God will bring trouble on us, our families and those around us
  • We need to listen to others, but we also need to acknowledge God and when we do that He promised to direct our paths
God does love us and He has a wonderful plan for our lives.

Thursday, November 22, 2012

Misreading Romans 5:12

What's Wrong with Teaching We're Guilty of Adam's Sin?

Therefore, just as sin entered the world through one man, and death through sin, and in this way death came to all men, because all sinned... (Romans 5:12 NIV84)
The lion's share of the Evangelical theologians I've read have--in my humble opinion--gotten this verse terribly wrong. They follow Augustine who seems to be the first church father to teach that this verse means that we're all guilty of Adam's sin. Augustine got that idea from the Latin translation he read which says "in whom all sinned" instead of "because all sinned." Today's teachers know better than that, but they look at the tense of the verbs and say that "all sinned" at exactly the same time as "sin entered the world" and, they conclude, the only interpretation that could possibly make any sense is that God holds us all guilty of Adam's sin. The trouble is that they're making an inference. The verse itself does not plainly state that.

Robert H. Mounce in "The New American Commentary: Romans" tells us that the natural reading of this verse is that Adam's sin caused us all to have a sin nature and the result of that is that we have all sinned, which is consistent with rest of the book of Romans, Paul's other epistles, and--I would argue--the entirety of Holy Scripture.

The humble person lets scripture answer scripture. No other part of scripture suggests that any person is guilty of any other person's sins.
The word of the LORD came to me: “What do you people mean by quoting this proverb about the land of Israel: ‘The fathers eat sour grapes, and the children’s teeth are set on edge’?
“As surely as I live, declares the Sovereign LORD, you will no longer quote this proverb in Israel. For every living soul belongs to me, the father as well as the son—both alike belong to me. The soul who sins is the one who will die (Ezekiel 18:1–4 NIV84).”
Even if a church father asserted that Romans 5:12 tells us that we're all guilty of Adam's sin, it is pure hubris to build such an important doctrine on such flimsy evidence. Ezekiel 18 is very plain and appeals to our God-given sense of right and wrong. Romans chapter three is painfully clear that we each have a sinful nature and--as a result--have all sinned and fallen short of the glory of God.
As for you, you were dead in your transgressions and sins, in which you used to live when you followed the ways of this world and of the ruler of the kingdom of the air, the spirit who is now at work in those who are disobedient. All of us also lived among them at one time, gratifying the cravings of our sinful nature and following its desires and thoughts. Like the rest, we were by nature objects of wrath (Ephesians 2:1–3 NIV84).
What's wrong with the idea that we're all guilty of Adam's sin?
  • It is unnecessary. We all have plenty of failures of our own to drive us to the cross.
  • It is distracting. It suggests that our sins don't matter because, even if we had not failed ourselves, we'd still be guilty before God.
  • It is confusing. It keeps us from hearing what God is actually telling us in this section of scripture.
The point of Romans 5:12-21 is to compare and contrast Adam's act of disobedience with Christ's act of obedience so that we can firmly grasp the benefits of the atonement. We haven't just been forgiven. Just as Adam's act of disobedience changed our natures, so also Christ's act of obedience overflows to us so that we can be made righteous, not just legally, but in such a way that our natures are fundamentally changed and we--though we still have a sinful nature to contend with--can live a victorious life in Him.

Saturday, November 3, 2012

Evolutionary Crazy-Talk: Acceptable Discourse?

On This Week with George Stephanopoulos James Carville implied that people who do not believe in Evolution are crazy [1]. That same month (also on This Week), Andrew Sullivan made the charge much more clearly [2]. Bill Nye, The Science Guy, claimed that people who deny evolution harm young people and hamper scientific progress [3]. An ad hominem attack is not the most elegant rhetorical device and is usually associated with those who argue from a weaker position, but I don’t think this a harmless difference of opinions.

I am not in the least bit disquieted by people ridiculing me for believing that God created heaven and earth, for believing that mankind was created in the image of God, for believing that the Holy Bible is the Word of God, but I am convinced that there is something darker going on here.

What if there really is a segment of the population that refuses to listen to reason, that is actually harming young people and is hampering scientific progress? The most serious charge is that this group is doing harm to young people, but if they are hampering scientific progress then they are also preventing technological advancement and so are hurting the economy. That threatens everyone’s well-being. The obvious conclusion is that these people are a danger to society.

When we say that people are crazy we’re saying that they will not respond to conventional means of persuasion. That’s what we thought of the kamikazes of World War II. That’s what we think about Al Qaeda, the Taliban and the Ayatollahs. This is how we convince people that radical action is required.

I don’t think for a second that James Carville, Andrew Sullivan or Bill Nye harbor such heinous designs. I’m a big fan of each of them, but I would advise them to refrain from demonizing the 46% of Americans who believe in Creationism [4] because of the collateral damage that can be caused by this sort of rhetoric.

Is it really so crazy to not believe in Evolution? Let’s say that your brother and his wife are expecting. Is it unreasonable for them to expect a Homo sapien? Personally, I don’t think anyone really believes in Evolution. What we truly believe affects our actions. If the most strident advocates of Evolution really believed in the almost miraculous power of the survival of the fittest they would never advocate for the weak, give to the poor or work to strengthen any social safety net.

I remember when the press was reporting an unusually high number of mutations among frogs in Minnesota. Scientists were worried. Something must be terribly wrong with the ecosystem. No one seemed to be suggesting that such mutation was just part of the evolutionary process, that we should just stand by and see what awesome new species would result.

Bill Nye claims that if we don’t believe in Evolution, the foundation of all life sciences, that we’ll never come to the right conclusion in matters relating to biology. Really? That’s odd, because a blind faith in Evolution lead scientists to the conclusion that most of our genetic information is useless junk, left over from the all the mutations we’ve gone through. Now it’s clear that they were wrong [5].

What makes Bill Nye an expert on biology any way? He’s an engineer, not trained in the life sciences. How did evolution inform his career as an aviation engineer? Did he make random changes in plane design to see which ones would provide the greatest benefit? There’s nothing wrong with testing different implementations but those changes should be based on some precedent, logic or intuition.

I’m a software developer, but no information system comes close to the genetic information systems that regulate the many species that exist on this planet. The one thing I know for sure is that the more complex the system the more careful one has to be developing and maintaining it. It would be crazy for me to make random changes to the system and put them into production to see which ones succeeded. Intelligent design is a much more reasonable approach.

Unlike some Evangelical Christians I have no problem with brothers who hold to Theistic Evolution. I can’t see it myself, from either a scientific or scriptural standpoint, but I don’t think it’s an essential of the faith and I’m convinced that we should extend liberty to one another in this area.

I’m not afraid of Evolution. I’m not the one trying to stifle the debate. Believing that God created heaven and earth, made mankind in His own image and spoke to us through His Holy Word does not make me crazy or a danger to society. Those who say that I am should ask themselves if there is a better way to make their points.

[2] This Week With George Stephanopoulos, 10/28/2012