Photograph of two computer monitors displaying computer code on a desk. Image by Free-Photos from Pixabay

In the beginning, there was BASIC1, and the world was good.

10 PRINT "HELLO WORLD"

Thereafter, I began a quick succession of other programming classes in college . . .

FORTRAN

PROGRAM HELLOWORLD
10 FORMAT (1X,11HHELLO WORLD)
WRITE(6,10)
END

COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. Hello.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
  Display 'Hello, World'.
  STOP RUN.

Pascal

program HelloWorld;
begin
writeln('Hello World');
end.

. . . until I ran out of electives and decided it would take me an additional semester of classes to get a minor in computer science and opted to just graduate with a degree in philosophy and go to law school. This was before many people knew about the internet. If I had known about the internet, would I have made a different choice? Interestingly enough, I did fairly well on the LSAT and among the law schools that invited me to apply was Santa Clara University School of Law in the heart of Silicon Valley, before I knew there was a place called Silicon Valley. I wonder to this day about the road not taken.

After many years of a successful legal career, changing circumstances (the birth of a child) prompted me to leave litigation and start my own transactional law firm to have more flexibility for family life. Little did I know that this decision would steer my path in a direction I never expected: back to computer programming.

At first, in the early 2000’s I was just setting up my own website and a blog to promote it, which meant learning this . . .

HTML

<p>Hello World*</p>

*Not a programming language.

. . . and eventually with the advent of the smart phone, and in particular, the Apple Store, I soon found myself learning these languages . . .

Swift

    println("Hello, World")

. . . followed by these:

C#

class Hello {
  static void Main() {
    System.Console.Write("Hello World");
  }
}

C++

#include <iostream>
int main()
{
    std::cout << "Hello, World.";
}

C

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    printf("Hello, world\n");
    return EXIT_SUCCESS;
}

Python

print "hello world"

Lisp

  "Hello World!"

eMacs

(defun hello-world ()
(interactive)
  (with-current-buffer (pop-to-buffer "*Hello!*")
    (insert "Hello World\n")))

Java

public class Hello {
    public static void main(String []args) {
        System.out.println("Hello World");
    }
}

Now my life is full and rich (meaning I work nearly all the time running a law practice and a software development company).

As I launch a newly designed website and write the inaugural blog post, I am struck that the professional activities I enjoy the most are using my critical thinking skills to solve problems and using the written word to communicate those findings. This is at the core of what a lawyer does. Interestingly enough, it also at the core of what a programmer does in writing code.

Although some may disagree, there are many parallels between these two intellectual pursuits, lawyering and programming. They both involve a healthy dose of critical thinking, problem solving skills and carefully crafted language. Perhaps it is also because well trained lawyers and programmers must keep up with an ever changing landscape in their professions. Depending on how you look at it, I’m either lucky or cursed, because I get to work in both fields.

1: On my university’s PDP-10 (DEC 10) mainframe, it was after all the 1980s.



Copyright © Roberto Veloso, Attorney at Law. All rights reserved.