Python

Jaki język programowania wybrać do nauki jako pierwszy?

Wybór pierwszego języka programowania wydaje się być trudny ze względu na dużą (ponad 100) ilość dostępnych technologii. W artykule znajdziesz informacje o kilku obszarach związanych z programowaniem i językach, które są w nich najczęściej wykorzystywane.

Zanim wybierzesz konkretny język, zastanów się jakim obszarem programowania chcesz się zajmować. Inne języki będą Ci potrzebne do tworzenia stron internetowych, a inne do budowania baz danych lub aplikacji. Jeśli wiesz co chcesz robić, odpowiedni język programowania wybierzesz łatwiej.

Jeśli zupełnie nie znasz branży IT, na początek wybierz prosty język, który ma szerokie zastosowanie np. Python. Wybierając łatwy język szybko opanujesz podstawy programowania i poznasz struktury, które są używane w niemal każdym języku np. zmienne, funkcje, instrukcje warunkowe, pętle.

Kolejne języki często powstają na bazie języków istniejących np. TypeScript powstał na bazie języka JavaScript, Java na bazie C i C++, a C# na bazie Javy. Nowe języki programowania usprawniają istniejący język i rozszerzają go o dodatkowe funkcjonalności. Dlatego, jeśli nauczysz się podstaw programowania np. w języku JavaScript, douczenie się TypeScript powinno już być dużo łatwiejsze.

Poniżej znajdziesz informacje o popularnych językach programowania i obszarach, w których są one wykorzystywane.

Wybrane języki programowania

Tworzenie baz danych

Deweloperzy (programiści) baz danych odpowiadają m.in. za projektowanie i budowę nowych baz danych i hurtowni oraz za modyfikowanie istniejących baz.

Aby podjąć pracę w tym obszarze należy dobrze poznać serwery bazodanowe oraz używany w danej firmie dialekt SQL’a.

SQL (Structured Query Language)

SQL jest językiem zapytań używanym do komunikowania się z relacyjnymi bazami danych. Za jego pomocą odczytujemy dane z bazy, aktualizujemy dane, tworzymy bazy danych i je modyfikujemy.

Najpopularniejsze serwery bazodanowe:

  • Microsoft SQL Server
  • Oracle Database
  • MySQL
  • PostgreSQL
  • Access – wchodzący w skład pakietu MS Office

Język SQL jest jeden, ale na każdym serwerze bazodanowym jest zaimplementowany inny jego dialekt. Twórcy rozwiązań bazodanowych starają się wzbogacać SQL o dodatkowe elementy, aby np. zwiększyć szansę na sprzedaż swojego rozwiązania.

Dialekty języka SQL na poszczególnych serwerach bazodanowych:

  • T-SQL (MS SQL, Transact-SQL) – stosowany w serwerach firmy Microsoft
  • PL/SQL – stosowany w serwerach firmy Oracle
  • PL/pgSQL – przypominająca dialekt PL/SQL wersja języka SQL zaimplementowana w serwerze PostgreSQL
  • SQL PL – dialekt używany w serwerach firmy IBM

Wersje języka SQL zaimplementowane w poszczególnych serwerach bazodanowych różnią się od siebie np. w MS SQL datę należy wpisać w apostrofach np. '20180101′ a w MS Access w # np. #20180101#.

Moim zdaniem, nie ma większego znaczenia, od którego dialektu SQL zaczniesz naukę. Jeśli solidnie poznasz jeden z dialektów SQL, poradzisz sobie też z innymi.

Język SQL celowo umieszczam na samym początku artykułu. Jeśli dopiero przymierzasz się do rozpoczęcia nauki programowania, możesz poświęcić 2-3 dni na poznanie podstaw SQL.

SQL jest dosyć prosty, używany jest przez programistów i analityków, i jest sporo ofert pracy na rynku IT, w których znajomość tego języka jest wymagana.

Programowanie aplikacji mobilnych

Programowanie aplikacji mobilnych

Aplikacje mobilne są to programy przeznaczone do uruchamiania na telefonach komórkowych i tabletach np. aplikacja do kupowania biletów komunikacji miejskiej, aplikacje bankowe.

To, jaki język programowania wybrać do programowania aplikacji mobilnych zależy od systemu operacyjnego, który jest na danym urządzeniu zainstalowany. Obecnie popularne są dwa systemy operacyjne:

  • Android znajdujący się na większości telefonów komórkowych z wyjątkiem urządzeń produkowanych przez firmę Apple
  • iOS na telefony komórkowe firmy Apple

