Dlaczego wolimy wiersz poleceń od GUI?

Przeglądając inne artykuły natknąłem się na to małe pytanie, które sprawiło mi wiele radości, prawdą jest, że jedną z pierwszych rzeczy, które użytkownicy innych systemów (poza FreeBSD) dostają na twarz, jest to, że nie używamy GUI. Prawdę mówiąc, na początku mojej podróży z GNU / Linuksem wydawało mi się to również ciekawe. Muszę przyznać, że z biegiem czasu używam teraz wiersza poleceń znacznie częściej niż jakikolwiek inny program GUI i wiele razy wolę programy wiersza poleceń od bardziej rozbudowanych programów z olśniewającymi GUI.

Mit

Właściwie to nic innego jak mit miejski, ponieważ w przeciwieństwie do innych systemów, których nazwy nie zostaną tutaj wymienione, w systemie GNU / Linux naprawdę masz wolność z wyboru. Żałuję, że w innych systemach nie było takiej wszechstronności, która istnieje tutaj. Ale przyjrzyjmy się bliżej tej sprawie, w przeciwnym razie wiele rzeczy nie jest jasnych:

Serwery

Wszyscy słyszeliśmy to słowo Serwer, niektórzy uważają, że to te super komputery, które zasilają Google, Amazon lub ten w Twojej firmie. Ale w rzeczywistości jest to Serwer odpowiedzieć na model pracy. Używamy tego terminu w odniesieniu do faktu, że mamy program dostępny dla użytkowników (klientela) i wręcza im coś. Podstawowym przykładem jest Apache, który jest używany do służyć strony internetowe w internecie. Ten program dostarcza html do klientela że o to proszą.

Serwer obrazów

Ale nie tylko serwer może znajdować się na super komputerach, które umożliwiają Google i wiele innych firm, nawet „najstarszy” laptop może być Serwer, zwłaszcza gdy mówimy o obrazach. Wszyscy prowadzimy Serwer obrazów w naszych laptopach, aby mieć funkcjonalny ekran, w tym przypadku Serwer klient to ta sama osoba. Najczęstszym przykładem jest X (znany jako xorg-server w wielu dystrybucjach) i jego nowy zamiennik Wayland. Nie zamierzamy szczegółowo wyjaśniać, dlaczego org, ani jak działa Wayland, ani filozofii, które stoją za tymi wspaniałymi projektami, ale zamierzamy wyjaśnić, że to dzięki nim możemy mieć przeglądarkę internetową jak Firefox czy Chrome lub wiele innych programów.

Menedżer okien

Menedżerowie okien współpracują bezpośrednio z serwerem obrazu, ich praca jest na „niższym” poziomie, ponieważ zarządzają (wybaczcie nadmiarowość) sposobem tworzenia, modyfikowania, zamykania okien. Zwykle są dość proste i środowiska graficzne są na nich zbudowane. Lista jest długa, ale zostawię tutaj tylko pomysł, że tak jest minimalistyczne oprogramowanie, które pozwalają mieć dość podstawową kontrolę nad serwerem obrazów.

Środowisko pulpitu

Bardziej wyspecjalizowany zestaw oprogramowania, który umożliwia nie tylko działanie serwera obrazów, ale także zapewnia możliwości dostosowywania. Wśród nich najstarsze i najcięższe to KDE i GNOME, ale mamy też lżejsze środowiska, takie jak LXDE lub Mate, Cinnamon itp.

CLI (interfejs wiersza poleceń)

Po krótkim spojrzeniu na świat serwerów obrazów, wrócimy teraz do naszego tematu. CLI, oznacza również dowolny program wykonywany z wiersza poleceń git, vim, weechatalbo cokolwiek innego, co przyjdzie ci do głowy. Widać, że mówię o programach, które chociaż są wykonywane w linii poleceń, mają rodzaj „interfejsu graficznego” weechat o vim. Wszystkim, którzy ich nie wypróbowali, polecam, w zasadzie używam ich przez cały dzień.

Dlaczego CLI jest lepsze niż GUI

Spróbujmy czegoś całkiem prostego  Któregoś dnia chciałem popracować nad łatką Portage (menedżer pakietów Gentoo). Jak w przypadku każdego dobrego projektu współpracy, liczba linii kodu przekracza 70 tys. Spróbuj otworzyć to w środowisku IDE takim jak NinjaIDE (Portage jest napisane w Pythonie), a wkrótce zauważysz, że gdy ekran zaczyna się ładować, twoja maszyna robi się bardzo wolna (przynajmniej mój i7) i to po prostu próbuje otwórz kod i zmień na domyślny kolor «pomocy».

