IronPython as a Foundation for DSLs

The release of IronPython is, in and of itself, A Good Thing. But maybe the best thing is that it’s a shared-source release with a very reasonable license. Not because I’m a utopian about the quality of open source, but because I really quite like the code structure. Apropos my dismay that there is not a compiler-design tutorial that reflects modern techniques, IronPython is as close as anything I’ve seen to just that.

Hey, how awesome would this be:

Three big problems with understanding compiler techniques are that

  1. tutorials traditionally use a single implementation language, and
  2. toy samples (calc) morph into complex samples (mini-C) morph into esoterica (unification) rather than iterate on a single problem, and
  3. there’s a gap between hand-coded tutorials and tutorials based on the use of tools (lex, yacc, bison, antlr, etc.). The two techniques should be shown in parallel, with an emphasis shifting from one to the other as the tutorial gets more advanced.

Jim Hugunin wrote the first few iterations of IronPython in Python, then switched to C#.

How rocking would it be to have a tutorial that started with those Python-based prototypes, showing the development of the object structure, strategies for this and that, etc. and then switched to C#, showing the complexities of implementation in a explicitly typed, mainstream language? Meanwhile, you track the development using a tool like Antlrworks:

While I believe that IronPython is 100% hand-coded, I think that most will want to use tools to automate the process as much as possible.

Oh, man, such a tutorial would be great. Jim should so do it in his copious spare time.

40 Quatloos On the Newcomers!

Amazon has released “Unbox,” their video purchase / download service. TV shows are $1.99 each and you get $1.99 rebate on your first purchase. They’ve got all 3 seasons of Star Trek and I’m greatly tempted to have colorful glowing brains wagering quatloos (until Kirk teaches ’em what real wagering’s all about) just a mouse-click away. On the other hand, “The Omega Glory” has what is arguably Shatner’s most-Shatneresque monologue (“We! The! People!”). Too, Amazon has Lost In Space which I haven’t seen in 30 years, but a part of me remembers this one episode where tiny litle robots worshipped Robot (I think one tiny little robot wore a cape, to indicate his kingly status). That would probably be worth the $0.

To actually get my business, the killer thing for me would be HDTV content. I’d pay $2 an episode for HDTV Deadwood. Heck, I’d probably pay $5 an episode.

Two Views On Ruby Columns Now Online

The September 1st issue of SD Times contains two opinions on Ruby, “It Isn’t All A Gem,” by Andrew Binstock and my “Crossing the Chasm.” Allen Holub’s column “Just Say No to XML” is also provocative. As usual, surface disagreements belie underlying agreements: there is nothing that either Andrew or Allen says that I think is factually incorrect, but in both cases I disagree (or at least don’t fully agree) with their conclusions. Andrew throws up a caution flag on Ruby; I say the time has come to learn it. Allen says that knowing how to build a compiler is is part-and-parcel of being a non-dilettante programmer; I think that today such experience is at least uncommon and borders on esoteric.

Interestingly, both of these disagreements with my colleagues come down to education. Andrew fingers the lack of a great Ruby tutorial as a problem, I think that “what the world needs” is a compiler-design tutorial that reflects what we’ve learned in the past 15 years about OOP, design patterns, testing, etc. (And I think Allen Holub is the guy to write just such a book. In an email I pointed out the irony of “Mr. OOP” praising tools that churn out procedural state machines and tree-walkers.)

Geeks In Paradise: On Being A High-Tech Professional In Hawai’i

A commenter on a recent post asked a question I get quite a bit, namely, “What’s the market in Hawai’i for high-tech professionals?” The short answer is that in Honolulu it’s great and that every place else in the state it’s poor. Honolulu’s a million-person city and has banks and industry and a university and would be a great place for a young person whose interests ranged from high tech to ocean sports (if you’re not into the ocean, you probably shouldn’t consider living in Hawai’i).

While some jobs exist everywhere (every resort has its own IT infrastructure needs and here on the Big Island we have the small but sophisticated community associated with the Mauna Kea telescopes), the sister islands (the islands other than Oahu) have very limited industry. So outside of Oahu it’s unlikely that you’ll find a job that happens to match your skills, whatever they are.

If, like me, you deliver your work over the Internet, the infrastructure is fine: electricity and Internet service (I use cable broadband) is reliable and because it’s tropical, rolling out of bed at 5:30 to start work at 6:00 fits with the environment and lifestyle (it’s not cold, you can go for a run before the sun is high, you end work mid-afternoon and have plenty of time to go for a swimm, etc.). Having said that, I have a client who’s on the East Coast and conference calls at 10AM EASTERN are pretty brutal. (We’re 3 hours behind the West Coast during Daylight Savings, 2 hours behind in the Winter.)

I would love to start a high-tech business here. The state has an almost 3rd-world-ish desire to leapfrog its economy past an industrial period and into information, so there are incredible tax breaks (including a 100% tax credit for investment. That’s right: 100% over 5 years. That’s got to make it a little easier to dig up investment, don’t you think?). If I were starting a high-tech business and looking to exploitwork-to-deathmentor a couple smart young programmers, this place has a lot of appeal to those not yet settled.

It’s very expensive to live here. Food is expensive; if you play around with “free shipping” offers you end up waiting 3 weeks; there’s no Fry’s Electronics to fulfill your “I need a dual-socket-940 ATX motherboard” whims, etc. The lack of industry, the distance from the mainland, and the abysmal public education system skews the demographics of college-educated people towards post-collegiate and empty nesters, which honestly is one of the hardest things for Tina and I, who fall in the middle.