even Though Hes Been Programming In A Looselytyped Environment Ruby For Quite A While Now Hes Not Found Himsel

“….even though he’s been programming in a loosely-typed environment (Ruby) for quite a while now, he’s not found himself making the stupid mistakes that the strongly-typed environment is supposed to be protecting us from….” via [The Mountain of Worthless Information]

The other day, while trying to enumerate the advantages of strong typing, it struck me that the biggest practical advantage of strong typing may be IntelliSense.

FnbspMicrosofts New Language Is CAML For NET

F#: Microsoft’s new language is CAML for .NET. CAML is a functional language, a family of languages that include Scheme, Miranda, and Haskell, and which emphasize the evaluation of expressions, rather than the execution of commands. If that seems esoteric, it’s because functional programming is more of a mindset than a technology: you can write functionally in an imperative language like C# and, for that matter, you can write imperatively in a functional language like CAML. The big thing about functional programming is that you concentrate on “the left-hand side of things” — what is returned by a function call, rather than side-effects rising from manipulation of state on “the right hand side.” If that’s still too esoteric, try this: there are no assignments, once x is set to a value, it doesn’t change.

F# doesn’t (yet?) have an interactive console for defining and modifying code on the run, which strikes me as an important benefit of most traditional functional systems. (If you’ve used Python or Smalltalk, you know how nice an interactive console is.)

I’m not sure that I’d go so far as to say that there is a particular class of problem that functional languages absolutely solve better than imperative languages, but I think I can accurately say that functional programming and imperative programming engage the mind in different ways. To me, the biggest hope of the .NET CLR is that it will foster different programming paradigms, while providing the complete power of the API. Object-oriented imperative languages are great, but for Pete’s sake, they aren’t the ultimate expression of programming.

Ive Pretty Much Given Up On The Community Starter Kit From Aspnet Im Building A Site De

I’ve pretty much given up on the community starter kit from asp.net. I’m building a site dedicated to software for the Tablet PC (InkPositive.com), and hoped the starter kits could jumpstart me, especially regarding discussion boards. But in addition to being buggy (the kits are still in beta, and I would say they have at least 2 major revs before primetime), they are not componentized. I spent most of a day just switching from table-based to CSS-based layout (so that Tablet users can choose right- or left-handed navigation); something’s wrong when display is so tied to function. But when I began work on an ink-supporting discussion board I quickly realized that it would be quicker to just start from scratch.

There’s some lesson here about Web programming versus application programming. Maybe it ties in with the failure of XSL, too.

P.S. You do know that if you write an XSL-based Website, Google won’t spider any links in the XSL stylesheet, don’t you?