Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Moja szczera nienawiść do Terminala
Forum PHP.pl > Inne > Hydepark
SmokAnalog
Hej,

chciałem się z Wami podzielić moją złością i nienawiścią do Terminala, Konsoli, Linii Komend, CLI czy jak to ustrojstwo jeszcze można nazwać biggrin.gif

Używamy w pracy GIT-a i Vagranta (ZŁO!). Cholera mnie bierze, bo tylko ja jestem na tyle ułomny, że nie mogę się swobodnie poruszać w konsoli i najzwyczajniej w świecie ona mnie denerwuje (choć mam ochotę użyć innego słowa). Ja muszę widzieć pliki i móc na nie klikać. Muszę widzieć opcje i na nie klikać. Potrzebuję kolorów i animacji. Nie chce mi się uczyć setek komend i flag do nich. NIC MI NIE DZIAŁA, AAA!!!

Czy coś jest ze mną nie tak? Czy ktokolwiek podziela moją nienawiść, a może mi jeszcze dokopiecie? biggrin.gif

P.S. Temat jest oczywiście humorystyczny, ale nienawiść jest całkiem prawdziwa tongue.gif
Lysiur
Być może jest to po prostu kwestia przyzwyczajeń wink.gif Co do gita i komend, to możesz sobie do niego zrobić aliasy komend (z parametrami) i korzystać znich. A co Vagranta, to hm... narazie nie pracowałem z nim zbyt dużo, aczkolwiek przypadł mi do gustu i na chwilę obecną jest to zacne rozwiązanie wink.gif
sowiq
Jeśli Vagrant służy Ci tylko jako środowisko do odpalania aplikacji, a programujesz pod Windowsem, to do Gita jest sporo graficznych nakładek, np. Tortoise Git. A jeśli chcesz koniecznie widzieć pliki na serwerze w postaci ikonek, to możesz zamontować sobie dysk wirtualny (np. po SSH).

Wszystko jest możliwe, tylko pytanie czy jak usiądziesz na chwilę do komputera kolegi, to się na nim odnajdziesz smile.gif
rzymek01
Konsola to elastyczne środowisko, można sobie je konfigurować i dostosowywać do swoich potrzeb. CLI jest dostępne praktycznie wszędzie. Na produkcyjnym serwerze nie masz Xów, głupio byłoby nie umieć edytować pliku na produkcji, bo nie znasz podstawowych komend wink.gif Ponadto dla wprawionego programista konsola jest szybsza i daje więcej możliwości.

Ale, ale .. jak już umiesz poruszać się w CLI, chcesz podnieść wydajność pracy, to nic nie stoi na przeszkodzie, żebyś podmontował sobie katalog z projektem i w dobrym IDE, np. PHPStorm, miał wszystko pod ręką, tj. GIT, deploy, synchronizacja czy debugger.
Niemniej jednak uważam, że korzystanie z takiego wypasionego IDE nie zwalnia ze znajomości podstawowych poleceń, tak samo jak korzystanie z Symfony nie zwalnia z umiejętności pisania w PHP.

SmokAnalog, jeśli jeszcze nie pracujesz na Linuxie, to polecam. Sama nauka systemu, basha, sprawi, że będzie czuł się w konsoli jak ryba w wodzie wink.gif Oczywiście wszystko wymaga czasu.

SmokAnalog, teraz chciałbym poruszyć ogólniejszy problem, więc nie bierz tego do siebie.
W dzisiejszym świecie jesteśmy z każdej strony atakowani reklamami, ogłupiani itp. między innymi poprzez TV.
Wszystko musimy zobaczyć. Co powiedzą w ti-vi-e-nie to dla większości świętość, nie czytamy książek, nie potrafimy abstrakcyjnie myśleć i ruszyć wyobraźnią.
Wszystko chcemy mieć w 5 minut, 1000% zysku, schudnąć 100 kg, nauczyć się angielskiego itd.
Sądzę, że ta tendencja przenosi się również na programowanie. Po pierwsze coraz więcej osób "idzie" na programistę, a nie każdy się do tego nadaje. Oprócz tego myslą, że po miesiącu nauki już wszystko wiedzą i należy im się to i to. Dość popularna postawa roszczeniowa obecnie.
usb2.0
jesli nienawisc sie nie bierze z niewiedzy to mozna to zrozumiec, mam wrazenie ze jest inaczej

jakby nie bylo, terminal to podstawa czy tego chcemy czy nie, ale czasem jest niezbedny po prostu, np skopiowac plik na serwer ktory do logowania uzywa pliku *.pem zamiast hasla, chyba ze da sie to jakos podpiac w klienta ftp kij wie
PrinceOfPersia
jak terminal, to pod linuksem raczej, bo pod windowsami dupa nie terminal, i mnie też on stresuje.

Cytat
Czy coś jest ze mną nie tak? Czy ktokolwiek podziela moją nienawiść, a może mi jeszcze dokopiecie?

