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 :-)