Uczymy się kolejnego języka programowania

W książce "Pragmatyczny programista. Od czeladnika do mistrza" autorzy zalecają, by uczyć się przynajmniej jednego języka programowania każdego roku. W Bulldogjob.pl podpowiadaliśmy już kilkakrotnie, którego języka warto się uczyć, gdy dopiero rozpoczyna się przygodę z programowaniem. Teraz przyszedł czas, aby podpowiedzieć, na który język postawić, gdy znamy już przynajmniej jeden i chcemy stać się bardziej uniwersalnym koderem.

To, jaki język programowania zna developer, wpływa na jego karierę, awanse i zarobki. Taka sytuacja wynika z oczywistego faktu: jedne technologie są bardziej pożądane na rynku niż inne, a zatem branża IT generuje wyższy popyt na specjalistów od tych technologii. Nic nie stoi jednak na przeszkodzie, aby nawet programista z wieloletnim stażem poznał kolejny język programowania. Według badań portalu Stack Overflow ponad 90% zawodowych developerów dokształca się regularnie samodzielnie. Tym wszystkim programistom, którzy chcą poszerzyć swoje umiejętności w sztuce kodowania, proponujemy naukę jednego z poniższych języków programowania.

 

Język Go

Język Go (czasami nazywany także golang) to dzieło programistów Google, które ujrzało światło dzienne w 2009 roku. Od tamtego czasu ten język pnie się konsekwentnie w rankingach popularności. W Tiobe Index we wrześniu znalazł się na 17 pozycji, a miesiąc wcześniej był dwa oczka niżej. W ubiegłym roku Go zdobył tytuł Języka Roku.

 

Dla kogo

  • Backendowcy, którzy poszukują wydajnego języka do tworzenia (mikro)serwisów, szczególnie takich, gdzie przydaje się współbieżność.

 

Kursy online

  • Learn How To Code: Google's Go (golang) Programming Language (dla początkujących) – kurs internetowy, dostępny w języku angielskim. Lekcje zostały przygotowane przez Todda McLeoda i składają się z 21 godzin materiałów filmowych oraz z 4 artykułów.

  • Go Tutorial (dla początkujących) – bardzo syntetyczny tutorial w języku polskim, z którego dowiemy się za darmo, jak przygotować środowisko do programowania w Go oraz jak napisać pierwszy program w tym języku.

  • GolangBot (dla początkujących) - tym razem kurs w języku angielskim. Krótki, ale bardzo treściwy tutorial, który pokazuje także, jak przygotować narzędzia do programowania w Go.

 

Książki

  • Język Go (dla początkujących) – bardzo ciekawy podręcznik dla osób, które chcą szybko nauczyć się programować w Go. Duet autorów (Alan A.A. Donovan z Google i Brian W. Kernighan z Uniwersytetu Princeton) przygotowali bardzo przejrzysty materiał do nauki, umieszczając tam zarówno podstawy języka, jak i kwestie pojawiające się w zaawansowanych projektach, opartych na Go.

  • Programowanie w języku Go (dla początkujących i zaawansowanych) – autorem książki jest Mat Ryer, który napisał bardzo dobre wprowadzenie do języka Go, nie tylko opisując podstawy, ale także koncentrując się m.in. na skalowalności, wydajności i architekturze oprogramowania.

  • Cuncurrency in Go. Tools and Techniques for Developers (dla zaawansowanych) – książka autorstwa Katherine Cox-Buday w języku angielskim. Ciekawie napisany podręcznik dla tych developerów, którzy chcą zgłębić wyższy poziom wtajemniczenia Golang i wykorzystać jak najlepiej główną zaletę tego języka – współbieżność.

 

Zadania online

  • CodeEval (wszystkie poziomy) – zbiór zadań programistycznych zarówno dla początkujących, jak i dla zaawansowanych koderów. Wśród 26 dostępnych języków programowania jest także Go.

  • CoderByte (wszystkie poziomy) – portal, w którym można w praktyce przetestować swoje umiejętności programowania w języku Go.

 

Społeczność

 

Scala