ja nie podzielam, gdyż mi o wiele wygodniej napisać jakąś komendę (albo nawet nie napisać, tylko przycisnąć kilka razy strzałkę w górę, aż się wyświetli któraś z poprzednich zapamiętanych komend, które używałem), niż otwierać folder, szukać odpowiedniej ikony, klikać prawym przyciskiem, klikać właściwości, potem klikać po zakładkach, na końcu okej. A w terminalu napisałbym tylko np. chmod +x a.sh, co by mi zajęło z sekundę. W wielu przypadkach, terminal jest o wiele skuteczniejszym/szybszym narzędziem, od wszelakich klikadeł.

Chociaż jeszcze bardziej skuteczniejsza jest automatyzacja. Jeśli zdarza ci się wykonywać takie same czynności w tej samej kolejności, możesz zrobić z tego skrypt *.sh (a pod windowsami *.bat), możesz też użyć jakiegoś narzędzia do automatyzacji (nie wiem jakie są dostępne w środowisku PHP, ale pracując w Pythonie czy NodeJS, nawet nie musiałem po konsoli grzebać, bo miałem Fabric, Grunt etc. Ale Google podaje mi, że jest coś takiego jak Capistrano. Nie wiem ile to warte, nie korzystałem. Może ktoś się inny wypowie?)
SmokAnalog
Cytat(usb2.0 @ 4.02.2014, 11:29:45 ) *
jesli nienawisc sie nie bierze z niewiedzy to mozna to zrozumiec, mam wrazenie ze jest inaczej

Po części masz rację. Próbowałem wprawdzie się przekonać do konsoli kilkukrotnie, ale zawsze zatrzymywała mnie bariera, co można pewnie rozumieć jak niewiedzę.

Wydaje mi się, że tu chodzi głównie o percepcję. Czuję się źle nie widząc możliwości, jakie mam. Tracę orientację w tych wszystkich surowych konsolowych NUDNYCH narzędziach, a poza tym terminal sam w sobie wydaje mi się niewygodnym narzędziem.

Aha, nie używam ani Windowsa, ani Linuxa, tylko OSX.
ohm
Wrzuć sobie mc ( https://www.midnight-commander.org/ ), to może trochę na początek osłodzi ból linii komend wink.gif
usb2.0
no dziwnie bo wydaje mi sie ze jak dzialasz w IT i pracujeszna maku to tym bardziej powinienes byc obeznany z konsola, co nie ? : D
SmokAnalog
Powinienem być, ale nie jestem do końca. Do Gita używam aplikacji GitHub lub SmartGitHg i sobie je chwalę. Naturalne dla mnie jest, że po zmianie pliku od razu widzę w kliencie GIT wszystkie zmiany z pokolorowanymi liniami. Wiem, że w konsoli też można pokazać diffy, ale to nie to samo. sad.gif Nikt mnie nie rozumie... sad.gif
Volume
W latach 90 jak informatyka wchodzila do szkol uczni maglowali z dosa, kopiowanie w wierszu polecen to był wyczyn dla kogos kto własciwie nie rozumiał struktury plikow i katalogow, po takiej szkole wszelkie terminale nie stanowily problemow. To tak wspominajac stare czasy;)... Natomiast ogolnie piszac takie podejscie uczy pewnego porzadku (praca w konsoli wlasciwie wymusza porzadek). Mało kto w czasach masowych pulpitow zastanawia sie nad sensownym katalogowaniem swoich rzeczy, jak widze pulpity czy dyski znajomych to czasem zastanawiam sie ile tam rzeczy zostanie na zawsze zapomniana przez ten jeden wielki smietnik.
Ale bez przesady, drobne edycje, proste rzeczy ok, mozna sie bawic w ekranowych edytorach typu vi (czasem sie to nawet przydaje - zwlaszcza jak ktos obcuje z unixowymi systemami), ale na codzien programowac w nich to moga chyba tylko prawdziwi masochisci;)
SmokAnalog
@Volume, nie bardzo widzę związek Twojej wypowiedzi z tematem tongue.gif
ziqzaq
usb2.0 - WinSCP lub sshfs.

Pod Win jest powershell. Może to nie ten sam klimat co bash ale jest to mocne narzędzie do zarządzania systemem i daje duuużo większe możliwości skryptowania niż badziewny cmd. Z jednym ale. Mamy 2014 rok i dla MS nadal niemożliwością jest zaimplementować skróty klawiszowe kopiuj/wklej czy zakładek :/

Smok. Nie wiem czemu ale zawsze po próbie pracy w gui gita wracam do konsoli. Wydaje mi się, że dzięki pracy w terminalu bardziej ogarnia się co dzieje się repozytorium (jak działa git pod maską). Jak trzeba zdiagnozować czy naprawić jakiś spory błąd to i tak kończy się w konsoli. Jeśli chodzi o diffy to pierwsze co robie to zmiana formatu i dodaje swoje aliasy dla komend smile.gif