Aplikacje mobilne na system Android

Aplikacje mobilne na urządzenia, na których zainstalowany jest system operacyjny Android możesz tworzyć za pomocą KotlinaJavy.

Kotlin

Kotlin stworzony został przez firmę Google i jest inspirowany językiem Java. W uproszczeniu można powiedzieć, że Kotlin to usprawniona wersja Javy. Może on być używany zamiennie z Javą w tych samych projektach. Jest prostszy do opanowania niż Java, gdyż ma uproszczoną i bardziej czytelną składnię. Nie trzeba w nim pisać tak dużej ilości kodu, jak w przypadku Javy żeby zaprogramować jakąś funkcję.

Java

Do czasu pojawienia się Kotlina, Java była oficjalnym językiem do programowania aplikacji na Androida. Duża część aplikacji dostępnych w sklepie Play napisana jest w Javie.

Nauka Javy może być trudna dla początkujących programistów, gdyż od razu na początku trzeba opanować złożone tematy takie jak tworzenie klas i programowanie wielowątkowe.

Aplikacje mobilne na system iOS

System iOS stworzony został przez firmę Apple i wykorzystywany jest na urządzeniach przez nią produkowanych. Aplikacje na urządzenia Apple np. na iPhone możesz tworzyć za pomocą języków Objective-CSwift.

Objective-C

Objective-C powstał na bazie języka C i może być dla Ciebie trudny do zrozumienia jeśli jesteś dopiero na początku swojej kariery programistycznej. Jest to pierwszy język, który powstał do tworzenia programów na system iOS i obecnie większość istniejących aplikacji jest w nim napisana. Jeśli rozpoczniesz pracę w firmie, która tworzy aplikacje na iOS najprawdopodobniej będą one napisane w Objective-C.

Swift

Swift jest nowym językiem, który powstał na bazie języka Objective-C. Ma prostą i czytelną składnię i jest łatwiejszy do zrozumienia niż Objective-C. Dla osób, które dopiero poznają swoje pierwsze języki programowania będzie on lepszym wyborem do nauki niż Objective-C. Większość nowych aplikacji na system iOS tworzona jest w języku Swift.

Swift jest interoperacyjny z bibliotekami języka Objective-C, co oznacza, że można tych języków używać zamiennie w tych samych projektach.

Programowanie aplikacji desktopowych

Programowanie aplikacji desktopowych

Aplikacje desktopowe (okienkowe) są to aplikacje na komputery stacjonarne i laptopy np. Microsoft Office, programy do zarządzania fakturami, programy do zarządzania sprzedażą, CRM do obsługi klientów.

Aplikacje desktopowe możesz pisać np. w językach: C++, C#, Java, PythonSwift.

C++

C++ jest jest superszybkim językiem często wykorzystywanym do tworzenia systemów i aplikacji, dla który wydajność jest krytyczna. W języku C++ napisane są systemy operacyjne, aplikacje np. Microsoft Office, silniki przeglądarek internetowych, silniki baz danych np. SQL Server, programy do wykonywania złożonych obliczeń np. Tensorflow – biblioteka języka Python do tworzenia modeli uczenia maszynowego i sieci neuronowych.

Jest on też wykorzystywany do tworzenia oprogramowania na systemach wbudowanych np. w centralach telefonicznych, urządzeniach AGD (pralki, lodówki, kuchenki mikrofalowe), układach sterujących pracą silnika w samochodzie.

Jest to jeden z najtrudniejszych języków programowania do nauczenia się. Zanim zrozumiesz niektóre jego elementy, musisz zapoznać się z różnymi koncepcjami programowania. C++ łatwiej zrozumiesz, jeśli poznasz logikę działania programów na podstawie prostszego języka np. Pythona czy nawet Visual Basica.

C#

C# stworzony został przez Microsoft i jest głównie używany w środowisku Windows. Wywodzi się on z rodziny języków C, ale inspirowany jest również Javą. Podobnie jak Java, C# upraszcza i rozszerza funkcjonalność języka C++.

Jest on prostszym do nauki językiem niż Java czy C++. Jednak również w przypadku C# przed przystąpieniem do jego nauki warto zapoznać się z logiką programowania i pisania kodu na podstawie prostszego języka.

W języku C# napisane są takie aplikacje jak KeePass, Paint.NET, Open Dental.

Java

Java jest bardzo popularnym językiem programowania i łatwiejszym do opanowania niż np. C++. Powstała na bazie języków z rodziny C.

