cgore.comcgore@cgore.commicroblogblogphotosChristianitycryptographyjournalingoutdoorsmy master's thesisprogramming
Thinking Bicycle
Github @cgoreFacebook @cgoreInstagram @christopher.mark.gore

This website is copyright © 1995-2016 Christopher Mark Gore, all rights reserved. The content may not be copied or republished via any means, traditional or electronic, without express written permission of the author.

Chris Gore: Programming

C // Clojure // Common Lisp // Ruby

Programming is what I spend most of my time doing. It is my profession and my main hobby. Like most programmers, I have extreme opinions about programming languages, and I like to share them.

My favorite programming languages is Lisp, more specifically, ANSI Common Lisp, even more specifically, SBCL. I truly believe that if you don't have all of the features of a complete lisp (that is, one that has real macros, lexical scoping, reader macros, and the whole lot), that you are really missing out on some of what the computer can do to help you solve your current problem. People like to say that lisp is too powerful, but I think it is just that most programmers are too weak. Java is a pocket-knife: easy to handle and safe for a 12-year-old. Lisp can sometimes seem more like a claymore.

At work these days I code mostly in Clojure, which is just close enough to Common Lisp to make it quite enjoyable.

I program in Ruby a lot too. It is probably my second favorite programming language today. I find meta-programming in Ruby to be quite capable and flexible, and I only rarely feel constrained by the language. Mind you, sometimes it is slow and has other issues.

I use C a lot. C is a really interesting little language. It has basically no features, but it manages to have exactly the few features that make it possible to accomplish a lot. Pointers, function pointers, and the preprocessor, when used together in a clever manner, can accomplish a lot. If it is the right sort of problem, C can be a great language. That being said, most of the code I have worked on in C should have been in something higher-level.

Before I switched over to Ruby in 2008 as my main scripting language, I used to use Python quite a lot. I like it a lot, but not as much as Ruby, and the two are almost interchangable in the roles they serve. Because of this, I don't do much with it these days.

Most of my classes all through my B.S. and my M.S. were taught in C++. I was quite capable with it, but I always had mixed feelings over it. I think a lot of the issues I had with C++ were actually issues I had with the STL. When I used my own container classes and mostly ignored the STL, and when I ignored some of the so-called 'best practices', it was a lot more enjoyable and flexible.

I hate Java. Java is crap. I've used it long enough to consider that an informed opinion.

I use Git for all of my versioning these days, and I have some related information and links about it [here].

I've spent a lot of time playing around with HP RPN calculators although I don't do much with them these days.