Uczenie się setek komend i flag. Od tego jest `git help` i `man` i korzystanie z terminala (jak używasz to zapamiętujesz). To wychodzi naturalnie. Jeśli rzadko zaglądasz do konsoli to rozumiem twój ból.
Szybka akcja (filtrowanie, liczenie, parsowanie, co dusza zapragnie) na tysiącach plików/katalogów? Jak dla mnie tylko terminal.
Volume
Chce Ci dac do zrozumienia skad sie bierze Twoja nienawisc do konsol a przy tym troche nawet potwierdzic zrozumienie Twojej frustracji. Zostales zapewne wychowany na okienkach i wzorkach a nie na komendach, przez to jest Ci ciezej sie odnalesc w takim srodowisku. Ale wszystko to kwestja przyzwyczajenia.

pyro
Cytat(Volume @ 4.02.2014, 20:49:32 ) *
odnalesc ... kwestja


To ja rozumiem, że Ty z kolei jesteś z czasów germanizacji / rusyfikacji? goatee.gif Bo o ile na pierwsze z wymienionych można jeszcze przymknąć oko, tak nie kojarzę, żebym widział wcześniej drugie z w/w tongue.gif
Volume
a daj mi chlopie spokoj z tym jezykiem, wymawiam kwestja a nie kwestia dlatego tak napisalem, mam dysleksje i czasem robie byki zwlaszcza jak pisze z telefonu gdzie nie mam tych korektorow.

Ps. uwierz ze sa wzniejsze sprawy niz polska ortografia, ktora o niczym nie swidczy, a napewno nie o tym, ze osoba taka moze nie miec porzadku...
Damonsson
@up Świadczy o Twoim upośledzeniu rozwoju umysłowego.

Osobom z pokolenia okienkowego, ciężko pokochać terminal, nie jesteś w tym osamotniony, dużo młodych programistów ma ten problem. Zrobisz parę podejść i się przekonasz kiedyś, bo bez tego daleko nie zajedziesz.
SmokAnalog
Cytat(Damonsson @ 4.02.2014, 21:58:22 ) *
@up Świadczy o Twoim upośledzeniu rozwoju umysłowego.

W pierwszej chwili myślałem, że to do mnie i miałem taką minę: sadsmiley02.gif
Volume
czy chcesz mi dac do zrozumienia, ze wlasnie powinienem miec taka mine?;> pewnie by wypadalo, ale na szczescie mi to uposledzenie zwisa, no moze poza takimi incydentami jak teraz, ze ktos znalazl u kogos blad ortograficzny i trzeba jak najszybcie sie tym pochwalic przed calym gronem forumowiczow, naprawde wyczyn
SmokAnalog
Błędy są nieładne, wyzywanie za błędy również, ale może wróćmy do tematu smile.gif
Posio
Ja też nie używałem konsoli, do czasu... Od kiedy na I roku informatyki zmusili mnie do Linuxa i BASHa, w Windowsie mam nonstop odpalonego PowerShella. Jest to fajne i przydatne narzędzie. Gdy już ograniesz jak bardzo można ssobie zautomatyzować nawet używanie komputera do podstawowych funkcji, to docenisz możliwości konsoli.
swoją drogą jeśli chodzi o użytkowanie, podstawa to kilka komend no i tyle. Całą resztę znajdziesz w pomocy do konsoli, taki manual konsolowy.
PrinceOfPersia
Można marudzić ale i tak wiele narzędzi nie ma w formie klikalnej, a jeśli są, to wiąże się to z instalowaniem jakichś specjalnych nakładek, które zaciemniają obraz tego co się dzieje "pod maską" (bo pod maską i tak będzie się odpalał skrypt konsolowy).
lukasz1985
Zawsze wszyscy będą mówić, że jest to kwestia przyzwyczajenia. Zawsze będą bronić Vimy i Emacsy. Bo po prostu nie doświadczyli życia z Eclipse. Kropka.
SmokAnalog
Cytat(lukasz1985 @ 8.02.2014, 23:00:20 ) *
Zawsze wszyscy będą mówić, że jest to kwestia przyzwyczajenia. Zawsze będą bronić Vimy i Emacsy. Bo po prostu nie doświadczyli życia z Eclipse. Kropka.

O, ciekawa opinia. Ja używałem Eclipse'a do Javy.

Dla mnie do dziś zagadką jest na czym polega ta szybkość konsoli, o której mówi wielu. Dla mnie szybkie jest wypełnienie kilku pól i kliknięcie ikony, a wpisanie kilku komend to męczarnia. Uwierzcie mi - dla mnie przebrnięcie przez sam surowy tutorial np. do GIT-a to koszmar. Mój mózg buntuje się przed przyswajaniem nudnych rozwiązań, które tak jarają nerdów biggrin.gif Co innego, gdy dostaje kolorowe, estetyczne GUI. Walczyć z tym czy to po prostu moja cecha?
Posio
szybkość polega na tym ze zamiast włączać jakiś tam swój program, wybierać scieżkę i klikać ikony. wpisujesz w konsoli