Rozpocznij naukę Javy i pracuj z tym językiem, jeśli chcesz pisać przenośny kod, który będzie działał na różnych systemach operacyjnych. Jeśli natomiast planujesz tworzyć aplikacje, które będą działały tylko w systemie Windows, ucz się języka C++ lub C#.

Python

Python jest uważany za najprostszy z języków programowania i jednocześnie ma dużo możliwości.

Jest to generalnie język dla konsolowych aplikacji (aplikacje bez graficznego interfejsu użytkownika), ale możliwe jest też tworzenie w nim aplikacji okienkowo-wizualnych przy użyciu modułu tkinter. Dostępne są jeszcze dwa inne moduły do budowania aplikacji PyQt5wxPython, ale wymagają one doinstalowania.

Swift

Swift jest to język programowania, który stworzony został przez Apple na potrzeby budowania aplikacji okienkowych i mobilnych na urządzenia tej firmy. Obecnie Swift jest również wspierany przez Microsoft i możesz tworzyć w nim aplikacje okienkowe na komputery zawierające system operacyjny Windows.

Programowanie gier komputerowych

Programowanie gier

Aby programować gry, potrzebujesz poznać język programowania oraz jeden z silników gier.

Silniki gier

Silniki gier to specjalne oprogramowanie, którego programiści używają do tworzenia gier. Oprogramowanie to dostarcza komponenty za pomocą których można:

  • dodawać ruch
  • renderować obrazy
  • wykorzystywać sztuczną inteligencję
  • obsługiwać detekcję kolizji

Do najbardziej znanych silników gier należą Unity, Unreal Engine.

Języki programowania gier

Jako początkujący programista przed rozpoczęciem pracy z silnikami gier powinieneś dobrze poznać, któryś z poniższych języków programowania.

C++

C++ jest często wybierany do tworzenia gier ze względu na jego szybkość.

Przykładowe gry napisane w C++ to: Wiedźmin, Counter-Strike, Football Pro, Starcraft, Master of Orion III, Cube 2, Red Eclipse.

Java

Java zyskała popularność w obszarze gier, gdyż jest szybka i łatwiej w niej pisać kod niż w C++ .

Przykładowe gry napisane w Javie to: Mission Impossible III, Minecraft, FIFA 11, SimCity, RuneScape.

HTML w połączeniu z JavaScript

HTML jest często wybierany przez twórców gier, gdyż posiada bardzo dobre silniki do gier takie jak: Construct 2, ImpactJS, Phaser, Booty5.

Przykłady popularnych gier stworzonych w HTML: CrossCode, Swoop, Cookie Clicker, Gods Will Be Watching, Little Alchemy.

Tworzenie stron www

Tworzenie stron internetowych

Obszar tworzenia stron www najczęściej dzielimy na front-endback-end.

Strony internetowe front-end i back-end

Tworzenie stron www – front-end

Front-end jest graficzną częścią aplikacji webowej, która bezpośrednio komunikuje się z użytkownikiem i działa na jego komputerze. Podstawowymi językami programowania, których używamy do tworzenia fron-endu są HTML, CSSJavaScript.

Jeśli chcesz tworzyć aplikacje webowe, zacznij od poznania HTML oraz podstaw języków CSS i JavaScript.

Strony www front-end języki programowania i narzędzia

HTML

HTML (HyperText Markup Language) jest to język znaczników, którego używamy do tworzenia struktury strony internetowej. Za pomocą znaczników HTML definiujemy, który element na stronie ma być nagłówkiem, akapitem, linkiem itp. Przeglądarki internetowe odczytują znaczniki i na ich podstawie odpowiednio wyświetlają stronę.

CSS

CSS (Cascading Style Sheets) jest językiem arkuszy stylów, za pomocą którego opisujemy wygląd elementów na stronie np. kolor i rodzaj czcionki, wygląd grafiki, sposób prezentacji strony na różnych urządzeniach (komputerach, telefonach, tabletach).

W obszarze związanym z arkuszami stylów CSS często używane są również poniższe technologie:

  • Bootstrap – framework HTML, CSS i JavaScript do tworzenia responsywnej (dopasowanej do wielkości ekranu) czyli przyjaznej dla urządzeń mobilnych strony internetowej. Zawiera on szablony projektowe oparte na HTML i CSS dla np. kolorów i wyglądu czcionek, tabel, przycisków i nawigacji. W Bootstrap’ie masz gotowe klasy i nie musisz tworzyć własnego arkusza stylów CSS żeby nadać określony styl dla strony www.
  • Tailwind CSS – jest to platforma CSS, która zawiera predefiniowane klasy CSS. Posiadają one bloki konstrukcyjne, których możemy użyć do stworzenia projektu bezpośrednio z HTML. Nadajemy styl elementom HTML dołączając do nich klasy.