Scala to język, który pojawił się w 2003 roku, łącząc w sobie cechy języka funkcyjnego i obiektowego. Twórcą języka jest Martin Odersky z École Polytechnique Fédérale de Lausanne, natomiast nazwa języka ma w zamyśle podkreślać jego dużą skalowalność.

Dla kogo:

  • Programiści w szczególności Javy (ale nie tylko!), którzy szukają większej ekspresywności języka przy zachowaniu bezpieczeństwa, które daje statyczne typowanie czy też paradygmat funkcyjny. Polecamy Scalę jako kolejny język programowania.

 

Kursy online

  • TutorialsPoint (dla początkujących) – anglojęzyczny portal z licznymi kursami online, z którego korzysta kilkanaście milionów użytkowników na całym świecie. Znajdziemy tam materiały również na temat języka Scala.

  • Scala Tutorials (dla początkujących) – kolejny anglojęzyczny tutorial, który koncentruje się na podstawach języka Scala i na jego najważniejszych aspektach.

  • Functional Programming Principles in Scala (dla zaawansowanych) – kurs dostępny w języku angielskim i francuskim, a do tego został przygotowany przez twórcę języka Scala.

 

Książki

  • Programming in Scala (dla początkujących) – książka dostępna za darmo w wersji elektronicznej. Jej autorem jest Martin Odersky, najbardziej kompetentna osoba, jeśli chodzi o Scalę, czyli twórca tego języka.

  • Scala od podszewki (dla początkujących) – przejrzysty podręcznik dla osób, które dopiero rozpoczynają przygodę z językiem Scala. Obok podstaw, pojawia się także rozdział na temat integracji Scali z Javą.

  • Learning Scala. Practical Functional Programming for the JVM (dla początkujących i zaawansowanych) – książka po angielsku, dzięki której poznamy zarówno podstawy Scali, jak i dowiemy się, dlaczego to idealny język dla programistów Ruby i Python.

 

Zadania online

  • CodeEval (wszystkie poziomy) – wspomniany już wyżej portal proponuje wiele wyzwań programistycznych w różnych językach, także w Scala.

 

Społeczność

  • Scala – strona domowa języka Scala. Bardzo wiele użytecznej wiedzy.

 

Swift

Swift to język zaproponowany przez Apple, który ma zastąpić Objective-C. Obecnie w Tiobe Index znajduje się na 13 miejscu wśród najpopularniejszych języków programowania, posługuje się nim około 7% użytkowników portalu Stack Overflow.

 

Dla kogo:

  • Dla programistów iOS staje się on wymaganiem. Jest to też bardzo przyjemny język do nauki programowania. Można go zastosować na backendzie, jednak ekosystem nie jest tak dojrzały jak w wymienionych powyżej językach, czy bardziej popularnych alternatywach.

 

Kursy online

 

Książki

  • Swift od podstaw. Praktyczny przewodnik (dla początkujących) – książka Pawła Pasternaka to idealny podręcznik dla wszystkich, którzy rozpoczynają programowanie w Swift i poznają Xcode – absolutne podstawy i bardziej zaawansowane zagadnienia.

  • Programowanie w języku Swift. Big Nerd Ranch Guide (dla początkujących i zaawansowanych) – praktyczny podręcznik, który uczy nie tylko podstaw Swift, ale również samodzielnego rozwiązywania problemów programistycznych i tworzenia rozbudowanych aplikacji na iOS.

  • Podstawy języka Swift. Programowanie aplikacji dla platformy iOS (dla początkujących) – Mark A. Lassoff jest prawdziwym autorytetem nie tylko w Swift, ale w ogóle w sztuce programowania. Napisał bardzo przystępny podręcznik z mnóstwem przykładów i ćwiczeń.

 

Zadania online

  • CoderByte (różne poziomy) – co jakiś czas pojawiają się tam bardzo ciekawe zadania i wyzwania programistyczne dla kodujących w Swift.

  • Raywenderlich (dla zaawansowanych) – zbiór bardzo ciekawych zadań do rozwiązania w Swift.

 

Społeczność

  • Developer Apple – wyczerpujące informacje o Swift prosto od Apple.

  • Swift – społeczność skupiona wokół języka Swift.

 

Rust

