Steve Yegge napisał komentarz na swoim blogu :
Wszyscy najwięksi inżynierowie na świecie używają Emacsa. Typy zmieniające świat. Nie ta wielka dziewczyna w kostce obok ciebie. Nie Fred, ten niesamowity facet z korytarza. Mówię o największych programistach naszego zawodu, którzy zmienili oblicze branży. James Goslings, Donald Knuths, Paul Grahams, Jamie Zawinskis, Eric Bensons. Prawdziwi inżynierowie używają Emacsa. Musisz być bardzo sprytny, aby dobrze go używać, a to sprawia, że jesteś niesamowicie potężny, jeśli potrafisz go opanować. Jeśli mi nie wierzysz, spójrz przez ramię Paula Nordstroma, kiedy on pracuje. To prawdziwa szansa dla kogoś, kto przez całą karierę korzystał z IDE typu Visual Blub .NET.
Emacs to 100-letni redaktor.
Ostatni raz użyłem edytora tekstu do pisania kodu, kiedy jeszcze 1000 lat temu pisałem HTML w Notatniku. Od tamtej pory jestem w mniejszym lub większym stopniu zależny od IDE, przez całą swoją karierę korzystałem z Visual Studio, NetBeans, IntelliJ, Borland / Codegear Studio i Eclipse.
Na co warto, ja nie próbowałem Emacs, a moje doświadczenie było frustrujące, ponieważ jeden z jego całkowitym brakiem out-of-the-box wykrywalne możliwości. (Najwyraźniej istnieje polecenie Emacsa do odkrywania innych poleceń Emacsa, których nie mogłem znaleźć przy okazji - to tak, jakbyś żył własnym okrutnym żartem w stylu zen.) Próbowałem upodobnić się do programu przez dobry miesiąc, ale w końcu zdecydowałem, że wolę mieć zamiast tego projektantów graficznych interfejsów użytkownika typu „przeciągnij i upuść”, technologię IntelliSense i debugowanie interaktywne.
Trudno oddzielić fakt od fanboyizmu, więc nie jestem jeszcze skłonny traktować komentarzy Yegge za dobrą monetę.
Czy istnieje wymierna różnica w umiejętnościach, produktywności lub przyjemności z programowania między ludźmi, którzy polegają na IDE, a tymi, którzy tego nie robią, czy też jest to tylko fanboyizm?
źródło
Odpowiedzi:
Najpierw pozwólcie mi powiedzieć, że jestem samozwańczym prawdziwym wyznawcą kultu Emacsa.
To powiedziawszy, bloger jest szalony. Piszesz w tym, co uważasz za przydatne. Uważam, że Emacs pomaga mi, głównie dlatego, że spędziłem lata w college'u na opłacaniu początkowych kosztów nauki, jak go modyfikować, aby dopasować go do moich potrzeb i dostosowywać się do jego potrzeb.
Ale inni ludzie robią to inaczej i jak mówią „To jest OK”.
źródło
On (Steve Yegge) rozwinął to w kawałkach w innych swoich postach. http://steve-yegge.blogspot.com/2008_04_01_archive.html jest prawdopodobnie najbardziej obszerny, ale informacje są tam ukryte, ponieważ są związane z głównym tematem.
Chyba podsumowując: programiści, którzy są po prostu dobrzy lub kompetentni , podniosą IDE i poznają je naprawdę dobrze i może zrobią w nim dość przyzwoicie, ale ograniczą się do tego, co zapewnia im IDE. Innymi słowy, dostosowują się do IDE. Te wielkie programistów, z drugiej strony, będzie dostosować swoje otoczenie , aby dopasować się w takich sposobów jak pisanie skryptów lub własnych narzędzi lub rozszerzenie ich narzędzi. I do ostatniego punktu, Emacs jest nie tylko najbardziej rozszerzalnym środowiskiem, jakie istnieje, jest to również środowisko najłatwiejsze do rozbudowy i jest to środowisko, w którym czerpiesz największe korzyści z rozszerzenia - twoje rozszerzenia integrują się z Emacsem, jakby były standardowymi funkcjami, więc twoje przyszłe rozszerzenia mogą opierać się na poprzednich (coś w rodzaju pętli pozytywnego sprzężenia zwrotnego).
źródło
Najlepsi programiści używają vi lub emacs, ponieważ najbardziej doświadczeni programiści są najlepsi, a 20 lat temu nie było wielkiego wyboru poza vi i emacsem.
Po rozpoczęciu pracy z vi (około 1987) na maszynie z bardzo wolnym terminalem tekstowym, po kilku latach przekonwertowałem na (GNU) Emacsa (na szybszej maszynie) i używałem go prawie wyłącznie przez prawie 10 lat.
Emacs był pierwszym w pełni zintegrowanym środowiskiem programistycznym - cały cykl edycji / linkowania / kompilacji można było kontrolować w emacsie, a także można było tworzyć własne dla dowolnego używanego kompilatora.
W dzisiejszych czasach IDE, takie jak eclipse, są jeszcze lepiej zintegrowane (szczerze mówiąc: emacs jest do bani grafiką), ale Emacs jest nadal jednym z najlepszych środowisk do „czystej” edycji tekstu.
źródło
Poprawa 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. ;)
źródło
Yegge musi spotkać się z Billem Joy. Jest nie tylko jednym z największych programistów na świecie, ale także napisał duże fragmenty vi. W vi.
Krótkie haniebne wyznanie: Po 20 latach używania vi (i vim / gvim w ostatnich latach) do wszystkiego, w ciągu ostatniego roku zacząłem używać Eclipse do edycji java (i Thunderbirda do poczty e-mail), chociaż w mojej obecnej pracy mój maszyna ma tak mało pamięci, że zwykle używam vi, chyba że potrzebuję debuggera.
źródło
Po prostu zawężmy to do Visual Studio vs. Emacs - w przeciwnym razie pytanie jest zbyt szerokie i podejrzewam, że większość ludzi (przynajmniej tutaj na StackOverflow) zna te dwa. [Jestem i używam i wolę emacs]
Następnie podzielmy trzy elementy pytania.
Przyjemność z programowania sprowadza się przede wszystkim do lubienia samego programowania, a po drugie do unikania irytacji, kiedy to robisz. Korzystanie z narzędzi, z którymi się borykasz, zmniejszy przyjemność. Tak więc, zgaduję, przyjemność jest prawdopodobnie zmaksymalizowana przy użyciu narzędzi, które lubisz i które znasz.
Oczywiście, kiedy już zaznajomisz się z nowym narzędziem, może się okazać, że polubisz to narzędzie bardziej, a zatem bardziej polubisz programowanie, jeśli zrobisz to z nowym ulubionym narzędziem. Nie jest dla mnie jasne, że ludzie na ogół polubią VS niż emacs (lub odwrotnie), jeśli znają ich dobrze.
Następnie umiejętność programowania. Jeśli istnieje jakikolwiek związek między umiejętnościami a wyborem VS / emacsa, myślę, że to umiejętność powoduje wybór, a nie wybór powoduje umiejętność. Z mojego doświadczenia wynika, że żaden z {VS, emacs} nie sprawia, że nauczyłem się niczego o pisaniu lepszego kodu.
Dobre narzędzie może sprawić, że będę w stanie napisać ten sam kod (a tym samym tę samą jakość ) w krótszych odstępach czasu; jeśli to założymy
productivity = quality of code `times` code per time
, to zrozumiałe jest, że każdy edytor, który pozwoli ci napisać dobry kod w krótszym czasie, zwiększa produktywność.Być może zbyt nie znam VS, ale myślę, że emacs ma pewne mocne strony, których nie znalazłem w VS. Może to zabrzmieć śmiesznie, ale coś tak prostego jak ruch kursora
Ctrl-[fbnp]
jest prawdziwym dobrodziejstwem - oznacza to, że nie musisz przesuwać rąk do klawiszy strzałek. Inna sprawa: możesz wyszukać lub zamienić, które zawierają znaki nowej linii, których używam na tyle często, że nie chciałbym tego przegapić.Inną rzeczą, którą lubię, jest możliwość osadzenia powłoki w moim edytorze. Z mojego doświadczenia wynika, że jest to znacznie bardziej wartościowe na platformach innych niż Windows (a moim pierwszym doświadczeniem w programowaniu, IIRC, było pisanie plików .bat dla DOS-a, więc nie jestem tylko płonącym fanem), ale na tych platformach to duża wygrana . To sprawia, że emacs "integruje się" ze "wszystkim" (wyszukiwanie plików za pomocą znajdź / zlokalizuj, wyszukiwanie tekstu za pomocą grep, kontrola wersji za pomocą svn / git / hg / ..., możesz to nazwać).
Ostateczny werdykt - czy nauczyć się emacsa czy nie? I czy to wszystko fanboyizm? Jeśli masz czas, powiedziałbym, że zawsze warto uczyć się nowych sposobów robienia tego samego, ponieważ nowy sposób może po prostu okazać się lepszy dla ciebie. Zachęcam was, byście nie odrzucali tego, czym się wydaje, kiedy jesteście w nim nowi. W tym sensie przypomina to przejście na układ klawiatury Dvoraka: na początku jesteś wolniejszy, ale kiedy już osiągniesz prędkość, 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 (standardowa biblioteka), mówienie rzeczy jest trudne, ale nagroda wciąż czeka na Ciebie na horyzoncie.
źródło
Z cytowanym tekstem zaczynającym się od „Wszyscy najwięksi inżynierowie na świecie używają Emacsa”, też nie wziąłbym tego za dobrą monetę. Czy zna wszystkich największych inżynierów świata? Czy jest to ta sama lista najlepszych inżynierów świata, którą mamy ty lub ja?
Gdy już się nauczysz, potężny edytor, taki jak EMACS lub vi, sprawi, że będziesz bardziej wydajny lub przynajmniej wydajniejszy, jeśli zostaniesz złapany bez swojego ulubionego IDE.
To ta „raz nauczona” część jest zabójcą. Produktywne korzystanie z tych narzędzi wymaga dużo pracy i praktyki, a na początku jest bardzo trudne.
źródło
Osobiście jestem fanem Emacsa, ale Emacs to tylko narzędzie. Nie uczyni cię lepszym programistą, tak samo jak super-wymyślne pióro nie uczyni z ciebie lepszego pisarza.
Wyjaśnienie, że „świetni 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 względzie.
Myślę, że najprawdopodobniej prawdą jest to, że „wielcy programiści” są pasjonatami programowania, a ludzie, którzy są tym pasjonatami, zwykle znajdują narzędzia, które pomagają je rozwijać. Takim narzędziem jest Emacs (oraz vim i SlickEdit i inni).
źródło
Nie wierzę, że jest różnica, to bardziej kwestia preferencji.
Jednak zauważyłem, że im dłużej kodowałeś lub niższy poziom kodowałeś, tym większe są szanse, że używałeś emacs lub vi.
źródło
Chociaż IDE znacznie się poprawiły w ciągu ostatniej dekady, nadal zawierają programowanie w małej bezpiecznej "bańce", z dala od niektórych brzydszych szczegółów. Zwykle się zdarza, że ten wzrost abstrakcji pozwala większej liczbie programistów robić więcej przy mniejszej wiedzy. To oczywiście nie dotyczy wszystkich programistów, ale łatwiejsze narzędzia zapewniają programowanie szerszej publiczności.
Większa znajomość narzędzi niższego poziomu często przekłada się na większą stabilność kodu, ponieważ istnieje mniejsze prawdopodobieństwo przypadkowego „pójścia pod prąd”. Wymienienie EMACS jako jedynego wiodącego wskaźnika jest niesprawiedliwe, ponieważ pochodzi on z całego szeregu języków i narzędzi i tak naprawdę dotyczy raczej głębokości zrozumienia, a nie konkretnej technologii.
Dawno temu nauczyłeś się VI lub EMACS na urządzeniach z systemem UNIX lub specjalizowałeś się w komputerach PC (OK, był też VMS, CMS, AS400 itd., Ale to były starsze technologie). Oba strumienie przyciągały bardzo zapalonych ludzi, ale faceci z UNIX mieli tendencję do poszukiwania wyrafinowanego rozwiązania, podczas gdy faceci z komputerów PC chcieli, aby było to zrobione szybko. Kultury były bardzo różne.
źródło
IMHO IDE są zwykle optymalizowane pod kątem określonej platformy, języka lub systemu operacyjnego: Eclipse JDT jest świetny dla języka Java, Visual Studio jest C ++ / .NET-centric itp. Znacznie zwiększają produktywność (ponownie IMHO), jeśli pracujesz tylko nad tę platformę, ale jeśli zmienisz platformy, musisz w zasadzie nauczyć się nowego IDE (lub przynajmniej nowego zestawu wtyczek, widoków, perspektyw i nie wiem, co jeszcze dla Eclipse).
Zaletą znajomości emacsa, Textmate lub vima (moje osobiste preferencje) lub dowolnego edytora ogólnego jest to, że umiejętności zdobyte w tym edytorze mają zastosowanie niezależnie od platformy, dla której piszesz. Są zoptymalizowane pod kątem edycji tekstu , a gdy je opanujesz, możesz bardzo wydajnie edytować tekst w dowolnym języku.
Istnieje również twierdzenie Yegge, że wspaniali programiści dostosowują swoje narzędzia do swojego stylu pracy, a nie odwrotnie. Myślę, że to wygrana dla zwykłych edytorów, ponieważ dostosowujesz jeden edytor, zamiast zastanawiać się, jak dostosować cztery różne IDE, aby wszystkie zachowywały się tak, jak chcesz.
źródło
C-[npfbaed]
. (Ale niestety nieM-
)Twierdzę, że najlepsi programiści to zazwyczaj ci, którzy będą potrzebować czasu na dostosowanie swojego środowiska, co przyspieszy / ułatwi wykonywanie zadań, które prawdopodobnie wykonają. Emacs to jeden z najpotężniejszych edytorów, jeśli chodzi o dostosowywanie środowiska. Ma stromą krzywą uczenia się, ale kiedy już ją przekroczysz, praktycznie nie ma ograniczeń co do tego, co możesz zrobić dla siebie.
Ktoś kiedyś powiedział, że najlepsi programiści są leniwi; takie, które gdy będą musiały zrobić coś więcej niż raz, znajdują sposób na zautomatyzowanie tego, aby wymagało to mniej wysiłku. Emacs pozwala być bardzo, bardzo leniwym;)
źródło
Używałem IDE od samego początku (prawdopodobnie od początku pracy z QBASIC) i przez wiele, wiele lat. Teraz prawie całkowicie przeszedłem na VIM (w różnych smakach) we wszystkich moich pracach programistycznych 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 VIM-a (i jestem pewien, że Emacs) edytor tekstu w programie Visual Studio jest naprawdę kiepski. Kiedy już wykorzystasz surową moc konsoli i narzędzi programistycznych GNU (przez co mam na myśli
make
GCCbinutils
igdb
, a nawet niektóre), zauważysz, że te narzędzia mogą wyglądać prymitywnie, ale są po prostu przeciwieństwem i oferują wszystko narzędzia, które zapewnia IDE (no cóż, z wyjątkiem projektanta formularzy).Po prostu masz przed sobą bardzo stromą wspinaczkę, kiedy po raz pierwszy zaczniesz korzystać z tych narzędzi, a zachęta może być niewielka. Miałem szczęście (?), Że byłem zmuszony do korzystania z tych narzędzi, więc nie miałem wyboru, z którego mógłbym się wyrwać.
źródło
Osobiście uważam, że powinieneś używać wszystkiego, co sprawia, że jesteś bardziej produktywny. Jeśli nie masz czasu na zainwestowanie w projekt, aby usiąść i nauczyć się Emacsa, 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. Korzystam z Visual Studio w codziennej pracy, ale w domu używam Eclipse do małych projektów i korzystałem Emacs również. W tym konkretnym momencie, w którym rozważałem użycie Emacsa, mój wysiłek był bardziej przydatny w wykonywaniu rzeczywistej pracy niż spowolnienie się w zapasach z Emacsem.
Myślę, że do pewnego stopnia absurdem jest myślenie, że wszyscy najlepsi programiści używają Emacsa. Jest wielu niesamowitych programistów, którzy nie są tak popularni (lub być może wokalni), którzy nie używają Emacsa.
źródło
Zacząłem używać Emacsa około półtora roku temu, ponieważ był to zbieżność kilku potrzeb - chciałem pracować z wyrażeniami regularnymi (w edytorze, który je obsługiwał), chciałem się nauczyć seplenienie, chciałem lepszego edytora.
Edycja kodu za pomocą wyrażeń regularnych nauczyła mnie wiele o znajdowaniu wzorców w kodzie. Przyzwyczajenie się do klawiszy zajęło trochę czasu, ale bez myszy latam dużo szybciej.
Emacs dał mi możliwość pracy z moimi notatkami i kodowaniem w tej samej aplikacji - minimalne przełączanie kontekstu oznacza minimalne przełączanie mózgu i mogę skupić się na zadaniu.
źródło
Nie. Dobry kod czyni z ciebie lepszego programistę.
To powiedziawszy, dobra manipulacja tekstem jest kluczem do wydajności. Zarówno vim, jak i emacs zmienią sposób pracy z tekstem - oba okazały się skuteczne, ale stylowo prawie ze sobą nie zgadzają się. Ponadto ta debata jest dość stara (z powrotem do lat 80-tych i 90-tych, gdzie kluczem był tekst -> kompilator), więc istnieje wiele innych edytorów tekstu i / lub IDE, które mogą pomóc Ci być najlepszym programistą, jakim możesz być.
źródło
Nie. Jeśli uważasz, że używanie emacsa czyni cię lepszym programistą, mylisz przyczynę i skutek.
Jednak używam go codziennie. Uważam, że jestem bardziej produktywny z emacs + maven niż z Eclipse do programowania w Javie (chociaż wciąż uruchamiam Eclipse od czasu do czasu, aby od czasu do czasu przeprowadzić refaktoryzację lub sesję debugowania).
Oto moje powody:
źródło
Dla mnie głównym powodem, dla którego wybrałbym Emacsa zamiast IDE, jest to, że pozwala mi on robić wszystko z samej klawiatury. Jest to fajne, ponieważ oszczędza trochę czasu, kiedy normalnie używałbym myszy. Ponieważ uważam, że jestem bardzo mobilny, mam tendencję do przerywania programu „groove” z powodu używania powolnego panelu dotykowego. Ponadto jego personalizacja sprawia, że świeci na niektórych IDE. Jeśli jednak zauważysz, że programujesz wystarczająco szybko w IDE, to powiedziałbym, że krzywa uczenia się Emacsa nie jest warta zachodu.
źródło
Czy istnieje wymierna różnica w umiejętnościach, produktywności lub przyjemności z programowania między ludźmi, którzy polegają na IDE, a tymi, którzy tego nie robią, czy też jest to tylko fanboyizm?
Nie sądzę, żeby naprawdę można było znaleźć odpowiedź na to pytanie. Jest 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 można ich podzielić na JEDNĄ przyczynę lub nie.
To wciąż jest interesujące pytanie.
Osobiście wierzę - to zależy od programisty :)
G-Man
źródło
Nie sądzę, żeby uczyniłoby cię to lepszym programistą, ale kiedy masz NA TYM poziomie, najprawdopodobniej będziesz używać 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 toku myśli , nie musisz odrywać rąk od klawiaturę, aby chwycić mysz i poszukać w menu plików odpowiedniej opcji. Po prostu pisz dalej. W swoim umyśle mówisz coś w stylu: „Zamień wszystkie wystąpienia tego słowa na to”, naciśnij enter i kontynuuj swoją pracę.
Poza tym nie sądzę, aby używali emacsa jako jedynego narzędzia.
Czy to uczyniłoby cię lepszym programistą? Prawdopodobnie nie. Ale jeśli masz taki poziom wiedzy, prawdopodobnie spodoba Ci się, jak szybko możesz kodować za pomocą tych narzędzi.
źródło
Nie.
Dyscyplina, krytyczne myślenie i chęć samodoskonalenia sprawią, że będziesz lepszym programistą. Twój zestaw narzędzi, choć jest głównym czynnikiem wpływającym na produktywność, nie stworzy geniuszu.
Jeśli nie lubisz emacsa lub vi, nie używaj ich. Dokonując świadomego wyboru, aby tego nie robić, kształtujesz środowisko programistyczne tak, aby odpowiadało Twoim własnym potrzebom i praktykom zawodowym. W każdym razie masz prawo używać tego, co lubisz - i ignorować każdego, kto jest na tyle głupi, by zganić cię za narzędzie, którego używasz do zapisywania bitów na dysku - liczą się bity.
Uwaga: „Zestaw narzędzi” oznacza tutaj dosłownie „markę” narzędzi - określone edytory, kompilatory itp. Koncepcyjne zestawy narzędzi, np. Użycie kontroli wersji, testowanie jednostkowe - ogólnie rzecz biorąc - są częścią proces doskonalenia.
źródło
Jedną z wspaniałych cech emacsa jest to, że może obsłużyć prawie każdy typ pliku, który do niego wrzucisz, o dowolnym rozmiarze. Trzeba przyznać, że jeśli otwierasz szalony ogromny zaszyfrowany plik, niekoniecznie będzie to przydatne, ale się otworzy. Większość edytorów (i IDE) przyprawi Cię o poważny ból serca, jeśli podasz im plik, który jest zbyt duży i / lub nie jest jednym z ich oczekiwanych formatów.
Na przykład spróbuj otworzyć plik 1 Gig w Notatniku.
Zacząłem używać Emacsa gdzieś około 1980 roku i zawsze było to narzędzie w moim zestawie narzędzi. Nie jest to jedyne narzędzie, ale zawsze jest to coś, do czego mogę się zwrócić i wiedzieć, że będę w stanie wykonać pożyteczną pracę.
Obowiązkowy komentarz zapalny : Z drugiej strony, nie mam nic dobrego do powiedzenia na temat vi. Zawsze czułem, że vi szczęśliwie mnie zabije i sprzeda moje narządy na przekór ...
W prawdziwym życiu używam Netbeans do prawie wszystkich form programowania i od czasu do czasu używam emacsa do szybkiej edycji. Nie ma prawie nic tak wygodnego jak emacs (dla mnie), jeśli chodzi o zrobienie teraz czegoś szalonego.
Czy ktoś jeszcze kiedykolwiek musiał edytować ciągi statyczne w skompilowanych binarnych plikach wykonywalnych? Czy jest lepsze narzędzie do tego typu rzeczy niż emacs? To na pewno działa na mnie.
źródło
Wiem, że o to nie pytałeś, ale jedną rzeczą, którą nauczyłem się emacsa (nieoczekiwanie) poprawiło się dla mnie, było manipulowanie wierszem poleceń. Zanim nauczyłem się skrótów klawiszowych emacsa, przesuwałem kursor i nawigowałem po historii za pomocą klawiszy kursora, ponieważ nie znałem nic lepszego. Było coś o chwilę żarówka kiedy uświadomiłem sobie, mogę używać
backward-word
,move-beginning-of-line
ibackward-kill-word
(co zawsze wiąże sięC-w
, jak sugeruje Stevey ) wbash
(M-t
często jest zbyt przydatny, a największe wrażenie na tych, którzy nigdy nie widziałem go wcześniej).Sporo pracy wykonuję na Solarisie, gdzie powłoka roota to „powłoka posix” i domyślnie nie ma powiązań emacsa. Za
exec bash
każdym razem, gdy się loguję , moje palce piszą z własnej woli, o wiele szybciej czuję dzięki znanym teraz poleceniom edycji pod palcami.Muszę jednak przyznać, że nadal uważam, że książki Knutha są trudne (choć warto) - więc nie sądzę, aby w magiczny sposób poprawiły one moje programowanie.
źródło
Emacs uczynił mnie bardziej wydajnym w manipulowaniu tekstem i nawigacji w systemie plików. A ponieważ obie te rzeczy są zaangażowane w programowanie, uczyniło mnie to bardziej wydajnym (a tym samym lepszym) programistą.
źródło
Myślę, że Emacs może uczynić cię lepszym programistą, choć pośrednio. Myślę, że Emacs skłonił mnie do pisania w języku funkcjonalnym ( Elisp ), który zainteresował mnie innymi językami funkcyjnymi ( Clojure ), o których powiedziano mi, że uczyni mnie lepszym programistą. To powiedziawszy, przypuszczam, że czas pokaże.
źródło
Będąc w stanie wykorzystać jakąś konfigurowalny edytor pozwala zrobić ładne rzeczy, ale emacs w szczególności nie jest koniecznie Bardzo najlepszym z możliwych. Sam jestem użytkownikiem SlickEdit, robię z nim te same dziwne, półautomatyczne rzeczy, z których słynie emacs. Widziałem, jak ludzie robili podobne rzeczy z vi i różnymi edytorami opartymi na Windows.
Więc tak, zestawy gniazd są dobre, ale argumentowanie, że Craftsman tworzy zestaw One True Socket, jest trochę głupie.
źródło
Opanowanie przypisań klawiszy Emacsa i jego wbudowanych funkcji pozwoli na szybsze manipulowanie tekstem niż w środowisku IDE, takim jak Eclipse lub Visual Studio.
Nie wierz mi na słowo, obejrzyj filmy przedstawiające profesjonalistów używających Emacsa .
Po osiągnięciu przyzwoitego poziomu w Emacsie możesz efektywnie edytować dowolny język: Java Script, Java, Ruby, Python, HTML, C, C ++ itp.
Rozpoczęcie pracy z Emacsem jest uciążliwe, doświadczenie po wyjęciu z pudełka jest gorsze niż złe. Domyślna konfiguracja Emacsa nie wystawia początkującego Emacsa na bardziej zaawansowane funkcje (hippie-expand, etags, yasnippets, itp.) Emacsa. Proponuję zacząć od plików kropek Emacs Starter Kit .
Innym powodem, dla którego Steve Yegge twierdzi, że najlepsi programiści na świecie używają Emacsa, jest elisp. Elisp daje doświadczonemu programiście możliwość łatwej rozbudowy Emacsa. Napisanie rozszerzenia w Eclipse lub Visual Studio jest znacznie trudniejsze niż napisanie szybkiej funkcji lub nawet nowego trybu pomocniczego w elisp.
źródło
Uważam, że to wielkie błędne przekonanie, że używanie edytorów tekstowych, takich jak VI i Emacs, jest wysoko cenione lub potrzebne, aby zostać „wielkim programistą”. Zawsze uważałem, że IDE są potężniejsze niż kiedyś, a to naprawdę sprowadza się do preferencji i stylu.
źródło
Używałem emacsa na studiach. to było około 16 lat temu. Nie obejrzałem się za siebie. Chociaż chciałbym nadal czuć się komfortowo z emacsem, prawda jest taka, że jestem dość produktywny z moim MS IDE.
opublikowany przez Ciebie tekst to tylko troll. Tak. Nie ma innego powodu niż rozpoczęcie wojny religijnej.
źródło
Zacząłem od emacsa, ale przeszedłem na vi, który jest dla mnie bardziej elegancki ze względu na swoją 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 myślę, że vi czyni cię lepszym programistą.
źródło