RE: RE: Zacznij od Bash-a ;) - mój początek
You are viewing a single comment's thread from:

RE: Zacznij od Bash-a ;) - mój początek

alcik(53)
Published in
#polish
Words
513
Reading
3 min
Listen
Play
7y

Nie odbierz tego proszę, jako próby zlinczowania czy zniechęcenia do czegokolwiek. Zupełnie nie o to mi chodzi. Popieram gorąco chęć nauki programowania tylko zastanawia mnie czemu wybrałeś akurat Basha?

Nie zrozum mnie źle, uwielbiam go i używam praktycznie codziennie. Spora część mojego cyfrowego życia bez Basha czającego się gdzieś tam pod spodem, wyglądałaby duuużo ubożej.

Wydaje mi się, że znam go dość dobrze, dlatego myślę, że nie jest najlepszym językiem do nauki programowania, zwłaszcza dla kogoś z mniejszym lub bez doświadczenia w programowaniu w ogóle (nie wiem jakie są Twoje doświadczenia i wiedza i nie odnoszę się do nich - piszę ogólnie). Nie wiem do czego będziesz potrzebować umiejętności programowania, ale podejrzewam, że dość łatwo można by było zaproponować jakiś inny język do nauki, który jednocześnie może być wszechstronny, powszechnie używany, perspektywiczny i równie dobry do zastosowań amatorskich jak i profesjonalnych. Tu od razu przychodzi mi tu do głowy Python.

Żeby łatwiej pokazać co mam na myśli - lista wad i zalet Basha, skomponowana na szybko, bez głębszego zastanowienia (na pewno zapomniałem o wielu aspektach):

Wady:

  • nawet dla doświadczonych programistów składnia może wydać się nieco egzotyczna a czasem wręcz chaotyczna (jest to język skryptowy powłoki, który oryginalnie miał za zadanie głównie ułatwiać pracę w tej powłoce i ma ze sobą pewien bagaż historyczny), tym samym skrypty bashowe mogą wydawać się nieczytelne, nawet dla ich autora po pewnym czasie,
  • nie jest łatwo używać w nim jakichś bardziej złożonych struktur danych i pewnie nie wszystko jest tu możliwe do zrobienia w sposób rozsądny i wydajny,
  • nie jest łatwo w Bashu pisać programy z graficznym i/lub webowym interfejsem użytkownika (choć oczywiście jest to możliwe),
  • coś co jest mocą i ogromna zaletą Basha (nieskończona niemal liczba programów działających z linii komend, które mogą zostać użyte w skrypcie bashowym) może być również jego słabością:
    • ogrom możliwości może być przytłaczający a jednocześnie te programy nie są częścią Basha jako języka programowania, nie każda taka możliwość jest oczywista, czasem dość trudną ją odkryć lub na nią wpaść,
    • nie ma chyba nigdzie, zdefiniowanego standardu określającego jak programy działające w trybie tekstowym powinny przyjmować od użytkownika parametry i opcje uruchomieniowe. Większość spełnia jakieś wytyczne zgodne z uniksowo-linuksową tradycją ale wiele tego nie robi - brak tutaj spójności, co może być czasem frustrujące.

Zalety:

  • nieskończona niemal liczba programów działających z linii komend, które mogą zostać użyte w skrypcie bashowym - dzięki temu można dość łatwo stosować skrypty bashowe do wielu różnych zastosowań,
  • pisząc w Bashu uczymy się mimowolnie również Linuxa i w ogóle korzystania z linii poleceń, które nadal jest potężnym narzędziem - kto widząc czarny ekran z małymi białymi literkami stuka się w głowę i bulgocze coś o XXI wieku, nie ma pojęcia o czym mówi - wiele najnowszych, profesjonalnych i innowacyjnych narzędzi ma interfejs wyłącznie tekstowy (z czasem oczywiście powstają różne interfejsy przykrywające ten oryginalny),
  • w niektórych sytuacjach napisanie czegoś w Bashu może być dużo łatwiejsze i zajmie nam znacznie mniej czasu niż napisanie czegoś w innym języku programowania. Znajomość Basha pozwoli nam czasem napisać na szybko jakiegoś jednolinijkowca, który może zaoszczędzić nam wiele nudnej żmudnej pracy.