Dla osoby, która dopiero rozpoczyna swoje działania w tym obszarze, wybór pierwszego profesjonalnego języka programowania z reguły jest trudną decyzją. By zrobić to sprawnie, w miarę bezboleśnie, a w przede wszystkim trafnie, trzeba zwrócić uwagę na kilka istotnych kwestii. Należy zastanowić się nad tym, jaką "wizję programowania" mamy, czyli co w ogóle zamierzamy robić i do czego programowanie wykorzystywać. Dobrze jest też znać i zrozumieć różnice pomiędzy poszczególnymi, dostępnymi językami programowania. Należy wiedzieć jednak, że nie znajdziemy tu złotego środka; nie istnieje bowiem jeden najlepszy, uniwersalny język, każdy z nich jest specyficzny i unikalny. Co więc należy zrobić, czym się kierować i na co zwracać uwagę, by wybrać ten najbardziej dla nas odpowiedni?
Spójrz na swój cel
Najpierw odpowiedzmy sobie na pytanie czym dokładnie chcemy się zajmować? Możliwości jest sporo: strony internetowe, systemy operacyjne, aplikacje na urządzenia mobilne, gry komputerowe, bardziej zaawansowane algorytmy (np. sztuczna inteligencja). Wiedza na temat tego, jaki jest nasz cel, powinna pomóc nam zawęzić obszar poszukiwania.
Back-end czy front-end?
Odpowiedź na to pytanie także możemy potraktować jako sprecyzowanie celu. Jeśli chcemy zajmować się front-endem ("przód aplikacji", czyli głównie to, co widać, np. wygląd strony internetowej), najbardziej przydatny okaże się język skryptowy, np. JavaScript. Jeżeli celujemy w back-end (strona serwerowa danego projektu, np. serwery gier, serwery obsługujące żądania na stronie, algorytmy genetyczne, silniki graficzne lub obliczeniowe), w tym przypadku lepiej będzie wybrać język obiektowy, np. C# albo Java.
Trendy rynkowe
Jeśli wiemy już, dokąd zmierzamy z naszą nauką programowania, warto też zwrócić uwagę na to, jakie są w tej kwestii trendy rynkowe. Jeśli za kilka lat okaże się, że dana technologia albo język, na nauce którego się skupiliśmy, przestaną być aktualne i wykorzystywane, okaże się, że straciliśmy tylko nasz cenny czas. Dodatkowo pomocne okażą się też odpowiedzi na pytania: jaka jest popularność i zastosowanie danego języka, czy jest on nadal rozwijany oraz to, jaka jest wielkość społeczności, która pisze w danym języku.
A jeśli naukę rozpoczyna dziecko…
…warto sięgnąć wówczas po pomoc. Na rynku istnieje wiele aplikacji, które ułatwiają naukę języka programowania, zwłaszcza tę zdalną. Duża większość z nich skierowana jest do najmłodszych odbiorców, którzy już nawet w wieku kilku lat chcą rozwijać swoje umiejętności w tym obszarze. Jeśli więc Wasza pociecha wykazuje zapał do nauki programowania albo Wy sami, będąc na początku swojej drogi chcielibyście je przetestować, poniżej znajdziecie kilka przez nas wybranych aplikacji, które łączy kilka cech wspólnych:
- są skierowane do dzieci w wieku wczesnoszkolnym,
- w celu ich użytkowania nie jest wymagana biegła umiejętność czytania i pisania,
- zawierają elementy języków obcych, co ma dodatkowo rozwijający wpływ na dziecko.
Lista aplikacji przedstawia się następująco:
- ScratchJr – to uniwersalny język programowania, który uznawany jest za najpopularniejszy w kategorii dziecięcej. Posiada przejrzystą, wizualną formę ułatwiającą dzieciom między 5 a 8 rokiem życia zrozumienie koncepcji kodowania,
- PixBlocks – ciekawa forma nauki programowania dostępna dla komputerów stacjonarnych, urządzeń mobilnych, a także w formie gry planszowej. Aplikacja jest w pełni bezpłatna, a gra planszowa może okazać się świetnym pomysłem na prezent,
- Lightbot Hour - edukacyjna gra wideo przeznaczona do nauki koncepcji programowania, ciesząca się dużym zainteresowaniem użytkowników i wysoko oceniana przez ITunes i Google Play,
- Bit By Bit - jedna z najpopularniejszych aplikacji przeznaczonych do nauki kodowania dla dzieci. Bit by bit po polsku oznacza "kawałek po kawałku", co świetnie odzwierciedla proces nauki małych programistów,
- Solo Learn: Learn to Code - aplikacja została już wyróżniona przez Google Play w kategorii Google Play’s Editor’s Choice, nieco bardziej zaawansowana niż pozostałe, umożliwia jednak naukę kodowania dla dzieci od podstaw.