Textový editor Atom - srovnání s Emacs

Dev

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #45 kdy: 29. 08. 2016, 15:16:52 »
Citace
Dobrý editor může být i dobré IDE. Naopak to neplatí.

To jsou zase pseudomoudra. Radši běžte něco tvořit, než tohle. Největší vliv na produktivitu bude mít, když nebudete 90% pracovní doby psát hovadiny na internet. Já se loučím.


Kiwi

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #46 kdy: 29. 08. 2016, 15:38:28 »
Pokud u tebe nemá IDE vliv na produktivitu(je stejná nebo snad ještě horší, než v editoru), pak to jednoduše znamená, že s IDE neumíš pracovat a nedokážeš využít jeho možností. Akorát se snažíš svojí neschopnost vydávat za přednost.

Já ale nemluvil o sobě. Znal jsem například borce (vedoucího týmu 12 lidí), který pro vývoj v Javě používal notepad. A přitom co jiní tvořili týden, on stihl za odpoledne. Další dva projekťáci v tomto týmu, které bych označil za nejlepší lidi co pod sebou měl, používali první Vim a druhý Emacs. V sousedním týmu projekťák podobných kvalit jako předešlí dva používal Eclipse. Takových zkušeností jsem vypozoroval víc - čím větší guru, tím méně mu záleželo na IDE. Zdůrazňuji, že toto je implikace, nikoliv ekvivalence.

Napriklad: IDE dela refaktoring _podstatne_ snazsim. Dobry programator refaktoruje (cimz nerikam, ze kazdy refaktoring je dobry!) a tvori to nezanedbatelnou cast jeho prace. Dobry programator bez IDE musi vyvinout podstatne vic prace na refaktoring.

U mě například tvoří refaktoring velmi zanedbatelnou část práce. Většinu práce strávím přemýšlením, čmáráním na papír, případně laděním, ale rozhodně ne bušením kódu.
Refaktoring je především nevyhnutelným důsledkem propagace tzv. agilních metod vývoje, které mohou dobře fungovat v rukou guru (kteří ovšem nepotřebují nijak dramaticky refaktorovat), ale u průměrných kodérů se to rovná stavbě pětipatrové budovy bez podrobných plánů. Jinými slovy, má-li někdo potřebu příliš často refaktorovat, znamená to, že při práci dost nepřemýšlí. Což je u někoho, kdo se živí programováním, dost podstatný problém. A podle toho výsledky práce takových lidí také vypadají.

Takže nesouhlasím - často refaktorovat potřebuje průměrný, či spíše podprůměrný programátor. Ale v žádném případě ne dobrý programátor.

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #47 kdy: 29. 08. 2016, 15:46:36 »
Pokud u tebe nemá IDE vliv na produktivitu(je stejná nebo snad ještě horší, než v editoru), pak to jednoduše znamená, že s IDE neumíš pracovat a nedokážeš využít jeho možností. Akorát se snažíš svojí neschopnost vydávat za přednost.

Já ale nemluvil o sobě. Znal jsem například borce (vedoucího týmu 12 lidí), který pro vývoj v Javě používal notepad. A přitom co jiní tvořili týden, on stihl za odpoledne. Další dva projekťáci v tomto týmu, které bych označil za nejlepší lidi co pod sebou měl, používali první Vim a druhý Emacs. V sousedním týmu projekťák podobných kvalit jako předešlí dva používal Eclipse. Takových zkušeností jsem vypozoroval víc - čím větší guru, tím méně mu záleželo na IDE. Zdůrazňuji, že toto je implikace, nikoliv ekvivalence.

Napriklad: IDE dela refaktoring _podstatne_ snazsim. Dobry programator refaktoruje (cimz nerikam, ze kazdy refaktoring je dobry!) a tvori to nezanedbatelnou cast jeho prace. Dobry programator bez IDE musi vyvinout podstatne vic prace na refaktoring.

U mě například tvoří refaktoring velmi zanedbatelnou část práce. Většinu práce strávím přemýšlením, čmáráním na papír, případně laděním, ale rozhodně ne bušením kódu.
Refaktoring je především nevyhnutelným důsledkem propagace tzv. agilních metod vývoje, které mohou dobře fungovat v rukou guru (kteří ovšem nepotřebují nijak dramaticky refaktorovat), ale u průměrných kodérů se to rovná stavbě pětipatrové budovy bez podrobných plánů. Jinými slovy, má-li někdo potřebu příliš často refaktorovat, znamená to, že při práci dost nepřemýšlí. Což je u někoho, kdo se živí programováním, dost podstatný problém. A podle toho výsledky práce takových lidí také vypadají.