Kod
cd c:\
git init
git add .


Nie odpalasz zewnętrznych programów które mimo wszystko muszą być wolniejsze bo działają jako nakładka która tez ma swoje mechanizmy. Ale skoro CI to pasuje to przecież to nie ma różnicy. Każdy pracuje jak mu się podoba i czy jeden korzysta z konsoli a jeden
z jakiś nakładek to nie robi różnicy o ile efekt jest ten sam. Jak jeszcze nie dorosłeś do konsoli to się nie przejmuj. To przyjdzie z czasem, gdy przeniesiesz się na jakies dystrybucje serwerowe, gdzie wypada kilka rzeczy zautomatyzować z szacunku do swojego czasu.
(Ja tak mam aktualnie na WServer) i przy okazji dostrzegam wiele plusów PowerShella którego można również użyć w życiu "codziennym". To są tylko agrumenty za, a nie żeby Cie próbować przekonać.
!*!
Cytat(SmokAnalog @ 8.02.2014, 23:17:33 ) *
Dla mnie do dziś zagadką jest na czym polega ta szybkość konsoli, o której mówi wielu.

Aliasy. Tego brakuje w GUI wink.gif
Zamiast wpisywać 871 znaków w konsoli na które składa się polecenie, ustawiasz dla niego krótki alias.

Cytat(SmokAnalog @ 8.02.2014, 23:17:33 ) *
Dla mnie szybkie jest wypełnienie kilku pól i kliknięcie ikony, a wpisanie kilku komend to męczarnia. Uwierzcie mi - dla mnie przebrnięcie przez sam surowy tutorial np. do GIT-a to koszmar. Mój mózg buntuje się przed przyswajaniem nudnych rozwiązań, które tak jarają nerdów biggrin.gif Co innego, gdy dostaje kolorowe, estetyczne GUI. Walczyć z tym czy to po prostu moja cecha?

Jedyną graficzną i w miarę sensowną nakładą na GIT jest oficjalna aplikacja na osx, reszta to pomyłka.
lukasz1985
Git w konsoli to sadomasochizm w najczystszej postaci. Nie rozumiem jak można sobie po prostu tak niszczyć nerwy i czas. We wspomnianym Eclipse jest do Gita narzędzie, którym można zrobić praktycznie wszystko przez GUI.

Z resztą, co tu dużo mówić - nie jest zbyt mądry ktoś, kto używa konsoli do jakiegoś zadania, jeśli istnieje do tego zadania dobra aplikacja z graficznym interfejsem użytkownika. Od samego początku komputerów ludzie robili wszystko, żeby zwizualizować interfejs użytkownika. GUI jest logicznym następstwem konsoli, tak jak jazda na koniu była logicznym następstwem chodzenia. Różnica polega na tym, że u podłoża tych koncepcji leżą różne potrzeby: potrzeba przemieszczania się oraz potrzeba wprowadzania poleceń do komputera. Mówi się, że potrzeba matką wynalazków, więc jeśli ktoś pisze, że woli używać konsoli do zadań które może wykonać w aplikacji graficznej to jest cynikiem, lub ewentualnie pozerem, nieświadomie naśladującym cynizm innych - co jest żenujące i wręcz śmieszne.

Prawda, że konsola się może przydać do rzeczy, których nie da się zrobić z poziomu GUI ale czy jeszcze są takie zadania dla przeciętnego programisty? Raczej wątpię. Z tym mogą mieć od czynienia osoby, które chcą przekompilować jądro linuxa.

Jeszcze co do technicznych kwestii:
- w konsoli nie ma miejsca na błędy
- w konsoli praca może być znacznie wolniejsza, ze względu na to, że komendy trzeba znać na pamięć
- w konsoli nie ma możliwości wybierania plików i dodawania ich do bieżącego wyboru: każde polecenie trzeba wykonać osobno na każdym pliku lub używając "wildcards" albo RegEx , co nie zawsze rozwiązuje problem

Mitem jest, że aplikacje graficzne, które działają jako nakładki na konsolę działają wolniej, z jednego oczywistego powodu: że wywołują te same polecenia, które użytkownik konsoli wklepuje ręcznie - a od momentu uruchomienia polecenia - wszystko działa już z tą samą prędkością.
Zasadniczo może działać nawet szybciej, jeśli nie ma wyprowadzania stanu na ekran.

A co do tego, że do konsoli trzeba "dorosnąć" to powiem, że to jest jakiś żart. Jest odwrotnie - do aplikacji z GUI trzeba "dorosnąć". Kiedyś klepałem polecenia MySQL przez konsole, potem odkryłem PHPMyAdmin, który koniec końców też jest lipą. Dziś używam do tego MySQL Workbench.

