Microsoft's Monad Misses the Mark
Monad, what have you become? I found the following on Arul Kumaravel’s blog:
**CMD.EXE **
|
Monad Equivalent
---|---
cd
|
set-location
cd
cd c:\temp
|
set-location c:\temp
cls
|
clear-host
cls
copy con
|
function copycon {
}
copy con foo.txt
|
copycon | set-content foo.txt
dir
|
get-childitem
dir
dir /ad
|
get-childitem | where { $_.MshIsContainer }
dir | where { $_.MshIsContainer }
dir /od
|
get-childitem | sort-object LastWriteTime
dir | sort LastWriteTime
dir /o-d
|
get-childitem | sort-object LastWriteTime -desc
dir | sort LastWriteTime -desc
pushd
|
push-location
popd
|
pop-location
start .
|
invoke-item .
ii .
When I saw this, I actually looked to make sure it wasn’t an April Fool’s joke. I’ve been hearing about Monad for some time, it was yet another promised feature that Vista won’t have. It sounded impressive, for once Microsoft was going to create a command line interface, and they were going to clean up the cruft that has accumulated in the past 40 years of computing. It was/is supposed to be completely object oriented, a cut above the poor UNIX text interfaces. I was just impressed they had finally listened to their customers pleading and begging for a way to script and use the command line to admin Windows boxes. Then I run across an idiot on Slashdot where someone was using this example to brag about Monad! Most of the time when people type LOL, they aren’t really laughing out loud, but this time, my lungs hurt from laughing so hard. Have these people actually used a command line interface? The reason the commands are so small in UNIX is that they are faster to type! This syntax in Monad looks like it was dreamt up by someone that saw a UNIX shell a couple times and said, “wow, these commands don’t make much sense, how would a new user know what cd or ls or ps means?” If this is the state of Monad, I can’t imagine ever using it. The whole point of a command line interface is that I can ssh to a machine over any kind of network and quickly type and do useful work. I was ready to give them a shot, but if they’ve missed this most basic point, I don’t see how it would be useful. Probably not a surprise that Microsoft can’t get a text interface right, but I was hoping. I leave with a quote: [ebnf] is monad pronounced like gonad?