tag:blogger.com,1999:blog-6284261.post114258829730522480..comments2023-08-01T15:28:54.336+00:00Comments on On Computers Tips: Making Your Terminal into a DesktopGailLAhttp://www.blogger.com/profile/18004453181846128738noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-6284261.post-1142675112923999712006-03-18T09:45:00.000+00:002006-03-18T09:45:00.000+00:00Jack,Thanks for posting this one. Although I prob...Jack,<BR/>Thanks for posting this one. Although I probably don't use "CLI" as much as you and others do, I certainly enjoy it. I think "CLI" is a bit of a challenge, but it helps one understand some of things that happen in the background of a "GUI". I'm not a programmer, but have installed a number of Linux distributions and have used the "CLI" exsclusively on some of them. Using the "CLI" can be somewhat frustrating at times, but like you and Jeffery have stated, it's very powerful. I'd like to encourage anyone who hasn't installed Linux and tried using the "CLI" to give it a shot...if you're curious and interested.<BR/><BR/>Curtis HurdAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6284261.post-1142643283605427732006-03-18T00:54:00.000+00:002006-03-18T00:54:00.000+00:00I'm the architect for Microsoft's Monad project so...I'm the architect for Microsoft's Monad project so I obviously agree wholeheartly with your view of the value of the CLI experience. That said, I don't believe that there NEEDS to be a conflict between the a CLI and a GUI (tension - yes; conflict - no). We've designed Monad from the beginning with the idea that GUIs would be layered on top of the CLI. This is one of the core reasons behind the design of our cmdlets (small commands) as in-process .NET classes. This allows them to be invoked with VERY low latency and overhead and it allows the object to return LIVE objects which can then be used in the GUI. If you spawned a process for every action, it would be harder to have a rich GUI experience (See IBM's SMIT utility [which I love by the way - but it struggles with this problem]). In the CLI case, we take the live objects and produce a TEXT view of them. <BR/><BR/>BTW - it is also the reason why we have things like WRITEPROGRESS(), an API that cmdlets call if their action will take more than a second or so.<BR/><BR/><BR/>If you take a look at what Exchange 12 has done with their admin GUI, you'll see this approach in action. Their entire GUI (which is quite rich) is layered on top of Monad. They've done an excellent job so I encourage you to check it out. There is nothing you can do in their GUI that you can't also do from the CLI.<BR/><BR/>Anyway - my point is:<BR/> LONG LIVE THE CLI<BR/> LONG LIVE THE GUI<BR/> MAKE LOVE NOT WAR :-)<BR/><BR/>Jeffrey Snover<BR/>Monad ArchitectAnonymousnoreply@blogger.com