This post originated from an RSS feed registered with .NET Buzz
by Scott Hanselman.
Original Post: The ErgoDex Alternative Keyboard and the Rise of "CodeRush IL"
Feed Title: Scott Hanselman's ComputerZen.com
Feed URL: http://radio-weblogs.com/0106747/rss.xml
Feed Description: Scott Hanselman's ComputerZen.com is a .NET/WebServices/XML Weblog. I offer details of obscurities (internals of ASP.NET, WebServices, XML, etc) and best practices from real world scenarios.
When folks say that the differences between C# and VB.NET are "syntactic sugar" I
like it. Sure there are a few funky ; % & ^ things in C#, and every once
in a while someone will add a new operator to VB.NET like "AndAlsoIsNotOnTuesday"
but generally ifs are ifs and fors are fors, eh?
Since CodeRush lets
you map something as innocuous as "c" to a complete class definition and "u" to "using{}"
and the whole IDisposable thing in C#, the whole language is just sugar.
If you think "string" that's one syllable. String. Boom. Why type
s. t. r. i. n. g. The whole middle "trin" part of "string" isn't value-added.
So, you type "sg"-space and you get string.
So, I was thinking, since in CodeRush if you select block of code and press "u" it
will put "using{ (your code block) } around it, what should it do in VB.NET as they
don't have "using." But, even though VB.NET folks have to put a Try/Finally
and explicit call to Dispose(), the semantics are the same.
Why not map "u" in VB.NET in CodeRush to something like:
Dim o AsObject Try
o =NewObject() Finally IfNot o IsNothingThen
con.Dispose() EndIf EndTry
See? The semantics of "u" are the same regardless of language. Now, I
used to be all about VB. I spent years getting paid for VB3/4/5. But it's
been a while, and I'm largely a semicolon guy now. Even in VB.NET I'll sometimes
type o =NewObject()'; just
for comfort (notice the ').
Often I need to do demos in VB.NET and I don't remember the syntax. I can,however,
remember "c" or "u" or "pdt" (property that returns a DateTime). I'm calling
it "CodeRush IL"and it's making me not only
more productive in my own language, but also in VB.NET.
<bigidea>Now, what about a keyboard JUST for the .NET Programmer</bigidea>
If you know me, you know I have a few gadgets. I'm such an Early Adopter
that I preordered Doom III when Castle Wolfenstein came out.
When I saw a new kind of game input device announced at E3, I know I had to have one.
What's the first thing you do when you get a game? You have to make
a conscious effort to marry syntax and semantics. What's jump?
What's crouch? What's "Build Farm"?
The Ergodex is a completely customizable
personal input system. I think of it as a combination tablet and keyboard.
The 25 Keys are LOOSE. You can arrange them in any order or orientation you
want and they will stick to the board.
You can also put templates and information under the plastic cover.
I'm going to map the keys in whatever what I think is comfortable to various expansions
in CodeRush. I'll have the datatype section of keys, and the flow control section.
I may even hookup a number of keys just to refactor.