Takže nesouhlasím - často refaktorovat potřebuje průměrný, či spíše podprůměrný programátor. Ale v žádném případě ne dobrý programátor.

Takze "guru" podle tebe programuje tak, ze
- napise test
- dostane ho do zelene
- commitne a udela pull request
?

Ivan Nový

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #48 kdy: 29. 08. 2016, 15:51:39 »
Citace
Dobrý editor může být i dobré IDE. Naopak to neplatí.

To jsou zase pseudomoudra. Radši běžte něco tvořit, než tohle. Největší vliv na produktivitu bude mít, když nebudete 90% pracovní doby psát hovadiny na internet. Já se loučím.
No zrovna ten PyCharm v distraction módu je od editoru k nerozenání :-)))

gl

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #49 kdy: 29. 08. 2016, 15:53:13 »
Má tu někdo zkušenosti s přechodem z Emacsu na Atom? Vyplatí se to? Používáte některý z balíčků pro emacsovské klávesové zkratky? Pokud ano, tak který? Existuje k Emacsu i jiná moderní open source alternativa?

Podle mne má Emacs pouze jednu alternativu: Vim. Pokud jsi však na Emacs zvyklý, tak ti mohu pouze doporučit, abys u něj zůstal a jen si ho trochu "vymazlil".

Vim je dobrý light weight editor. Používám ho, kde není Emacs. Ovládání Vimu se mi líbí a asi je lepší (stejné ovládání v Emacsu není problém). Ale plnohodnotná alternativa to IMHO není. Je to o stylu práce. Jsem zvyklý používat ipython a shell uvnitř Emacsu. Emacs je hodně dobrý terminálový multiplexer. Integrace elispu je také úplně někde jinde. Všechna rozšíření mají skvělou interaktivní nápovědu. Není třeba googlit. Neovim tohle snad napravuje, ale těžko se jim podaří integrovat 5 externích skriptovacích jazyků stejně jako elisp. Neříkám, že je to špatně. Používání externích nástrojů je někdy lepší.


gl

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #50 kdy: 29. 08. 2016, 15:55:41 »
To jsou zase pseudomoudra. Radši běžte něco tvořit, než tohle. Největší vliv na produktivitu bude mít, když nebudete 90% pracovní doby psát hovadiny na internet. Já se loučím.

Tak se měj. K tématu jsi neřekl nic. Ptal jsem se na zkušenosti s Atomem nebo jiným EDITOREM podobným Emacsu.

gl

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #51 kdy: 29. 08. 2016, 15:59:19 »
Takze "guru" podle tebe programuje tak, ze
- napise test
- dostane ho do zelene
- commitne a udela pull request
?

Přesně tak.

Kit

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #52 kdy: 29. 08. 2016, 16:14:43 »
Vim je dobrý light weight editor. Používám ho, kde není Emacs. Ovládání Vimu se mi líbí a asi je lepší (stejné ovládání v Emacsu není problém). Ale plnohodnotná alternativa to IMHO není. Je to o stylu práce. Jsem zvyklý používat ipython a shell uvnitř Emacsu. Emacs je hodně dobrý terminálový multiplexer. Integrace elispu je také úplně někde jinde. Všechna rozšíření mají skvělou interaktivní nápovědu. Není třeba googlit. Neovim tohle snad napravuje, ale těžko se jim podaří integrovat 5 externích skriptovacích jazyků stejně jako elisp. Neříkám, že je to špatně. Používání externích nástrojů je někdy lepší.

Nechci se hádat, zda je lepší Vim či Emacs. Jen jsem chtěl naznačit, že lepší editor, než tyto dva, už nenajdeš.

On se i ten Vim dá vcelku snadno přizpůsobit, externí nástroje z něj spouštím poměrně často. Javovské stuby by se bez pluginu napsaného v Javě generovaly docela blbě, protože jak jinak chceš dělat reflexi na její knihovny?

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #53 kdy: 29. 08. 2016, 16:16:03 »
Takze "guru" podle tebe programuje tak, ze
- napise test
- dostane ho do zelene
- commitne a udela pull request
?

