Data Structures for Programmers

A good understanding of data structures separates the master programmer from the noob. Some make it possible to get faster solutions to problems; and who doesn't want faster code? 1. Heaps In heaps, child nodes are always larger than their parents so the smallest element is at the root of the tree. (Max-heaps are the converse, … Continue reading Data Structures for Programmers

Beautiful Code 1 : 5 Symptoms of Software Rot

I used to wonder why people would refer to software development as an art; to me there was absolutely no correlation between programming and art. However, after hacking at software for years and writing all sorts of software: crappy ( I bet I'll would hide my face in shame if I see some of my … Continue reading Beautiful Code 1 : 5 Symptoms of Software Rot

The Java Virtual Machine

The Java vision was to empower developers to "write once, run everywhere". One way of achieving platform independence is to use middleware to mask differences. Enter the JVM; a stack-based virtual machine that uses 32-bit words, performs arithmetic using 2-complement and can execute compiled Java bytecode, typically .class or .jar files. The beauty of middleware ensures … Continue reading The Java Virtual Machine