Teraz spróbuj zrobić to samo z vimładował mnie w kilka milisekund, a jednocześnie ładował „ładne” kolory i wszystko inne.

CLI było dawno temu

Niektórzy tutaj powiedzą, że te programy są antiguos, Wzywam ich krzepki. Gdybyś mógł zobaczyć liczbę godzin zainwestowanych w budowę emacs, vim, gdbi setki innych programów konsolowych, możesz zauważyć, że ilość kodu i funkcji jest tak duża, że ​​praktycznie rozwiązały już wszystko, co musiały rozwiązać. Wiele GUI dla programów, które są już solidne w swoim CLI, nigdy nie będą miały takiej samej ilości funkcjonalności, po prostu dlatego, że gdybyśmy utworzyli zakładkę dla każdej dostępnej komendy, na przykład git, stracilibyśmy się między opcjami i przyniosłoby to skutki odwrotne do zamierzonych, ponieważ utrudniłoby pracę.

CLI jest szybsze

Magia zaczyna się od klucza Tab, to nie tylko Twój najlepszy przyjaciel podczas przeglądania pulpitów w Twoim terminalu, ale gdy jest odpowiednio skonfigurowany, pozwala skrócić długie zdania do 2 liter i Tab, 3 liter i Tab, a nawet litery i a Patka.

Ale to nie jedyna zaleta tych z nas, którzy poświęcili czas na naukę vim o emacs Można powiedzieć, że chociaż krzywa uczenia się jest obecnie nieco wyższa niż w przypadku IDE, w końcu wyniki produktywności są niesamowite, nie można sobie wyobrazić czasu, który można stracić, poruszając myszą. Trzymanie rąk na klawiaturze przez 90% czasu nie tylko uczy koncentracji, ponadto fakt, że tak dużo wpisujesz na klawiaturze, sprawia, że ​​jesteś dość zwinny i produktywny. A teraz wracamy do poprzedniego punktu, będąc z nami od tak dawna, programy takie jak te mają już wszystkie funkcje, o których ktoś mógłby pomyśleć, przychodzi na myśl dość powszechne powiedzenie dla tych z nas, którzy używają vima:

Jeśli używasz więcej niż 4 kluczy, może być lepszy sposób.

Prosty, ale potężny, vim pozwala zrobić wszystko z dużą liczbą klawiszy i możliwych kombinacji, nigdy nie przestaje się uczyć, ale prawdą jest też, że aby z niego korzystać nie trzeba znać ich wszystkich, wystarczy około 10 lub 15 na start być bardziej produktywnym.

CLI zapewnia pełną kontrolę

Kiedy wykonuje się operacje za pomocą myszy lub programów z serwera obrazu, wszystkie dodatkowe konfiguracje, które są wykonywane w momencie kliknięcia, nie zawsze są obecne, nie dzieje się tak z terminalem, tutaj masz absolutną moc tego, co jest wykonywany czy nie, z jaką opcją lub w jakim zakresie. Z biegiem czasu zdajesz sobie sprawę, że potrzebujesz mniej niż myślisz, a to pomaga ci robić rzeczy w bardziej skoncentrowany sposób.

GUI też ma swoją własną rzecz

Nie zamierzam mówić, że wszyscy powinniśmy zawsze używać CLI, to też nie jest idealne, sam używam GUI prawie cały czas, do pisania tego postu używam swojego Chrome'a, a żeby zobaczyć swoje e-maile używam Evolution (chociaż używam też mutt ostatnio dość często). I to chyba jest największy mit ze wszystkich... że ludzie myślą, że GNU/Linux to tylko terminal. Podoba mi się moje środowisko graficzne, jest dość minimalistyczne, ale podoba mi się takie  I zwykle mam tylko dwa lub trzy programy działają, mój Chrome, mój Evolution i mój terminal 

Oto niektóre z powodów, dla których tak bardzo lubię CLI i dlatego zachęcam Cię, abyś dał im szansę, może później skończysz, tak jak ja, używając więcej CLI niż GUI  Pozdrawiam


Dodaj jako preferowane źródło w Google