Witajcie!
Jestem na etapie poszukiwania języka programowania, w którym chciałbym się specjalizować.
Stosuję się tutaj do rad @Gynvael Coldwind z Poradnika Początkującego Programisty:
Co w takim razie początkujący programista powinien wybrać? Zacznę od tego, że pytanie jest nie do końca dobrze postawione - moim zdaniem powinno brzmieć "jaki język powinienem wybrać na początek?". Różnica, mimo iż minimalna, jest bardzo ważna, a wynika z faktu iż programista nie powinien ograniczać się do jednego języka. Powinien raczej popróbować różnych języków, tak aby poznać różne punkty widzenia, dowiedzieć się jakie mechanizmy istnieją w różnych językach, pomyśleć jak symulować pewne rozwiązania natywne dla pewnych języków w innych językach, nie mających natywnego wsparcia dla danej funkcjonalności, etc. Proszę zauważyć iż nie twierdze, że programista powinien w nieskończoność skakać między językami, wręcz przeciwnie! Każdy programista prędzej czy później znajdzie jakiś swój jeden, jedyny, ukochany język, w którym będzie się specjalizował, i który po pewnym czasie będzie znał na wspak i po rumuńsku. Twierdzę natomiast iż programista który pozna rożne języki, będzie lepiej pisał w swoim ulubionym języku, niż programista który ograniczył się tylko do tego jednego języka, nie poznając innych rozwiązań. Np. zdradzę że moim ulubionym językiem jest C (w dialekcie C99), natomiast przez ostatnie 20 lat miałem przyjemność programować w około 40 różnych języków/dialektów.
Kolejna ważna uwaga: nie ma języków które są "zawsze złe", tak samo jak nie ma języków które są "zawsze dobre". Język to tylko i wyłącznie narzędzie w rękach programisty, narzędzie które do pewnych zadań nadaje się lepiej, a w innych przypadkach sprawdza się gorzej. Oczywiście pewne języki każdy z nas polubi bardziej, a inne wręcz znienawidzi, niemniej jednak pamiętajmy o potrzebie obiektywności, oraz o tym że nawet "znienawidzonego wroga" należy poznać. Zresztą, a nuż polubimy ów język po bliższym poznaniu ;>. Przykładowo, kiedyś nie przepadałem za Javą, uważałem że język jest strasznie wolny i do tego niewygodny. Nie przeszkadzało mi to natomiast przez pewien czas pracować jako programista Java, a później przez pewien okres interesować się wewnętrzną budową VM Java'y i byte codem samego języka, przez co Javę poznałem i nawet polubiłem ;>
Obecnie poznałem:
- Javę (uczyłem się długo do matury i nie tylko)
- Pythona (zrobiłem całkiem spory kurs na Codeacademy i próbowałem pisać coś swojego)
- PHP robiąc szkolne projekty (całkiem beznadziejne swoją drogą :P)
- obecnie poznaję C (dopiero zaczynam poznawać język)
W planach mam jeszcze:
- Rust
- Go
- Haskell
Moje poznawanie języka sprowadza się do pisania prostych programów, które mają pomóc mi poznać semantykę języka, czyli od prostych guessing game do obsługi sieci i operacji na plikach.
Jakie języki jeszcze warto poznać? Na jakie mechanizmy warto zwracać uwagę?