Dlaczego Linux jest moim IDE

Programowanie w systemie Linux bez IDE może być efektywne dzięki filozofii Uniksa, która preferuje oddzielne narzędzia zamiast zintegrowanych środowisk deweloperskich.
Możesz programować bez narzędzi do programowania, a zintegrowane środowiska deweloperskie (IDE) są popularne wśród programistów. Ja podchodzę do tematu inaczej. Traktuję mój system Linux, z jego zestawem narzędzi programistycznych, jako IDE samo w sobie.
Jedno okno, jedna praca
Nie chcę aplikacji deweloperskiej typu "złota rączka"
IDE są popularne wśród programistów, ponieważ zapewniają dostęp do wszystkich ich narzędzi, w tym edytora, interpretera lub kompilatora, debuggera, a nawet dokumentacji. Rozumiem, dlaczego większość programistów chciałaby mieć wszystko w jednym miejscu. Uważam, że mogę osiągnąć podobne doświadczenie, korzystając z oddzielnych aplikacji w środowisku Linux.
Podoba mi się idea filozofii Unix, polegającej na tym, że jedno małe narzędzie wykonuje jedną pracę dobrze. Może nie jest to łatwe do osiągnięcia w praktyce, ale myślę, że warto o to dążyć.
Warto zauważyć, że IDE rozkwitły przede wszystkim na platformach innych niż Linux czy Unix, szczególnie na Windowsie. Windows mniej korzystał z narzędzi wiersza poleceń, a uruchamianie procesów jest zasobożerne, więc istnieje zachęta do preferowania większych programów, które robią więcej, w tym większych systemów deweloperskich.
Tradycyjne podejście Unix do oddzielnych programów działa dobrze dla mnie. Mogę mieć jedno okno powłoki uruchamiające Vim, inne do testowania programu, a jeszcze inne do uruchamiania programów manipulujących plikami. Mogę uzyskać efekt IDE dzięki zręczniejszym, mniejszym programom, zamiast jednego dużego.
Jeśli muszę wykonać inne zadanie, mogę po prostu otworzyć inne okno terminala i uruchomić je bez zbędnych przerw.
Mój proces pracy jest lepiej dostosowany do oddzielnych aplikacji
Trzymanie rzeczy w kompartamentach
Będę pierwszym, który przyzna, że nie jestem profesjonalnym programistą. Programowanie nie jest moim zawodem, ale jest to zabawna i stymulująca pasja. Podczas gdy IDE są dostosowane do profesjonalnych deweloperów, moje użytkowanie różni się od wielu innych "prawdziwych" programistów.
Python jest moim językiem wyboru, a ja zazwyczaj piszę mniejsze skrypty lub korzystam z interaktywnego Pythona. To oznacza, że korzystam z domyślnego interpretera interaktywnego lub IPython. Jestem jednym z tych ludzi, którzy używają Pythona jako swojego kalkulatora biurkowego. Nie muszę uruchamiać całego IDE tylko po to, żeby wykonać jakieś obliczenia.
Jednym z moich głównych zastosowań Pythona jest statystyka i analiza danych. Głównie korzystam z interaktywnego Pythona, szczególnie IPython, który skonfigurowałem w swoim środowisku Mamba. Przeglądam również dokumentację, zarówno w IPython, jak i w Internecie. Jeśli chcę mieć zapis tego, co robię, na przykład do późniejszego podzielenia się, otwieram notatnik Jupyter. Ponieważ głównie pracuję interaktywnie, nie mam dużego zapotrzebowania na debugery. Zwykle mogę natychmiast usunąć wszelkie komunikaty o błędach.
Korzystanie z IDE oznaczałoby instalowanie komponentów, których nie używam. Debugger byłby głównie zmarnowany w moim przypadku. A to samo dotyczy pełnoprawnego IDE.
Mogę zmieniać aplikacje, kiedy chcę
Nigdy nie poczuję się zablokowany
Wielu programistów podkreśla fakt, że zintegrowane środowiska deweloperskie są, cóż, zintegrowane, w tym podstawowe narzędzia, takie jak edytory, kompilatory, debugery i inne rzeczy, takie jak lintery i sprawdzacze błędów. W systemie Linux mogę zainstalować edytory, kompilatory, debugery, lintery i sprawdzacze błędów za pomocą menedżera pakietów.
Nie jestem ograniczony do tego, co deweloper IDE uznał za ważne. Jeśli nie podoba mi się edytor, mogę po prostu przełączyć się na inny. Zyskałem dość dużą swobodę korzystania z Vima. Te skróty klawiszowe rzeczywiście wydają się lepsze, przynajmniej na chicletowych klawiaturach, które wydają się preferowane przez producentów laptopów w dzisiejszych czasach.
Jednym z narzędzi, które zmieniłem, był interpreter Pythona. Interpreter Pythona jest użyteczny sam w sobie, ponieważ mogę testować pomysły kodowe (i używać go jako kalkulatora), ale IPython jest jeszcze lepszy, ponieważ oferuje podświetlanie składni i łatwą możliwość przywoływania, a także możliwość uruchamiania poleceń systemowych bezpośrednio z IPython.
Udało mi się również wymienić menedżera pakietów na Mambę. Mamba jest zoptymalizowana pod kątem analizy danych i nauki o danych, oferując w wielu przypadkach nowsze pakiety niż systemowy menedżer pakietów, co pozwala mi pozostawić systemowego Pythona w spokoju.
Standardowe IDE prawdopodobnie nie oferowałby mi takiej elastyczności.
Moja przyszłość jest w moich rękach
Jeśli używasz systemu Linux lub programujesz wystarczająco długo, masz tendencję do formułowania opinii na temat tego, jak rzeczy powinny działać. Jednym z tych zagadnień, na które wiele osób, w tym ja, ma swoje zdanie, jest edytor tekstu. Zazwyczaj preferuję Vima, nawet jeśli poszłem.
Przez jakiś czas byłem w fazie Emacsa, więc mam doświadczenie z oboma głównymi edytorami.
Podejście IDE jest nadal popularne, nawet wśród środowisk, które nie są uważane za IDE. Fani Emacsa często wskazują, jak mogą uruchamiać narzędzia takie jak terminale czy przeglądarki plików, nie opuszczając edytora. Nigdy nie byłem tym aspektem szczególnie zachwycony. Może to dlatego, że niemal zawsze miałem dostęp do środowisk okienkowych i robiłem większość swojej pracy programistycznej na platformach, gdzie uruchamianie procesów jest łatwe.
Emacs został pierwotnie zaprojektowany do pracy z terminalami opartymi na znakach. Nie było łatwo uruchomić nowe zadania na tych terminalach, dlatego istniała potrzeba stworzenia programu, w którym można mieć wszystko, czego potrzebujesz, w jednym miejscu.
Jeśli korzystasz z IDE, często jesteś ograniczony tym, co deweloperzy uznali za twoje potrzeby. IDE w systemie Linux są popularne, więc przypuszczam, że jest wiele osób, które chcą tego, co oferują. Może moje potrzeby są po prostu inne niż innych ludzi. Inni deweloperzy mogą trzymać swoje IDE, ale ja z przyjemnością korzystam z wielu programów.
Rozwinąłem komfort z narzędziami, których używam. Kiedy przechodzę na nowy system, mogę szybko skonfigurować wszystko i być w znanym środowisku.
Preferuję wielozadaniowość z wieloma programami
Unoszę się jak motyl
Myślę, że mogę po prostu preferować podejście "Filozofii Uniksa", jeśli chodzi o rozwój. Jest to skutek projektowania systemów operacyjnych typu Unix, które ułatwiają uruchamianie nowych procesów. Jest to łatwiejsze w tym sensie, że mogę szybko otworzyć nowy terminal i uruchomić polecenie. Jeśli chcę edytora, po prostu uruchamiam Vim. Jeśli chcę uruchomić interaktywną sesję Pythona, uruchamiam moje środowisko Mamba i otwieram IPython.
To jest konsekwencją projektowania systemów Linux i innych systemów podobnych do Uniksa, jak wcześniej wspomniałem. Linux uruchamia procesy łatwo, podczas gdy robienie tego w systemie Windows zazwyczaj było bardziej zasobożernym procesem. Kiedy uruchomisz swój program w takim systemie, wątki są mniej kosztowne pod względem wydajności. To jest powód, dla którego dąży się do umieszczania większej funkcjonalności w większym programie niż tradycyjne podejście Uniksa, które polega na jednym programie wykonującym jedno zadanie.
Jedynym problemem była interfejs użytkownika. Mimo że Unix został zaprojektowany jako wielozadaniowy, przełączanie między zadaniami było nieporadne. Kontrola zadań i wirtualne konsolki pomogły rozwiązać ten problem, ale to dzięki dostępności systemów okienkowych działających na stacjach roboczych i terminalach graficznych podejście uruchamiania wielu programów w osobnych oknach stało się wykonalne. Alternatywnie, mnożniki terminala mogą dobrze sobie radzić, szczególnie w połączeniach zdalnych.
Dzięki dostępności wielu okien terminalowych, terminali z zakładkami i mnożników terminala mogę w pełni wykorzystać ten lekki styl rozwoju. Mogę uruchomić swoją interaktywną sesję Pythona w jednym oknie do eksperymentów, notatnik Jupyter w przeglądarce i edytor w innym oknie.
Rozwijam po swojemu
Używanie wielu aplikacji na Linuxie może być mniej "zintegrowane", ale to podejście działa dla mnie bez dodatkowego obciążenia pełnoprawnego IDE. Uważam, że moje wysiłki opłacają się w lekkim środowisku programistycznym, na którym mogę polegać.
Jeśli ciekawią Cię artykuły podobne do Dlaczego Linux jest moim IDE, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.
Dodaj komentarz

Możesz być zainteresowany