The first piece of code most Java students see is the “Hello World” application. Despite the simplicity of what the program does, the code itself has a lot going on. There are words like class, public, static, void, and String[]. Why is all of this code here, and what does it do? In this blog post, we’ll break down Java’s “Hello World” program, and explain what all of the component pieces actually mean.
Author: Ryan Vogt
Rewinding Time with Git
“It was working ten minutes ago”. I remember saying that numerous times as a student, and now many of my students say something similar. If only there were a way to rewind our code by ten minutes, or to see what’s changed about our code in the last ten minutes. This blog post demonstrates how we can do both of these things with Git.
Constant Pointers in C: Reading Right to Left
The “const” keyword in the C programming language, when applied to pointers, can be quite confusing to read. How do you read a variable declaration like “const char *const *const p”? This blog post explains how to read these declarations, and demonstrates the technique of reading them from right to left.
Singletons with Initialization Methods
The singleton design pattern guarantees that only one instance of a given class will be constructed. But, how can we address any exceptions that get thrown while this instance is being created? In today’s post, we’ll show how this issue can be solved using a special singleton initialization method, along with Java’s standard IllegalStateException class.
Allocating Arrays with calloc(3) Instead of malloc(3)
In this blog post, we’ll explore dynamically allocating memory for an array in C. In particular, we’ll see why the idiom of malloc(3)’ing memory equal to the number of elements in an array multiplied by the size of each element should be avoided, and why calloc(3) should be used instead.