Přesně tak.

Mno, hlavne ze provereni guru, jako je Fowler, vysvetluji, proc je to spatne.
Ale ocividne je pro "guru" takovehle chovani povolene...

Kit

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #54 kdy: 29. 08. 2016, 16:24:36 »
Takze "guru" podle tebe programuje tak, ze
- napise test
- dostane ho do zelene
- commitne a udela pull request
?

Přesně tak.

Mno, hlavne ze provereni guru, jako je Fowler, vysvetluji, proc je to spatne.
Ale ocividne je pro "guru" takovehle chovani povolene...

To jsi přece napsal ty, jak guru programuje. Proč se tak divíš, když s tebou někdo někdy souhlasí?

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #55 kdy: 29. 08. 2016, 16:28:37 »
A přitom co jiní tvořili týden, on stihl za odpoledne.
Rychlost tvorby rozhodně není tím nejdůležitějším při hodnocení kvality programátora. Nemá to moc daleko od hodnocení podle napsaných řádek kódu… Důležité je také to, zda výsledný kód dělá, co má, zda to nedělá zbytečně neefektivně, zda je srozumitelný.

čím větší guru, tím méně mu záleželo na IDE
Ono to také může být tím, že takový guru řeší nějaké zapeklité případy, které jsou soustředěné na jedno místo v kódu.

rovná stavbě pětipatrové budovy bez podrobných plánů … Jinými slovy, má-li někdo potřebu příliš často refaktorovat, znamená to, že při práci dost nepřemýšlí.
To jste ovšem nepochopil výchozí situaci. Přemýšlet o tom, abyste pak nemusel refaktorovat, můžete u něčeho tak jednoduchého, jako je pětipatrová budova. Dnešní software je ale mnohem komplexnější – a kdybyste chtěl mít na všechno předem podrobné plány, bude váš projekt beznadějně zastaralý už v okamžiku, kdy začnete kódovat.

Agilní vývoj si nevymysleli vývojáři sami od sebe. Agilní vývoj vznikl jako reakce na skutečnost, že požadavky zákazníka se pořád mění, že zákazník neví, co chce, a teprve s tím, jak systém používá, zjišťuje, co by vlastně ještě měl umět. Ostatně u budov je to stejné, i u nich se mění zařízení a vybavení a přestavují se.

U mě například tvoří refaktoring velmi zanedbatelnou část práce. Většinu práce strávím přemýšlením, čmáráním na papír, případně laděním, ale rozhodně ne bušením kódu.
Myslíte, že by tím přemýšlením a čmáráním vznikla ta spousta blogů, redakčních systémů, e-shopů, ERP a prostě všechen ten software, co dnes existuje? Dneska velkou část „objemu“ software tvoří jen poměrně jednoduché spojování již hotových částí a komponent. Většina programování není žádná složitá věda, je to řemeslo. A jako u jiných řemesel, je důležité používat správné nástroje. Do panelu taky můžete vrtat příklepovou vrtačkou a nakonec nějaký důlek vyhloubíte, ale dobrý řemeslník použije pneumatické kladivo – protože kvalita toho řemeslníka je jinde, než že bude zápasit s jednou dírou do panelu. Většina kódu je nezajímavý kód, u kterého záleží právě na tom, jak dobře ovládáte nástroje a používané komponenty, a nějaké přemýšlení není tak důležité.

Je to vidět třeba i na Linuxovém jádru, u kterého byste nejspíš řekl, že je tam potřeba důkladně přemýšlet. Ano, to, co je na linuxovém jádru intelektuálně zajímavé, o čem se píšou články, to jsou věci, o kterých musí autoři pořádně přemýšlet. Ale jestli se nepletu, největší objem změn v jádru pravidelně představují ovladače zařízení – což je z hlediska kódu přesně ta nezajímavá práce, kdy prostě někdo musí napsat kvanta kódu, kterým poslepuje existující komponenty (a zároveň je na tom vidět, že to „slepování“ nemusí být zas tak jednoduchá práce, protože pochopit a vysledovat, jak funguje nějaký hardware, nemusí být nic jednoduchého, co by zvládla motivovaná opice).