W ogóle to w tym temacie jest jakaś tendencja do uwsteczniania. Z aplikacji desktopowych robią aplikacje internetowe co często tylko mnoży problemy zamiast je rozwiązywać. Należy pamiętać, że ładne GUI to nie wszystko. Bardziej liczy się stabilność aplikacji i niezawodność, o której nie można mówić gdy ładuje się coś z przeglądarki, której wersja w obecnym momencie może mieć jakieś problemy. Poza tym AJAX i JS są powolne.

Generalnie, to o czym tutaj mówimy sprowadza się do UX(User eXperience). No ale jak mówić o UX w konsoli? "Hej mam uzupełnianie przy wciskaniu TAB'a" albo "strzałka do góry przywołuje poprzednie polecenie"? Raczej nie.
Posio
Ale zaj*bałeś ...
Cytat
Dziś używam do tego MySQL Workbench.


Największy szajs jeśli chodzi o stabilnośc jaki do tej pory widziałem. Nie ma to jak wywalić APPCRASH podczas tworzenia czegokolwiek... tu masz swoją stabilność aplikacji...

Jeśli ktoś nie potrafi zapamiętać kilku/nastu podstawowych komend w konsoli to można powiedzieć ze jest upośloedzony jeśli chodzi o używanie tak "skomplikowanych" mechanizmów komputera. Wielu rzeczy nie załatwisz przez jakiekolwiek GUI bo po prostu nie istnieją.
Dalej jeśli chodzi o konsole, przyspiesza bardzo dużo rzeczy. Nastepny przykład ?
Kod
apache start


A jeśli chcesz możesz szukać sobie ikonki jakiegoś pakietu i kliknąć "start" bo czemu nie, tak czy inaczej jest to droga dookólna. Co do zarządzania plikami/regexów/multiselectów to istnieje naprawdę wiele aplikacji uruchamianych w konsoli do tego typu rzeczy. Moim zdaniem nie ma co porównywać np. konsoli OSX czy Linuxa do Windowsa, bo jeśli chodzi o zarzadzanie plikami itp. to moim zdaniem interfejs windowsa góruje i tutaj nie ma potrzebu używania konsoli.
GUI są wygodne i potrafią bardzo przyspieszyć pracę. Potrafią ją również spowolnić w wyniku jakichś błędów z nimi związanych. Wszystko ma swoje dobre i złe strony. Jeśli nie mam GUI dla jakiśtam poleceń, to wolę szybko wpisać w konsole aniżeli pisać aplikację do tego...
Mówimy o zastosowaniach domowych, kwestia się zmienia gdy w grę chodzą rozwiązania biznesowe, gdzie liczy się wydajność i każdy wcinający zasoby program jest zbędny. Wtedy WYPADA używać konsoli.
lukasz1985
"Mówimy o zastosowaniach domowych, kwestia się zmienia gdy w grę chodzą rozwiązania biznesowe, gdzie liczy się wydajność i każdy wcinający zasoby program jest zbędny. Wtedy WYPADA używać konsoli"

O czym Ty w ogóle tutaj mówisz? Wszelkie aplikacje, jeśli już mają działać na serwerach to ich uruchamianie przez GUI absolutnie niczego nie zmienia, natomiast innych sytuacji nie ma w rozwiązaniach binzesowych.
Mówimy o wykonywaniu zadań przez komputer - serwer nie przyjmuje ruchu przez konsolę, ani GUI tylko przez protokoły sieciowe. Natomiast uruchomienie aplikacji GUI na serwerze, żeby zmenić parę ustawień niczego nie zmieni.

MySQL Workbench nigdy żadnego błedu mi nie wyrzucił, a dzięki niemu mam dostęp do każdej lokalnej i zdalnej bazy danych plus możliwości, których PMA po prostu nie daje. Projektowanie tabeli/relacji edycja danych jest możliwa znacznie szybciej w tym programie.


"Jeśli ktoś nie potrafi zapamiętać kilku/nastu podstawowych komend w konsoli to można powiedzieć ze jest upośloedzony jeśli chodzi o używanie tak "skomplikowanych" mechanizmów komputera. "

Po co zapamiętywać? Liczy się funkcjonalność, a pamięc ludzka i tak jest zawodna.

Natomiast przykłady z tak trywialnymi poleceniami ja "apache start" to jest chyba jakieś nieporozumienie - bo i tak najpierw musisz uruchomić konsolę (znaleźć ikonkę) w systemie żeby w ogóle wpisać to polecenie.

Jeśli chodzi o pliki to wrócę jescze do GIT'a - jeśli pracowałem na 10 plikach i z 5 z nich chce zrobić jednego commita, a z drugich 5 innego - to nie ma opcji, żeby w konsoli zrobić to szybciej niż z jakąs aplikacją z GUI.