W raporcie z 2017 roku Stack Overflow podał, że Rust to najbardziej lubiany ze wszystkich języków programowania wśród użytkowników portalu (wskazało na niego ponad 73% badanych) i to już drugi rok z rzędu. To duże osiągnięcie jak na język, którego pierwsza stabilna wersja pojawiła się w 2015 roku, chociaż wzmianki o Rust krążyły w branży IT już w 2006 roku.

 

Dla kogo:

  • Głównie dla programistów systemowych, gdyż w założeniu ma zastępować C – zapewniając jego szybkość i o wiele większą stabilność. Jednak co bardziej ambitni backendowcy też mogą mu się bliżej przyjrzeć. Zdecydowanie nie jest to język, od którego powinno się zaczynać przygodę z programowaniem.

 

Kursy online

  • The Rust Programming Language (dla początkujących) – ponad 5 godzin materiałów filmowych o podstawach programowania w Rust. Kurs w języku angielskim.

  • Rust by Example (dla początkujących i zaawansowanych) – zbiór przykładów i porad na temat programowania w Rust.

 

Książki

  • The Rust Programming Language (dla początkujących) – darmowa książka o podstawach programowania w języku Rust. Publikacja w języku angielskim. Prace nad nią nadal trwają, jednak już teraz są tam opisane wszystkie najważniejsze koncepty.

  • Programming Rust (dla początkujących i zaawansowanych) – podstawy języka Rust podane w jasny i przystępny sposób. Do tego autor kładzie duży nacisk na pokazanie zalet tego języka.

  • Why Rust? (dla zaawansowanych) – wiele ciekawostek na temat języka Rust, jego charakterystyka na tle C i C++.

 

Społeczność

  • Rust-lang – polska społeczność Rust.

  • Users Rust-lang – forum języka Rust. Społeczność słynie z chęci pomocy nowicjuszom.

 

Kotlin

Niedawno w jednym z artykułów zastanawialiśmy się, czy „Czy Kotlin to przyszłość Androida?”. Wiele wskazuje, że tak właśnie będzie. Coraz częściej Kotlin jest porównywany do Swift, który ma zastąpić Objective-C. Póki co, Java trzyma się jednak dobrze w świecie programistów, ale już teraz warto zacząć się uczyć Kotlina jako drugiego języka.

Dla kogo:

  • Głównie programiści Androida. Można go też traktować jako język ogólnego zastosowania, jednak na tym polu ekosystem nie jest jeszcze bardzo dojrzały. To często nie jest problem przez interoperacyjność z Javą.

 

Kursy online

  • Kotlin Koans (dla początkujących) – kurs w języku angielskim, dzięki któremu można poznać podstawy programowania w Kotlinie.

  • The Complete Android Kotlin Developer Course (dla początkujących) – bardzo obszerny kurs w języku angielskim, ponad 30 godzin filmów i dodatkowych materiałów. Można nauczyć się nie tylko podstaw programowania w Kotlinie, ale również tworzenia zaawansowanych aplikacji (np. gry na Androida).

  • Learn Kotlin (dla początkujących) – dobry wstęp dla tych programistów, którzy poważnie myślą o nauce Kotlina. Bardzo syntetyczny kurs.

 

Książki

  • Programming Kotlin (dla początkujących) – świeża pozycja na rynku wydawniczym, książka z początku 2017 roku, a zatem skupiająca się na aktualnej wersji Kotlina. Obszerny podręcznik od podstaw programowania w tym języku po bardziej złożone problemy programistyczne, które mogą pojawić się w Kotlinie.

  • Kotlin in Action (dla początkujących i zaawansowanych) – obszerny, bardzo przejrzysty podręcznik, który czyta się z przyjemnością. To prawdziwe vademecum Kotlina.

  • Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App (dla początkujących) – tytuł mówi właściwie wszystko. Z tej książki dowiemy się, jak zacząć tworzyć aplikacje w języku Kotlin i jakie niespodzianki mogą nas przy tym czekać.

 

Zadania online

 

Społeczność

 

Który język z powyższych wybieracie? Bez względu na waszą decyzję, zachęcamy do wytrwałości w nauce. To się na pewno opłaci. Życzymy powodzenia w edukacji!