Takže nesouhlasím - často refaktorovat potřebuje průměrný, či spíše podprůměrný programátor. Ale v žádném případě ne dobrý programátor.
Dobrý programátor musí být schopen vzdát se svého kódu a pochopit, v čem jeho kód nesplňuje aktuální požadavky. Podprůměrný programátor často refaktorovat nepotřebuje, protože mu špatný kód nevadí. Dobrý programátor naopak refaktoruje, protože když před třemi roky důkladně přemýšlel a naplánoval kód na tři roky dopředu, dnes už ten kód nemá žádnou budoucnost a je potřeba ho zase připravit na ty další tři roky. A dobrý programátor se neustále zlepšuje, takže se mu těžko stane, že dnes už nevymyslí nic lepšího, než co vymyslel před těmi třemi roky.

gl

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #56 kdy: 29. 08. 2016, 16:49:27 »
Nechci se hádat, zda je lepší Vim či Emacs. Jen jsem chtěl naznačit, že lepší editor, než tyto dva, už nenajdeš.

On se i ten Vim dá vcelku snadno přizpůsobit, externí nástroje z něj spouštím poměrně často. Javovské stuby by se bez pluginu napsaného v Javě generovaly docela blbě, protože jak jinak chceš dělat reflexi na její knihovny?

Máš pravdu. Jsou to nejspíš stále dva nejlepší editory.

Teď jsem koukal na tutorial skriptování Vimu v různých jazycích a asi má k tomu lepší podporu. V Emacsu se k tomuhle používají externí procesy. Samotné rozhraní pluginu je ale vždy napsané v elispu.

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #57 kdy: 29. 08. 2016, 17:05:14 »
Takze "guru" podle tebe programuje tak, ze
- napise test
- dostane ho do zelene
- commitne a udela pull request
?

Přesně tak.

Mno, hlavne ze provereni guru, jako je Fowler, vysvetluji, proc je to spatne.
Ale ocividne je pro "guru" takovehle chovani povolene...

To jsi přece napsal ty, jak guru programuje. Proč se tak divíš, když s tebou někdo někdy souhlasí?

Napsal jsem ironicky, co je ocividna cesta do pekel...
Mno nic. Kdo chce kam... at si klidne tretinu procesu vynechava.

Kit

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #58 kdy: 29. 08. 2016, 17:10:28 »
Nechci se hádat, zda je lepší Vim či Emacs. Jen jsem chtěl naznačit, že lepší editor, než tyto dva, už nenajdeš.

On se i ten Vim dá vcelku snadno přizpůsobit, externí nástroje z něj spouštím poměrně často. Javovské stuby by se bez pluginu napsaného v Javě generovaly docela blbě, protože jak jinak chceš dělat reflexi na její knihovny?

Máš pravdu. Jsou to nejspíš stále dva nejlepší editory.

Teď jsem koukal na tutorial skriptování Vimu v různých jazycích a asi má k tomu lepší podporu. V Emacsu se k tomuhle používají externí procesy. Samotné rozhraní pluginu je ale vždy napsané v elispu.

Ve Vimu je to prostě znak "!", za kterým je externí příkaz. Označené řádky do něj vstoupí jako STDIN a jsou nahrazeny řádky, které přijdou ze STDOUT toho externího příkazu. Předpokládám, že Emacs to dělá podobně, jen s odlišnou syntaxí.

Takže když chci třeba několik řádek seřadit podle abecedy, tak je označím a napíši :!sort. Když chci seřadit selý soubor, tak jen :%!sort. Pak už záleží jen na fantazii a množství použitelných filtrů v systému.

Občas tak trochu závidím Emacsu jeho elisp, ale librep přes zmíněný příkaz ho dokáže nahradit. Samotný VimL se mi moc nelíbí, ale používat se dá a pár tisíc řádek konfigurace jsem si v něm už také napsal. Hlavně automatické korektury.

Kit

Re:Textový editor Atom - srovnání s Emacs
« Odpověď #59 kdy: 29. 08. 2016, 17:12:53 »
To jsi přece napsal ty, jak guru programuje. Proč se tak divíš, když s tebou někdo někdy souhlasí?

Napsal jsem ironicky, co je ocividna cesta do pekel...
Mno nic. Kdo chce kam... at si klidne tretinu procesu vynechava.

A ty jsi nepostřehl ironii v jeho odpovědi?