A jak to delate na boxech, kde mcedit neni? To si ty soubory stahnete na lokalni disk a po uprave je zase uploadnete zpet? A v pripade vetsicho souboru? Zvladne mcedit editovat i textovy soubor velikosti 100 MB a vice? Navic pokud nepouzivate pouze Linux muzete mit problem najit ten svuj oblibeny editor. Napriklad na HP-UX mcedit nenajdete ;-)
Taktez jsem kdysi pouzival mcedit a emacs, ale od doby co jsem potreboval na vzdalenem serveru opravit nekolikasetmegabajtovy dump databaze nedam na vi dopustit. Byl to tehdy jediny nastroj ktery se dal pouzit.
Prostě máte jiný usecase. Denně pracuju na AIX, HP-UX, Solarisech, MacoOS, FreeBSD, Linuxech - všude tam je VI.
Znám obojí, říkám, že IDE má nepoužitelný editor. Vy znáte pouze IDE a říkáte, že VI/M je nepoužitelný. Nezdá se vám to trošku hloupé, kritizovat něco, co neznáte?
replace
a tabulátorem doplním a ono to něco najde. A když zjistím, že to používám poněkolikáté, podívám se do nápovědy, jakou že to má zkratku.
Jo a ty výrazy jsou regulární, ne regulérní, bacha na to. To by nebyla regulérní čeština. :-)
Samozrejme ze to jsou take uzivatele. A to zrovna takovi, na ktere svym ovladanim linuxove nastroje (natoz ty "casem proverene") nemysli.
Ale copak oni sekretarka a manazer nebo cisnik* pouzivaji standardne pri sve praci vim a nebo vubec nejaky jiny plaintextovy editor?? Nehrajme si tu na politickou korektnost. Prohlasovat ve zdejsi souvislosti, ze kdo je sekretarka ten misto vim ma pouzivat kate, velmi zavani prirovnavanim tech clenu (v linuxove komunite obecne cenenych a nesekretarskych) profesi, kteri pouzivaji kate, k tem mene cenenym (sekretarskym) profesim.
*) Mozna tomu by se vim hodil - stacilo by mu 6i| esc a ma oznacenou dalsi rundu.{d}
a na dalších už jen .
. Každý si samozřejmě své nástroje vybírá podle své duševní kapacity a volného času. :-) Kdo nemá to první, ať si přichystá to druhé. ;-) Třeba takový programátor si hýření časem při používání primitivního editoru velmi často prostě nemůže dovolit.
No ano, a právě kvůli jmenovaným funkcím používám Emacs. ;-) Snad s výjimkou toho vizuálního návrhu, ale to už radši zaangažuju DSL, než abych si vymýšlel kreslítko.
Mimochodem, textovým editorem se občas edituje i text. Text, to jsou takové ty věci s odstavci. Člověk si občas všimne, že něco někde (s ohledem na logickou strukturu diskursu) chybí, tak to dopíše, pokud je něco jinde, než by to mělo být, tak to přemístí, pokud je tam něco navíc, tak to smaže.
A - světe, div se! - když tyhle operace zabírají člověku víc "strojového času", než je zapotřebí ("tahle najedu myškou na začátek, tááák, a teď to přetáhnu, a kde je ta ikonka na vzstřihnutí?"), tak to začne bořit do té doby souvislý tok myšlenek v hlavě. Čím méně intruzivní pro myšlení editační operace jsou, tím lépe pro zamyšleného člověka. A já tenhle vliv na sobě pozoruju docela dost, takže makra, makra, makra.
1) Je to rychlejší (méně pracné). Proč tedy plýtvat prostředky (časem programátorů)?
Jak říkám, to je sporné. U jednodušších věcí to možná bude rychlejší. Jakmile ale progrmaátor vyspěje a dialogy nakynou, nejsem si tak úplně jist, jestli situace bude v té době stejná. A já nejsem ochoten optimalizovat svoje postupy na "Hello, World". :-) Zajímavé, že třeba Petzold se na Visual Studio dívá skepticky. Člověk by čekal, že MVP si na Visual Studio stěžovat nebude. :-)
2) Kód týkající se GUI je oddělen (v NB ho má programátor zamodřený) od kódu týkajícího se "business logiky", obsluhy událostí, načítání vstupů...
To je argument? Jako že já jsem neschopný a nedokážu oddělit View, Model a Controller, tak to za mě musí dělat editor? MVC bez GUI editoru nelze?
3) až po mě přijde jiný programátor a dostane za úkol přidělat někam nové tlačítko, tak ho tam prostě přidělá. Nebude muset louskat kód a zkoumat, kde jsem použil jaký GridBagLayout. Prostě myší přidá tlačítko a zbytek času už se může soustředit na skutečné programování, na vlastní logiku programu
Ano, tyhle problémy přinášejí primitivní nízkoúrovňové jazyky. Víte ale třeba, jak svá GUI dělají v Adobe?
4) Netbeans ti vždycky nechávají možnost doplnit vlastní kód. Můžeš udělat základ v editoru a když se ti nebude něco líbit, klidně tam zbytek doplnit ručně vlastním kódem (což ale většinou není nutné).
To také není něco, co bych s DSL místo GUI editoru neměl. :-)
"Dnes uz to skoro nikoho nenapadne a vyuzivaji ty, ktere se nejlepe osvedcily a jsou zabudovany ve standardnich knihovnach."To je zajímavé, já měl pocit, že přesně takhle to není. :-) Dokonce jsem snad zaznamenal, že z nějakého SW (už nevím, co to je, ale něco velkého :-)) se teď snaží vývojáři vykuchat všechny ty redudnantní sorty, co jsou v jedné jediné aplikaci. ;-) A určitě to neplatí třeba o Ruby, má vlastní sort.
" " " u0022 quotation mark = APL & & & u0026A chcete je editovat tak, abyste ve výsledku získal záznamy:
map <leader>,quot " map <leader>,amp &Záznamů je 271. Takovouto věc nelze dělat "intiutivně" v žádném editoru. V některých editorech to dokonce nejde rozumně udělat vůbec. Důležité je, aby to šlo udělat jednoduše a rychle. Ve VIMu je to triviální záležitost. Proto se říká, že to je dobrý editor. Měřítkem není intuitivnost, ale možnosti (poměr cena-výkon). Samozř. i jiné editory umí makra, ale rozhodně jim intuitivně neřeknete třeba "smaž řádek až k nejbližšímu středníku". Máte-li ve vašem oblíbeném editoru stovku řádek s textem, a potřebujete promazat text mezi druhou hvězdičkou a třetím středníkem, nebude to intuitivní záležitost, pokud to vůbec půjde. Ve VIMu to jde a je to i velmi intuitivní, pokud znáte základy a koncept. Je to jako když se naučíte dobře řídit auto.
qqjlywhk<shift>pa <esc><shift>Imap<leader>,<esc>5ddq 270@q
S tím jazykem, to je vážně míněná otázka? Přinejmenším Lisp a Smalltalk takhle fungují desítky let. Myslel jsem, že za tu dobu si toho snad lidi stihli všimnout...? :-) Python a Ruby to taky umějí - prostřednictvím svých shellů, a Java má nějaký ten classloader, ale nevím, co všechno ten může předefinovávat.
Vim je editor textu, ne IDE. Kvůli IDE používám Emacs. Eclipse se mi zpočátku líbilo, ale vstupní bariéra pro psaní vlastních rozšíření mě odkopla zase zpátky. Asi jsem divnej. :-)
Hmm, zase ta refaktorizace. Někde jsem viděl nějaký pěkný článek o tom, jak automatizovat refaktorizování v Lispu pomocí formálních metod a pomocného jazyku. Koneckonců to není nic než trapná syntaktická transformace a pattern-matching stromů. :-D
Ale vždyť snad nemůžeme říct, že cokoli bez příkazového režimu je mizerné.
Příkazy, tlačítka, menu, klávesové zkratky, ovládání hlasem... to je všechno jen cesta, jak něčeho dosáhnout.
Bezprostředním cílem, kterého chceme dosáhnout, je vyvolání funkcí programu, a tím konečným cílem je dosažení nějakého skutečného výstupu (kvalitně vysázený dokument, napsaný program, nakreslený obrázek, perfektně vyladěný server...).
Mě zajímá GUI (a UI obecně) ve smyslu rozhraní mezi programem a člověkem. Bohužel v této diskusi ne na to dívá hodně lidí v mnohem užším smyslu bez širších souvislostí (vidí jen to nabouchání textu do souboru).
"To je pri vimaře jako tlustá kára na mizerných gumách." Vždyť nikde není psáno, že editor musí mít několik režimů a tisíce příkazů, důležité jsou ty cíle a širší souvislosti.
Svojí účast v této diskusi neberu jen jako zábavu (nad legračními příspěvky) nebo prudění vimařů, sliboval jsem si od toho (což bylo vzhledem ke zdejším účastníkům asi moc ambiciózní), že se tu rozvine i hlubší diskuse o uživatelském rozhraní obecně. Protože VIM má hodně zvláštní (nezvyklý) koncept ovládání a dost zarytých příznivců i odpůrců.
"podle mě prostě cpát do VIMu funkce navíc je často dost násilné"Autoři Eclimu očividně mají jiný názor. ;-D
Používám obojí, IDE i Vim. IDE používám pro vývoj v jave, protože javu tolik neznám a hodí se mi integrovaná nápověda.
Ovšem ve chvíli, kdy mám kostru hotovou, přichází na řadu vim. Ať už netbeans, nebo eclipse, obojí má zoufale neefektivní editor.
Ve chvíli, kdy vám někdo uvedl konkrétní případ, se kterým se ve své praxi setkávám denně, vy jste to smetl ze stolu s tím, že tohle je přece nesmysl a žádný programátor tohle používat nemůže. Což je blbost, programátor právě takovéhle věci používá denně (odsadit blok textu, zakomentovat celou podmínku if, i když je přes několik stránek kódu, smazat vše až po první výskyt libovolného znaku, abecedně seřadit a vyházet duplicity na řádcích až po první řádek začínající textem 'pepa' atd). A to vše vychází z kombinování základů, žádná expert usage.
Zkuste mě přesvedčit. Přečetl jsem celou diskusi a zatím se vám povedlo ve mě vyvolat jen úsměv.
1) A to má být jako přínos, že se běžné konstrukce (if, for, ...) píší v různých jazycích různě???
2) Kromě toho se v mnoha jazycích píší stejně/podobně. A to není jen tak pro nic za nic, to je proto, aby se člověk nemusel učit pořád něco od znova. Aby se mohl soustředit více na obsah (to, co programuje) než na formu (kde napíše jaké závorky)
Proto existují různé psané i nepsané standardy GUI a vůbec UI, aby usnadnili lidem práci s počítačem a učinili ji tak efektivnější. Jen si představ, že by se všichni chovali jako VIM, každý program by vypadal úplně jinak, zaváděl by zcela novou sadu zkratek a příkazů. To by teprve byla "intuitivní" práce s počítačem, že? A nebo taky ne. :-)
"1) A to má být jako přínos, že se běžné konstrukce (if, for, ...) píší v různých jazycích různě???"
Řeč je snad o "různých jazycích", ne o jazycích, které jsou téměř totožné (namátkou třeba C# a Java - rozdíly na úrovni syntaktického cukru). Už vidím ten imperativní for() v Haskellu nebo monády v Cčku.
"...soustředit více na obsah (to, co programuje) než na formu (kde napíše jaké závorky)"
A jsme zase u toho! Nejlepší je tedy používat jazyk, který má závorky jen jedny! Já to pořád říkám. :-)
"jaka byla situace v oblasti editoru tedhdy"Situace tehdy byla taková, že tou dobou již patnáct let existovaly editory, jejichž ovládání tehdy bylo považováno za zcela standardní, již tehdy měly pokročilé funkce pro obecnou editaci a již tehdy měly i nadstavby pro konkrétní jazyky a typy dokumentů (v případě Emacsu se jim říká "hlavní režimy", u Vimu neposloužím...Petře? ;-)): Vi a Emacs.
Abych řekl pravdu, mě osobně právě textové rozhraní u linuxu udrželo. Ta ohromná moc, která na mě dýchala z terminálu.. Doteď se snažím všechno, co můžu řešit přes terminál. Pouštění muziky, internetových rádií, správa souborů, díky Vim už i úpravu textu - překlady různých materiálů, programování, korektura, časování titulků..
autocmd BufNewFile *.c 0r ~/tmp/skeleton.c autocmd BufNewFile *.c execute 10
autocmd BufNewFile *.c 0r ~/.vim/skeleton.c autocmd BufNewFile *.c normal /main^M2j(^M je 1 znak - Enter)
autocmd BufNewFile *.c execute "1,$s/TADY_ZACNI//"Tohoto fíglu se dá využít i k vyplňování hlavičky souboru, např. doplnit jméno souboru, autora, datum vytvoření, případně u nového 'soubor.h' připsat
#ifndef SOUBOR_H #define SOUBOR_H #endif
autocmd BufRead *.eml normal gg}tedy normal'ně skočit za první odstavec.
autocmd BufNewFile *.c \ 0r ~/tmp/skeleton.c | \ execute 10nebo takhle
autocmd BufNewFile *.c 0r ~/.vim/skeleton.c | \ normal /main^M2jpodstatné jsou ta lomítka a svislítka.
Také jsem překvapen, jak tu někteří neustále opakují "já se Vim učit nebudu, nechtějte po mně, abych se to učil", i když jim nikdo nic nenutí. Je to prostá záležitost volby - buď věnuji teď pár hodin času studiu Vimu a ušetřím nespočetně více při budoucí editaci textu, nebo zůstanu u user-friendly expert-hostile editorů, kde sice nemusím trávit čas učením, ale kde mi každá operace bude trvat o něco déle. Stejně jako programátor stráví odpoledne tvorbou programu, která mu v delším časovém horizontu ušetří mnohem více času, než kolik vložil do jeho tvorby.
neznam nikoho kdo s Vimem umi a stezuje si na to ;)
A o tom to je. Podle mého si ti lidé musí hodit špínu na Vim, aby si nějak zdůvodnili, že ho neumí. Říkají někomu něco kyslé hrozny? Někdo umí něco, co oni ne, což je žere, tak na to žehrají. Velmi rozšířené. Já s tím problém nemám. Používám, co považuji za optimální pro svoje potřeby, i když třeba vím, že existují efektivnější nástroje. A nemám problém efektivnější nástroje respektovat, stejně jako jejich uživatele. A teď konec diskusí, jdu se učit Vim:-D.
"vim je nejlepsi na svete na cokoliv a kdo ho nepouziva je lama, mene inteligentni nouma s pilou zubatkou, kolobezkou a podobne"
Kdo tohle říká? Jmenujte někoho. A pokud se podíváte na celou diskusi, zjistíte, že celou tu obsáhlou flame začal příspěvek člověka, který Vim jednoznačně odsoudil:
kazdej editor ke kterymu potrebujete manual je podle me spatnej editor [...] nejaky stupidni editacni a prikazovy mod
Což je odpověď i na vaši otázku:
Nemam zadny duvod hazet spinu na jakykoliv kus softwaru (mimochodem kdo a kde to tu konkretne dela?).
A pokračujeme dále.
nemam zadny duvod s vim pracovat. Nevyhovuje mi.
Fajn. Ale co tedy potom děláte v diskusi pod článkem o Vimu, když vám nevyhovuje a nemáte žádný důvod s ním pracovat? Proč musí do každé diskuse o probíraném SW *xyz* dorazit individum, které začne prohlašovat, jak on danou záležitost nepoužívá, jak je daná záležitost k ničemu, špatná, apod.? A o těchto lidech je můj předchozí příspěvek.
Paradoxně, ten čas, který tu někteří ztrácí flamováním a kritizováním Vimu, by jim možná stačil k tomu, aby se v něm naučili pracovat. Zejména u pana Franty Kučery mám dojem, že kdyby jeho snaha Vim za každou cenu shodit byla využita k výuce Vimu, mohl by o něm přednášet.
A co je také velmi typické, mnozí tu kritizují Vim, i když o něm skoro nic nevědí. Zpravidla si pak stěžují na nepřítomnost něčeho, co Vim má. K tomu jen ocituji to, co už bylo řečeno:
Kolik z těch odpůrců VIMu co tu píší dokončilo aspoň polovinu vimtutoru?
Opravdu mi to připadá, že místní anti-Vim flameři si potřebují něco dokázat tím, že Vim shodí. Místo plodné diskuse zaměřené na to, jak co ve Vimu udělat, tu máme flame jak řemen. A to zřejmě jen proto, že si ti, kdo Vim neumí, léčí svoje komplexy. Jinak si to opravdu nedokážu vysvětlit.
Pokud já někde uvidím článek o programu, který nepoužívám a používat nechci, tak ho nečtu a do diskuse pod ním se nemíchám. Prostě daný SW nepoužívám a nemám s tím problém. Nemám potřebu uživatelům daného SW povídat, jací jsou [censored], že používají takový [censored] SW, který mně nevyhovuje, a tudíž je špatný.
t"
což znamená to " neboli k " (těsně k, čili před ně)f"
což znamená find " neboli najdi "(na ně)dt"
což znemaná delete to " neboli smaž až k "yt"
což znemaná yank to " neboli ... :) k "{
, na konec }
(programátorům netřeba překládat). Na konec třetího bloku prostě 3}
, čili smazat tři následující odstavce je zhruba d3}
.qqA;<esc>jq
. Přehrátí makra se udělá "@q", čili pokud pak chcete středníky na konce následujících 30ti řádek, stačí "30@q".
"(využívat pokročilých funkcí)." Tahle moje závorka asi nebyla úplně nejlépe napsaná, u VIMu se to "musím" týká hlavně složitého neintuitivního ovládání.
Zrcadlovka mi poskytne kvalitní výstup i při automatickém režimu (výhoda oproti kompaktu tu tedy je) a poloautomatický a manuální režim je možnost (můžu). Ale VIM mi poskytne vůbec nějaký výstup (třeba i holý text) až po tom, co do něj vložím nějaké úsilí (musím). Přičemž toto úsilí je vyšší než u jiných editorů.
Tenhle příspěvek je snad delší než původní článek. Ale přelouskal jsem ho celý :-)
"prostě chtějí dostat z jednoho místa na druhé" Tohle mi přijde jako dost důležité, počítač je jen prostředek k dosahování nějakých cílů. Musí být užitečný a užitek z něj musí být vyšší, než moje úsilí, které do toho vkládám. Jinak je to jen krám, který mi zabírá místo na stole.
Potřebuji nastavit firewall? Prostě použiji kvalitní grafický nástroj pro vytvoření pravidel a konfiguračního souboru. Nebudu se muset učit nějakou syntaxi konfiguračního souboru (a také se vyhnu chybám z nepozornosti) a tím ušetřím drahocenný čas. Takto ušetřený čas můžu věnovat přemýšlení o tom, kde budou jaké zóny, jak rozdělím počítače do podsítí a podobným důležitostem. A nebo prostě ve volném čase půjdu na procházku ven nebo do hospody nebo budu flamovat v internetových diskusích :-)
Prostě upřednostňuji obsah nad formou, není nejdůležitější, kde se píše jaká závorka, není důležité umět 1000 klávesových zkratek, ani není důležité, jestli dokáži zeditovat soubor za 5 nebo 8 vteřin. To je jenom taková opičí práce, důležitější je ta podstata, inteligentní člověk stráví třeba i hodiny analýzou problému a přemýšlením. Ale konkrétní implementaci napíše třeba v řádech minut.
Můžu třeba studovat hodiny příručky k TeXu*, nebo můžu stejný čas věnovat studiu literatury o typografických pravidlech a sazbě. V prvním případě se naučím, jak napsat pár příkazů, v druhém případě se naučím, jak by měl dokument vypadat a vysázím ho třeba v nějakém intuitivním editoru (tím není myšlen MS Word**).
*) zrovna ten TeX není asi nejlepší příklad to tohoto flamewaru. Protože já sám používám LaTeX a ve spojení s dobrým editorem je práce docela intuitivní. I když ne úplně dokonale, protože občas musím hledat v manuálech a návodech. I když psát to v TeXu a ne LaTeXu by asi bylo utrpení, takže je ten příklad vlastně docela na místě :-)
**) Jen tak mimochodem: i ve Wordu se dá "vysázet" jakž takž vypadající dokument. Jen to dá možná víc práce. Protože LaTeX sám o sobě dělá docela hezké dokumenty. Kdežto Word sám od sebe nedělá nic a když je uživatel prase a nepoužívá styly, tak je výsledek tragický.
GUI může být geniálně navržené a i hromadné operace v něm budou záležitost na jedno dvě kliknutí. Stačí aby programátor nebyl lempl a při vývoji přemýšlel.
S tím lze obecně souhlasit a myslím, že dobrých návrhářů GUI pořád máme dost málo. To ale nemění nic na tom, že zrovna vývojáři jsou pořád lidé se svébytnými požadavky, se silnými názory (viz všude kolem ;-)) a hlavně to nemění nic na tom, že je-li konfigurák třeba bashovským skriptem, přizpůsobí se potřebám v takové míře, že by si GUI stejně člověk musel předělat. Pěkné konfigurační GUI má z mého pohledu třeba Emacs. Sice není superergonomické, ale používá se slušně a přizpůsobuje se nově nainstalovaným modulům, neb se generuje automaticky. Samozřejmě to není nic proti možnostem konfigurace v ~/.emacs, ale člověk může používat oboje, ne? ;-)
S tím XML si moc nepolepšíte, pokud ovšem ten nástroj nebude fixovaný na schéma. Pak je otázka, do jaké míry bude flexibilní. Jen bacha na to, že lidé na tom nástroji budou poté závislí, protože slušně se XML konfiguráky ručně editovat nedají. Aby pak (nemaje alternativu) nenadávali na nástroj, který někteří z nich budou muset používat proti své vůli, protože by třeba rádi měli to rozhraní trošku jiné. Ale přeju hodně štěstí při vývoji, každý nápad si cením a třeba se to ujme. :-)
set clipboard=unnamed,autoselect,exclude:cons\|linux
což pod X způsobí, že text označený ve visualmodu či vložený do schránky ala "yw" pak lze v X rovnou vložit prostředním tlačítkem a obráceně (není tedy potřeba explicitně deklarovat PRIMARY selection tím registrem "*).
Kdybych to chtěl do wokna-like schránky (CLIPBOARD, neboli registr "+) tak to už nevím, výše uvedené mi zatím funguje nejlépe. Jsou samozř. i jiné možnosti.
highlight User4 ctermfg=red
autocmd InsertEnter * highlight User4 ctermfg=green
autocmd InsertLeave * highlight User4 ctermfg=red
set statusline=%4*███████████%0*%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %p
Jsem rad, ze jste v teto diskusi zmenil alespon castecne nazor.
Rekapitulace:
Ufon: "pokud se naucite tyhle prikazy nebo ste na ne zvykli tak asi neni problem, ale ja osobne sem mel s timhle programem co do cineni a vubec sem nechapal ktera bije"
Biktop: Někteří uživatelé jsou prostě pro používání počítačů nevhodní. Když si neumíte přečíst pár řádek manuálu, tak radši jděte od toho a do výpočetní techniky vůbec nefušujte. Kvůli takovým lidem jako jste vy a díky takovým lidem jako jste vy pak vznikají paskvily, které vývoj v IT akorát brzdí.
ale je pravda, ze ufon priznal, ze nevedel, ktera bije... :)
Rada pro ty, co chtějí "primitivní" Vim.
gvim -y
~/.vimrc
zapište řádku behave mswin
Ti, kteří chtějí něco jako "poloautomatický režim", a už se naučili přepínat příkazový a vkládací režim, můžou zkusit spouštět klasický gvim, ale s výše zmíněnou úpravou .vimrc.
No a pro zbytek je tu na Vimu postavený cream.
1) Moje úvahy vycházejí z předpokladu, že uživatel většinou řeší úkoly, které už řešil někdo před ním. Proto existuje typový software a tak často se používá, zatímco individuální software se používá jen v nutných případech (protože je drahý).
2) Jestliže známe potřeby uživatelů, můžeme takovou funkčnost zadrátovat do GUI. Tato funkčnost je posloupností primitivních operací, které by uživatel zadával v příkazovém režimu.
Můžeme si to ukázat třeba na příkladu přehrávače Amarok: tenhle přehrávač implementuje nějakou množinu funkcí, které uživatelé potřebují. Přehrávač sice neumí funkci XY, ale protože ji nikdo nepotřebuje, tak to nevadí. Když se najdou uživatelé, kteří funkci XY potřebují, mohou poslat vývojářům požadavek, nebo funkci sami naprogramovat a poslat jim rovnou patch.
Druhou možností je, že žádný Amarok (nebo jiný GUI přehrávač) mít nebudeme a každý uživatel si vytvoří vlastní sadu skriptů, které budou obsluhovat jeho potřeby. Skript bude volat příkazy jako artsplay a mixer a další a ovládat ho bude uživatel přes standardní vstup. Tento přístup dá uživateli neomezenou variabilitu, ale otázkou je, jestli to má smysl. Proč by si každý uživatel měl dělat svoji sadu skriptů, když uživatelé mají společné potřeby a mohou sdílet program, který tyto potřeby uspokojuje skrze GUI?
Podobný příklad je TeX vs. LaTeX: ten LaTeX mne svým způsobem omezuje a čistý TeX by mi nabízel mnohem víc možností, ale množina funkcí, které má LaTeX mi plně postačuje, takže mohu využívat výhod, které mi oproti TeXu nabízí.
3) Velikost obrazovky je omezená a je jasné, že se na ni nedají nacpat všechna tlačítka a menu. Ale GUI se dá konfigurovat (hezky to má třeba Opera, ale i spousta jiných programů), takže uživatel má tlačítka jen těch funkcí, které používá a ty se mu na obrazovku vejdou.
4) Jak píšeš, každý program omezuje uživatele, každý má nějaké limity. Jediný program, který mne neomezuje, je ten, který si napíšu sám, protože si v něm můžu implementovat 100% svých potřeb. Důležité ale není, jestli tyto limity jsou vyšší nebo nižší, důležitější je, jestli jsou dostatečně nebo nedostatečně vysoké vzhledem k potřebám uživatele.
Příklad: můžu mít dvě auta, jedno bude jezdit max. 300 km/h a druhé 400 km/h. Z hlediska potřeb řidiče jsou limity obou těchto aut dostatečně vysoké, proto je irelevantní, který z těchto limitů je vyšší. A uživatel může do rozhodování zapojit jiná kritéria.
5) GUI mne omezuje, příkazový režim mne omezuje méně* a programovací jazyk mne omezuje ještě méně. Otázkou tedy je, proč bych si měl vybrat VIM s jeho příkazovým režimem (který mne omezuje), když mohu použít programovací jazyk (který mne neomezuje prakticky vůbec).
6) Asi řeknete, že jsem idealista :-) ale moje představa je takováhle: kvalitní GUI + otevřené formáty (založené pravděpodobně na XML). Ve většině případů využije člověk to GUI, protože neobjevuje Ameriku, ale řeší totéž, co už někdo před ním, takže už to v tom GUI je a pohodlně. A v případech, kdy má jedinečné potřeby, buď vylepší GUI (pokud to má smysl a je tu šance, že totéž bude potřebovat ještě někdo po něm) nebo si napíše vlastní program, který bude pracovat s otevřeným formátem, nebo použije univerzální (XML) editor, kterým soubor upraví.
*) I když s tímhle tak úplně nesouhlasím, protože: textový režim mne zase omezuje ve vizualizaci -- v CLI toho nejde vyjádřit tolik jako v GUI, to se týká hlavně směru počítač --> člověk (takový diagram tříd nebo databázový model vyjádřený v ASCII Artu je teda "lahůdka"). A někdy i ve směru člověk --> počítač, protože některé věci bez GUI prakticky nejdou (kreslení obrázku by zadáváním příkazů bylo neskutečně nepohodlné, nehledě na to, že by grafik vůbec nevěděl, co kreslí).
2) Přiznám se, že jsem na limity LaTeXu ještě nenarazil (asi sázím moc primitivní dokumenty :-) Zásadní otázkou při řešení případných problémů s limity ale je, jestli:
a) se snížit na nižší úroveň -- použít příkazy TeXu b) vylepšit LaTeX (nebo jinou vyšší úroveň) tak, aby odpovídal mým potřebám.
Možnost a) je vhodná pouze v případě, kdy moje potřeby jsou zcela jedinečné. Možnost b) je vhodná v případě, kdy na světě existují i jiní lidé, kteří řeší stejné věci jako já, kteří narazili na stejné limity LaTeXu. V drtivé většině případů jsou na světě i jiní lidé, kteří mají stejné potřeby jako já.
IMHO je tedy vhodnější vylepšovat tu vyšší úroveň (LaTeX, vyšší programovací jazyky, GUI...) tak, aby odpovídala aktuálním lidským potřebám, než se vracet na tu nižší úroveň, což nutí každého uživatele znovu a znovu vynalézat kolo, objevovat Ameriku...
Ta nižší úroveň je vhodnější (a nutná) jen v jedinečných a neopakovatelných případech a nebo v případech opakovatelných, ale takových, kdy je potřeba něco implementovat a nasadit ve velmi krátkém čase -- pak se to to prostě nějak narychlo zbastlí, než aby se udělalo pořádné řešení, které by bylo znovupoužitelné a přineslo užitek i někomu jinému.
v rámci GUI už není co nového vymýšlet
A muzu se zeptat, co treba povazujete za takovy vrchol GUI? Nejakou konkretni aplikaci, ktera ma GUI tak dokonale, ze jiz nelze vylepsit. Pripadne (protoze ji asi nebudu znat) cim je to GUI tak na vysi? Je to linuxova aplikace? Je treba naprosto nove GUI v MS Office 2007 krokem do prazdna a dukazem, ze uz neni co vylepsovat?
Jsou věci, které jsou dávno vymyšlené, ověřené a ideální v CLI, tak proč to šroubovat na GUI?
Rekl bych, ze z podobneho duvodu, proc na CD a DVD znovu vychazeji ty nahravky a filmy, ktere jiz predtim vysly na LP a VHS. (A ted mi nejde o kvalitu nahravky, ktera je mimochodem na LP vyssi nez na CD.)
"A shodou okolností si to ode mě nahrálo i pár dalších lidí, kteří přišli na to, že se jim to asi taky může hodit."
Vždyť to je přesně to, co píšu: "vylepšit LaTeX (nebo jinou vyšší úroveň)" Ty jsi vytvořil novou specializovanou nadstavbu, novou vyšší úroveň*, která může být užitečná i jiným lidem, kteří mají stejné potřeby jako ty.
*) tady optimisticky předpokládám, že sis vytvořil znovupoužitelná makra TeXu, ne že jsi tam přímo namastil nízkoúrovňové příkazy.
/, Enter, J, K, Esc :)