Tedy celý pět dílů seriálu trvalo, než se dopracoval k Jedinému Skutečnému Editoru. Poněkud smutné, kolik programátorských sil bylo zbytečně vyplýtváno na ehm... jak to jen říct... slepé cesty a tvorbu nepotřebných utilitek, údajně určených k editování souborů. Psche. Kupříkladu takový VIM - jaký to výsměch stvořiteli.
Pro heretiky, odpadlíky a jiné zvrhlíky - tím jediným skutečným editorem je tím míněn samozřejmě Emacs. https://xkcd.com/378/
+------------------------------------------------------------+ | .':| | .;lxOKK0Ox| | .;oOXXko:'. | | ,o0NKx:. | | ,dKW0l' | | .OWMMMWo' | | ,kMWWWKl | | :kWKo. | | .:oxOXO; .cOW0l. | | oNWk0Wx. .lKWOc. | | cMM, . 'dXWk; .....''',,| | kMXl,'':xNNx, .';coxO0XNWMMMMMMMMMMMM| | ;ldxxoc. .,lx0NMMMMMMMMMMMMMMMMMMMMMMMM| | ,o0WMMMMMMMx'.;KMMMMMMMMMMMMMMMMMM| | .,cd0NMMMMM0l:oNMMMMMMMMMMMMMMMMMM| | .:OMMMMMMMMMMMMMMMMMMMMMMMM| | ;xKNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMM| | .,lkKWMMMMMMMMMMMMMMMMMMMMMMMMMM| | .':oxOKNMMMMMMMMMMMMMMMMMM| | .;cdk0XWWMMMMMMMM| +------------------------------------------------------------+
Samozřejmě ten nadpis má chybu.
"Eine" -> Eins, protože mluvíme o číslovce. "Raz" Němci nemají, protože v hudbě není důvod, když je vše pěkně kratke.
Eine je dobře tam, kde se jedná o první pád rodu ženského v jedn. č. Např. "Eine Frau kann auch Emacs bedienen."
Jinak děkuji začlánek na úrovni, doufám že diskuze bude taky na úrovni.
Pred 20ti lety na vejsce sme tak nejak debatili kto co pouziva. Z nasi 10ti clenne hacker party to bylo tak nejak gausovsky rozlozeno. 2 emacs, 3 vi* a ostatnich 5 normalnejsich joe. Emacisti nikdy nejak nedokozali rozumne vyjadrit co jich na tom bavi, akzdopadne meli jasno ze to je nejlepsi editor pod sluncem. Vickari porad neco zvanili o makrech a kdys sedli za panensky Vi* bez jejich maker tak nedali ani carku. Joeisti vicemene pred tim delali v Borland IDE takze joe byla prirozena volba se stejnyma skratkama. Asi pred rokem jsme se tak nejak virtualne sesli a bavili jake editory pouzivaji dnes.
Jeden je porad v emacsu, ale ten byl divnej uz tehdy a bastli vlastni linux distro protoze /var /usr /bin structura je pry vadna ci co. Jeden taky z casu na cas musi neco doeditovat v shellu a porad ve VI protoze je vsude. Na makra se uz vybod :) Zbytek v shellu edituje uz jen vzacne, bud maj OSX nebo Gnome pripadne Win + ssh a vsechno editovani delaj v GUI editorech (sublime, idea, eclipse, atom, ultraedit).
Emacs je mrtev panove.
Aha. Ty jsi uvedl fakta, že ve vaší skupince nerdů byli dva lidi používající emacs a po dvaceti letech je jen jeden. A na základě tohohle pozorování jsi udělal závěr, že emacs vymírá. Trochu mi to připomíná obligátní xkcd 605.
Osobně používám Sublime text, takže je mi tenhle flame fakt v prdeli, ale znám hned několik mladých lidí, kteří se (Spac)Emacs začali učit v nedávné době (viz třeba http://devel.cz/otazka/emacs-v-cr), prostě proto, že teď je moderní lisp (clojure/racket/whatever) a emacs má a ještě dlouho bude mít nejlepší podporu lispu. Přesto si z toho nedovoluji vyvozovat obecný závěr o používání emacsu, protože je mi prostě jasné, že můj vzorek je hodně malý.
Já nemám ani moc problém s tím co říká, ale jakými daty to dokazuje. To že k tomu dospěl na základě vzorku dvou lidí mi přijde veskrze dementní.
Jinak jak jsem psal - osobně znám hned několik lidí, kteří ho používají a někteří se ho začali učit tenhle rok kvůli lispu. Takže umírající možná, mrtev určitě ne.
Jojo. Ja pouzivam JED uz asi 20 let, protoze tehdy Emacs na QNX 4.x proste padal a VIM nesel skompilovat. JED byl jediny editor se zvyraznenim syntaxe, ktery sel zbuildit ze zdrojaku a chodil bez problemu. Pouzivam jej dodnes jako IDE pro praci v assembleru ca65, protoze nevidim duvod ke zmene.
Takze...? Kazdy neco pouzival, neco pouziva a kazdy k tomu ma sve duvody, mozna ze pouze subjektivni.
Muzu udelat pokus. Predhodim 17-ti letemu synkovi Emacs, VIM a par dalsich editoru, at mi rekne, co dnesni mladez preferuje. Vypovidaci hodnota jeho odpovedi bude stejna, jako zprava, ze ja pouzivam JED. (Abych neryl do Ladisla Lhotky.)
:)
Fakt me vzdycky bavi rozpravy na tema, co je a co neni mrtve. Cas ukaze. A mozna budeme prekvapeni vsichni.
Takže původně to mohlo být:
1x Emacs, protože je [seznam miliard fíčur]
1x Vi, protože je [seznam miliard fíčur]
5x Joe protože přešli z DOSu (to chápu, taky jsem to tak měl)
2x Emacs/Vi protože prostě začínali a rozkoukávali se, někdo je nakopnul tímto směrem.
Dneska:
1x Emacs zůstává
1x Vi zůstává
a ti další prostě ještě musí dospět :D
Emacs nabízí nejvíce propracovaný systém zkratek. Časem jsem zjistil, že už umím z hlavy všechny, které potřebuji k práci a nemusím nic složitě lovit v menu.
Co si nepamatuju v rychlosti zavolám klávesovou zkratku helm a fulltextem vyhledám příkaz i s dokumentací.
*Zde byla původně slohová práce na tém výhody Emacsu, ovšem Root.cz backend mě tvrdil, že: (v textu byla použita zakázaná slova) a nešlo Odeslat.*
Muze mi nekdo vysvetlit, proc se PORAD resi blby textovy editory? V dobe, kdy jsem zacinal s Linuxem jsem to absolutne nechapal, myslel jsem, ze to je nejaka vyssi divci. Dneska (po vic nez deseti letech a na uplne jiny urovni) to porad nechapu...ale aspon uz me to davno netrapi.
Mozna to chce jeste o uroven vys :)
Ne vazne, taky jsem si myslel, ze to neni nic pro mne, ale nedavno jsem "objevil" emacs (+ orgmode + evilmode + ...) a od te doby nechci nic jine.
Jo taky jsem to nechapal co to vsichni furt resi, kdyz je tolik IDEcek. Nakonec zjistis ze opravdu na vsechno existuje v emacsu prikaz : )
Predpokladam, ze znas Linux, takze si asi pouzival nekdy prikazy jako ls, cd..
Muzes se zeptat na stejnou vec - proc se tohle jeste resi. Odpoved je, ze to tu je 40 let a za tu dobu se to nezmenilo. Grafickych udelatek na praci se soubory byla od te doby kopa.
Stejne je to s textovym editorem a IDE. Poradny textovy editor (Vim nebo Emacs) ti nezestarne. IDE se budes za par let ucit nove.
Tak vi nebo ed je prakticky na vsech systemech. Nano/pico je taky prakticky vsude. Emacs se musi doinstalovat. Stejne tak vetsina ostatnich.
Ja osobne pouzivam vim s par extra nastavenimi, ale prakticky tak, jak prijde v Debianu. S vi si taky poradim, kdyz me nekdo posadi pred OpenWRT nebo podobne minimalni system.
Emacs jsem pouzival na emaily. Znam lidi, co v nem fakt uzasne dobre a rychle programuji, sazi LaTeX apod. Me pripada sympaticke oboji, ale taky chapu, ze to chce venovat tomu cas.
O ostatnich editorech nemam prakticky predstavu. Notepad++ je pro normalnejsi uzivatele na Windows celkem stravitelny a rychly editor a zbytek jako Sublime, Atom apod me nezajima, pres ssh to nejede obycejne tak dobre, jako vim/ emacs -nw/ nano, tak proc to resit.
Pro pritelkyni, rodinu atd. zase bohate staci gedit nebo kate nebo tak neco a to je taky v zakladni instalaci vetsiny dister pro bezne uzivatele. Nema smysl to moc resit, kazdemu vyhovuje neco jineho. Jen administratori by asi vi nebo podobne rozsireny editor na jejich systemech meli slusne ovladat.
Vidím to podobně. Na mebedded systémech a WRT je vi jasná volba, tam se nic moc lepšího nacpat nedá (a osobně, než měnit vi, měním raděj BusyBox).
Na deskopu je zase tolik editorů s GUI a intuitivním ovládáním, že není důvod se učit zkratky a přemýšlet jakým hmatem něco udělat místo toho proč to chci udělat.
A tím se dostáváme k jádru pudla. Správný programátor píše v tom, co mu sedne. Nesoustředí se totiž na nástroj, ale na výsledek.
S timhle:
"Na deskopu je zase tolik editorů s GUI a intuitivním ovládáním, že není důvod se učit zkratky a přemýšlet jakým hmatem něco udělat místo toho proč to chci udělat."
bych nesouhlasil. Z meho pohledu to je stejne tvrzeni, jako:
"Lopata je natolik intuitivni, ze neni duvod se ucit ovladani bagru a premyslet ktery knoflik zmacnknout misto toho proc to chci udelat."
Vsechny komplikovanejsi editory byly vymysleny, aby usetrili nejakou praci. Ale znamena to neco se naucit. Jasne ze je dulezite soustredit se na vysledek, ale s nekterym nastrojem to jde rychleji (pote, co se ho clovek nauci ovladat).
Ano, Emacs je stará rezavá lopata, kterou ovládat je pořádná dřina: http://bagry.cz/var/ezwebin_site/storage/images/clanky/recenze/nove_ceske_kolesove_rypadlo_prodeco_kk1300_se_zakousne_do_skryvky_v_dolech_bilina/kolesove_rypadlo_prodeco_kk13002/997937-1-cze-CZ/kolesove_rypadlo_prodeco_kk1300.jpg
Za sebe, programovat v textovým editoru jde, nic proti makrům, i syntax highlight je fajn, ale je to furt jenom ta ruční vrtačka. Editor v IDE je editor v IDE. Protože:
- Projekt není složený jenom z jednoho souboru a neznám textový editor, který by zajímalo, že třída použitá jako argument metody je v jiným zdrojáku a dokonce v jiným adresáři. Týká se to všeho, od našeptávání po refaktoring.
- Kromě hloupýho syntax highlightu většinou konkrétnímu jazyku nerozumí. Tzn. není tam ani navigační panel, kde by bylo vidět, co v tom zdrojáku je třeba za makra, funkce,...
- Po Ctrl+N člověk dostane většinou už hotovou kostru modullu v jazyce, ve kterým pracuje. Ušetří si tak 20 řádů a nemusí řešit, kterou klívesu použít pro kostru v C a kterou třeba v Pythonu.
- Integrace toho, co opravdu využiju. U kolosu člověk většinou používá jenom podmnožinu funkcí a nepamatuju si, kdy jsem při programování použil kontrolu pravopisu. Oproti tomu si dobře pamatuju naštvání, že chybí podtstaná věc jako Refaktor->Rename
- Debug ve VIMu jsem ještě nezkoušel, ale pokud to jde, byl by to asi zážitek.
Na konfiguraci systému po SSH je VIM v pohodě (resp. nějak jsem se ho naučil používat), aspoň je to stejný na všech krabičkách a nemusím řešit, co kde je. Nemám potřebu se učit štosy dalších maker pro další editor...
A na práci s textovým dokumentem? Tam volím raděj LO Writer...
No, debata by se mela tykat textoveho editoru. Tedy: smazat radek v beznem textovem editoru: Home, shift + End, Delete. Smazat radek v lepsim textovem editoru je mnohem rychlejsi: Vim: dd, Emacs: C-S-Bckspc.
Tedy k memu primeru: bezny textovy editor je lopata, Bagr je vim/emacs.
Pokud se ale chces bavit o IDE, to je samozrejme neco jineho. Tady bych si ale taky dovolil oponovat. Delam python ve Vimu, a vse co popisujes (refactoring, znalost kodu z vice adresaru, navigacni panel, debug) neni problem. Ale to uz neni cisty Vim, je to Vim plus hromada nekym pripravenych maker, doprovodnych programu na kontrolu kodu atd.
Na klávesy:
Save: S GUI <Ctrl>+S, Vim <Esc>:w - 2:3
Smazání řádku: Gui <Home> <Shift>+<Down> <Delete>, Vim <Esc>dda- 4:4
Je to hodně podobný. S tím, že GUI má jednu výhodu, stejný ovládání, jako ostatní aplikace. Pro člověka je názornější označení řádku a pak jeho smazání, než si pamatovat zkratku z "Delete Dine", nebo co to "dd" má znamenat. I s tím, že vidím, co mažu. A jasně, projekt se dá dělat i v ASM, ale kdo by to dělal?
"okud se ale chces bavit o IDE, to je samozrejme neco jineho. Tady bych si ale taky dovolil oponovat. Delam python ve Vimu, a vse co popisujes (refactoring, znalost kodu z vice adresaru, navigacni panel, debug) neni problem. Ale to uz neni cisty Vim, je to Vim plus hromada nekym pripravenych maker, doprovodnych programu na kontrolu kodu atd." - To je přesně ono. Někdo vytvoří makra, já je musím najít, nainstatalovat, nakonfigurovat pro konkrétní projekt, udržovat to,... A v případě několika jazyků přemýšlet, jakým makrem inkludnu soubor zrovna v tom konkrétním jazyku.
Za sebe, v IDE jsem dal za hodinu průměrně cca 170LOC, ve VIMu cca 75LOC na podobně velkým projektu v C. Takže textový editor na programování opravdu nehodlám používat.
>To je přesně ono. Někdo vytvoří makra, já je musím najít, nainstatalovat, nakonfigurovat pro konkrétní projekt, udržovat to,... A v případě několika jazyků přemýšlet, jakým makrem inkludnu soubor zrovna v tom konkrétním jazyku.
Tak zrovna vim i emacs, ale i každý lepší editor, mají package manager. K tomu navíc nyní vznikají různé bundly, jako třeba Spacemacs, kde je tohle všechno zabalené už při instalaci.
dobre. tak si vymyslim slozitejsi priklad. smazani treti vety pateho odstavce. ty budes sahat na mys a scrollovat jak pako. ja umim psat vsemi deseti, znam zkratky vimu a budu se uz stourat v nose nudou, zatimco ty budes mavat mysi.
Jako u kazdeho bagr, nejprv se musi clovek hodne ucit, aby ho umel pouzivat efektivne.
Ad IDE - textovy editor a IDE jsou doprkynka dve ruzne veci. Jsou IDE, ktere maji jako editor textu neco hodne podobne vimu nebo emacsu. proc to porad michas? Ani to nejlepsi IDE za tebe nevyresi smazani treti vety pateho odstavce. Od toho je textovy editor. IDE je od toho, aby chapalo zdrojovy kod.
A to IDE musi nekdo najit, nainstalovat, nakonfigurovat, udrzovat to, premyslet nad nastevenim pro dany jazyk... (btw uvedl jsem jako priklad python+vim - nainstalovat pymode je mnohem jednodussi nez treba visual studio)
Přijde mi teda, že reaguješ na někoho úplně jiného, ale stejně mi to nedá:
>dobre. tak si vymyslim slozitejsi priklad. smazani treti vety pateho odstavce. ty budes sahat na mys a scrollovat jak pako. ja umim psat vsemi deseti, znam zkratky vimu a budu se uz stourat v nose nudou, zatimco ty budes mavat mysi.
No, jasně. Až na to že já mám v sublime easymotion, takže ty ruce nezvednu taky a udělám to možná ještě rychleji, než ty. A funguje to zcela obecně, bez toho abych musel pracně počítat, že je to třetí věta pátého odstavce, prostě se na to jen podívám a už to letí.
>Ani to nejlepsi IDE za tebe nevyresi smazani treti vety pateho odstavce.
Co to je proboha za blbost? Téměř každé IDE má nějaký command plugin, třeba vimperátor a udělá to tedy s klidem taky.
>Ad IDE - textovy editor a IDE jsou doprkynka dve ruzne veci.
To platilo tak možná v dobách krále klacka. Dneska se rozdíl docela stírá, speciálně právě u editorů, které mají package managery. Když si doinstaluju do sublime pár pluginů, tak jsem na tom stejně, jako ostatní s kolosálními IDE. Ostatně celé IDE není nic jiného, než předbalený editor s integrovanými pluginy.
Určitě IDEčka převzala od textových editorů část uživatelů, ale dobrý textový editor se stále uživí, ať již pro dokumentaci (AsciiDoc!), programování v jazycích, kde IDE nerozezná kontext (Forth) nebo pro lidi, co nejradši vyvíjejí v REPLu (proto je asi taky oblíbený Emacs kvůli SLIME, i když Vim mu začíná šlapat na paty :-)
Pro mě znamená Emacs hlavně klávesové zkratky, díky kterým člověk nemusí přešahávat z kláves asdf jkl; . Něco podobného, jako když se člověk naučí psát všemi deseti: dá se bez toho obejít, ale když člověk věnuje čas, aby se to naučil, tak to pak dost urychlí práci.
Takže sice používám i jiné editory a IDE, ale první, co v nich nastavuju, je volba "používej klávesové zkratky typu Emacs".
O tom by se dalo diskutovat, ale posvátné svitky hovoří jasně:
Některé myšlenky použité v editorech fy XEROX byly zahrnuty do editorů běžících pod mnohem vhodněji pojmenovaných operačních systémech - příkladem může být EMANCE a VI. Problém s těmito editory spočívá v tom, že opravdoví programátoři považují vlastnost "Co vidíš je to, co dostaneš" za stejně špatnou jak u textových editorů, tak i u žen. Ne, opravdový programátor si žádá editor typu "dostaneš to, co žádáš" - editor komplikovaný, tajemný, mocný, neodpouštějící, nebezpečný. Takovým je třeba TECO.
Zjistilo se, že posloupnost příkazů TECO připomíná mnohem více poruchy na komunikační lince, než čitelný text. Jednou ze vstupních her, která se dá hrát s editorem TECO spočívá v tom, že zadáte svoje jméno jako příkaz a zkusíte uhodnout, co to udělá. Zatímco budete rozprávět s TECO o chybě vstupních dat, váš program se pravděpodobně zruší nebo - což je horší - se do již odladěného programu zavlečou nenápadné a tajemné chyby.