December in Boston and St. Porphyrios

St. Porphyrios

St. Porphyrios

Last week the temperature dropped from a high of 63 degrees to a high of 33 degrees in one day. The low with wind chill was 7 degrees. Not too unusual for November in New England, but I have not adjusted from the perpetual sunshine of San Diego.

Today is the first day of December, and tomorrow will be the first celebration of the feast day of St. Porphyrios, previously known as Elder Porphyrios of Wounded by Love fame. Wounded is definitely one of my favorite books of recent years. In it, St. Porphyrios talks about his life and experience: the central topic of the book is God and communion with Him. In St. Porphyrios’ opinion (as well as my own) the solution to most of life’s problems is to turn to God, both in prayer and in relationships with others through which God shows us His love.

Elder Porphyrios was glorified as a Saint on November 27, 2013.


A few of my favorite programming languages

Joel with Casper

This dog is cute, but he’s not mine.

I’m convinced that if I start typing I will come up with something to say. It’s happening–it’s really happening. I can see the document getting longer keystroke by keystroke.

What can I talk about here? How about some of my favorite programming languages.

Python is my very favorite programming language. It is elegant in its simplicity and I consider it the easiest language to read that I know of. Heck, it’s practically pseudo-code. Python does a nice job of conforming to the way I think and “staying out of my way,” so that I can focus on the functionality I want to code and not on the language itself. It makes sense to me that MIT has chosen Python as the language for its introductory computer science classes.

Ruby, surprisingly, is a close runner-up to Python. I say “surprisingly” because a lot of dyed-in-the-wool Python programmers consider Ruby a vastly inferior language. Not me, though. I like a lot of things about Ruby. For example, its consistency: everything is an object. I also like the numerous ways Ruby gives you to make your code shorter while for the most part avoiding the ridiculously terse readability pitfalls of Perl. For example, built-in support for regular expressions and blocks (an elegant solution to the problem of making callbacks simple). One of my (minor) gripes with Ruby, though, is its inefficiency. In my experience with Python and Ruby programming, Python definitely has the edge.

I consider C and Java to be two of the best-designed lower-level languages. I like them both. I admit to being a C++ programmer too, and often making heavy use of the Standard Template Library. I don’t love C++, but I can get it to do what I need to get done.

What didn’t make it onto my list? JavaScript is alright but has a few too many quirks for my taste. Its lack of a good built-in module management scheme is one of its principal weaknesses. The designers of JavaScript didn’t do a bad job, they were just in a bit of a hurry. Too bad Netscape didn’t decide to adopt Python instead of creating a new language. So many valiant attempts have been made to overcome the weaknesses of JavaScript that it’s hard to say what JavaScript tools and frameworks will be at the head of the pack in a few years. Certainly RoR’s adoption of CoffeeScript gives CoffeeScript a huge automatic popularity boost.

Two other languages that I’m not particularly fond of are Perl and Lisp. Perl can look too much like line noise for my taste. Lisp’s simplicity is nice, but it doesn’t think like I think.