Quantcast
Channel: Theory
Browsing all 98 articles
Browse latest View live

Compression - the Starr Guide

Compression is an exciting topic - and here's an  exciting explanation that shows why, via encryptions, Morse code, entropy and saying "umm" too often.

View Article



Brackets are Trees

Brackets are at the heart of programming. Understand brackets and you can rule the earth - no, seriously! Brackets, trees and stacks are all interconnected in a very deep and fundamental way.

View Article

Sorting Algorithms as Dances

The surprise viral success of I Programmer's year has to be the amazing "Sorting Algorithms as Dances", a set of videos by Sapientia University that show how to sort things by dancing the various...

View Article

A Simple Virtual Machine

Virtual Machines have more uses than you might imagine. We have a real example of how a VM can be used to increase the security of your code.

View Article

Understanding the Fourier Transform

The Fourier transform crops up in a wide range of everyday programming areas - compression, filtering, reconstruction to mention just three general areas. You can get away with using it without...

View Article


The Programmer's Guide To The Transfinite

You may have heard a rumor that infinity comes in a number of different types. Now you can get to the bottom of the theory and the misconceptions with Aleph Zero and all that, a programmer's view of...

View Article

Simple Runtime Framework by Example

These days we are  surrounded by different software frameworks. Java, and .NET to name but two, and, there are many more. Have you ever wondered how they work or have you ever wanted or needed to...

View Article

Lambda Calculus For Programmers

You may have heard of "the lambda calculus" - it's the reason lambda expressions are so called. You may know that it is something to do with computability, and so any explanation of how it works should...

View Article


The Invertible Bloom Filter

If you think that the Bloom filter is magic, wait until you see the invertible Bloom filter. This not only keeps a record of data, it allows you to add, delete and make a list of the data you have...

View Article


Dangerous Logic - De Morgan & Programming

Programmers are master logicians - well they sometimes are. Most of the time they are as useless at it as the average joe. The difference is that the average joe can avoid logic and hence the mistakes....

View Article

What Exactly Is A First Class Function - And Why You Should Care

You may have heard people saying that in some language or another that functions were first class objects, or have come across the term first class function. What does it mean? And why is it so good?

View Article

What Is Asynchronous Programming?

Asynchronous programming has become very important in the last few years, but many programmers find out about it by doing it. So what exactly is asynchronous programming, why is it necessary and why is...

View Article

Axiom Of Choice - The Programmer's Guide

This week's xkcd cartoon is all about the axiom of choice. It sounds complicated or trivial depending on what you read into it. We just think it's a good opportunity to explain a really interesting idea.

View Article


Functional And Dysfunctional Programming

This week's xkcd cartoon raises a can of worms - not a pretty picture. What is functional programming? Surely all our programs should function in some way or other? No - that's not what it means....

View Article

Who’s Afraid of eXtreme Programming

You probably have heard of eXtreme Programming or XP. It's a type of agile software development and a lot of people think it's great. Some are trying to turn it into something more like software...

View Article


Think Global, Act Local - The Bigger Pattern

The big issue in architecture is usually the choice between global and local implementation.  However, this is so all-pervasive a choice that we tend to miss that there is more to the idea that you...

View Article

The Monty Hall Problem

The Monty Hall problem is an exercise in probability theory that even experts get wrong. It seems to be subtle and even paradoxical, but when you notice exactly what is going on it becomes obvious....

View Article


The Working Programmer's Guide To Language Paradigms

You would think that we would agree on how best to program. In fact we are still warring tribes trying to make the case for our own particular view of how programming should be done. The question is:...

View Article

Covariance And Contravariance - A Simple Guide

Programming, and computer science in particular, has a tendency to use other people's jargon. Often this makes things seem more difficult. You may have heard of  covariance and contravariance and...

View Article

Late Binding - Myths and Reality

Late binding in .NET – the accepted wisdom is that it’s complicated, advanced and VB does it better than C#. We explain that it’s easy and C# and VB are equally good at it and illuminate what is going...

View Article
Browsing all 98 articles
Browse latest View live




Latest Images