What is Java?

I played with making Java applets for a couple summers in college. I liked how I could render shapes on the Canvas element, and I often fantasized about making games, but stopped short at just making circles fly around, gravitate, collide, etc. Java looks like this:

public class PE1 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i < 1000; i++)
        {
            if (i % 3 == 0 || i % 5 == 0)
                sum += i;
        }
        System.out.println(sum);
    }
}

I never worked with Java professionally, but I'm still comfortable enough to make changes in Java programs and occasionally code a console app using javac on the commandline if my options are limited and I don't want to deal with C/C++ style strings.

Note: Java and JavaScript ("JS") are not the same thing. They're pretty dissimilar, in fact!

What is C?

C is an older language than most of what’s on my resume. C programs look like this…

#include 
#include 
 
int main(void)
{
  int i = 1;
  int sum = 0;
  while (i < 1000)
  {
   if (i % 3 == 0 || i % 5 == 0)
    sum = sum + i;
   i = i + 1;
  }
  printf("%i\n",sum);
  return 1;
}

And C++, C's slightly more modern counterpart, looks very similar:

#include 
using namespace std;
int main()
{
        int sum = 0;
        for (int i = 1; i < 1000; i++)
                if (i % 3 == 0 || i % 5 == 0)
                        sum += i;
        cout << sum << endl;
}

I picked up C in high school from Sam's Teach Yourself C in 21 Days. Suffice it to say, it took longer than 21 days. I still remember Chapter 9 - pointers - was very hard to understand at the time. Hell, they're still hard to remember sometimes, now that I use mostly memory-managed objects! I learned C++ in college, then Java seemed like the next logical choice to pick up and play with. Java is syntactically very similar to C/C++. In fact, this is often called "C-family" syntax.

What is Shell Scripting?

In many Linux distributions, you can happily start coding right on your command line. That code often looks something like this…

#!/bin/bash
TOTAL=0
for i in {1..999}
do
    if (( $i % 3 == 0 || $i % 5 == 0 ))
    then
        let "TOTAL = TOTAL + i"
    fi
done
echo $TOTAL

I technically learned how to use command lines the first time I typed lines of AppleBASIC into our family computer back on the farm. But it was really in high school when I started to learn the glories of piping commands together to take advantage of what it can really do.

In Windows, there used to be only DOS Batch scripting, but now there’s Powershell, which is both more powerful (as the name would imply) and more readable. For example:

# PE1.psl
$total = 0
for ($i = 1; $i -lt 1000; $i++) {
	if (($i % 3 -eq 0) -or ($i % 5 -eq 0)){
		$total = $total + $i
	}
}
Write-Host $total

What is SQL?

Most SQL looks like this…

SELECT * FROM table WHERE column = 'value'

But it can also look like this…

DECLARE @Sum INT
DECLARE @I INT
SET @Sum = 0
SET @I = 1
WHILE @I < 1000
BEGIN
    IF (@I % 3 = 0) OR (@I % 5 = 0)
        SET @Sum = @Sum + @I
    SET @I = @I + 1
END
PRINT @Sum

SQL is mostly about data -- creating, changing, and retrieving it, for example. When someone says, "I saved it to the database," there's often some sort of SQL involved. I first learned a version of SQL (mySQL) in the year 2000 for a side project in college using PHP to connect a web page to some statistics of some sort. Since then, it has been enormously useful and building reports, answering questions, and generally serving as the meat-and-potatoes backbone of data-oriented (read: almost all) software systems. There are several popular versions of SQL. For example, I'm most familiar with the Microsoft version, MS-SQL or T-SQL. MySQL is also popular, and I'm somewhat familiar with that, too. But the variants are largely similar, so most people who "know SQL" are familiar with at least one.

What is VB?

What is Visual Basic (VB)?

VB, VBA, VBScript, VB.NET, etc is a programming language where the code looks similar to this…

Dim sum
sum = 0
For i = 1 to 999
    If (i Mod 3 = 0) OR (i Mod 5 = 0) Then
        sum = sum + i
    End If
Next
MsgBox sum

Depending on the context of how you are running the code (windows script host or .NET framework or Excel macros), it gets called different things and there are some heavy nuances to how you write it. But I consider it one fundamentally same thing with minor differences across the versions. Basic has been around forever, and AppleBASIC was the first language I ever played with in the 80s. VB is kind of dated, though, and I do prefer to use C# in places where I can get away with it. But you often can sneak vbscript in places where you can’t get C# to play nice, so it’s a good skill to have.

What is C#?

C# code looks like this:

using System;
namespace PE1
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            for (int i = 1; i < 1000; i++)
                if (i % 3 == 0 || i % 5 == 0)
                    sum += i;
            System.Console.WriteLine(sum);
        }
    }
}

I learned C# in 2003 at a small banking software company in Lincoln. It is often my go-to language for writing console applications on Windows. Most of my jobs for the last 15 years have centered largely around my ability to program effectively in this language, along with HTML, Javascript, and SQL. I'll tell you a little secret, though... most C# code I have to maintain, I don't like looking at. Most of it is junk with very little organizing principles holding it together, or has inconsistently-enforced development patterns strewn through their libraries. I'm just as guilty as the next person, but I really do prefer to keep data manipulation and querying in SQL, front-end manipulation in Javascript, and the controlling aspect in C#. This means that at the end of the day, I try to avoid writing any C# code. 🙂