JavaScript

JavaScript należy do języków programowania, które są używane zarówno po stronie front-end’u (komputer użytkownika) jak i back-end’u (serwera). Umożliwia on tworzenie interaktywnych aplikacji webowych, które angażują użytkownika.

Przykładowe funkcjonalności, które możemy stworzyć w JavaScript:

  • przyciski, za pomocą których ukrywamy oraz odkrywamy treść lub przenosimy się pomiędzy poszczególnymi stronami witryny internetowej
  • wyświetlanie zdjęć w formie karuzeli i ich automatyczne przewijanie
  • powiększanie lub pomniejszanie obrazów
  • odtwarzanie audio, wideo i animacji na stronie internetowej

JavaScript posiada wiele bibliotek i frameworków, które ułatwiają programowanie.

Biblioteka w języku programowania jest to zbiór gotowych funkcji. Zamiast tworzyć program od początku, możemy skorzystać z przygotowanych w danej bibliotece fragmentów kodu i zaimplementować je w swoim programie. Korzystając z biblioteki sami decydujemy, kiedy i gdzie wywołać zaimplementowany z biblioteki kod.

Framework to zbiór narzędzi dla programistów, który zawiera gotowe komponenty, biblioteki, kompilatory kodu, interfejsy API do wykorzystania w programach. Twój kod umieszczany jest w kodzie frameworka i jest przez niego wywoływany.

Popularne biblioteki JavaScript:

  • AJAX – używany jest do komunikacji z serwerami. Może wysyłać i odbierać pliki tekstowe oraz informacje w innych formatach np. w formacie JSON, XML, HTML. AJAX obsługuje asynchroniczność tzn. może komunikować się z serwerem, wymieniać dane i aktualizować stronę bez konieczności jej odświeżania.
  • jQuery – jest to zestaw narzędzi, dzięki którym łatwiej jest pisać kod. Biblioteka ta upraszcza zadania typu przeglądanie dokumentów HTML, obsługa zdarzeń np. kliknięcia na stronie przez użytkownika i implementowanie animacji. Zawiera wbudowane efekty animacji, które możemy wykorzystać na swojej stronie.
  • React.js – jest to biblioteka ułatwiająca tworzenie interfejsów użytkownika, czyli tych elementów, z którymi użytkownik strony wchodzi w interakcję – przycisków, pasków przewijania, rozwijanych menu.

Popularne frameworki JavaScript:

  • Angular – framework napisany w TypeScript, który ma na celu uproszczenie programowania w języku JavaScript. Używając frameworka Angular piszemy program w języku TypeScript i kompilujemy go do kodu JavaScript. Kod TypeScript musi być skompilowany do JavaScript, gdyż przeglądarki internetowe potrafią czytać tylko JavaScirpt.
  • Vue.js – służy do budowania interfejsów użytkownika i aplikacji internetowych składających się z jednej strony np. landing-page.
  • Svelte – framework do budowania pojedynczych komponentów wielokrotnego użytku, z których możesz składać większe aplikacje.

TypeScript

TypeScritp to język opracowany przez Microsoft. Jest to zmodyfikowana wersja języka JavaScript, łatwiejsza do opanowania niż JavaScript. W gotowej aplikacji jest kompilowany do JavaScript żeby przeglądarki internetowe mogły go wykonać.

Automatyzacja pracy front-end

Do automatyzacji pracy w obszarze front-end możemy wykorzystać następujące narzędzia:

  • GULP
  • GRANT
  • Webpack

Strony internetowe back-end

Back-end jest tą częścią strony www, która jest niewidoczna dla użytkownika. W części tej na serwerze uruchamiane są programy, które służą np. do odbierania żądań od użytkownika i zwracania mu informacji.

Tworząc stronę internetową często możemy użyć również gotowy system zarządzania treścią (ang. CMS – Content Management System). Działa on zarówno po stronie front-end jak i back-end i daje podstawę, którą możemy modyfikować minimalną ilość własnego kodu. Różne systemy zarządzania treścią wymagają różnych języków programowania.

Poniżej znajdziesz informacje o językach i typowych dla nich frameworkach, za pomocą których możesz tworzyć back-end stron internetowych oraz popularne systemy CMS dla tych języków.

Strony internetowe back-end

PHP

