Obecnie uczę się języka Python, który nie był częścią mojego programu studiów. W wywiadzie zapytano mnie, dlaczego wybrałem Python, i odpowiedziałem, że łatwo się go nauczyć, a dokumentacja jest bardzo dobrze napisana. Ankieter nie odpowiedział, czy to wystarczający powód. Wyglądał na przekonanego, ale nie jestem pewien.
Czy dobrze napisana dokumentacja i łatwość nauki są wystarczającym powodem wyboru języka skryptowego? A może powinienem bardziej szczegółowo omawiać dostępność bibliotek Python i większą bazę użytkowników Pythona?
Tylko uwaga. Python nie był wymagany do tego zadania. Firma pracowała nad Ruby-on-rail. Python był w moim życiorysie i myślę, że ankieter chciał po prostu wiedzieć, jakie rozważania podjąłem jako świeższy przy wyborze języka programowania.
źródło
Odpowiedzi:
Nie, dobrze napisana dokumentacja nie jest wystarczającym powodem do nauki języka.
Źle napisana dokumentacja jest dobrym powodem, aby się jej nie uczyć.
Istnieją cztery powody, aby nauczyć się języka:
Ponieważ może być przydatnym narzędziem w twojej karierze
Język to narzędzie. Jeden używa języka zamiast drugiego ze względu na jego zalety w danym kontekście. Fakt, że język ma wysokiej jakości dokumentację, nie czyni go lepszym narzędziem, a jedynie marginalnie¹.
Wybór języka byłby raczej oparty na wcześniejszym doświadczeniu, paradygmatach (przykład: programowanie funkcjonalne dla Haskell), podejściach (przykład: tryb w pełni asynchroniczny dla JavaScript jako języka programowania po stronie serwera z Node.js), interoperacyjności ( przykład: zgodność z prawie każdym systemem operacyjnym Java) itp.
Możliwość korzystania z narzędzia w życiu codziennym jest jednym z powodów, dla których warto nauczyć się języka.
Ponieważ poszerza twoją kulturę i wiedzę
Innym powodem do nauki języka jest nauka nowych pojęć, paradygmatów i sposobów pisania eleganckiego kodu (przykład: Haskell). Również w tym przypadku dokumentacja pomaga, ale nie jest jedynym powodem do nauki języka.
Ponieważ nauka wymaga minimalnego wysiłku
Innym powodem do nauki języka jest to, że nauka jest prosta (przykład: PHP). Znowu dokumentacja ma duży wkład, ale sam język jest jeszcze ważniejszy. Ponadto unikałbym mówienia podczas wywiadu, że nauczyłem się języka tylko dlatego, że łatwo się go nauczyć.
Bo to zabawne.
Ostatnim powodem do nauki języka jest to, że nauka dobrze zaprojektowanego języka (przykłady: Haskell, Ruby) lub języka dla maniaków jest ekscytująca (przykład: Brainfuck).
W przypadku Pythona możesz odpowiedzieć na to:
To jest dynamiczny język. Dynamiczne języki ułatwiają tworzenie prototypów i szybszy rozwój, gdy okoliczności sprawiają, że typy silne nie są ważne.
Jest elegancki. Może nie tak elegancki jak, powiedzmy, Haskell, ale mimo to porównanie z głównymi językami internetowymi, takimi jak PHP, jest łatwe do zrobienia.
Wykorzystanie znaczących wcięć jest interesujące, biorąc pod uwagę, że wiele języków głównego nurtu czyni wcięcia tylko ciężarem, który powinien być zarządzany przez IDE. Nawiasem mówiąc, kompilator i interpreter Haskell również polegają na wcięciach.
Python ma elegancki sposób pracy z listami. Zrozumienia list i wyrażenia generatorów są interesującymi koncepcjami dla kogoś, kto nigdy wcześniej nie używał programowania funkcjonalnego.
Django sprawia, że bardzo łatwo jest szybko tworzyć aplikacje internetowe, utrzymując kod w czystości. Jest to ogromna zaleta w stosunku do wielu innych języków programowania.
Jest wystarczająco szybki i wystarczająco wydajny, aby obsługiwać aplikacje internetowe na dużą skalę. Na przykład Dropbox jest napisany w języku Python. YouTube w dużej mierze opiera się na Pythonie. Reddit, jeśli dobrze pamiętam, polega również na Pythonie.
¹ Dobrze napisana dokumentacja nadal pomaga robić rzeczy we właściwy sposób i szybko.
źródło
Jeśli jesteś podobny do mnie, nie używasz młotka tylko dlatego, że ma wygodny uchwyt. Używasz młotka, ponieważ potrzebujesz go do
zrobieniaczegoś młotkowanego.Nie, chociaż dobra dokumentacja jest z pewnością pomocna, sama w sobie nie jest powodem do nauki języka programowania.
źródło
Oto moje główne powody, dla których warto uczyć się nowego języka:
reszta zespołu, z którym pracujesz, używa go, a ty jesteś nowym facetem, który stanie się częścią zespołu.
chcesz rozwiązać problem, a język X lub biblioteki / frameworki dla języka X wydają się zapewniać najlepszą dostępną obsługę tego zadania
Robisz to tylko dla własnych celów edukacyjnych.
Często w sytuacji 2 istnieje więcej niż jeden język lub struktura odpowiednia do rozwiązania problemu. Wtedy dobrze napisana dokumentacja może być jednym z czynników, które należy wziąć pod uwagę (ale także inne czynniki). W przypadku punktu 3 ważniejsza może być dobra dokumentacja, ale szczerze mówiąc, jeśli chcesz nauczyć się nowego języka tylko w celu jego nauki, najpierw znajdź problem, który chcesz rozwiązać, w przeciwnym razie wkrótce stracisz swoją motywację, dobrze… pisemna dokumentacja dostępna lub nie.
źródło
Tak, czemu nie? Im więcej języków się uczysz, tym łatwiej jest nauczyć się następnego języka. Wiele pojęć programistycznych można nauczyć się w różnych językach. Równie dobrze możesz zacząć od tego, który ma najlepsze dostępne materiały do nauki.
Również większość zadań można wykonać w różnych językach. Zazwyczaj po chwili opanujesz podstawowe pojęcia i narzędzia językowe, ale w razie potrzeby nauczysz się większości bibliotek. Argumentem przemawiającym za językiem jest to, że biblioteki są dobrze udokumentowane, dzięki czemu można szybko zacząć działać w określonej domenie aplikacji.
źródło
Nie, dobrze napisana dokumentacja nie jest wystarczającym powodem do nauki języka.
Ankieter zadał to pytanie, ponieważ powiedziałeś mu o dobroci pytona. Powinieneś porównać pytona i ruby.
źródło