Z resztą, co mi tam, to nie ja się zajeżdżam w konsoli wink.gif.
SmokAnalog
Cytat(!*! @ 9.02.2014, 13:31:57 ) *
Jedyną graficzną i w miarę sensowną nakładą na GIT jest oficjalna aplikacja na osx, reszta to pomyłka.

Właśnie tej aplikacji używam, jest bardzo przyzwoita, zwłaszcza w porównaniu do jej Windowsowej siostry. Aplikacja GitHub dla Windowsa nie potrafi nawet prawidłowo określić czy repozytorium jest zsynchronizowane. Nie zgodzę się, że GitHub for OSX to jedyna przyzwoita aplikacja - chwaliłem sobie również Tower (płatna) i SmartGitHg (darmowa).

Nie wiem czy wydajność ma aż takie znaczenie. Na MacBooku Air z dyskiem SSD nie odczuwam czasu wykonywania żadnej GIT-owej operacji.

Zakładając ten temat najbardziej zależało mi na poznaniu Waszej opinii na temat mojego postrzegania konsoli jako takiej. Już samo operowanie na plikach jako na ścieżkach, nie widząc na całym ekranie listy plików, z którymi mogę wejść w bezpośrednią interakcję. Ogarnia mnie wtedy jakaś niezrozumiała dla mnie forma paniki i irytacji.
Posio
Koniec tej zbędnej dyskusji bo zaczyna się jak wojna między Windowsem/Linuxem - iOSem/WP/Androidem i cała reszta tego szajsu. Już napisałem że każdy robi tak jak mu wygodniej i tyle. Nie wmówisz mi ze coś jest szybsze skoro w moim przypadku nie jest. Tak samo ja nie mam zaiaru wmawiać tego tobie. Peace

@Edit,
Właśnie zdiagnozowano u Ciebie konsolofobię tongue.gif
!*!
@SmokAnaloga co do GUI ... spróbuj wgrać na serwer bazę danych która ma np. 250GB :D zabawa dla całej rodziny. Programy okienkowe które dostarcza producent MySQL potrafią się wysypać przy 10GB, tak po prostu... konsola natomiast łyknie całość bez problemu.
solificati
Terminal to jednolity interface, który tak się składa, że jest na każdym komputerze z nixem. Jak ktoś lubi mieć wszystko ubrane w Javowe kontrolki i wszystko z innym interfacem to proszę. Ja wolę mieć wszystko w sesji tmuxa. Wolę minimalizm nixa zamiast stert abstrakcji i nakładek, pluginów i innych rozszerzeń. Dopóki najlepszą reprezentacją danych jest tekst to terminal jest najwydajniejszy.
sazian
Cytat(lukasz1985 @ 9.02.2014, 14:57:12 ) *
MySQL Workbench nigdy żadnego błedu mi nie wyrzucił, a dzięki niemu mam dostęp do każdej lokalnej i zdalnej bazy danych plus możliwości, których PMA po prostu nie daje. Projektowanie tabeli/relacji edycja danych jest możliwa znacznie szybciej w tym programie.

żebyś się nie zdziwił któregoś pięknego dnia wink.gif
Pomijając stabilność działania, wiele serwerów ma wyłączony zdalny dostęp i żadnym workbench'em się nie połączysz.


Cytat(lukasz1985 @ 9.02.2014, 14:57:12 ) *
Po co zapamiętywać? Liczy się funkcjonalność, a pamięc ludzka i tak jest zawodna.


jak programujesz to nazw funkcji czy podstawowych konstrukcji też nie pamiętasz ? Jeśli się czegoś używa to się to zapamiętuje

Cytat(lukasz1985 @ 9.02.2014, 14:57:12 ) *
Natomiast przykłady z tak trywialnymi poleceniami ja "apache start" to jest chyba jakieś nieporozumienie - bo i tak najpierw musisz uruchomić konsolę (znaleźć ikonkę) w systemie żeby w ogóle wpisać to polecenie.


proszę bardzo inne trywialne polecenie z jakiego często korzystam
Kod
grep cokolwiek * -Rn


czyli przeszukaj pliki rekurencyjne w poszukiwaniu frazy "cokolwiek"
polecenie wyświetla nazwę pliku, numer wiersza(przełącznik -n) oraz znaleziony wiersz.
i co tu masz skomplikowanego ? musisz tak na dobrą sprawę zapamiętać jedno słowo grep, reszta przychodzi sama- piszesz czego szukasz, gdzie i podajesz ewentualne dodatkowe opcje po minusie ( R od rekurencyjne i n od numer linii)



