Management — man·age·ment [ mánnijmənt ] noun — rapidly losing one's technical edge...
 Saturday, April 19, 2008

I was recently listening to a Spaghetti Code Podcast with host Jeff Brand and guest Jason Bock, a Microsoft C# MVP. These two blokes were talking about languages, from (classic) VB to C++ to Java to C# and F#. And their discussion took me down memory lane. Oh, and it inspired me to write a quick little post about the podcast.

Spaghetti Code Podcast
First, what is this podcast, and why am I mentioning it. Well, Spaghetti Code Podcast is a series of audio podcasts with host Jeff Brand, a Developer Evangelist on my team, and various guests from around Jeff's stomping grounds in Minneapolis, MN. He's played host to Rocky Lhotka, Shannon Braun, Matt Milner, Scott Colestock, and others. You can get his podcast on iTunes or from his RSS feed. And if you listen to the latest podcast, a recap of MIX with Rocky and Shannon, be sure to stay around for the ender. I was rolling on the floor laughing. Jeff's a hoot!

Memory Lane
Listening to this podcast took me down memory lane. Well, actually, what triggered this trip down that dusty old road was a question from Jeff. He basically asked "What languages have you programmed in, Jason?" And that was all it took to get me thinking, especially when Jason talked about programming a text-based Zork-like adventure game in BASIC on an Apple II way back in high school.

I started thinking of all the languages I have used at one time or another. Like Jason, I started with BASIC, but I used an IBM PC in 1986 and I wrote two programs. The first was a text-based take on Space Invaders. The second was to code in a string of HEX code I found that played a 10-second clip of "Everybody was Kung Fu Fighting". (Tip: the IBM PC sucked for sound. To get it right, I rewrote it on Commodore 64 and, later, the Amiga. Amazing mono audio!)

As I moved on from BASIC, I started thinking about all the programming languages I learned, and for an added challenge I started listing them in the order I learned them and where I learned them.

High School and College On the Job

Well, the list started to become a bit lengthy. I decided to not include scripting languages. Two reasons. One, I'm not terribly good at them. (Yes, I can muddle through JavaScript, and I am passable at VBScript.) Two, the list is long enough. I also decided to keep it strictly to languages, so no frameworks or supporting libraries like the data access soup of the late 1990s (ODBC, OLEDB, ADO, JDBC, JDO, and ADO.NET).

Admittedly I did include multiple versions of COBOL and VB, and I added one UI "framework" in CICS. I think of them more as career milestones — or particularly painful consulting engagements. But I digress...

A Renaissance Programmer
Why the lengthy list? Truthfully it's partly a reminder of where I came from over the past nearly 20 years. Though it is a pointed example of how easily one can learn a variety of languages. Part of what reminded me of that was a quote Jason referenced during his interview, and I am paraphrasing here, "Once you make a habit of learning languages, they become easier and easier to learn."

There is great truth in that, and I believe it whole-heartedly. Were there programming languages that I found difficult? Oh, yes, Assembly was a killer course, and Prolog wrapped me around the axle. But I also found that over time learning various languages became easier and easier. Sure there are quirks with certain languages. I've looked at Ruby and Python and F#. There are unique traits about each.

But you know what? There are common elements, too. Conditional logic looks not that dissimilar between various languages. Variable declaration is often recognizable. And with the "big languages", there is more in common than different.

VB.NET, C#, and Java are all incredibly similar in core syntax. Sure, one has begin-end blocks, and another requires a strong pinky finger... I mean, uses curly braces and semicolons. But if you look beyond the core dialect of the languages and consider how each language tackles variable declaration, conditional logic, method invocation, there are many similarities. The crux of a language, really, is the underlying frameworks and libraries you're going to be using.

Favorite Things
One of the questions Jeff asked during his interview was "What is your favorite language feature?" I won't spoil Jason's answers — you need to listen to the podcast for that — but it got me thinking about my favorite language features. Now, I'm not talking about tools like Visual Studio, or class libraries. I'm talking about capabilities built into the language.

My all-time favorite? Smalltalk's code blocks capability. You could literally read syntax from a database, pass it into a method signature, and have the method execute the code you read from the database at runtime. It was cool, and this capability enabled us to do some neat things. Second to that was Smalltalk's ability to change the core language behaviors in code. On a lark, a co-worker and I pulled a prank on one of our colleagues who, regrettably, forgot to lock his computer. We reprogrammed integer to only accept odd numbers. Trust me, that's fun times for a geek.

