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 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.
My first class in Java was in 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 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 PLT, although they may or may not have known it at the time. After working on DrJava for a year, through taking 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.