inny przykład na serwerze klienta trzeba skopiować jakieś 2.5GB danych z jednego katalogu do drugiego - jak dobrze pamiętam serwer był w home.
I jak to zrobić ? przez FTP ? super pomysł ! cały dzień pobierania i wysyłania. Ale za to można przez GUI wink.gif
To może jakimś innym graficznym ? kurcze tylko niema żadnego.
więc co robić ? ano wystarczyło się zalogować przez ssh i wykonać jedno skomplikowane polecenie "cp ścieżka_z ścieżka_do"
PrinceOfPersia
Cytat
Prawda, że konsola się może przydać do rzeczy, których nie da się zrobić z poziomu GUI ale czy jeszcze są takie zadania dla przeciętnego programisty? Raczej wątpię. Z tym mogą mieć od czynienia osoby, które chcą przekompilować jądro linuxa.

Ale z konsoli się szybciej instaluje programy czy biblioteki programistyczne. Chcesz jakiejś biblioteki JavaScript, to wpisujesz
npm install nazwa_biblioteki (albo bower zamiast npm)
(np. bower install jquery i masz ściągnięte jQuery)
Chcesz zainstalować jakiś program, to wpisujesz tylko:
apt-get install NAZWA_PROGRAMU (na debianowych dystrybucjach linuksa)
zamiast się bawić we wchodzenie na stronę internetową czy szukanie w graficznym repozytorium programów.

Cytat
Generalnie, to o czym tutaj mówimy sprowadza się do UX(User eXperience). No ale jak mówić o UX w konsoli?

