Wpis z mikrobloga

Jakich języków programowania warto się uczyć? I ilu, żeby nie zwariować?

Umiem już na zadowalającym poziomie C++, ale jeszcze sporo przede mną, póki co do programowania komercyjnego się nie nadaję. Niedawno rozpocząłem naukę Pythona, bo ma ogromne możliwości i jest przez wielu polecany. Jednak przyszła chwila zastanowienia i myślałem nad tym czy nie porzucić go na koszt Ruby. Pyton czy Rubin?

A może Perl? Chociaż przy dwóch wcześniejszych językach nie wydaje się w jakiś sposób nad nimi górujący.

No i są jeszcze języki "logiczne".

Jak to wygląda u was? Zarówno u tych, którzy programują amatorsko jak i tych już pracujących w zawodzie.

#programowanie #pytanie #popoludniowerozkminy #python #ruby
  • 21
  • Odpowiedz
@Drzwi: No ale pytasz o pracę czy co? Hobbystycznie możesz się uczyć i kilkuset a jeżeli chodzi o pracę to na jakiś ranking popatrz. Mi najbardziej pasuje C++, python do skryptologii (i w nich też programuje w pracy) i PHP jak chcę jakąś stronę zrobić, no ale to moje preferencje, różni ludzie lubią różne rzeczy.
  • Odpowiedz
@bluenote: @WolverinePL: Zarówno do pracy (potencjalnie, na razie nie pracuję) jak i pisania poza nią. Interesuję mnie programowanie aplikacji graficznych i do tego lekkiego języka i bibliotek. Na niższym poziomie mogę wesprzeć się skryptami z Pythona lub Ruby. Tylko nie wiem co będzie lepsze.

Z tego co widzę, poszukują wielu programistów Javy, ale jak dla mnie ten język odpada. Ma zbyt wiele wad. Dalej na drugim miejscu, zaraz po niej
  • Odpowiedz
@Drzwi: Jeżeli się dopiero uczysz, to nie sądzę byś był wstanie określić, że język ma zbyt wiele wad. Na Twoim miejscu po prostu uczyłbym się object-oriented programming, tak na poważniej czyli bardziej design/projektowanie. To jest zawsze potrzebne, przynajmniej w skali mirko (powiedzmy w obrębie kilku klas), a w miarę doświadczenia zakres się zwiększa. Czyli ogólnie zasady SOLID itp. i wzorce projektowe.

Poza tym po prostu rozwiązywanie konkretnych problemów, masowo rzucaj sobie
  • Odpowiedz
@Drzwi: Java, C#, C++, Python, PHP - myślę, że to są takie języki na topie, a jest z nimi o tyle fajnie, że są w miarę podobne i można pouczyć się od strony inżynierii, czyli programowanie obiektowe, jakieś tam tdd itp. A tak z ciekawości, wady w Javie Ci nie odpowiadają? :)
  • Odpowiedz
W praktyce jak potrafisz programować to język nie ma znaczenia.


@bluenote: Ja się z tym nie zgadzam, różnice są duże. W Javie porobisz interfejsy, fabryki itp, przerzucisz się na C++ a tam się obiekty kopiują, wychodzą ze scopa, jakieś RAII, szablony, ble ble, pójdziesz do pythona czy ruby to z kolei nagle interfejsów nie ma bo jest jakiś duck taping, typy się w runtime sprawdza, iteratorów nie można skopiować itp.
  • Odpowiedz
@hbpitero: To akurat mi odpowiada, bo w C++ mocno zaniedbałem OO, więc będzie dobra okazja, żeby od podstaw te wzorce ogarniać. No i z projektami nigdy mi to za dobrze nie wychodziło, potrafiłem się gubić przy projektach mających więcej jak 5k linii kodu.

Poleciłbyś jakieś konkretne projekty/kategorie kodu, z których najlepiej się uczyć? Aplikacje, biblioteki, a może od razu na głęboką wodę i studiować systemy?

@WolverinePL: Dla mnie programowanie powinno
  • Odpowiedz
@Drzwi: Po prostu używaj gotowych bibliotek, akurat nie kręcę się w C++, ale wybieraj te najpopularniejsze, sprawdzone projekty, których wiadomo, że używają tysiące programistów na świecie. Z samego używania zobaczysz jaki interfejs na zewnątrz wystawili twórcy i jak luźno wszystko jest powiązanie, i jak sprytnie wykazane są zależności, żeby pgoramista nie musiał spędzać tygodnia na nauce biblioteki.

Java nie jest ciężka, IDE muszą być ciężkie bo wiele oferują, sam nigdy nie
  • Odpowiedz
@Drzwi: Możesz Jave w vimie mielić :) C# zwykle idzie w parze z Visual Studio i generalnie C# to jest to samo co Java :P

Poleciłbyś jakieś konkretne projekty/kategorie kodu, z których najlepiej się uczyć? Aplikacje, biblioteki, a może od razu na głęboką wodę i studiować systemy?


@Drzwi: Ja bym tak nie wyrobił, po prostu pisz dużo :)
  • Odpowiedz
@Drzwi: możesz programować w javie w vimie czy dowolnym innym edytorze. Jeżeli według ciebie to jest wada języka, to może jednak przemyśl, czy aby na pewno chcesz być programistą.
  • Odpowiedz
Czasami są większe między frameworkiem A i B w obrębie jedno języka :)


@bluenote: Racja, tylko to nie umniejsza problemu przy przesiadce :) No bo niby spoko, w rok powiedzmy się nauczę tej Javy np żeby coś robić ale nie można tego przedstawiać też tak, że szef przyjdzie i powie "zrób w Javie program" a ty go zrobisz tak o :P
  • Odpowiedz
@Drzwi: Najwaƶniejsze, ƶebyś lubił co robisz, więc wybierz język, który Tobie odpowiada.

Bjarne Stroupstrup w jednym z wywiadów powiedział, ƶe dobry programista powinien swobodnie poruszać się w 5 językach.

Ja bym polecał na pewno:

Jakiś statycznie typowany, C++, C, C#, D

Jakiś skryptowy: Ruby, Python, php (tylko tutaj trzeba uwaƶać na tutki), js (jak lubisz dręczyć ludzi przeglądających Twoje strony)

Jakiś z kompletnie innymi paradygmatami: np Haskell
  • Odpowiedz