|
|
|
|
|
by jasonkester
6154 days ago
|
|
It's worth considering that both approaches may be one-way streets. It's easy to underestimate the effort required to put a good GUI onto a command-line program of any complexity. Often the UI is an order of magnitude more complex than the "program" part of the program. Last spring, I wrote a clone of the old video game Master of Orion in javascript. Step one was to get the simulation working, and it took a couple days to effectively model the universe, planetary growth models, ship movement and combat, and basically everything needed for a playable game. At that point, all that was left was to "slap a GUI onto it" so that you could interact with that simulation. That GUI Slapping took at least 20 times the effort of the game engine itself. UIs are complicated. They have little details and corner cases. They need to correct for human behavior, and more importantly, they need to feel right. That's a ton of work, and it seems to get overlooked every time I hear this unix vs windows culture debate. So yeah, it's damn near impossible to tack a good command line onto a complicated windows app. It's also damn near impossible to tack a good UI onto a complicated command line app. (I'll leave it to others to insert the comment about 15 years of "linux on the desktop" being evidence of the above.) |
|
Certainly complexity depends on the program but wrapping most *nix philosophy utilities isn't hard, but it isn't useful either you neuter their power.