Języka PHP używany do pisania programów, które uruchamiają się po stronie serwera. Za ich pomocą pobieramy informacje z bazy danych i wyświetlamy je użytkownikowi witryny. PHP obsługuje też aplikacje pocztowe do wysyłania i  przechowywania wiadomości e-mail.

PHP jest obecnie najpopularniejszym językiem do budowania witryn internetowych po stronie back-end’u.

Back-end stron www możesz jednak tworzyć też w innych językach:

  • Python – aby utworzyć stronę internetową w Pythonie najlepiej użyć któregoś z frameworków do tego przeznaczonych np. Django, Flask lub FastAPI
  • Java – język Java posiada framework Spring do budowania aplikacji webowych
  • C# – w przypadku języka C# aplikacje internetowe budowane są w oparciu o platformę ASP.NET
  • JavaScript – aby używać JavaScript po stronie back-end możesz wykorzystać framework Node.js

Analiza danych

Analiza danych

Uczenie maszynowe (ang. machine learning) jest obecnie dynamicznie rozwijającym się obszarem i rynek pracy potrzebuje coraz większej ilości ekspertów w tej dziedzinie.

Wybór języka programowania w tym obszarze na początek nauki nie jest trudny. W analizie danych najczęściej używane są poniższe języki programowania.

  • Python – posiada rozbudowane biblioteki, za pomocą których możesz budować modele predykcyjne w obszarze uczenia maszynowego i sieci neuronowych. Więcej informacji na temat analizy danych oraz narzędzi wykorzystywanych w analizie znajdziesz w artykule Python – podstawy analizy danych
  • R – jest językiem używanym głównie do analizy statystycznej i numerycznej dużych zbiorów danych.

Python jest łatwiejszy do opanowania niż R, więc jeśli dopiero zaczynasz naukę, zacznij od Pythona.

Automatyzacja zadań VBA Excel

Automatyzacja zadań w MS Office

Jeśli pracujesz na co dzień z aplikacjami MS Office np. z Excelem i wykonujesz wiele powtarzalnych zadań, przyda Ci się język programowania VBA (Visual Basic for Applications).

Jest to język programowania zintegrowany z aplikacjami MS Office. Za jego pomocą możesz zautomatyzować manualne, często wykonywane zadania np. codzienne pobieranie danych ze stron internetowych i przetwarzanie ich w raporty Excela, aktualizowanie danych w raportach.

Podsumowanie – wybór pierwszego języka

Mam nadzieję, że wpis chociaż trochę pomoże Ci znaleźć odpowiedź na pytanie, od czego zacząć naukę programowania. Ja zaczynałem od Visual Basica, gdyż akurat ten język był mi potrzebny, gdy zaczynałem pierwszą pracę. W kolejnych etapach poznałem SQL, C++, C# i Python. Obecnie zajmuję się projektami, w których poznaję Flask i inne technologie webowe.

Wybór języka programowania nie jest dokonywany na całe życie. Jak zostaniesz programistą nie wystarczy Ci znajomość jednego języka. Będziesz korzystał z wielu technologii i cały czas będziesz potrzebował uczyć się programowania w nowych technologiach.

Zastanawiając się, jaki język programowania wybrać na początek, warto też przeanalizować jaką przyszłość ma dana technologia w branży IT i czy jest szansa że będzie się rozwijać. Najlepiej chyba to sprawdzić, patrząc, czy duże firmy takie jak Microsoft, Apple, Amazon tworzą swoje rozwiązania w danym języku.

W rozpoczęciu nauki może być pomocny krótki kurs programowania prowadzony przez doświadczonych programistów. Poznasz na nim podstawy danego języka, dowiesz się, jakie technologie są popularne i porozmawiasz, jak wybrać język programowania z kimś, kto już programuje w kilku językach.

Gdybym miał decydować teraz o wyborze języka będąc na początku nauki, zastanowiłbym się najpierw, czy chcę zostać programistą stron internetowych czy zajmować się inną dziedziną.

Decydując się na tworzenie stron www, zacząłbym naukę od HTML i CSS. Wybierając każdy inny obszar zacząłbym od poznania podstaw SQL, a potem rozpocząłbym naukę języka Python.

Jeśli uda Ci się znaleźć odpowiedź na pytanie, co chcesz robić w obszarze IT, będzie Ci dużo łatwiej zdecydować jaki język programowania wybrać na początek.

Rafał Lelusz

Programista Python, C#
Udostępnij wpis: udostępnij Facebook udostępnij Linkedin udostępnij e-mail

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

    Podobne artykuły z kategorii: Python

    Może Cię zainteresować