Other favorites include declaring throws in Java, rewriting memory be branching registers in Assembly (for more fun times, geek-style, try burping out some executable code into executing program memory space; it's a sure-fire way to cause some major heartburn for mainframe operators), and — occasionally — leveraging VB's late binding behavior, especially when programming against the Office object model.

What Language Are You?
Now, back to the original question...

For me, I prefer the VB syntax. Perhaps it was years of COBOL and VB programming. Perhaps I just have a weak pinky finger. But I have an affinity for VB, so I code in VB, I present in VB, and I demo in VB. I occasionally work in C#, too, and I am often forced to deal with JavaScript. But for most things I prefer VB. Including my certifications. And that's the language I am.

So... What language are you? Let me know.

posted on April 19, 2008 #  Comments [1]
 Monday, April 14, 2008

Virtual EvangelismOn April 26, 2008, my colleague Zain Naboulsi will be hosting a Heroes Happen Here launch event in Second Life. He's got the full launch agenda, covering Windows Server 2008, SQL Server 2008, and Visual Studio 2008. If you're active in Second Life — or even if you're not — join Zain and his team as they make history by running a launch event in Second Life.

posted on April 14, 2008 #  Comments [0]
 Saturday, April 12, 2008
...which seemed to work after making a few configuration changes on my IIS server. A true RTFM moment. Of course, there are still a few glitches to work out, but with a little help from my friends I am sure I will iron them out real soon now.
posted on April 12, 2008 #  Comments [0]

Claiming my Technorati Profile...

posted on April 12, 2008 #  Comments [0]
 Friday, April 11, 2008

I quite literally just finished implementing some new blog software. I tinkered around with templates, CSS settings, and loads of other minor aspects of the software I chose to use. At the same time I made loads of changes to my web site, moved content to a new hosting service, edited DNS records with my registrar, and moved email servers. Whew!

So, now that I have just uploaded the content, it's time to work on getting Technorati, Feedburner and other services wired up. I also need to move content from my old "blog" to this new blog. And the old one was not so much a blog as a pile of code I cobbled together to list announcements and stuff, so there's a few dozen posts I need to move.

I thought about writing code and all that to push content into the new software... But honestly brute force will probably take less time. (Trust me, there's not that much content that would make an automated solution worthwhile.) The only downside I've seen is that while I can set the date for a post I can't set the time. So moving the old stuff over won't match the old date-time stamps. I'm on the fence on that. Maybe it will annoy me enough that I'll go ahead and write code to force everything to match up.

Anyway, after that, it'll be time to retire the old code and database and write some new code into my main site to pull in the latest five or so posts from the new blog. Not bad for an evangelism manager.

posted on April 11, 2008 #  Comments [0]
 Wednesday, April 02, 2008

So I finally got past my lazy self and added dozens of events to my events database. I've listed all the Launch Events in the Central US region, as well as our local DevCares and ArcReady events. Check them out and sign up to attend one or more of those events.

I've also listed in Tech•Ed Developers and IT Professionals as well as PDC08.

Technorati Tags: ,,,

posted on April 2, 2008 #  Comments [1]

I haven't been out to check the new Visual Studio 2008 sites since Launch and thought that was poor form on my part.

So I hopped out there earlier today and was pleasantly surprised with some of the improvements. Even more impressive was the Silverlight-based UI I discovered for the Visual Studio Express site: nifty UI elements and navigation by area of interest, all with a spiffy Silverlight-based sheen. It's a really sharp site and you should check it out.

While you're there, if you haven't already downloaded one of the VS2008 Express editions, you should. There are loads of new capabilities in VS2008.

posted on April 2, 2008 #  Comments [0]
 Saturday, February 23, 2008

If you were one of the few thousand folks in the US to have had the opportunity to join us at one of the many Visual Studio 2008 Install Fest or DevCares events in December, read on for some important news.

First and foremost, if you installed VS2008 at the events, you are probably running close to the limit on the 90-day trial copies we handed out at the events. The good news is that the full fledged versions of VS2008 Professional Editions started shipping a week or so ago, so if you registered your code shortly after getting your trial disc, you should have your free copy of VS2008 in your hands right now.

Rest assured — you don't need to reinstall the product. In fact, all you need to do is go to the Visual Studio 2008 entry in Add/Remove Programs (Windows XP) or Programs and Features (Windows Vista) and select Modify/Change. You'll have an opportunity to enter a license key from the media we shipped.

Here's the important news: if you haven't registered for your free copy yet, you have until March 1, 2008. After that time, we won't be taking any more registrations. And if you didn't have a chance to join us for one of our exclusive Install Fest events, no worries: Launch Events are (literally) right around the corner! February 27th is the BIG launch, with numerous local launch events following that through about May 2008. Find a launch near you and have a chance at another free copy of Visual Studio 2008, plus a chance at several other prizes.

See you at Launch!

posted on February 23, 2008 #  Comments [0]
Important Stuff
Get Visual Studio 2020 Now!
Fun Stuff
Darauk's Geocaching Profile


Worldmaps - a Social, Geographical Hit Counter
Archive and Stuff

<April 2008>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
Disclaimer and Stuff
The opinions, views, comments, and errata posted on this blog are mine, and are not representative of my employer's official position or public stance.

This work is licensed under a Creative Commons Attribution 3.0 United States License.

© Copyright 2010 Brian Moore
© Copyright 2000-2010 Brian Moore and Microsoft Corporation. All rights reserved.