alexseubert dot com

Words About Things

Polyglot Summer

Summer is drawing to an end and I wanted to record a bit of what I’ve been doing over the past three months. While no big project has yet materialized, I’ve learned a lot about different aspects of programming and have been able to dip my toes into more than a couple languages and topics. Whether that’s a good or bad thing is yet to be determined, but it feels good to say that I don’t think there were more than a few days all summer that I didn’t read or write a line of code in some form or another. I was also able to go through the beginning of a job application process with a company in Washington DC, taking a short coding assessment followed by a phone screen with the group manager. Ultimately, they decided that I am still too green but their comments on my code samples were encouraging and I feel like getting even the smallest taste of that process will be valuable as I fill out more applications for either internships or jobs in the coming months.

As far as actual programming study goes, I started off with the previously discussed saas-class from Coursera. Unfortunately, I took a part time job to pay the bills just as the course was ramping up and didn’t get a chance to complete it. However, I still intend on reading the rest of the textbook and the first couple weeks of the class were incredibly helpful in establishing my knowledge of how web apps work, what goes into a full stack for a web application, and how powerful Ruby on Rails can be. It also introduced me to the potential elegance of Ruby and I spent some time trying to catch up my Ruby knowledge to my Python knowledge.

After flirting a bit more with Ruby and Rails using Michael Hartl’s Rails tutorial book, I decided to learn more about Clojure. I’ve been interested in Lisps for a few months now, since going through the first few chapters of Land of Lisp last spring, but I hadn’t seriously investigated Clojure yet. I tracked down a copy of Clojure Programming and have been going through the beginnings of that alongside 4Clojure. I will admit that the syntax took a couple days of getting used to and I’m still far from understanding the real ideas that drive the language and its idioms, but I think that the people behind both the language and many of the more visible projects written in the language are incredibly intelligent and have been able to address a lot of complex issues in their language design. A major reason I like Clojure Programming is that it explains the language’s benefits in a way that doesn’t assume you are already totally sold on the idea of a Lisp on the JVM. As a result, I’ve learned a bit about why Lisps are so cool and why support for the JVM is a huge feature.

Over the last couple weeks of summer I hope to expand my knowledge of C and C++. I am going through at least the first couple chapters of K&R to get familiar with everything to at least some basic level and then I plan on skimming some of Accelerated C++ to get a handle on the differences between the languages. The main reason for this is that I believe the toughest of my three courses this fall will be conducted in C++ and I’ve never written a line of it. I’m also hoping to get some sort of skeletal web app running in Clojure on Noir. We’ll see what happens, though, as hours at work may be going up as well. Even if summer ended tomorrow I feel confident in knowing that I used many hours of it productively and made some steps toward a future in which I am a productive programmer and contributer to meaningful software projects somewhere in this world.