I didn’t have more than a semester of computer programming experience in Basic and Fortran when I stepped onto Rice campus in the fall of ‘97. I took <a href=“http://www.owlnet.rice.edu/comp210/”>Comp 210 in the fall of ‘97. At that time it was in Scheme, which I felt was an excellent way to level the playing field for all those who had not been programming in C/C++ throughout high school.
I really liked Scheme, and not because it was tail recursive. I would only really understood what that meant years later. It was mostly because it was simple, even if it did have all the parentheses.
My first class in Java was in <a href=“http://www.owlnet.rice.edu/comp212”>Comp 212 in the Spring of ‘98. I remember the day I was walking back from class and I realized what I percieve to be the thrust behind OO programming. There are things an object is (nouns, inheritance), things an object does (verbs, interfaces), and there are ways to describe them (adjectives, attributes). There is more to OO, of course, but this was a real breakthrough for me in an intro class, and it was (and is) very similar to the way I think about the world. I knew then that I would major in CS.
After you get past the intro CS courses at Rice, you are in for a quite a ride. Many grad students new to Rice end up in 300 level courses, like <a href=“http://www.cs.rice.edu/cork/311/”>Comp 311. I stumbled through it as best I could. I did significantly better in <a href=“http://www.owlnet.rice.edu/comp314/”>Comp 314 since the projects were “real” to me. I’d much rather write a newspaper generator than a lexer, parser, or interpreter.
After that, I really fell in with <a href=“http://www.cs.rice.edu/cork/”>Corky Cartwright and the PLT, although they may or may not have known it at the time. After working on DrJava for a year, through taking <a href=“http://www.cs.rice.edu/cork/312/”>Comp 312 I became at least recognizable. I was very much a late bloomer at Rice, and I feel like I’m really reaching the peak of my powers at the right time.
Growing up, I had been writing web pages as a hobby. I progressed from Notepad to Macromedia’s Dreamweaver to author my pages. During a summer employment at BMT Micro in the year 2000, I got my first experience with dynamic driven web sites. When I came back in 2001, I got my first taste of working with JSP and Servlets. I loved the way that JSP and Servlets gave me the ability to produce web pages using the language I was most comfortable with.
So, naturally, now that I’m out of school, I’ve become a fledgling J2EE developer. It’s not hard to find the notion that Sun is over-selling J2EE, making it heavier than it has to be. I would tend to agree. I just do not need the extra complexity. I am not creating enterprise level applications by any stretch, but that’s where I’m headed. We’ll see how much more I need besides just JNDI, XML, JSP, and JDBC in the future.
I personally must use Java for any web project of significant size. For projects of insignificant size, right now I use PHP. I’m definitely ready for another language to do this. I keep hearing things about Python and Ruby, and they sound very interesting and powerful. In the cost-benefit tradeoff for me, though, learning a new language seems awfully expensive for projects of the size I’d be using them for.
So, that brings us to today! I’m sure we’ll be watching my shifts in beliefs and skills on this site.