Tuesday, October 22, 2013

Another One Bites The Dust

I just finished my second Coursera course. It's hard to believe that "Data Analysis Using R" started just four weeks ago.

This wasn't a terribly difficult course, but lecture time added up. The assignments weren't hard conceptually, but I found myself struggling with the API and the docs. "How do I do that?" was a common question. It was easy to think how I'd do something in a language that I knew better, like Java or Python, but I wasn't always able to conjure up the R equivalent at will. I had to do small experiments on the fly to figure out how to make the language do my bidding.

The third programming assignment set was time-consuming. I was behind the eight ball because I was out of town at a family wedding the weekend before it was due. Thankfully we were given an allotment of late days that we could apply as needed. I used up three of them after returning from MN so I could get the assignment in late without penalty.

Debugging in the R environment is crude, reminiscent of the gbd command line debugger that comes with Java. It's a comedown for a person who's used to using the best IDEs in the world to work with Java and Python. I started using the R plugin for IntelliJ for the fourth assignment. I hope they keep expanding and improving it.

R does have some rudimentary object-oriented features, but it's firmly in the functional camp. A friend pointed out that R looks similar to JavaScript. As usual, he's right. I started eschewing the '<-' assignment notation in favor of '=' to make the visual resemblance stronger. The Renjin interpreter makes it possible to run R inside Java. I found out that you can also run R on CUDA. I'm looking forward to trying those packages and seeing what performance benchmarks would look like.

This one was a sprint. The next one, "Data Analysis", will emphasize problems that R is used for, diving deeper into regression and analysis. I'm looking forward to getting back in touch with my mathematics roots. It begins next Monday.

profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers