Czy Emacs uczyni mnie lepszym programistą? [zamknięte]

Steve Yegge napisał komentarz na swoim blogu:

Wszyscy najwięksi inżynierowie w world use Emacs. The world-changer typy. Nie Wielka dziewczyna w kostce obok ciebie. Nie Fred, niesamowity facet. na końcu korytarza. Mówię o najwięksi Programiści naszego zawodu, ci, którzy zmienili twarz branży. The James Goslings, The Donald Knuths, The Paul Grahams, Jamie Zawinskis, The Eric Bensons. Prawdziwi inżynierowie używają Emacs. Trzeba być mądrym, by używać to dobrze, i to sprawia, że niezwykle potężny, jeśli potrafisz go opanować. Zobacz też przez ramię Paula Nordstroma podczas czasami pracuje, jeśli nie uwierz mi. To prawdziwy otwieracz do oczu dla ktoś, kto używał Visual Blub . NET-jak cała ich kariera.

Emacs jest 100-letnim wydawcą.

Ostatni raz używałem edytora tekstu do pisania kodu, kiedy jeszcze pisałem HTML w Notatniku około 1000 lat temu. Od potem byłem mniej lub bardziej zależny od IDE, używałem Visual Studio, NetBeans, IntelliJ, Borland / Codegear Studio i Eclipse przez całą moją karierę.

Jeśli to coś warte, ja mam wypróbowałem Emacsa, a moje doświadczenie było frustrujące ze względu na jego całkowity brak out-of-the-box wykrywalnych funkcji. (Widocznie jest polecenie Emacsa do odkrywania innych poleceń Emacsa, którego tak przy okazji nie mogłem znaleźć - to jak żyć własnym okrutnym żartem Zen.) Próbowałem zrobić ja lubię program przez dobry miesiąc, ale w końcu zdecydowałem, że wolałbym zamiast tego mieć projektantów GUI typu "przeciągnij i upuść", IntelliSense i debugowanie interaktywne.

Trudno oddzielić fakt od fanboyizmu, więc nie jestem skłonny przyjąć jeszcze komentarzy Yegge ' a jako wartości nominalnej.

Czy istnieje wymierna różnica w umiejętnościach, produktywności lub radości z programowania między ludźmi, którzy polegają na IDE i tymi, którzy tego nie robią, czy to wszystko po prostu Fanboyizm?

Author: Juliet, 2009-01-27

30 answers

Najpierw powiem, że jestem samozwańczym wyznawcą kultu Emacsa.

To powiedziawszy, bloger jest szalony. Piszesz, co ci się przydaje. Uważam, że Emacs mi pomaga, głównie dlatego, że spędziłem lata w college ' u, opłacając z góry koszty rozruchu nauki, jak modyfikować go do swoich potrzeb, i modyfikując się do jego potrzeb.

Ale inni ludzie robią rzeczy inaczej, i jak mówią "to jest OK".

 120
Author: Brian Postow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-13 18:29:26

On (Steve Yegge) rozwinął na ten temat, w kawałkach w kawałkach, w innych swoich postach. http://steve-yegge.blogspot.com/2008_04_01_archive.html jest prawdopodobnie najbardziej wyczerpujący, ale informacje są tam Zakopane, ponieważ są na stycznej do głównego tematu.

Myślę, że podsumowując: programiści, którzy są po prostu dobrzy lub kompetentni, podbiorą IDE i poznają go naprawdę dobrze, i może zrobią to wystarczająco przyzwoicie, ale ograniczą się do co zapewnia im IDE. Innymi słowy, dostosowują się do IDE. Z drugiej strony, wielcy programiści będą dostosowywać swoje środowisko do siebie samych {6]}, w taki sposób, jak pisanie skryptów lub własnych narzędzi lub rozszerzanie ich narzędzi. I do tego ostatniego punktu, nie tylko Emacs jest najbardziej rozszerzalnym środowiskiem, ale także najłatwiejszym do rozszerzenia i jest to środowisko, w którym zbierasz najwięcej korzyści {[6] } z jego rozszerzenia -- Twoje rozszerzenia integrują się z Emacsem, jakby były funkcjami giełdowymi, a więc twoje przyszłe rozszerzenia mogą opierać się na poprzednich (coś w rodzaju pętli pozytywnych opinii).

 103
Author: Nietzche-jou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-16 18:42:56

Najlepsi programiści używają vi lub Emacsa, ponieważ najbardziej doświadczeni programiści są najlepsi, a 20 lat temu nie było wielkiego wyboru poza vi i emacsem.

Po rozpoczęciu od vi (ok. 1987) na maszynie z bardzo wolnym terminalem tekstowym, po kilku latach przekonwertowałem Emacsa na (GNU) (na szybszej maszynie) i używałem go prawie wyłącznie przez prawie 10 lat.

Emacs był pierwszym prawdziwie zintegrowanym środowiskiem programistycznym - cały cykl edycji / linkowania/kompilacji mógł być sterowane w Emacsie, a Ty możesz toczyć własne dla dowolnego kompilatora, którego użyłeś.

Obecnie IDE takie jak eclipse są jeszcze lepiej zintegrowane( szczerze mówiąc: emacs jest do bani w grafice), ale Emacs nadal jest jednym z najlepszych środowisk do "czystej" edycji tekstu.

 56
Author: mfx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:09:15

Poprawienie jasnego myślenia i rozwiązywania problemów sprawi, że będziesz lepszym programistą. Żaden program tego nie potrafi.

Użycie lepszego młotka nie pomoże mi zbudować ładniejszego domu, chyba że wiem jak i dlaczego. ;)

 34
Author: Jas Panesar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-28 00:03:24

Yegge musi poznać Billa Joy ' a. Nie tylko jest jednym z wielkich programistów na świecie, ale także napisał duże fragmenty vi. In vi. {1]}

Krótka wstydliwa spowiedź: po 20 latach używania vi (i Vim / gvim w ostatnich latach) do wszystkiego, w zeszłym roku zacząłem używać Eclipse do edycji Javy (i Thunderbirda do e-maili), chociaż w mojej obecnej pracy moja maszyna ma tak mało pamięci, że zwykle używam vi z wyjątkiem sytuacji, gdy potrzebuję debugera.

 21
Author: Paul Tomblin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 20:50:09
Czy istnieje wymierna różnica w umiejętnościach, produktywności lub radości z programowania między ludźmi, którzy polegają na IDE i tymi, którzy tego nie robią, czy to wszystko jest tylko fanboyizmem?

Zawężmy to do Visual Studio VS. Emacs - - - pytanie jest zbyt szerokie inaczej, i podejrzewam, że większość ludzi (przynajmniej tutaj na StackOverflow) zna te dwa. [Jestem, używam i wolę Emacsa]

Następnie, złammy trzy składniki pytania na ziemię.

[[3]}przyjemność z programowania sprowadza się przede wszystkim do polubienia programowania samego w sobie, a po drugie, do braku czynników irytujących, które pojawiają się, gdy to robisz. Korzystanie z narzędzi, z którymi zmagasz się, odejdzie od przyjemności. Tak więc, zgaduję, że przyjemność jest prawdopodobnie zmaksymalizowana za pomocą narzędzi, które lubisz i które znasz.

Oczywiście, gdy już zaznajomisz się z nowym narzędziem, może się okazać, że spodoba ci się to narzędzie bardziej, a tym samym spodoba ci się programowanie, jeśli zrób to za pomocą swojego nowego ulubionego narzędzia. Nie jest dla mnie jasne, że ludzie w ogóle polubią VS nad emacsem (lub odwrotnie), gdy dobrze je znają.

Następny, umiejętność programowania. Jeśli jest jakiś związek między umiejętnościami a wyborem VS / Emacsa, myślę, że to umiejętności powodują wybór, a nie wybór powodują umiejętności. Żaden z {VS, emacs}, z mojego doświadczenia, nie sprawia, że uczę się czegoś o pisaniu lepszego kodu.

Dobre narzędzie może sprawić, że będę w stanie napisać ten sam kod (a więc ta sama jakość kodu) w mniejszej ilości czasu; jeśli założymy, że productivity = quality of code `times` code per time, to znaczy, że każdy edytor, który pozwoli Ci napisać dobry kod w krótszym czasie, jest zwiększeniem produktywności.

Mogę być zbyt obeznany z VS, ale tutaj myślę, że emacs ma pewne zalety, których nie znalazłem w VS. może to zabrzmieć śmiesznie, ale coś tak prostego jak ruch kursora z Ctrl-[fbnp] jest prawdziwym dobrodziejstwem - - - oznacza to, że nie musisz przenosić rąk do klawiszy strzałek. Jeszcze jedno.: możesz przeszukiwać lub zastępować, które zawierają nowe linie, których używam na tyle często, że nie chciałbym tego przegapić.

Kolejną rzeczą, którą lubię, jest możliwość osadzenia powłoki w moim edytorze. Z mojego doświadczenia wynika, że jest on znacznie bardziej wartościowy na platformach innych niż windows (a moje pierwsze "programowanie" doświadczenie, IIRC, było pisanie DOS .pliki bat, więc nie jestem tylko płonącym fanboyem), ale na tych platformach to duża wygrana. Sprawia, że emacs "integruje się" z "wszystkim" (wyszukiwanie plików z find/locate, wyszukiwanie tekstu z grep, Kontrola wersji za pomocą svn / git / hg/..., nazwij to).

[3]} ostateczny werdykt - powinieneś nauczyć się Emacsa czy nie? Czy to wszystko Fanboyizm? Jeśli masz czas, powiedziałbym, że zawsze warto nauczyć się nowych sposobów robienia tego samego, ponieważ nowy sposób może okazać się dla ciebie lepszy. I zachęcam cię, żebyś nie odrzucał tego, na co wygląda, gdy jesteś w tym nowy. W tym sensie jest to jak przejście na układ klawiatury Dvoraka: na początku jesteś wolniejszy, ale gdy wstajesz aby przyspieszyć, prawdopodobnie będziesz co najmniej tak szybki jak na qwerty i wygodniejszy. Polecam to samo podejście do nauki nowych języków (programowania): ponieważ nie znasz słownictwa (biblioteka standardowa), mówienie rzeczy jest trudne, ale nagroda wciąż czeka na Ciebie.
 13
Author: Jonas Kölker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-31 20:17:24

Z cytowanym tekstem zaczynającym się "wszyscy najwięksi inżynierowie na świecie używają Emacsa", też bym tego nie wziął za wartość nominalną. Zna wszystkich najlepszych inżynierów świata? Czy to ta sama lista najlepszych inżynierów świata, którą ty Czy ja mamy?

Po nauczeniu się, potężny edytor, taki jak EMACS lub vi, uczyni cię bardziej wydajnym, lub przynajmniej bardziej wydajnym, jeśli zdarzy się, że zostaniesz złapany bez swojego ulubionego IDE.

To część "raz nauczona" jest zabójcą. To jest dużo pracy i praktyki, aby używać tych narzędzi produktywnie, a to jest bardzo trudne na początku.

 10
Author: John,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 20:52:18

Osobiście jestem fanboyem Emacsa, ale Emacs to tylko narzędzie. To nie uczyni cię lepszym programistą, tak samo jak super-fantazyjne pióro uczyni cię lepszym pisarzem.

Wyjaśnienie, że "wielcy Programiści" dostosowują swoje środowisko do siebie może mieć pewne zalety, ale wiele narzędzi może to zrobić( np. vim i SlickEdit), więc nie ma nic szczególnego w Emacsie w tym zakresie.

Myślę, że najbardziej prawdopodobne jest to, że "wielcy Programiści" pasjonują się programowaniem a ludzie, którzy są pasjonatami it, zwykle znajdują narzędzia, które pomagają napędzać tę pasję. Emacs (i vim i SlickEdit, i in.) jest takim narzędziem.

 9
Author: Joe Casadonte,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 23:46:08

Nie wierzę, że jest różnica, to bardziej kwestia preferencji.

Jednak zauważyłem, że im dłużej kodujesz lub im niższy poziom kodujesz, tym większe są szanse, że używasz Emacsa lub vi.

 8
Author: Stephane Grenier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 20:43:00

Podczas gdy IDE stały się znacznie lepsze w ostatniej dekadzie, nadal zawierają programowanie w trochę bezpiecznej "bańce", z dala od niektórych brzydszych szczegółów. To, co zwykle się dzieje, to to, że ten wzrost abstrakcji pozwala większej liczbie programistów zrobić więcej, z mniejszą wiedzą. To oczywiście nie dotyczy wszystkich programistów, ale łatwiejsze narzędzia przynoszą programowanie szerszemu gronu odbiorców.

Większa znajomość narzędzi niższego poziomu, często przekłada się na większą stabilność w kodzie, ponieważ są mniejsze szanse na" pójście pod ziarno " przypadkowo. To niesprawiedliwe wymieniać Emacsa jako jedyny wiodący wskaźnik, ponieważ pochodzi on z całej gamy języków i narzędzi, i tak naprawdę chodzi bardziej o głębię zrozumienia, a nie o konkretną technologię.

Dawno temu albo nauczyłeś się VI albo Emacsa na UNIXACH albo specjalizowałeś się w komputerach (OK, były VMS, CMS, AS400 itp. też, ale to były starsze technologie). Oba strumienie przyciągały bardzo ludzie, ale ludzie z UNIXEM chcieli wyrafinowanego rozwiązania, podczas gdy ludzie z PC chcieli to zrobić szybko. Kultury były bardzo różne.

 8
Author: Paul W Homer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:51:52

IMHO IDE są zazwyczaj optymalizowane wokół konkretnej platformy lub języka lub systemu operacyjnego: Eclipse JDT jest świetny dla Java, Visual Studio jest C++/. Net-centric, itp. Bardzo pomagają w produktywności (znowu IMHO), jeśli pracujesz tylko na tej platformie, ale jeśli zmieniasz platformy, musisz w zasadzie nauczyć się nowego IDE(a przynajmniej nowego zestawu wtyczek, widoków, perspektyw i nie wiem co jeszcze dla Eclipse).

Zaletą znajomości Emacsa, Textmate ' a, Vima (moje osobiste preferencje), czy jakiegokolwiek ogólny edytor polega na tym, że umiejętności, które zdobywasz w tym edytorze, mają zastosowanie niezależnie od platformy, dla której piszesz. Są zoptymalizowane pod kątem edycji tekstu, a po opanowaniu ich, możesz edytować tekst bardzo efektywnie w dowolnym języku.

Istnieje również twierdzenie Yegge ' a, że wielcy Programiści dostosowują swoje narzędzia do swojego stylu pracy, a nie odwrotnie. Myślę, że jest to wygrana dla edytorów generycznych, ponieważ dostosowujesz jeden edytor , zamiast pracować jak dostosować cztery różne IDE, aby wszystkie zachowywały się tak, jak chcesz.

 7
Author: Sam Stokes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-29 23:10:11

Argumentowałbym, że najlepsi programiści to zazwyczaj ci, którzy poświęcą czas na dostosowanie swojego środowiska, co przyspieszy / ułatwi wykonywanie zadań, które prawdopodobnie wykonają. Emacs jest jednym z najpotężniejszych edytorów, jeśli chodzi o dostosowywanie środowiska. Ma stromą krzywą uczenia się, ale gdy już ją przekroczysz, praktycznie nie ma ograniczeń co do tego, co możesz zrobić za Ciebie.

Ktoś kiedyś powiedział, że najlepsi programiści to leniwi; ci, którzy kiedyś muszą zrobić coś więcej niż raz, znaleźć sposób, aby to zautomatyzować, aby to nie wymagało wysiłku. Emacs pozwala być bardzo, bardzo leniwym;)

 6
Author: RHSeeger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-24 14:27:52

Używam IDE od samego początku (prawdopodobnie; zacząłem z QBASIC), i przez wiele, wiele lat. Przeszedłem teraz prawie całkowicie na VIM (w różnych smakach) dla całej mojej pracy rozwojowej i nie żałuję tego. Moja produktywność zdecydowanie wzrosła.

Oczywiście nic nie zastąpi projektanta Windows Forms z Visual Studio. Ale w porównaniu do Vima (i Emacsa, jestem pewien) edytor tekstu wewnątrz Visual Studio jest naprawdę kiepski. Gdy ujarzmisz surową moc console i GNU developer tools (przez co mam na myśli make, GCC, binutils i gdb, a potem niektóre) zauważysz, że te narzędzia mogą wyglądać prymitywnie, ale są wręcz przeciwnie, i faktycznie oferują wszystkie narzędzia, które dostarcza IDE (no, z wyjątkiem Forms designer).

Po prostu masz bardzo stromą wspinaczkę przed sobą, kiedy po raz pierwszy zaczniesz używać tych narzędzi, a motywacja może być niewielka. Miałem szczęście (?) być zmuszonym do korzystania z tych narzędzi, więc nie miałem wyboru, że może się wymknąć.
 4
Author: Konrad Rudolph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:37:28

Osobiście uważam, że powinieneś używać tego, co sprawia, że jesteś bardziej produktywny. Jeśli nie masz czasu, aby zainwestować w projekt, aby usiąść i nauczyć się Emacsa, to prawdopodobnie nie jest to najlepsze wykorzystanie Twojego czasu w tym momencie.

Uważam jednak, że dobrym pomysłem jest poznanie innych IDE, gdy masz na to wystarczająco dużo czasu.Używam Visual Studio w codziennej pracy, ale w domu używam Eclipse do małych projektów i korzystałem również z Emacsa. W danym momencie, w którym rozważałem korzystanie z Emacsa, mój wysiłek był lepiej służył do wykonywania rzeczywistej pracy niż spowolnienie się zapasy z Emacsem.

Myślę, że do pewnego stopnia absurdalne jest myślenie, że wszyscy najlepsi programiści używają Emacsa. Jest wielu niesamowitych programistów, którzy nie są tak popularni (lub jako wokalni, być może), którzy nie używają Emacsa.

 3
Author: jamesmillerio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 20:52:43

Zacząłem używać Emacsa około półtora roku temu, ponieważ był to zbieg kilku chce-chciał pracować z wyrażeniami regularnymi ( w edytorze, który je obsługiwał), chciał nauczyć się Lispu, chciał lepszego edytora.

Edytowanie kodu za pomocą wyrażeń regularnych nauczyło mnie wiele o znajdowaniu wzorców w kodzie. Naciśnięcia klawiszy zajęło trochę czasu, aby się przyzwyczaić, ale LATAM dużo szybciej bez myszy.

Emacs dał mi możliwość utrzymania pracy z moimi notatkami i kodowania w tym samym aplikacja -- Minimalne przełączanie kontekstu oznacza minimalne przełączanie mózgu, a ja mogę skupić się na zadaniu.

 3
Author: Michael Paulukonis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 22:00:44

Nie. Dobry kod czyni cię lepszym programistą.

To powiedziawszy, dobra manipulacja tekstem jest kluczem do efektywności. Albo vim albo emacs zmienią sposób pracy z tekstem - oba są skuteczne, ale są prawie sprzeczne ze sobą pod względem stylu. Ponadto, ta debata jest dość stara (z powrotem do lat 80-tych i 90-tych, gdzie text - > kompilator był kluczem), więc istnieje wiele innych edytorów tekstu i / lub IDE, które mogą pomóc ci być najlepszym programistą, jakim możesz być.

 3
Author: Overflown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-28 06:30:40

Nie. Jeśli uważasz, że korzystanie z Emacsa czyni cię lepszym programistą, mylisz przyczynę i skutek.

Używam go codziennie. Uważam, że jestem bardziej produktywny z emacs + maven niż z Eclipse dla java development (chociaż nadal odpalam Eclipse co jakiś czas, aby zrobić okazjonalną refaktoryzację lub sesję debugowania).

Oto moje powody:

  • rzeczywiste doświadczenie edycji tekstu w Emacsie przewyższa wszystko inne. To niesamowite, jak szybko można osiągnąć tyle tylko za pomocą klawiatury. Eclipse jest bardziej zorientowany na mysz, a kiedy piszesz, napotykasz wiele irytujących przeszkód.
  • Możliwość dostosowania Emacsa za pomocą elisp jest niewiarygodnie potężna. Posunę się tak daleko, że jeśli nie poświęcasz czasu, aby nauczyć się podstaw elisp i dostosować swoje środowisko, po prostu marnujesz swój czas.
  • istnieją rozszerzenia do praktycznie wszystkiego, co chcesz zrobić w edytorze tekstu.
 3
Author: fred-o,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-04 17:15:08

Dla mnie głównym powodem, dla którego wybrałbym Emacsa zamiast IDE, jest to, że pozwala mi robić wszystko z samej klawiatury. Jest to miłe, ponieważ oszczędza trochę czasu, gdy normalnie używam myszy. Ponieważ jestem bardzo mobilny, mam tendencję do przerywania mojego programowania "groove" z powodu używania mojego powolnego panelu dotykowego. Ponadto jego personalizacja sprawia, że świeci nad niektórymi Idami dla mnie. Jednak jeśli znajdziesz się wystarczająco szybko programowanie z IDE to powiedziałbym, że krzywa uczenia się Emacsa nie jest warta zachodu.

 3
Author: Anton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-16 17:52:08

Nie wydaje mi się, że to sprawi, że będziesz lepszym programistą, ale gdy będziesz miał taki poziom, najprawdopodobniej użyjesz Emacsa (lub vi)

: - /

Dobrą rzeczą w tych dwóch (nigdy wcześniej nie używałem Emacsa, ale nadal używam vi do najbardziej przyziemnych zadań ) jest fakt, że nie przerywają one pociągu myśli , nie musisz wyciągać rąk z klawiatury, aby złapać mysz i polować w menu Plik na właściwą opcję. Pisz dalej. Inside your pamiętaj, że powiesz coś w stylu: "Zamień wszystkie wystąpienia tego słowa na to", naciśnij enter i kontynuuj swoją pracę.

Poza tym, nie sądzę, że używają Emacsa to ich jedyne narzędzie.

Czy to uczyni cię lepszym programistą? Pewnie nie. Ale kiedy masz taki poziom wiedzy, prawdopodobnie spodoba ci się, jak szybko możesz kodować za pomocą tych narzędzi.

 2
Author: OscarRyz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:42:45

Nie.

Dyscyplina, krytyczne myślenie i chęć samodoskonalenia uczynią cię lepszym programistą. Twój zestaw narzędzi, choć głównym czynnikiem produktywności, nie stworzy geniuszu.

Jeśli nie lubisz Emacsa lub vi, nie używaj ich. Dokonując świadomego wyboru, którego nie chcesz, kształtujesz swoje środowisko programistyczne tak, aby pasowało do Twoich własnych potrzeb i praktyk pracy. W każdym razie, masz prawo używać tego, co chcesz - i ignorować każdego, kto jest na tyle głupi, aby krytykować cię za narzędzie, którego używasz do zapisu bitów na dysk - to bity się liczą.

Uwaga: "Zestaw Narzędzi" oznacza tutaj dosłownie "markę" narzędzi-specyficznych edytorów, kompilatorów itp. Koncepcyjne Zestawy narzędzi, np. wykorzystanie kontroli wersji, testy jednostkowe-wszystko w ogóle - są częścią procesu samodoskonalenia.

 2
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-28 00:00:06

Jedną ze wspaniałych cech Emacsa jest to, że może obsłużyć praktycznie każdy typ pliku, który rzucisz na niego, o dowolnym rozmiarze. Co prawda, jeśli otwierasz szalony ogromny zaszyfrowany plik, niekoniecznie będzie on przydatny, ale otworzy się. Większość edytorów (i IDE) przyprawia Cię o ból serca, jeśli podasz im plik, który jest zbyt duży i / lub nie jest jednym z ich oczekiwanych formatów.

Spróbuj otworzyć plik 1 Gig w Notatniku dla przykładu.

Zacząłem używać Emacsa gdzieś około 1980 roku i ma zawsze był narzędziem w mojej skrzynce z narzędziami. Nie jest to narzędzie tylko, ale zawsze jest to coś, do czego mogę się zwrócić i Wiem, że będę w stanie wykonać jakąś użyteczną pracę.

obowiązkowy komentarz : z drugiej strony, nie mam nic dobrego do powiedzenia na temat vi. zawsze czułem, że vi chętnie mnie zabije i sprzeda moje organy na złość....

W prawdziwym życiu, używam Netbeans dla prawie wszystkich form rozwoju i używam emacs co jakiś czas, aby szybko edycja. Nie ma prawie nic, co jest tak wygodne jak emacs (dla mnie), jeśli chodzi o uzyskanie czegoś szalonego zrobić teraz.

Ktoś jeszcze musiał edytować statyczne ciągi w skompilowanych binarnych plikach wykonywalnych? Czy istnieje lepsze narzędzie do tego typu rzeczy niż emacs? Na pewno mi pasuje.

 2
Author: Bob Cross,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-28 21:51:04

Wiem, że o to nie pytałeś, ale jedną z rzeczy, które uczenie się Emacsa (nieoczekiwanie) poprawiło się dla mnie, było manipulowanie wierszem poleceń. Zanim nauczyłem się skrótów klawiszowych Emacsa, używałem do przesuwania kursora i nawigacji historii za pomocą klawiszy kursora, ponieważ nie wiedziałem lepiej. To było coś w rodzaju żarówki, kiedy zdałem sobie sprawę, że mogę użyć backward-word, move-beginning-of-line i backward-kill-word (które zawsze wiązałem zC-w, Jak sugeruje Stevey ) W bash (M-t jest też często przydatna, a najbardziej imponująca dla tych, którzy nigdy wcześniej tego nie widziałem).

Wykonuję sporo pracy na Solarisie, gdzie powłoką root jest "powłoka posix", a domyślnie nie ma wiązań Emacsa. Uważam, że moje palce wpisują exec bash z własnej woli, za każdym razem, gdy się loguję, o wiele szybciej czuję się z już znanymi poleceniami edycji pod palcami.

Muszę jednak przyznać, że książki Knutha nadal są dla mnie trudne (choć warto) - więc nie sądzę, aby magicznie poprawiły moje programowanie.

 2
Author: Tom Dunham,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-31 19:36:47

Emacs sprawił, że byłem bardziej wydajny w manipulowaniu tekstem i nawigacji po systemie plików. A ponieważ obie te rzeczy są zaangażowane, gdy programuję, uczyniło mnie to bardziej wydajnym (a więc lepszym) programistą.

 2
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-23 19:57:47

Myślę, że Emacs może uczynić cię lepszym programistą, choć pośrednio. Myślę, że Emacs zmusił mnie do pisania w języku funkcyjnym (Elisp), który zainteresował mnie innymi językami funkcyjnymi (Clojure), który, jak mi powiedziano, uczyni mnie lepszym programistą. To powiedziawszy, przypuszczam, że czas pokaże.

 2
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-13 18:32:11

Czy istnieje wymierna różnica w umiejętnościach, produktywności lub radości z programowania między ludźmi, którzy polegają na IDE i tymi, którzy tego nie robią, czy to wszystko po prostu Fanboyizm?

Nie wydaje mi się, żebyś mogła na to odpowiedzieć. Istnieje tak wiele różnych sposobów mierzenia umiejętności, produktywności i przyjemności z programowania - i wszystkie z nich są prawdopodobnie bardzo subiektywne i/lub nie mogą być podzielone na jedną rzecz powodującą lub nie.

To wciąż ciekawe pytanie.

Moim osobistym przekonaniem jest-to zależy od programisty:)

G-Man

 1
Author: GeoffreyF67,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 20:50:18

Możliwość korzystania z jakiegoś edytora, który można dostosować, pozwala robić sprytne rzeczy, ale w szczególności emacs nie musi być najlepszym z możliwych. Sam jestem użytkownikiem SlickEdit, robię z nim te same dziwne na wpół zautomatyzowane rzeczy, z których słynie emacs. Widziałem, jak ludzie robią podobne rzeczy z vi i różnymi edytorami Windows.

Więc, tak, Gniazda ustawiają się dobrze, ale argumentowanie, że rzemieślnik tworzy jeden prawdziwy zestaw gniazd jest trochę głupie.

 1
Author: mjfgates,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 22:57:45

Opanowanie wiązań klawiszy Emacsa i jego wbudowanych funkcji pozwoli Ci manipulować tekstem szybciej niż IDE, takie jak Eclipse czy Visual Studio.

Nie wierz mi na słowo, zobacz te filmy profesjonalistów korzystających z Emacsa .

Po osiągnięciu przyzwoitego poziomu w Emacsie możesz skutecznie edytować dowolny język: Java Script, Java, Ruby, Python, HTML, C, C++ itp.

Rozpoczęcie pracy z Emacsem to wrzód na tyłku, doświadczenie po wyjęciu z pudełka jest gorsze niż złe. Domyślna konfiguracja Emacsa nie naraża początkującego Emacsa na bardziej zaawansowane funkcje (hippie-expand, etags, yasnippets, itp.) Emacsa. Proponuję zacząć od Emacs Starter Kit plików dot.

Kolejny powód, dla którego Steve Yegge twierdzi, że najlepsi na świecie programiści używają Emacsa, to elisp. Elisp pozwala doświadczonemu programiście na łatwe rozszerzenie Emacsa. Pisanie rozszerzenia w Eclipse lub Visual Studio jest znacznie trudniejsze niż pisanie szybkiego funkcja lub nawet nowy tryb minor w elisp.

 1
Author: Justin Tanner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:31

Uważam, że jest to duże błędne przekonanie, że korzystanie z tych edytorów tekstowych, takich jak VI i Emacs, jest wysoko cenione lub potrzebne, aby stać się"wielkim programistą". Zawsze czułem, że IDE są potężne, a potem są, i to naprawdę sprowadza się do preferencji i stylu.

 1
Author: Bryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-30 17:04:37

Używałem Emacsa na studiach. to było jakieś 16 lat temu. Nie oglądałem się za siebie. Chociaż chciałbym nadal czuć się komfortowo z emacsem, prawda jest taka, że jestem dość produktywny z moim MS IDE.

Tekst, który napisałeś, to tylko troll. Tak. Nie ma innego powodu, niż rozpocząć wojnę religijną.

 0
Author: Tim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:13:51

Zacząłem od Emacsa, ale przerzuciłem się na vi, który dla mnie jest bardziej elegancki ze względu na jego prostotę. Również jeśli kiedykolwiek utkniesz w trybie pojedynczego użytkownika, polecenia ed są podzbiorem poleceń vi. Nie wiem, czy emacs sobie z tym poradzi.

Więc pod tym względem myślę, że vi czyni cię lepszym programistą..

 0
Author: klyde,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-27 21:51:42