Kolejny język programowania

Warto uczyć się przynajmniej jednego języka programowania każdego roku - zalecają autorzy „Pragmatycznego programisty. Od czeladnika do mistrza". Na który język postawić, gdy znamy już przynajmniej jeden?
Go
Znany też jako golang język będący dziełem programistów Google. Ujrzał światło dzienne w 2009 roku i od tamtego czasu konsekwentnie pnie się w rankingach popularności. To nowoczesny i stosunkowo prosty język. Wyrósł z tradycji C, jednak stawia na większą ekspresywność i współbieżność - to jego zdecydowane zalety. Posiada wbudowany Garbage Collector. Jest bardzo prosty i intuicyjny, posiada ogrom bibliotek.
Dla kogo
Backendowców, którzy poszukują wydajnego języka do tworzenia mikroserwisów - szczególnie takich, gdzie przydaje się współbieżność.
Kursy online
A Tour of Go - oficjalny tutorial języka Go. Przedstawia kolejne elementy tego języka w formie interaktywnego samouczka.
Go Tutorial (dla początkujących) – bardzo syntetyczny, bezpłatny tutorial po polsku, z którego dowiemy się, jak przygotować środowisko do programowania w Go oraz i napisać pierwszy program.
GolangBot (dla początkujących) - krótki, ale bardzo treściwy tutorial po angielsku, który pokazuje także, jak przygotować narzędzia do programowania.
Książki
- Effective Go- pozycja dla osób, które znają już podstawy Go takie jak składnia i chcą dowiedzieć się, jak efektywnie używać tego języka do pisania aplikacji. Dokument wskazuje jak i kiedy używać określonych konstrukcji języka, by najlepiej wykorzystać jego potencjał
The Go Programming Language (dla początkujących) – bardzo ciekawy podręcznik dla chcących szybko opanować język. Przejrzyście opisane zarówno podstawy języka, jak i kwestie pojawiające się w zaawansowanych projektach opartych na Go.
Programowanie w języku Go. Koncepcje i przykłady (dla początkujących i zaawansowanych) – bardzo dobre wprowadzenie do języka. Poczytamy nie tylko o podstawach, ale też skalowalności, wydajności i architekturze oprogramowania.
- Cuncurrency in Go. Tools and Techniques for Developers(dla zaawansowanych) – podręcznik dla tych, którzy chcą wejść na wyższy poziom wtajemniczenia 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. Go jest dostępny wśród 26 języków.
CoderByte (wszystkie poziomy) – tu przetestujemy swoje skille w już w praktyce
Społeczność
Go Language Polish Users Group – polska grupa miłośników języka Go
The Go Programming Language – międzynarodowa społeczność Go
Scala
Język pojawił się w 2003 roku. Jego twórcą jest Martin Odersky z École Polytechnique Fédérale de Lausanne. Łączy w sobie cechy języka funkcyjnego i obiektowego. Już sama nazwa ma w zamyśle podkreślać jego dużą skalowalność.
Dla kogo
Programiści w szczególności Javy (ale nie tylko!), szukający większej ekspresywności przy zachowaniu bezpieczeństwa, które daje statyczne typowanie czy też paradygmat funkcyjny.
Kursy online
TutorialsPoint (dla początkujących) – portal z licznymi kursami online, odwiedzany przez kilkanaście milionów użytkowników na całym świecie.
Scala Tutorials (dla początkujących) – tutorial skoncentrowany na podstawach i kluczowych aspektach języka.
Functional Programming Principles in Scala (dla zaawansowanych) – kurs dostępny w języku angielskim i francuskim, przygotowany przez twórcę języka Scala.
Książki
Programming in Scala (dla początkujących) – książka dostępna bezpłatnie online. Znów, autorem jest twórca języka.
Scala od podszewki (dla początkujących) – przejrzysty podręcznik dla osób, które dopiero rozpoczynają przygodę z językiem. 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) – dzieki tej książce 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 dużo przydatnej wiedzy.
Swift
Zaproponowany przez Apple'a język 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ę obowiązkowy. Można go zastosować na backendzie, jednak jego ekosystem nie jest tak dojrzały jak w językach wymienionych powyżej czy też bardziej popularnych alternatywach.
Kursy online
Introduction To Swift Programming (dla początkujących) – kurs przygotowany przez University of Toronto.
iOS 11 i Swift 4 - pierwsze kroki - stworzysz 6 aplikacji (dla początkujących) – podczas pięciu godzin intensywnego szkolenia nauczymy się, jak zrobić aplikację na iOS.
Kurs Swift (dla początkujących) – seria lekcji, dzięki którym można łatwo rozpocząć przygodę z programowaniem w Swift.
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.
Swift Programming: The 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.
Swift Fundamentals: The Language of iOS Development (dla początkujących) – Mark A. Lassoff jest prawdziwym autorytetem nie tylko jeśli chodzi o Swift, ale sztukę programowania w ogóle. 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 programujących w Swift.
Raywenderlich (dla zaawansowanych) – zbiór bardzo ciekawych zadań do rozwiązania.
Dodatkowo
Developer Apple – wyczerpujące informacje o Swift prosto od Apple
Swift – wokół języka Swift
Rust
Z raportu z 2017 roku Stack Overflow wynika, że Rust to najbardziej lubiany ze wszystkich języków programowania wśród użytkowników portalu. wśród użytkowników portalu. Wybrało go 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 już w 2006 roku.
Dla kogo
Głównie dla programistów systemowych, gdyż w założeniu ma zastępować C, zapewniając porównywalną szybkość, a o wiele większą stabilność. Jednak co bardziej ambitni backendowcy też mogą mu się przyjrzeć bliżej. 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 pięć godzin materiałów filmowych o podstawach programowania w Rust.
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) – bezpłatna książka o podstawach programowania w języku Rust
Programming Rust (dla początkujących i zaawansowanych) – podstawy języka Rust podane w jasny i przystępny sposób. Autor przejrzyście podkreśla zalety języka.
Why Rust? (dla zaawansowanych) – wiele ciekawostek na temat języka Rust, również jego charakterystyka na tle C i C++
Społeczność
Rust-lang – Lista oficjalnych kanałów społeczności Rust.
Kotlin
W jednym z artykułów zastanawialiśmy się 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. Już teraz warto zacząć się uczyć Kotlina jako drugiego języka. Przekona Was do tego również Artur, Full-Stack Developer, który pisał u nas o Kotlinie w web developerce.
Dla kogo
- Głównie dla programistów Androida. Można go też traktować jako język ogólnego zastosowania i szczególnie na tym polu obecnie zyskuje sympatię developerów.
Kursy online
Kotlin Koans – tu można poznać podstawy.
The Complete Android Kotlin Developer Course (dla początkujących) – bardzo obszerny kurs - 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 naukę Kotlina traktują naprawdę poważnie. Bardzo syntetyczny kurs.
Książki
Programming Kotlin (dla początkujących) – od podstaw programowania 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ą. Prawdziwe vademecum Kotlina.
Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App (dla początkujących) – z tej książki dowiemy się, jak zacząć tworzyć aplikacje i jakie niespodzianki mogą nas przy tym czekać.
Zadania online
Ninety-Nine Problems in Kotlin – podstawowe problemy programistyczne do rozwiązania wraz z odpowiedziami.
Społeczność
Kotlinlang – Lista społeczności na oficjalnej stronie języka.
Który język wybieracie? Bez względu na decyzję, życzymy wytrwałości w nauce!