konsola często poprawia UX, bo zwalnia programistę z konieczności jej obsługi (poleceń w konsoli przecież nie trzeba wklepywać z palca, bo można napisać skrypt, który będzie sam je wywoływał (chociażby plik *.sh. btw. programowanie w Bashu to jest dopiero masochizm, ale to już inny temat - języków skryptowych jest przecież multum i nie trzeba pisać całej logiki skryptu w Bashu). Praktycznie każdy powtarzający się ciąg tych samych zadań (np. przy buildzie/deployu możesz chcieć zminimalizować pliki, przeskalować obrazki, skompilować szablony, wgrać wszystko na serwer FTP etc.) można zautomatyzować i stworzyć w konsoli skrypt. Jeden skrypt, który będzie robił z automatu 10 róznych rzeczy i sam sprawdzał warunki, kiedy coś zrobić, kiedy nie. A weź zrób taką automatyzację w GUI... da się niby, w niektórych programach są makra, ale to jednak nie to samo...

Cytat
Jeśli chodzi o pliki to wrócę jescze do GIT'a - jeśli pracowałem na 10 plikach i z 5 z nich chce zrobić jednego commita, a z drugich 5 innego - to nie ma opcji, żeby w konsoli zrobić to szybciej niż z jakąs aplikacją z GUI.

Przyznając ci częściowo rację, myślę, że te narzędzia się uzupełniają. Ja jeśli chcę przeanalizować solidnie diffy to wolę to zrobić w NetBeans, albo na GitHubie, niż wpisując niewygodne "git diff | less". Albo inna sytuacja - rozpakowywanie plików *.rar w linuksie. Też wolę zrobić to w GUI i z menu kontekstowego "rozpakuj tutaj" niż zastanawiać się nad właściwymi flagami do polecenia tar. Także do przeglądania bazy danych też nie użyję konsoli tylko narzędzia typu phpMyAdmin czy podobnego.
freemp3
Cytat
Natomiast przykłady z tak trywialnymi poleceniami ja "apache start" to jest chyba jakieś nieporozumienie - bo i tak najpierw musisz uruchomić konsolę (znaleźć ikonkę) w systemie żeby w ogóle wpisać to polecenie.

Do uruchomienia programu, który wykona identyczne polecenie, też trzeba znaleźć ikonkę oraz go uruchomić i założę się że będzie się uruchamiał dłużej od konsoli z wpisaniem polecenia włącznie tongue.gif

Cytat
GUI jest logicznym następstwem konsoli, tak jak jazda na koniu była logicznym następstwem chodzenia.

Masz rację, konie zostały wyparte przez samochody, samoloty itp. Jednak zważ na to, że nie wszędzie dojedziesz koniem / samochodem, musisz ruszyć 4 litery i część drogi przejść pieszo. Podobnie jest z graficznymi narzędziami i konsolą.

Dyskusja konsola vs programu z GUI raczej nie ma sensu, zarówno jedno jak i drugie rozwiązanie ma swoje plusy i minusy. Już zostając przy tym gicie to w warunkach domowych faktycznie lepiej, gdy obsługa jest wbudowana w edytor. Jednak na serwerze produkcyjnym, gdzie nie ma dostępu do gita z GUI trzeba użyć konsoli i tutaj już przydaje się chociaż podstawowa jej znajomość oraz komend. Gdyby ktoś poprosił o instalację kde lub gnome, żeby móc sobie zainstalować graficzny edytor do kilku zmian i commitów, firma hostingowa na bank by gościa zabiła śmiechem tongue.gif

Jednym słowem GUI jest fajne, ale warto znać też podstawy konsoli, gdyż nie wiadomo gdzie i kiedy może się to przydać, a nie wszędzie będzie możliwość instalacji naszego ulubionego programu.
ziqzaq
Cytat(lukasz1985 @ 9.02.2014, 13:35:08 ) *
Mitem jest, że aplikacje graficzne, które działają jako nakładki na konsolę działają wolniej[...]
Zasadniczo może działać nawet szybciej, jeśli nie ma wyprowadzania stanu na ekran.

Co to za argument? To w konsoli się nie da wyłączyć wyprowadzania na ekran? arrowheadsmiley.png

Strasznie hejtujesz terminal a on jest bardzo przydatny w wielu przypadkach. Te argumenty, że coś można zrobić szybciej w GUI. Jedną rzecz zrobisz szybciej (to zaznaczanie kilku plików) a drugą wolniej (przetwarzanie bardzo dużej ilości plików w niestandardowy sposócool.gif.
Wiedza jak się obsługiwać terminalem nie wyklucza korzystania z GUI, ale daje dodatkowe możliwości co jest raczej dość istotne dla programisty.
ohm
Tak jeszcze dodam słówko, dla mnie różnica między terminalem a gui, to jak używać klawiatury a klawiatury ekranowej smile.gif
PrinceOfPersia
Eee? Czyli niewielka? (napisane na klawiaturze ekranowej)
lukasz1985
"Tak jeszcze dodam słówko, dla mnie różnica między terminalem a gui, to jak używać klawiatury a klawiatury ekranowej"

Większego idiotyzmu nie słyszałem.
ohm
Cóż za konstruktywna odpowiedź.
SmokAnalog
Nie kłóćcie się, Panowie.

@ohm, możesz rozwinąć swoją myśl o tych klawiaturach?
ohm
Ogólnie chodziło mi o to, że owszem, da się "pisać" myszką na klawiaturze ekranowej, ale nigdy to nie będzie to samo (przynajmniej dla mnie) co wpisanie czegoś na fizycznej klawiaturze smile.gif
SmokAnalog
Dla mnie jest wręcz odwrotnie - używając konsoli czuję, jakbym się ślizgał jak z klawiaturą dotykową. Nie czuję tego po prostu. GUI jest dla mnie intuicyjne i naturalne, jak klawiatura fizyczna.

Nie ogarniam np. zalewu informacji w konsoli. Niektóre komendy wypluwają kilkadziesiąt linii suchego tekstu i jak w tym bajzlu odnaleźć początek tego bloku? Jest do tego jakiś skrót klawiszowy czy po prostu przedzieramy się przez ten gąszcz? Jeśli to drugie, to ja dziękuję. biggrin.gif
Posio
możesz sobie ustawić kolorowanie tego czego szukasz ...
PrinceOfPersia
Cytat(ohm @ 12.02.2014, 22:58:53 ) *
Ogólnie chodziło mi o to, że owszem, da się "pisać" myszką na klawiaturze ekranowej, ale nigdy to nie będzie to samo (przynajmniej dla mnie) co wpisanie czegoś na fizycznej klawiaturze smile.gif

no nie wiem, ja na klawiaturze ekranowej piszę palcami.

Cytat
Niektóre komendy wypluwają kilkadziesiąt linii suchego tekstu i jak w tym bajzlu odnaleźć początek tego bloku?

jakas_komenda | less
albo
jakas_komenda | grep slowo_ktorego_szukasz
albo przekierowanie do pliku tekstowego
jakas_komenda > loguj.txt
SmokAnalog
Cytat(PrinceOfPersia @ 13.02.2014, 03:07:55 ) *
jakas_komenda | less
albo
jakas_komenda | grep slowo_ktorego_szukasz
albo przekierowanie do pliku tekstowego
jakas_komenda > loguj.txt

Wszystkie te metody są rzeczywiście zabójczo (nie)wygodne tongue.gif
ohm
Cytat(PrinceOfPersia @ 13.02.2014, 03:07:55 ) *
no nie wiem, ja na klawiaturze ekranowej piszę palcami.

Chodziło mi dokładnie o klawiaturę ekranową wyklikiwaną, bez żadnych paneli dotykowych ani fizycznej klawiatury do niej wink.gif

Co do obsługi konsoli, to polecam mocno wspierać się mc (dużo ludzi wybiera total commandera na windowsa) i śmiganie po systemie plików jest dużo fajniejsze. Do tego dochodzą szybkie komendy cd, ls (chociażby do sprawdzenia praw, właścicieli, itp, kilkunastu plików na raz), niezastąpiony grep (bez grep fraza * -R nie ma życia biggrin.gif ) czy chociażby sed. Mając konsolę i zwykłe ctrl+(shift)+n i mamy kolejną smile.gif
Owszem, da się to na gui zrobić, ale dużo dłużej i trzeba mieć zewnętrzne narzędzia smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.