Tytuł tego artykułu to pytanie za milion dolarów. Jeśli dopiero raczkujesz i szukasz swojej drogi w ogromnym świecie programistów na pewno zastanawiałeś się jaką drogą iść w swojej karierze. Języków programowania oraz pokrewnych frameworków jest tak dużo, że wybór wcale nie jest taki oczywisty. Zazwyczaj pierwsze kroki w programowaniu początkujący stawiają przy budowie własnej strony internetowej. Ale już na tym etapie musisz dokonać mnóstwa wyborów ponieważ technologii, które będą Ci pomocne przy tworzeniu strony masz kilka. Do wyboru masz JavaScript oraz towarzyszące frameworki, PHP jeśli pracujesz z WordPressem czy Ruby on Rails jeśli tworzysz stronę z aplikacją WWW. Przede wszystkim musisz przygotować się na to, że w swojej karierze będziesz musiał zetknąć się z kilkoma językami. Oczywiście warto wybrać jeden główny jako ten priorytetowy i do niego dobierać resztę, która będzie go uzupełniać.
Jak więc zdecydować, który język programowania, wybrać pierwszej kolejności?
Wielu ludzi wybiera pierwszy język programowania szukając tego najłatwiejszego do nauki. Jednak często okazuje się, że tak dobrany język nie będzie użyteczny w przyszłości. O wiele lepiej jest wybrać język na podstawie tego co lubisz. Gdy wiesz co chcesz tworzyć w swojej przyszłej karierze wybór będzie znacznie prosty. Spróbuj sobie odpowiedzieć na pytanie czy wolisz tworzyć strony, aplikacje na komórki, a może aplikacji desktopowe ?
Strony internetowe (Front-end):
HTML5, CSS3, JavaScript + frameworki
Jeśli jesteś zainteresowany rozwojem stron internetowych, nie ominie Cię nauka HTML oraz CSS. HTML jest standardowym językiem używanym do tworzenia stron internetowych natomiast CSS jest językiem używanym, aby określić wygląd strony. Nawet jeśli nie jesteś zainteresowany tworzeniem stron to HTML i CSS stanowią niezbędne umiejętności, w Twojej przyszłej karierze. Przede wszystkim pozwolą Ci poznać podstawy budowy stron oraz sprawią, że będziesz mógł bez problemu komunikować się z innymi programistami odpowiedzialnymi za strony www.
Choć HTML i CSS są fundamentalnym budulcem tworzenia stron internetowych, to JavaScript rozpoczyna prawdziwą zabawę w programowanie. Język ten odpowiedzialny jest za interaktywne elementy witryny jak np. wyskakujące reklamy, pokazy slajdów, autouzupełnianie pola wyszukiwania oraz inne niezbędne funkcje na stronie. JavaScript polecany jest wszystkim, którzy chcą zająć się stronami internetowymi bez względu czy będzie to fron-end czy back-end. JavaScript posiada mnóstwo dodatkowych bibliotek oraz frameworków. Z ważniejszych, które musisz poznać należy przede wszystkim jQuery oraz Angular.
Nie należy mylić JavaScript z Java. Są to dwa zupełnie od siebie różne języki. JS jest językiem skryptowym po stronie klienta używany do rozwoju front-endu. JavaScript jest zgodna we wszystkich przeglądarkach i jest używana do tworzenia interaktywnych aplikacji internetowych, często za pośrednictwem bibliotek takich jak jQuery czy angularjs, ember.js. Jeśli chcesz poznać JavaScript oraz pokrewne frameworki zapoznaj się z naszym bootcampem programowania.
Strony internetowe (Back-end):
PHP lub Python (+ podstawy HTML5, CSS3), JavaScript
Jeśli bardziej interesuje Cię tworzenie strony ale od strony zaplecza to postaw na PHP. Stanowi on budulec większości dodatków, rozszerzeń oraz jest językiem w którym wykonane są najpopularniejsze systemy CMS jak np. WordPress, Joomla, Drupal. Z racji tego, że już prawie 30% wszystkich strony na świecie opartych jest o WordPressa to istnieje duża szansa, że back-end będzie oparty właśnie o ten system. Jak widzisz jest to ogromny rynek na poszukiwanie zleceń. Oczywiście nie możesz ominąć języków, dzięki którym działa każda strona czyli HTML, CSS, JavaScript.
Kolejnym językiem, który w ostatnich latach przybiera na popularności jest Python. Jest to przyjemny i przede wszystkim uniwersalny język, o szerokich zastosowaniach. Wykorzystasz go nie tylko w back-endzie ale również przy pisaniu aplikacji i systemów operacyjnych. Jednak jego dosyć uproszczona składnia może spowodować, to, że chcąc poznać później inny język nieco, trudniejszy, będzie ciężko się przestawić. Python często wybierany jest jako pierwszy język programowania ze względu na swoją prostotę. Jego naukę można przyrównać do nauki angielskiego, gdzie nawet osoba nie mająca styczności z programowaniem może go zrozumieć. Ponadto, Python jest szczególnie popularny w środowiskach akademickich do obliczeń naukowych, analizy danych i bioinformatyki. Popularne aplikacje wykorzystujące ten język to Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV.
Aplikacje na urządzenia mobilne:
Java, Swift
Jeśli chcesz rozwijać aplikacje na Androida (w tym aplikacje dla urządzeń takich jak Kindle), to Java jest obowiązkową pozycją w Twojej nauce. Natywne aplikacje na Androida są oparte właśnie o ten język. Java stosowany jako standard do nauki kodowania (ale powoli wypiera go Python), co oznacza, że jest to dobry język dla osób, które chcą poznać zasady pisania kodu. Natomiast jeśli wolisz projektować aplikacje na system iOS, to warto nauczyć języka Swift. Jest to również język, który użyty został do budowy aplikacji desktopowych na Mac OS X. Jest językiem programowania obiektowego i w obecnych czasach jest duże zapotrzebowanie na programistów znających Javę. Tak więc jeśli szukasz języka, w którym łatwo zdobędziesz pracę, to
Java będzie dobrym wyborem.
Aplikacje internetowe
Ruby on Rails
Z języków, które można wykorzystać do tworzenia aplikacji internetowych, trzeba na pewno zaliczyć Ruby. Strony typu Airnb, Hulu czy wszystkim znany Github oparte zostały właśnie o ten język. Ruby jest językiem programowania, który jest łatwy w użyciu, ale wystarczająco potężny, aby napędzać duże i rozbudowane stron internetowe z własnymi aplikacjami. Po pierwsze, Ruby jest open source, co oznacza, że jest zupełnie darmowy i posiada przyjazną i czytelną składnię. Dzięki długoletniej obecności na rynku jest to bardzo dojrzały ekosystem i daje programistom sprawdzone rozwiązania. Jest już obecny z nami ponad 10 lat. Ruby jest podobny do pytona, czyli jest to jeden z najłatwiejszych języków dla osób bez wcześniejszego doświadczenia w programowaniu. Nie trzeba poznawać mnóstwa reguł i poleceń, żeby się go nauczyć.
Gry komputerowe, aplikacje desktop-owe:
C++ oraz C#
C ++ jest językiem programowania, który będzie dobrym wyborem dla osób chcących projektować gry wideo oraz aplikacje desktopowe. Wystarczy spojrzeć na największe komercyjne programy takie jak Photoshop, Illustrator, After Effects, Amazon, PayPal, Chrome, które opierają się właśnie o ten język. Jest to język zarówno dla Windowsa jak i system Apple. Dodatkowo należy wspomnieć, że część aplikacji od Faceboooka, Googla czy Microsoftu oparta jest również o ten język. Jeśli jesteś zainteresowany pracą przy dużych projektach to będzie to dobry wybór.
Kolejnym językiem dającym ogromne możliwości i łatwość w znalezieniu pracy jest C#, który najczęściej stosowany jest do tworzenia aplikacji pod Windowsa ale też przy stronach WWW oraz grach wideo. Ogólnie przy jego pomocy stworzysz aplikacje pod produkty firmy Microsoft ale ostatnio C# wykorzystuje się również do budowania natywnych aplikacji mobilnych pod iOS i Androida.
Inne kryteria:
- Jeśli szukasz dobrze płatnej pracy to Ruby, Python oraz C++ znajdują się w czołówce statystyk najlepiej zarabiających języków, którymi posługują się programiści. Ostatnie miejsca w rankingu zajmuje PHP.
- Jeśli natomiast chcesz szybko znaleźć pracę to w czołówce najbardziej poszukiwanych przez pracodawców technologi są Python, Java i JavaScript.
- Jeśli szukasz języka, który będzie rozwojowy na przyszłość to wybierz JavaScript. Jest to bez wątpienia co raz bardziej popularny język, zwłaszcza, że oprócz front-endu co raz częściej wykorzystywany jest do rozwoju back-endu, a nawet budowania natywnych aplikacji dzięki React native. JavaScript posiada mnóstwo framewroków rozwijających się w bardo szybkim tempie i z pewnością przyszłość przyniesie wiele nowych rozwiązań w tej technologii.
- Jeśli szukasz czegoś łatwego do nauczenia: Python.
- Chcesz mieć solidne podstawy programowania: C. Jeśli nie przeraża Cie trudność nauki i chcesz zostać doświadczonym programistą to warto poznać jeden z języków C.
- Jeśli tworzysz startup: Ruby on rails to dobry wybór. Mów się, że wydajne aplikacje WWW oparte są o Ruby, a potwierdzają to najwięksi gracze na świecie, korzystający z tej technologi w swoich biznesach.