I've been posting very little this year, and figured I'd take a bit of down time this rainy Saturday for a "personal update" kind of post. Big things first:
As many people know, I started a new job at Mentor Graphics at the beginning of the year. A rather big change moving from a company of 10 to one of 4000+. I'm a member of the web services team, which is basically in charge of the web presence for Mentor (duh). The main project the team has been working on for a year and a half is a complete rewrite of the customer-facing support portal. That's in the final stages before 1.0 release early next month. I haven't been terribly involved except in a couple narrow aspects (because I came into it late), but it'll be nice to get that done.
I've also been doing a lot of Flex work over the past couple months which has been interesting. It's provided some nice insight into various beliefs I've long held. Not changed them per se, but refined them. For example, I've always been a proponent of strongly-typed languages because they're easier to work with. However, I've come to the realization that strongly-typed languages usually have better tools support (because it's easier to write those tools), which is really what makes them easier to work with. For example, the tool support for AS3 (i.e. Flex Builder) is pretty sad, and it shows. And no, type-based code completion doesn't count as good tool support. I want global renaming/relocating of types and members at the very least.
In the completely non-technical realm, we're currently in the process of buying/selling houses and moving. We're closing on the new one this coming Friday (4/27), and then our current house closes the second Monday after (5/7). As such, we're madly packing and getting ready for the big move. Fortunately we'll have two weekends and a full week to get everything moved, unlike last time where both houses closed on the same day, and we had one [300 mile] trip in the U-Haul to do the entire move. The kids are also old enough (3 yr & 1.5 yr instead of 2 yr & 4 mo) to mostly entertain themselves this time, which greatly boosts productivity.
On the personal-technical front, I've actually grown somewhat accustomed to writing PHP, which is scary. Hosting my blog (along with numerous others) on Wordpress has provided ample opportunity to tweak stuff and build some custom extensions (like for photo galleries). The syntax and function libraries are still pretty revolting, but the tools support is pretty good, which goes a long way in my book.
I've been reading Cryptonomicon, which is the first novel I've read in a while. Stephenson is a little spastic in his writing, not just in the way he tells the story, but I get the feeling that he wrote the book in a fairly linear fashion, and his "right now" personal experiences drove his approach to telling the story.
I also just finished The Pragmatic Programmer, and have to say, I was rather disappointed. The book (and the series it has spawned) have gotten a lot of hype, so I slogged through it hoping to find a diamond somewhere in the muck, but aside from a few small pieces of amber, there was little of interest. The authors definitely have a strong sense of "do it our way, because we know we do it right," which was kind of annoying, and worse, they didn't even back it up with anything to really differentiate their way from what I've always considered as the "duh", way to program. And by "duh", I don't mean "I do it this way because I'm stupid", but rather "I do it this way because any other way would be silly."
Well, that's about it for now, I guess.
Interesting – I had a conversation with a clever guy I know and respect who has done a both ColdFusion and Java and his opinion was that the sheer volume of tools and libraries available in Java means he is actually more productive in Java than in ColdFusion. I'm not convinced one way or another but I will say that when I do return to working with Java I'm always reminded of what we miss in ColdFusion. Simply being able to get your IDE to refactor code for example.
On the pragmatic programmer – I think it is a good book but one which provides little value once you have learned many of the lessons the hard way.
Kola,
I wholeheartedly agree with the Java productivity. There's definitely a learning curve with Java (both the language and the libraries), but it's not terribly large. Once you're over the hump, the tools support make Java a joy to work with.