Często używam mojego edytora tekstu (vim, nano, gedit, zbieraj truciznę) znacznie częściej niż jakiegokolwiek IDE.
Po zauważeniu, że moje skróty ide stają się zakurzone, zacząłem o tym myśleć i zastanawiać się: co usprawiedliwia użycie IDE w przeciwieństwie do edytora tekstu ?
W takim razie, jakie miałbyś uzasadnienie, że nie korzystasz z IDE i polegasz jedynie na edytorze?
ide
text-editor
environment
Chris
źródło
źródło
Odpowiedzi:
I: integracja . Dobry edytor tekstu może być fajny do pisania kodu, ale większość twojego programowania nie jest poświęcana na pisanie; poświęca się na testowanie i debugowanie, a do tego chcesz, aby Twój edytor tekstowy zintegrował się z twoim kompilatorem i debuggerem. To największa siła IDE.
źródło
Są to moje ulubione funkcje mojego ulubionego IDE, IntelliJ, które lubię używać w Javie, PHP, JavaScript, HTML, a nawet ActionScript.
Ctrl+click
w funkcji, zmiennej, typie, aby przejść do definicji. (IntelliJ jest w tym bardzo dobry we wszystkich powyższych językach)Ctrl+space
stale, aby pomóc w uzupełnieniu nazwy klasy lub metody, której potrzebuję. Przyspiesza to kodowanie tony , a nawet pomaga wykrywać błędy, zanim się zdadzą, gdy coś, czego potrzebujesz, nie jest dostępne z kontekstu, w którym się znajdujesz. IntelliJ pomoże nawet rozwinąć akronimy - wpisz NPE, hitCtrl+space
i wyświetli „NullPointerException”, „NoPageError” itp. Naciśnięcie przycisku,Alt+enter
aby automatycznie dodać,import
jest również bardzo miłe.Rzeczy takie jak kolorowanie kodu, które można uznać za coś oczywistego, ale dobre kolorowanie kodu jest jak widzenie peryferyjne - pozwala skupić się na ważnych rzeczach bez dodatkowego ułamka sekundy, aby zidentyfikować pełne słowo.
IntelliJ używa nawet
Ctrl+space
sugerowania nazw zmiennych. W Javie, jeśli zadeklarujesz nową zmienną EventMessageItem i naciśnieszCtrl+space
, zasugeruje ona „eventMessageItem”, „eventMessage”, „item” itp.Wszystkie te rzeczy dają mi znacznie więcej czasu na zastanowienie się nad moim kodem i architekturą, a mniej na poprawianiu formatowania, postępowaniu z systemem plików, naprawianiu błędów kopiowania i wklejania, przełączaniu się między aplikacjami, ściganiu dokumentacji itp. Nie wiem, jak można odmówić takiemu wzrostowi wydajności.
źródło
IDE rozumieją twój kod znacznie lepiej niż edytor. Umożliwia to na przykład uzupełnianie identyfikatora i refaktoryzację, co w przypadku pełnych języków, takich jak Java, jest wysyłane przez Boga,
źródło
źródło
Wydajność. Czy jest jakieś inne uzasadnienie, które ma sens? Dla mnie dobrze zaprojektowane IDE, które centralizuje wiele funkcji, które wykonuję podczas programowania - tworzenie i edytowanie kodu, korzystanie z kontroli źródła, debugowanie, interakcje z narzędziami do zarządzania projektami, komunikowanie się z innymi programistami, tworzenie dokumentacji, przeprowadzanie automatycznych testów - radykalnie zmniejsza tarcie procesowe, które zmniejsza moją wydajność.
Ponadto, chociaż wydaje mi się, że muszę wiedzieć, jak korzystać z każdego narzędzia osobno, nie chcę tego robić. Dla mnie przynajmniej kliknięcie prawym przyciskiem myszy jest nieskończenie lepsze niż otwieranie CLI i pisanie.
Użyłem wielu, ale IDE, do których wracam w kółko to Visual Studio, Wing IDE i NetBeans. Wszystko to stanowi znaczącą wartość czasu, który spędzam na programowaniu.
źródło
Historycznie IDE zapewniały niezrównaną wygodę na komputerze jednozadaniowym. Mój pierwszy kompilator C wymagał następujących kroków w cyklu edycji-kompilacji-uruchomienia:
w moim systemie CP / M. (Mógłbym zautomatyzować wiele z tego jako program wsadowy, gdyby moje dyski były większe.)
Kiedy dostałem Turbo Pascal, byłem zachwycony, że mogłem zachować dostępność edytora podczas kompilacji i debugowania.
Uważam, że to właśnie sprawiło, że IDE stały się popularne.
źródło
Jeśli piszesz w Lisp, Emacs ma funkcje podobne do Intellisense, takie jak wyszukiwanie parametrów metody i autouzupełnianie, więc możesz powiedzieć, że jest to oryginalne IDE. Fajnie jest też móc używać jednego programu do wielu zadań (ogólnie edycja, powłoka / wiersz poleceń, czytanie wiadomości).
Ogólnie rzecz biorąc, pytanie redaktora vs. IDE wydaje się zależeć od języka programowania. Z tego, co widziałem, kodery Ruby i Haskell na przykład wydają się preferować swój ulubiony edytor tekstu.
źródło
by wymienić tylko kilka
źródło
Myślę, że odpowiedź będzie zależeć w dużej mierze od używanego języka programowania i od tego, jak dobrze nim posługujesz. W przypadku języków takich jak JAVA IDE jest konieczne, jeśli robisz coś poważnego. Wszędzie tam, gdzie chodzi o języki skryptowe, takie jak JS lub Ruby IDES, nie są zbyt przydatne.
Używam notatnika ++ i zestawu skryptów powłoki (do tworzenia kopii zapasowych, git commits) do mojego programowania i działa idealnie dobrze.
źródło
Kilka argumentów na korzyść „redaktorów”:
Używam IDE na co dzień do pracy, inaczej napisanie Java / C # jest trudne.
(2) w porównaniu z (3): Zasadniczo tylko opcja zdalnej edycji plików (na ssh / pulpicie zdalnym) i wprowadzania minimalnych zmian w konfiguracji lub plikach na odległym serwerze.
źródło
W zależności od twojego języka, niektóre IDE obejmują również wizualne projektantów Form / Window.
Chociaż należy zauważyć, linia między edytorem tekstów programisty a IDE nie jest dobrze zdefiniowana. Wiele edytorów można rozszerzyć o obsługę kompilacji, uzupełniania kodu, debugowania itp.
źródło
Używam IDE do testowania / debugowania / integracji i KEDIT do edycji, ponieważ IDE ma poważny niedobór możliwości edycji.
Ponieważ .NET IDE rozpoznaje zmiany zewnętrzne, wszystko, co muszę zrobić, to zapisać w edytorze i zaakceptować monit o ponowne załadowanie źródła. To pozwala mi optymalizować jednocześnie moje możliwości edycji i debugowania.
W przypadku innych IDE używam KEDIT jako procesora szablonów i programu do wyszukiwania źródła i kopiuję / wklejam to źródło do IDE.
źródło
W przypadku IDE: -
zaawansowane funkcje są podłączone od razu po wyjęciu z pudełka.
- niektóre funkcje są tak specyficzne dla twojego frameworku, że redaktorzy nie mają odpowiednika.
Dla edytora: -
Utrzymywanie rąk na klawiaturze.
- twoje środowisko programistyczne jest takie samo we wszystkich systemach -
lepsze skrypty dla twojego edytora -
niektóre funkcje IDE są dostępne z zewnętrznymi narzędziami lub skryptami. (intellisense, definicja goto, znajdź referencje)
źródło
Krótka krzywa uczenia się. To jest to.
źródło
Jedyne, co naprawdę polecam, to debugger. IDE to tak naprawdę edytor z dodanym ładunkiem innych gubbin, ale jeśli możesz skompilować, wpisując make (lub strzałkę w górę + enter) w wierszu polecenia, nie potrzebujesz IDE. Jeśli możesz zatwierdzić SCM, klikając prawym przyciskiem myszy w Eksploratorze i wybierając odpowiedni element menu, nie potrzebujesz IDE.
Teraz wiem, że niektórzy ludzie potrzebują takich rzeczy jak obsługa refaktoryzacji (za pierwszym razem napisz kod poprawnie) lub jakiś zintegrowany projektant GUI (ale nawet wtedy, używając Visual Studio, używam Expression do pracy GUI, a nie kiepskiej obsługi XAML w VS ), a wiele osób potrzebuje inteligencji i autouzupełniania (szczególnie w przypadku pełnych języków, takich jak Java i C #, które mają bogato długie nazwy).
Ale dla mnie debugger GUI jest jedynym naprawdę dobrym powodem do użycia IDE. Nadal używam debuggera z wiersza poleceń (no cóż, windbg), ale na co dzień jest to wbudowany w VS.
źródło
IDE ma zalety. Nie wszystkie języki mają kompleksowe IDE, które naprawdę daje przewagę skalom, lub utworzenie takiego dla tego języka może być zbyt trudne. Powody, dla których miałby chcieć IDE? Zacznijmy od tych:
Problem nie polega na tym, że wszystkie języki naprawdę zyskują na dużej wydajności dzięki kompleksowemu środowisku IDE. Używam IDE do niektórych prac (Java, C #), ale nie do innych (Python, Ruby, Coldfusion). To naprawdę jest równowaga. Niektóre języki po prostu nie wymagają tak kompleksowego pakietu.
Czy dla każdego istnieją IDE? Pewnie. Czy zawsze go potrzebujesz? Nie całkiem.
źródło