Jaki język programowania wybrać na początek?
Cześć :)
Jak wybrać język programowania na początek? Jaki polecacie i w skrócie dlaczego?
Bardzo polecam - zdefinujmy sobie cel
Wszystko zalerzy od tego co byśmy chcieli robić. 🙂
Najlepiej z mojego punktu widzenia to zdefiniowanć sobie swoje marzenie, co chciał bym / chciała bym napisać jako software engineer. Jaka aplikaja / serwis internetowy mnie pasjonuje i pociąga najbardziej.
- Czy może jest to mój własny blog, który chce zrobić na własnych zasadach?
- Czy może aplikacja na Android-a lub iOS-a, np budzik, aplikacja która pomoga ćwiczyć regularnie, kalendarz?
- Czy może chce jak najszybciej dostać prace w IT.
Na początek właśnie polecam zdefiniować sobie cel, co dokładnie chcielibyśmy robić jak programista.
Czy z matematyką jestesmy zapan brat czy raczej wolimy się od tego tematu trzymać z daleka? Często programowanie nie wymaga dużej widzy z matymatyki. Plus ucząc się programowania można naprawdę zobaczyć bardzo praktyczne zastosowanie matymatki i ją bardzo plubić. Nie traktować matyematyki jako zło konieczne, tylko jako sprzymierzeńca w życiu :D - serio, serio. 🙂
Polecam też znaleźć kogoś kto będzie nasz progres monitorował i doradzał co kilka dni na temat następnych kroków.
Programiści z perspektywy kilku lat doświadczenia, bardzo często łapią się za głowę kiedy patrzą na swoje początki.
Pierwszy język programowania jest najtrudniejszy i zajmuje najwięcej czasu. Ale zapewniam w 100%, jeśli umiemy pierwszy język programowania na dość dobrym poziomie i rozwiązaliśmy sporą liczbę problemów i napisaliśmy praktyczne aplikacje to wszystkie inne języki programowania będą dużo dużo prostsze do opanowania.
Np jęsli umiemy Jave na dobrym poziomie, nauka C# to czysta przyjemność, ponieważ są to języki bardzo podobne do siebie.
Tak samo teraz patrząc np na PHP, Python, JavaScript - na pierwszy rzut oka programista, który zaczyna jest przerażony ilością tego co trzeba się nauczyć. Zapewniam z biegiem czasu wszystko staje się bardzo proste i nie musimy wszystkiego umieć i pamiętać.
Do tego programiści mają wyszukiwarki np google, bing, duck duck go, ecosia i wystarczy wiedzieć jak zapytać o to co chcemy osiągnąć 🙂
Np jak dostać maksymalną liczbę w JavaScript:
JavaScript - Math.max() - przykład metody z dokumentacją
Inne języki mają super podobną składnie do tego co tutaj pokazałem.
Polecam też poczytać kilka dni o tym który język do czego używamy.
Np tworzenie stron internetowych, testowanie aplikacji (manualne / automatyczne), obsługa baz danych, strona serwerowa, administracja i automatyzacja - można dokładnie takie hasła wpisywać w google i zbierać notatki na ten temat.
Lista najlepszych języków programowania
Oto lista moim zdaniem najlepszych języków programowania:
- JavaScript
- Java
- Python
- Node.js
- PHP
- C++
- C# / .NET
JavaScript
JavaScript - obecnie najpoularniejszy język programowania. JavaScript umożliwa tworzenie dynamicznych stron www. Każda interackcja ze stroną, które nie przeładowuje całej strony internetowej jest możliwa właśnie dzięki JavaScript-owi. Zdarzenia kliknięcia, dynamiczne wyszukiwanie, walicja i obsługa błędów + wiele innych.
Jeśli zdecydujemy się na JavaScript możemy też bardzo szybko przy użyciu Node.js
pisać backend (backend - wszystko co dzieje się po stronie serwera np: obsługa bazy danych, logowania, tworzenia konta, zapisywania zmian postów, tworzenie postów, pobieranie danych aby móć wyświetlić post użytkownikowi).
Dodatkowo aby budować strony internetowe musimy umieć podstawy Html i CSS.
Eco system wokół języka JavaScript jest gigantyczny, bardzo duża liczba materiałów w siecie, frameworków, bibliotek, pomocy przy roziązywaniu problemów.
Java
Java jest językiem backendowym. Najczęsciej stosowany w korporacjach do pisania
aplikacji z zastosowaniem biznesowym / enterprise np systemy ERP, CRM, aplikacje do obsługi sieci komórkowych + bardzo dużo innych.
Również aplikacje na androida są pisane w javie.
Możemy tez pisać aplikacje desktopowe np Intellij IDEA w dużej częsci jest pisany w javie, najlepsze obecnie środowisko do pisania kodu dla javy.
Mamy też możliwość pisania testów automatyczynych przy wykorzystaniu selenium. Można to też robić np w pythonie (przy wykorzystaniu tak samo - selenium). I tutaj już widzimy, że mamy do czynienia z tym samym frameworkiem, a innymi językami programowania :)
Pisząc aplikacje w javie mamy możliwkość uruchamiania ich na różnych systemach
operacyjnych np windows, linux, MacOS - tak gdzie jest zainstalowana JRE / JDK, czyli środowisko uruchomieniowe.
Popularność javy i tak duże wykorzystywanie w biznesie sprawiło, że obecnie
jest bardzo dużo pracy w tym języku. Jako junior lub tester automatyczny możemy liczyć na bardzo dobre zarobki.
Python
Python jest językiem bardzo wszechstronnym.
Przy użyciu pythona możemy pisać:
Aplikacje serverowe (backendowe) np: youtube, quora, dropbox, reddit - backend w dużej mierze jest pisany / był pisany przy użyciu własnie tego języka. Plus bardzo dużo innych aplikacji.
Oczywiście frontend czyli to co widzi użytkownik jest pisane przy użyciu JavaScript :)
Bardzo często też fajnie umieć kilka języków programownia, aby zrozumieć jak to wszystko działa, naprawdę się opłaca.
Poza tym przy użyciu pythona możemy pisać:
- Testy automatyczne.
- Proste aplikacje pisanie na kolanie.
- Wykorzystanie na uczelniach do nauki studentów.
- Machine learning, sztuczna inteligencja.
- Big data, statystyka.
- Plus dużo innych rzeczy.
Tak szerowkie zastosowanie czyni z Python-a naprawdę bardzo fajny język z punktu widzenia opłacalności nauki, aby znaleźć prace jako programista.
Składnia i pierwsze kroki w Pythonie są bardzo proste i dlatego bardzo dużo luczi na początek wybiera Pythona.
Zgadzam się z odpowiedzią Bartka.
Od sibie dodam tylko, że warto sobie stawiać małe cele.
Łatwo się zniechęcić, szczególnie na początku. Warto jest podchodzić do nauki - iteracyjnie i małymi kroczkami.
Np polecam naukę przez zabawe w konsoli przy wykorzystaniu JavaScript i przeglądarki. Wypisywanie prostych rzeczy w konsoli, rysowanie na canvas lini i innych firgur geomteryczynych. Modyfikowanie prostych kilku lini kodu i zrozumienie co się tam dokładnie dzieje, jeśli jest problem w zrozumieniu zadawać pytania np tutaj na dirask-u albo osobie, która rozumie coś lepiej od nas i będzie umiała nam pomóc. Bardzo fajną formą roziązywania problemów i nauki jest też przez opisanie czego dokładnie nie rozumiemy.
Dodatkowo jeszcze myślę, że pisanie aplikacji na Android-a dla początkującego programisty może być bardzo trudne, ze względu na złożoność narzędzi i zagadnień. Jest to torche wysoko poziomowe programowanie, dość dużo abstrakcji itp. Dlatego na początek JavaScript, Python, Java, C++ w najprostszym wydaniu.
Wbrew pozorom C++ naprawdę uczy myślenia.
Do nauki C++ polecam książkę Jerzy Grebosz - Symfonia C++ Standard.
Pod kątek łatwości zaczęcia pisania aplikacji lub łatwych mini programów to JavaScript i Python.