
At genopfinde kommandolinjen
Kommandolinjen er en af Unix' store successer og ser i dag stort set ud som den altid har gjort. Jo, den er blevet proppet ind i et vindue, vi har fået en history-funktion og vi har fået lange options - men grundlæggende ligner kommandolinjen sig selv.
Det sker dog at folk forsøger at genopfinde kommandolinjen. Senest er jeg stødt på Hotwire. De præsentere sig selv: Practically speaking, Hotwire provides a modern command interface for developers and system administrators to interact with the computer.
Det første der møder en, er at Hotwire både tager sig af terminalemulering og af selve kommandolinjen. Det giver sig udslag i at Hotwire hele tiden laver en lille popup med mulige completetions. Når man har kørt en kommando kommer uddata i sin egen tab som man kan bladre imellem og selv skal lukke. Desuden er uddata ikke ren tekst, men kan for eksempel være links til filer og kataloger som med en traditionel grafisk filemanager.
Det næste der møder en at at hotwire slet ikke giver en noget der ligner en bourne shell. Sålænge man laver enkelte kommandoer og styrer uden om dem hotwire selv implementere, så går det næsten. Men lige så snart man vil lave en løkke så gør ting underligt. Bag om ryggen på mig beslutter hotwire sig for at jeg slet ikke mente for men /usr/bin/formail.
Hvis man er kommet så langt er der en lille godbid: objekt orienterede pipes. I stedet for bare at være en strøm af bytes er pipes i Hotwire en strøm af (python-)objekter. Virker selvfølgelig kun med de indbyggede kommandoer, men det giver potentielt mulighed for at kunne grep'e, sortere og vise enkeltfelter i en pipe uden alt for meget gymnastik. Desvære er hotwire endnu ikke komplet nok til at man virkelig kan se mulighederne i det.
Og så et sidste suk: Nej, rm skal slette filer og ikke bare flytte rundt på dem.
Efter at have brugt noget tid med hotwire kan jeg kun tænke "Er det virkelig det udviklere og systemadministratore vil have'" Mere struktur på vores pipes er ok, måske dog noget andet end python-objekter. Men køber I Hotwires grafiske vision'
"Those who do not understand Unix are condemned to reinvent it, poorly." skrev Henry Spencer i 1987 og det han han tilsyneladende ret i 20 år efter.
Kommentarer (7)
Kender ikke hotwire og kan ikke lige helt se det for mig.
Men har i mange år ønsket at min Explorer på windows eller finder på min mac, kunne mere end drag and drop, så hvis der fantes en ordenlig shell med et grafisk interface ville jeg klart bruge det.
Skal siges at der til mac findes noget der hedder launchbar og quicksilver, der gør at de fleste almindelige ting, som at starte et program eller flytte en fil kan gøres med få taste tryk, og UDEN en mus.
Så spørg du mig er en mus til applikationer man ikke kender, grafik eller nybegyndere, og tiltag der kan fremme den udvikling er skridt i den rigtige retning.
jeg mener hvis du går in i en butik hvor du ved de kan samme sprog som dem, så er det da letterer at SIGE hvad man vil have frem for at pege. At hotwire så er et umodent produkt ændre ikke ved at ideen er go.
bruger også ofte en shell, og hurra for det, men mener bare at konceptet må kunne brignes frem til nutiden, og evt laves så indlæring kurven er er lidt fladerer, så det ikke KUN er it-eksperter der finder det smart.
Well, er det ikke det samme som programmeringsprog, hvor næsten alt er tekst baseret: kommandoer og funktionskald er bare nemmere at håndtere i rå ascii form en i et eller andet fancy grafisk sprog.
Jeg kan umiddelbart ikke komme på et brugbart grafisk/gui programeringsprog - selvom et grafisk layout kan understøtte visse elemeter af processen.
Det samme gør sig måske også gældende når det komme til kommandoprompt's og desktop metaforer?
Mvh
Carsten
Det er fedt at folk gerne vil genopfinde ting og der kan være gode grunde til at genopfinde komandolinjen. Men med Hotwires udgangspunkt "at lave en moderne grænseflade for udviklerer og systemadministratorer", så tvivler jeg lidt på hotwires grafiske vision.
For mig at se er målgruppen netop it-eksperterne og så undrer jeg mig bare: live-udgave af tab completions og højreklik-menuer? Er det det vi vil have?
Du siger selv at hvis der fandtes en ordentlig shell med et grafisk interface, så ville du bruge den. Men min fantasi rækker ikke til at forestille mig hvad du gerne vil have?
Jeg vil ikke afvise at man med visuel programmering[0] vil kunne lave et godt alternativ til den rent tekstbaserede kommandolinje. Men det ser ikke ud til at være noget Hotwire ser ud til at forsøge på. Derimod kunen man muligvis pege på OSX' Automator. Er der nogle af de tilstedeværende unix-folk der har set nok på det til at kunne sammenligne det med en traditionel bourne shell-oplevelse?
kan godt se det ikke er lige til at forestille sig, havde jeg en konkret idee tror også jeg ville implimentere den.
det jeg mener er at enten sidder man i en shell som i 70'erne, som kan alt men giver trist tekst feedback, eller også sidder man og peger med en mus. og kan se smarte og ofte brugbare iconer osv.
Det burde da være mulig at bruge tasterne og få grafisk feedback.
Lad mig lige få det her på det rene, er det i vil have en hybrid imellem CLI og GUI ?
For det at en CLI kan spytte GUI dialogbokse ud er i mon bog ikke nogen speciel fordel, eller er det noget som f.eks KSSH i leder efter ?
En moderne shell har da ellers alle de fornødenheder der er nødvendige, lige fra en heftig historik, over command completion, til multicolour og det hele i et MDI. Udviklingen af den CLI orienterede skal gik ikke i stå tilbage i begyndelsen af '70erne. Der er løbende blevet udviklet på den, men kun livsduelige tilføjelser er blevet hængende ved.
CLI har en stejlere indlæringskurve end GUI, fordi "a picture is worth a thousind words!". Men det virker kun hvis det drejer sig om grafiske objekter. Hvis det alligevel er en bunke tekst der skal læses kan det lige så godt gøres i CLI.

