Jaki język programowania wybrać na maturę?

Jaki język programowania wybrać na maturę?


Wybór języka programowania na maturze

Wybór języka programowania na maturę z informatyki to kluczowa decyzja, która może wpłynąć na wyniki egzaminu oraz przyszłą karierę. Różnorodność dostępnych języków, takich jak Python, Java czy C++, może przytłoczyć, dlatego ważne jest, aby dobrze zrozumieć swoje możliwości i potrzeby. W tym artykule przyjrzymy się najpopularniejszym językom programowania na maturze oraz wskazówkom, które pomogą dokonać najlepszego wyboru. Zdobądź wiedzę, która pozwoli Ci zdać egzamin z wyróżnieniem i otworzyć drzwi do świata IT.

Do wyboru mamy 4 języki a są to:

  1. Python
  2. C/C++
  3. Java
  4. Pascal

Python

Python jest najbardziej oczywistym wyborem na maturze, język jest prosty a jego składnia bardzo czytelna i krótka. Jeżeli nie znasz żadnego innego języka z tej listy na dobrym poziomie, to zdecydowanie polecam zastanowić się właśnie nad Pythonem.

ZaletyWady
Krótka składniadługi czas wykonywania się programu
Duża liczba nowoczesnych bibliotekbrak możliwości kompilacji
Prostotaśrednie wykonanie programowania obiektowego
czytelność
brak dodatkowych elementów kodu
Bardzo wygodne korzystanie z tablic
Czytelne i dokładnie komunikaty o błędach
Duża liczba pomocy naukowych w internecie

Python komercyjnie jest językiem, który wybiera się ze względu na szybki czas tworzenia programu, co na maturze, na której bardzo często kończy się czas, może okazać się kluczowe. Dodatkowo jego prostota i czytelne komunikaty o błędach bardzo ułatwiają naukę. Wady Pythona, które może i są dotkliwe z perspektywy programowania komercyjnego, nie mają wpływu na samą maturę, nie będziemy programować obiektowo a czas wykonywania się programu w skryptach maturalnych może i będzie dłuższy niż w takim C, ale i tak ogranicza się do maksymalnie kilku sekund.

Dodatkową wadą dla ucznia może być też sytuacja na rynku pracy, w Pythonie programuje tak dużo ludzi, że widać różnicę w zarobkach oraz ilości kandydatów na jedno stanowisko w miejscach pracy. Jest to coś, co na pewno warto wziąć pod uwagę, jeśli chcemy zacząć pracę od razu po maturze. Jeśli zamierzasz jednak iść na studia, to nie warto zawracać sobie tym specjalnie głowy, będzie jeszcze czas, żeby nauczyć się innych języków.

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)


num = int(input("Podaj numer pozycji w ciągu Fibonacciego: "))
print(f"Liczba Fibonacciego na pozycji {num} to: {fibonacci(num)}")

Warning

Przykład komunikatu o błędzie w poniższym kodzie:

slowo = "abcd"
for i in range(len(slowo)):
    print("Kolejna litera: " + slowo[i + 1])

python_error_mess

Jak widać, komunikat nie tylko daje nam informacje o tym, w jakiej linijce wystąpił błąd, ale mówi nam też, jakie rodzaju błąd popełniliśmy z dokładnym opisem

C/C++

C i C++ to dwa inne języki, które są do siebie bardzo podobne (C++ jest w uproszczeniu bardziej nowoczesną wersją języka C), jeśli nie znasz żadnego z nich, to prawdopodobnie bardziej przypadnie ci do gustu C++, jeśli jednak dobrze znasz zwykłe C, to różnice z perspektywy matury nie są zbyt duże.

ZaletyWady
Możliwość kompilacjiSłabe komunikaty o błędach
Duża prędkość wykonywania się programuśrednia czytelność kodu
Duża liczba pomocy naukowych w interneciedługi czas pisania programu
Duża liczba nowoczesnych bibliotekobecność dodatkowych elementów w kodzie
Proste typowaniedługa składnia
Programowanie niskopoziomowepotrzeba importowania nawet prostych narzędzi

Język C/C++ jest językiem, który jest bardzo często wykorzystywany komercyjnie, niskopoziomowość, możliwość kompilacji czy prędkość działania programu sprawiają, że jest on użyteczny w bardzo wielu projektach. Nie są to jednak elementy, które dużo zmieniają w kwestii matury, z kolei jego wady, takie jak długi czas pisania kodu czy słabe komunikaty o błędach, utrudniają naukę, jak i pracę na samej maturze.

Z tego względu nie polecam go osobom, które zaczynają swoją przygodę z programowaniem ze względu na maturę, jest to na pewno trudniejsza ścieżka niż python. Jednak z racji tego, że bardzo wielu z was w szkole uczy się właśnie C, to wybór tego języka nie dziwi, jeśli świetnie znasz ten język i nie boisz się o brak czasu na maturze, to jest to dobry wybór.

Mimo wszystko, przed zaczęciem nauki polecam przynajmniej spróbować napisać coś w Pythonie z racji tego, że skróci to twój czas pracy na samej maturze.

#include <iostream>

int fibonacci(int n) {
    if (n <= 1) {
        return n;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

int main() {
    int num;
    std::cout << "Podaj numer pozycji w ciągu Fibonacciego: ";
    std::cin >> num;
    std::cout << "Liczba Fibonacciego na pozycji " << num << " to: " << fibonacci(num) << std::endl;
    return 0;
}

Wybór języka C/C++ jest świetnym wyborem, jeśli traktujesz maturę jako okazje do nauczenia się programowania, na pewno nauczysz się więcej, niż korzystając z Pythona, a rodzina C jest jednym z lepszych wyborów, jeśli chodzi o ścieżkę zawodową, Jeśli jednak bardzo zależy ci na wyniku na maturze, to python jest raczej lepszym wyborem.

Java

Do tej pory porównaliśmy sobie C z Pythonem, nie porównując ich za bardzo do Javy, z tego względu, że Java jest kompletnie innym językiem.

Java jest językiem typowo obiektowym, jeśli nie wiesz czym jest programowanie obiektowe, to jest to zdecydowanie drugi ( po Pascalu) najgorszy wybór na maturę. Jeżeli wiesz jak się programuje obiektowo, to Java jest na pewno ciekawa, język jest bardzo przejrzysty, ma ogromną liczbę nowoczesnych bibliotek, jest szybki i ma dość dobre komunikaty o błędach.

Java jest szeroko wykorzystywana w programowaniu komercyjnym, tworzy się w niej praktycznie wszystko, od aplikacji na telefony aż po gry komputerowe (np. minecraft). Jest bardzo przyjemnym i użytecznym językiem, ale jest również złym wyborem na maturę.

Na maturze zwyczajnie nie ma potrzeby pisania kodu obiektowego, a tworzenie w nim programów jest dłuższe i delikatnie trudniejsze, dodatkowo trzeba dobrze znać zasady samego programowania obiektowego, a jest ich całkiem sporo, sam język też nie ułatwia pracy na maturze przez jego bardzo długą składnię i bardzo dziwne podejście do typów danych.

import java.util.Scanner;

public class Fibonacci {
    public static int fibonacci(int n) {
        if (n <= 1) {
            return n;
        } else {
            return fibonacci(n - 1) + fibonacci(n - 2);
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Podaj numer pozycji w ciągu Fibonacciego: ");
        int num = scanner.nextInt();
        System.out.println("Liczba Fibonacciego na pozycji " + num + " to: " + fibonacci(num));
    }
}

Jeśli znasz Javę bardzo dobrze i potrafisz pisać kod szybko, to nie jest ona złym wyborem, chodź mimo wszystko zastanowiłbym się nad zmianą na Pythona bądź C++.

Pascal

Pascal jest raczej ciekawostką niż realnym wyborem, język jest bardzo trudny, ma długą i nieprzyjemną składnię, przez co jest bardzo niepraktycznym językiem na maturze.

Python vs C++

Dla znacznej większości osób wybór zbiega się do tego pytania. Zazwyczaj można odpowiedzieć na nie bardzo łatwo, czy potrafisz bardzo dobrze pisać w C++? Jeśli nie, to python jest prostszą drogą po lepszy wynik na maturze, jeśli jednak potrafisz pisać jakieś bardziej zaawansowane programy w C++ to na spokojnie możesz przy nim zostać. W praktyce programy które musisz napisać na maturze są na tyle proste, że będą wyglądać praktycznie identycznie w obu językach, jedyną różnicą będzie składnia która w Pythonie jest zwyczajnie krótsza, a przeniesienie się na Pythona z C++ nie jest ani długim ani ciężkim procesem.

Podsumowanie

  • Python to najbardziej oczywisty wybór
  • C/C++ są dobrymi wyborami, jeśli już dobrze znasz te języki
  • Java jest dobrym wyborem, tylko jeśli znasz ją naprawdę dobrze i nie boisz się o brak czasu na maturze
  • Pascal jest wyborem dla osób, które chcą sobie postawić wyzwanie a wysoki wynik na maturze nie jest ich priorytetem