20 współczesnych języków programowania, które warto znać
Nie istnieje jeden „najlepszy język programowania”. Python, JavaScript, C, Go czy Rust rozwiązują inne problemy, działają w innych środowiskach i mają inne kompromisy.
Ten artykuł nie jest rankingiem od najlepszego do najgorszego. To praktyczny przekrój 20 języków, które w 2026 roku są realnie używane zawodowo albo mają aktywną, istotną niszę.
Dla każdego języka zobaczymy:
- czym jest,
- kto go rozwija,
- gdzie się go używa,
- jak zainstalować środowisko na Windowsie,
- jak zainstalować środowisko na macOS,
- jak zainstalować środowisko na Linuxie, z Debianem jako głównym przykładem,
- jak sprawdzić instalację,
- jak uruchomić albo skompilować program,
- jak wygląda ta sama prosta gra „zgadnij liczbę od 0 do 100”.
Wspólny przykład pozwala szybko porównać składnię i sposób pracy z językiem.
Ten tekst jest przeglądem, nie pełnym kursem. Tam, gdzie TechHandbook ma już osobny materiał, znajdziesz bezpośredni link do rozwinięcia tematu.
Przydatne materiały ogólne:
Szybka mapa
| Język | Typowe zastosowania | Typowy model wykonania |
|---|---|---|
| Python | AI, dane, automatyzacja, backend | interpreter / bytecode |
| JavaScript | przeglądarka, frontend, Node.js | VM / JIT |
| TypeScript | duże aplikacje webowe, Node.js | kompilowany do JavaScript |
| Java | enterprise, backend, JVM | bytecode JVM / JIT |
| C | systemy, embedded, biblioteki | kod maszynowy |
| C++ | gry, silniki, aplikacje wysokiej wydajności | kod maszynowy |
| C# | .NET, backend, desktop, Unity | IL + .NET runtime |
| Go | backend, infrastruktura, CLI | kod maszynowy |
| Rust | systemy, CLI, infrastruktura | kod maszynowy |
| PHP | backend WWW, CMS-y | interpreter / VM / JIT |
| Kotlin | Android, JVM, backend | bytecode JVM / inne targety |
| Swift | Apple, aplikacje natywne, CLI | kod maszynowy |
| Dart | Flutter | JIT / AOT |
| Ruby | web, Rails, skrypty | interpreter / VM |
| R | statystyka, analiza danych | interpreter |
| Scala | JVM, big data, backend | bytecode JVM |
| Lua | gry, embedded scripting | interpreter / VM |
| Julia | nauka, obliczenia numeryczne | JIT |
| Elixir | backend współbieżny, systemy realtime | BEAM bytecode |
| Solidity | smart kontrakty EVM | EVM bytecode |
Zanim zaczniemy: trzy rodzaje „instalacji”
W praktyce środowisko programistyczne instaluje się na kilka sposobów.
1. Pakiet systemowy
Przykład Debiana:
sudo apt install python3
Zaleta: prostota.
Wada: wersja w stabilnej dystrybucji może być starsza niż najnowsze wydanie projektu.
2. Oficjalny instalator lub SDK
Przykład Windowsa:
pobierz instalator -> uruchom -> dodaj narzędzia do PATH
Tak instaluje się często m.in. JDK, Go, Swift czy .NET.
3. Menedżer wersji
Przykłady:
rustup
juliaup
SDKMAN!
Coursier
To wygodne rozwiązanie, jeśli chcesz mieć kilka wersji języka lub łatwo aktualizować toolchain.
1. Python
Co to jest
Python jest dynamicznie typowanym językiem wysokiego poziomu, zaprojektowanym z naciskiem na czytelność.
Rozwijają go Python Software Foundation i społeczność Python Core Developers.
Gdzie się go używa
- AI i machine learning,
- analiza danych,
- automatyzacja,
- backend,
- testy,
- skrypty,
- administracja,
- nauka programowania.
Pełniejszy materiał:
Instalacja - Windows
Najprostsza droga to oficjalny instalator z:
https://www.python.org/downloads/windows/
Podczas instalacji warto zaznaczyć:
Add python.exe to PATH
W nowych wersjach Windows można też użyć winget, jeśli pakiet jest dostępny:
winget search Python.Python
Po instalacji:
python --version
albo:
py --version
Instalacja - macOS
Python można zainstalować oficjalnym instalatorem z python.org albo przez Homebrew:
brew install python
Sprawdzenie:
python3 --version
Instalacja - Linux / Debian
sudo apt update
sudo apt install python3 python3-pip python3-venv
Sprawdzenie:
python3 --version
Uruchamianie
Plik:
guess.py
Windows:
python guess.py
Linux/macOS:
python3 guess.py
Python zwykle nie tworzy natywnej binarki. Kod wykonuje interpreter.
Zgadnij liczbę
import random
secret = random.randint(0, 100)
while True:
try:
guess = int(input("Podaj liczbę 0-100: "))
except ValueError:
print("Podaj poprawną liczbę.")
continue
if guess < secret:
print("Za mało!")
elif guess > secret:
print("Za dużo!")
else:
print("Brawo!")
break
2. JavaScript
Co to jest
JavaScript jest podstawowym językiem programowania przeglądarek internetowych.
Standard języka nazywa się ECMAScript i jest rozwijany przez TC39. Popularne silniki to m.in. V8, SpiderMonkey i JavaScriptCore.
Poza przeglądarką JavaScript działa przede wszystkim dzięki Node.js.
Pełniejsze materiały:
Gdzie się go używa
- frontend WWW,
- aplikacje SPA,
- Node.js,
- API,
- serverless,
- aplikacje desktopowe,
- rozszerzenia,
- tooling.
Instalacja - Windows
Do pracy poza przeglądarką instalujemy Node.js:
https://nodejs.org/
Najwygodniej wybrać aktualną wersję LTS.
Po instalacji:
node --version
npm --version
Można też użyć menedżera wersji Node, np. nvm-windows.
Instalacja - macOS
Homebrew:
brew install node
Sprawdzenie:
node --version
npm --version
W projektach warto rozważyć menedżer wersji, np. nvm, fnm lub volta.
Instalacja - Linux / Debian
Najprościej:
sudo apt update
sudo apt install nodejs npm
Sprawdzenie:
node --version
npm --version
Pakiet Debiana może być starszy od aktualnego LTS Node.js. Przy pracy projektowej warto użyć menedżera wersji.
Uruchamianie
node guess.js
Zgadnij liczbę
const readline = require("node:readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const secret = Math.floor(Math.random() * 101);
function ask() {
rl.question("Podaj liczbę 0-100: ", (answer) => {
const guess = Number(answer);
if (!Number.isInteger(guess)) {
console.log("Podaj poprawną liczbę.");
ask();
return;
}
if (guess < secret) {
console.log("Za mało!");
ask();
} else if (guess > secret) {
console.log("Za dużo!");
ask();
} else {
console.log("Brawo!");
rl.close();
}
});
}
ask();
3. TypeScript
Co to jest
TypeScript jest rozwijanym przez Microsoft nadzbiorem JavaScriptu.
Dodaje m.in.:
- statyczne typowanie,
- interfejsy,
- typy generyczne,
- lepszą analizę kodu,
- wcześniejsze wykrywanie wielu błędów.
TypeScript jest zwykle zamieniany na JavaScript.
Gdzie się go używa
- React,
- Angular,
- Vue,
- Node.js,
- duże frontendowe aplikacje,
- backend,
- biblioteki,
- narzędzia deweloperskie.
TypeScript korzysta z tego samego ekosystemu Node.js, więc przyda się:
Instalacja - Windows
Najpierw Node.js:
https://nodejs.org/
Potem w katalogu projektu:
mkdir ts-guess
cd ts-guess
npm init -y
npm install --save-dev typescript @types/node
Instalacja - macOS
brew install node
mkdir ts-guess
cd ts-guess
npm init -y
npm install --save-dev typescript @types/node
Instalacja - Linux / Debian
sudo apt update
sudo apt install nodejs npm
mkdir ts-guess
cd ts-guess
npm init -y
npm install --save-dev typescript @types/node
Sprawdzenie
npx tsc --version
Kompilacja
npx tsc guess.ts --target ES2022 --module commonjs
Powstanie:
guess.js
Uruchamiamy:
node guess.js
Zgadnij liczbę
import * as readline from "node:readline";
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const secret: number = Math.floor(Math.random() * 101);
function ask(): void {
rl.question("Podaj liczbę 0-100: ", (answer: string) => {
const guess: number = Number(answer);
if (!Number.isInteger(guess)) {
console.log("Podaj poprawną liczbę.");
ask();
return;
}
if (guess < secret) {
console.log("Za mało!");
ask();
} else if (guess > secret) {
console.log("Za dużo!");
ask();
} else {
console.log("Brawo!");
rl.close();
}
});
}
ask();
4. Java
Co to jest
Java jest statycznie typowanym językiem uruchamianym zwykle na JVM - Java Virtual Machine.
Kod źródłowy kompilujemy do bytecode'u:
.java -> javac -> .class -> JVM
Głównym otwartym projektem implementacji jest OpenJDK.
Gdzie się jej używa
- backend enterprise,
- bankowość,
- systemy korporacyjne,
- duże systemy serwerowe,
- aplikacje JVM,
- istniejące projekty Android.
Instalacja - Windows
Najprościej zainstalować JDK - np. build OpenJDK od Eclipse Temurin:
https://adoptium.net/
Po instalacji:
java --version
javac --version
Instalacja - macOS
Przez Homebrew:
brew install openjdk
Sprawdzenie:
java --version
javac --version
Można też użyć dystrybucji Temurin lub SDKMAN!.
Instalacja - Linux / Debian
sudo apt update
sudo apt install default-jdk
Sprawdzenie:
java --version
javac --version
Kompilacja
Plik:
Guess.java
Kompilujemy:
javac Guess.java
Powstanie:
Guess.class
Uruchomienie:
java Guess
Zgadnij liczbę
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
Random random = new Random();
Scanner scanner = new Scanner(System.in);
int secret = random.nextInt(101);
while (true) {
System.out.print("Podaj liczbę 0-100: ");
if (!scanner.hasNextInt()) {
scanner.next();
System.out.println("Podaj poprawną liczbę.");
continue;
}
int guess = scanner.nextInt();
if (guess < secret) {
System.out.println("Za mało!");
} else if (guess > secret) {
System.out.println("Za dużo!");
} else {
System.out.println("Brawo!");
break;
}
}
scanner.close();
}
}
5. C
Co to jest
C jest jednym z najważniejszych języków w historii informatyki i nadal jednym z fundamentów współczesnych systemów.
Nie posiada garbage collectora. Programista ma bardzo dużą kontrolę nad pamięcią i reprezentacją danych.
Pełniejszy materiał TechHandbooka:
C - czytanie, kompilacja i debugowanie
Gdzie się go używa
- systemy operacyjne,
- kernela,
- sterowniki,
- embedded,
- firmware,
- mikrokontrolery,
- biblioteki,
- narzędzia Unix.
Instalacja - Windows
Najbardziej typowe opcje to:
Visual Studio Build Tools / MSVC
Instalujemy Visual Studio lub Build Tools z komponentem:
Desktop development with C++
Kompilator:
cl
MSYS2 + GCC
https://www.msys2.org/
Po instalacji można korzystać z GCC w środowisku MSYS2.
Instalacja - macOS
Apple udostępnia Clang w Command Line Tools:
xcode-select --install
Sprawdzenie:
clang --version
Instalacja - Linux / Debian
sudo apt update
sudo apt install build-essential
Sprawdzenie:
gcc --version
Kompilacja
Linux:
gcc -Wall -Wextra -O2 guess.c -o guess
./guess
macOS:
clang -Wall -Wextra -O2 guess.c -o guess
./guess
MSVC:
cl /W4 guess.c
.\guess.exe
Zgadnij liczbę
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
srand((unsigned)time(NULL));
int secret = rand() % 101;
int guess;
while (1) {
printf("Podaj liczbe 0-100: ");
if (scanf("%d", &guess) != 1) {
return 1;
}
if (guess < secret) {
puts("Za malo!");
} else if (guess > secret) {
puts("Za duzo!");
} else {
puts("Brawo!");
break;
}
}
return 0;
}
6. C++
Co to jest
C++ wyrósł z C, ale dziś jest ogromnym, niezależnym językiem.
Obsługuje m.in.:
- programowanie proceduralne,
- programowanie obiektowe,
- szablony,
- programowanie generyczne,
- programowanie funkcyjne,
- niskopoziomową kontrolę nad pamięcią.
Standard rozwija komitet ISO C++ WG21.
Gdzie się go używa
- gry,
- Unreal Engine,
- silniki,
- przeglądarki,
- bazy danych,
- aplikacje desktopowe,
- oprogramowanie czasu rzeczywistego,
- systemy wysokiej wydajności.
Instalacja - Windows
Najwygodniej użyć Visual Studio lub Visual Studio Build Tools.
W instalatorze wybieramy:
Desktop development with C++
Sprawdzenie w Developer Command Prompt:
cl
Alternatywa: MSYS2 + GCC/Clang.
Instalacja - macOS
xcode-select --install
Sprawdzenie:
clang++ --version
Instalacja - Linux / Debian
sudo apt update
sudo apt install build-essential
Sprawdzenie:
g++ --version
Kompilacja
Linux:
g++ -std=c++20 -Wall -Wextra -O2 guess.cpp -o guess
./guess
macOS:
clang++ -std=c++20 -Wall -Wextra -O2 guess.cpp -o guess
./guess
Windows / MSVC:
cl /std:c++20 /EHsc guess.cpp
.\guess.exe
Zgadnij liczbę
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 generator(rd());
std::uniform_int_distribution<int> distribution(0, 100);
const int secret = distribution(generator);
int guess = 0;
while (true) {
std::cout << "Podaj liczbe 0-100: ";
if (!(std::cin >> guess)) {
return 1;
}
if (guess < secret) {
std::cout << "Za malo!\n";
} else if (guess > secret) {
std::cout << "Za duzo!\n";
} else {
std::cout << "Brawo!\n";
break;
}
}
}
7. C
Co to jest
C# jest głównym językiem platformy .NET.
Rozwija go Microsoft wraz ze społecznością .NET.
Kod jest kompilowany do IL, a następnie wykonywany przez środowisko .NET.
Gdzie się go używa
- ASP.NET Core,
- backend,
- aplikacje biznesowe,
- desktop,
- Azure,
- Unity,
- narzędzia serwerowe.
Instalacja - Windows
Oficjalny .NET SDK:
https://dotnet.microsoft.com/download
Można też użyć winget:
winget search Microsoft.DotNet.SDK
Po instalacji:
dotnet --version
Instalacja - macOS
Oficjalny instalator .NET albo Homebrew:
brew install --cask dotnet-sdk
Sprawdzenie:
dotnet --version
Instalacja - Linux / Debian
Microsoft publikuje oficjalne repozytoria dla wspieranych wersji Debiana.
Po dodaniu repozytorium Microsoftu instalujemy SDK, np.:
sudo apt update
sudo apt install dotnet-sdk-10.0
Sprawdzenie:
dotnet --version
dotnet --list-sdks
Numer pakietu zależy od aktualnej wersji .NET i wersji Debiana. Warto sprawdzić aktualną instrukcję Microsoftu przed instalacją.
Tworzenie projektu
dotnet new console -n Guess
cd Guess
Kod zapisujemy w:
Program.cs
Uruchomienie:
dotnet run
Kompilacja:
dotnet build
Publikacja:
dotnet publish -c Release
Zgadnij liczbę
int secret = Random.Shared.Next(0, 101);
while (true)
{
Console.Write("Podaj liczbę 0-100: ");
if (!int.TryParse(Console.ReadLine(), out int guess))
{
Console.WriteLine("Podaj poprawną liczbę.");
continue;
}
if (guess < secret)
{
Console.WriteLine("Za mało!");
}
else if (guess > secret)
{
Console.WriteLine("Za dużo!");
}
else
{
Console.WriteLine("Brawo!");
break;
}
}
8. Go
Co to jest
Go jest kompilowanym językiem stworzonym w Google.
Język stawia na:
- prostotę,
- szybkie kompilowanie,
- łatwe budowanie programów sieciowych,
- współbieżność,
- wygodne wdrażanie pojedynczych binarek.
Pełniejszy materiał:
Gdzie się go używa
- backend,
- API,
- mikroserwisy,
- chmura,
- DevOps,
- CLI,
- systemy sieciowe,
- infrastruktura.
Instalacja - Windows
Oficjalny instalator:
https://go.dev/dl/
Po instalacji:
go version
Instalacja - macOS
Oficjalny pakiet z go.dev albo:
brew install go
Sprawdzenie:
go version
Instalacja - Linux / Debian
Najprościej:
sudo apt update
sudo apt install golang-go
Sprawdzenie:
go version
Pakiet Debiana może być starszy. Najnowszy toolchain można zainstalować z archiwum ze strony:
https://go.dev/dl/
Uruchamianie
Bez tworzenia finalnego pliku:
go run guess.go
Kompilacja:
go build -o guess guess.go
Windows utworzy:
guess.exe
Linux/macOS:
./guess
Zgadnij liczbę
package main
import (
"fmt"
"math/rand"
)
func main() {
secret := rand.Intn(101)
for {
var guess int
fmt.Print("Podaj liczbę 0-100: ")
if _, err := fmt.Scan(&guess); err != nil {
fmt.Println("Błąd wejścia.")
return
}
if guess < secret {
fmt.Println("Za mało!")
} else if guess > secret {
fmt.Println("Za dużo!")
} else {
fmt.Println("Brawo!")
break
}
}
}
9. Rust
Co to jest
Rust jest językiem systemowym nastawionym na wydajność i bezpieczeństwo pamięci.
Najbardziej charakterystycznym elementem jest system:
- ownership,
- borrowing,
- lifetimes.
Wiele błędów, które w C lub C++ pojawiłyby się podczas działania programu, Rust próbuje wychwycić podczas kompilacji.
Gdzie się go używa
- CLI,
- systemy,
- infrastruktura,
- sieci,
- WebAssembly,
- komponenty wysokiej wydajności,
- biblioteki,
- elementy systemów operacyjnych.
Instalacja - Windows
Oficjalna metoda:
https://rustup.rs/
Pobieramy i uruchamiamy:
rustup-init.exe
Na Windows Rust może wymagać narzędzi kompilacyjnych Visual Studio Build Tools.
Sprawdzenie:
rustc --version
cargo --version
Instalacja - macOS
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Po instalacji:
source "$HOME/.cargo/env"
Instalacja - Linux / Debian
Tak samo jak na innych systemach Unix:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Następnie:
source "$HOME/.cargo/env"
Sprawdzenie:
rustc --version
cargo --version
Projekt
cargo new guess
cd guess
cargo add rand
Kod:
src/main.rs
Uruchomienie:
cargo run
Kompilacja release:
cargo build --release
Zgadnij liczbę
use rand::Rng;
use std::io;
fn main() {
let secret = rand::rng().random_range(0..=100);
loop {
println!("Podaj liczbę 0-100:");
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.expect("Nie udało się odczytać wejścia");
let guess: i32 = match input.trim().parse() {
Ok(number) => number,
Err(_) => {
println!("Podaj poprawną liczbę.");
continue;
}
};
if guess < secret {
println!("Za mało!");
} else if guess > secret {
println!("Za dużo!");
} else {
println!("Brawo!");
break;
}
}
}
10. PHP
Co to jest
PHP jest językiem zaprojektowanym przede wszystkim do aplikacji webowych po stronie serwera.
Współczesny PHP ma:
- klasy,
- interfejsy,
- typy,
- wyjątki,
- atrybuty,
- frameworki,
- menedżer pakietów Composer.
Gdzie się go używa
- WordPress,
- Drupal,
- Magento,
- Laravel,
- Symfony,
- CMS-y,
- sklepy,
- backend WWW.
Instalacja - Windows
Można pobrać oficjalne binaria:
https://windows.php.net/download/
Po rozpakowaniu katalog z php.exe dodajemy do PATH.
Sprawdzenie:
php --version
Popularne są również zestawy takie jak XAMPP, ale do nauki CLI wystarczy sam PHP.
Instalacja - macOS
Najprościej przez Homebrew:
brew install php
Sprawdzenie:
php --version
Instalacja - Linux / Debian
sudo apt update
sudo apt install php-cli
Sprawdzenie:
php --version
Uruchamianie
php guess.php
Zgadnij liczbę
<?php
$secret = random_int(0, 100);
while (true) {
$input = readline("Podaj liczbę 0-100: ");
if (!is_numeric($input)) {
echo "Podaj poprawną liczbę.\n";
continue;
}
$guess = (int) $input;
if ($guess < $secret) {
echo "Za mało!\n";
} elseif ($guess > $secret) {
echo "Za dużo!\n";
} else {
echo "Brawo!\n";
break;
}
}
11. Kotlin
Co to jest
Kotlin jest nowoczesnym, statycznie typowanym językiem rozwijanym przez JetBrains.
Najczęściej pracuje na JVM, ale potrafi również kompilować się do JavaScriptu i kodu natywnego.
Gdzie się go używa
- Android,
- backend JVM,
- aplikacje wieloplatformowe,
- współczesne projekty zastępujące część kodu Javy.
Instalacja - Windows
Oficjalna dokumentacja Kotlin dla kompilatora CLI zaleca na Windows instalację ręczną.
Pobieramy Kotlin Compiler z:
https://github.com/JetBrains/kotlin/releases
Rozpakowujemy archiwum i dodajemy:
kotlinc\bin
do PATH.
Potrzebny jest również JDK.
Sprawdzenie:
kotlinc -version
Instalacja - macOS
Wygodnie przez SDKMAN!:
sdk install kotlin
albo Homebrew:
brew install kotlin
Potrzebny jest JDK.
Instalacja - Linux / Debian
Najpierw Java:
sudo apt update
sudo apt install default-jdk
Następnie SDKMAN! i:
sdk install kotlin
Sprawdzenie:
kotlinc -version
Kompilacja
kotlinc guess.kt -include-runtime -d guess.jar
Uruchomienie:
java -jar guess.jar
Zgadnij liczbę
import kotlin.random.Random
fun main() {
val secret = Random.nextInt(0, 101)
while (true) {
print("Podaj liczbę 0-100: ")
val guess = readln().toIntOrNull()
if (guess == null) {
println("Podaj poprawną liczbę.")
continue
}
when {
guess < secret -> println("Za mało!")
guess > secret -> println("Za dużo!")
else -> {
println("Brawo!")
break
}
}
}
}
12. Swift
Co to jest
Swift jest językiem stworzonym przez Apple jako współczesny następca Objective-C.
Jest statycznie typowany, kompilowany i rozwijany jako projekt open source.
Swift działa nie tylko na macOS - oficjalne toolchainy istnieją również dla Linuxa i Windowsa.
Gdzie się go używa
- iOS,
- macOS,
- iPadOS,
- watchOS,
- tvOS,
- CLI,
- część backendów.
Instalacja - Windows
Swift posiada oficjalne wsparcie dla Windowsa.
Najpierw instalujemy wymagane narzędzia Visual Studio, a następnie toolchain Swift. Oficjalna instrukcja udostępnia instalację przez WinGet.
Dokumentacja:
https://www.swift.org/install/windows/
Po instalacji:
swift --version
Instalacja - macOS
Jeżeli tworzysz aplikacje dla platform Apple, podstawowym środowiskiem jest Xcode.
Można też użyć oficjalnego swiftly.
Dokumentacja:
https://www.swift.org/install/macos/
Sprawdzenie:
swift --version
Instalacja - Linux / Debian
Swift.org udostępnia oficjalne instrukcje również dla Debiana:
https://www.swift.org/install/linux/debian/
Współczesna instalacja może korzystać z swiftly.
Po instalacji:
swift --version
Uruchamianie
Bez kompilowania finalnego programu:
swift guess.swift
Kompilacja:
swiftc guess.swift -o guess
Uruchomienie Linux/macOS:
./guess
Windows:
.\guess.exe
Zgadnij liczbę
let secret = Int.random(in: 0...100)
while true {
print("Podaj liczbę 0-100: ", terminator: "")
guard let line = readLine(),
let guess = Int(line) else {
print("Podaj poprawną liczbę.")
continue
}
if guess < secret {
print("Za mało!")
} else if guess > secret {
print("Za dużo!")
} else {
print("Brawo!")
break
}
}
13. Dart
Co to jest
Dart jest rozwijanym przez Google językiem ogólnego przeznaczenia.
Najbardziej kojarzy się z Flutterem.
Gdzie się go używa
- Flutter,
- Android,
- iOS,
- desktop,
- web,
- aplikacje wieloplatformowe,
- CLI.
Instalacja - Windows
Oficjalna dokumentacja:
https://dart.dev/get-dart
Można zainstalować samo Dart SDK albo Flutter SDK, które zawiera Dart.
Po instalacji:
dart --version
Instalacja - macOS
Przez Homebrew:
brew tap dart-lang/dart
brew install dart
Jeśli instalujesz Fluttera, Dart jest już częścią środowiska.
Instalacja - Linux / Debian
Dart udostępnia oficjalne repozytorium APT.
Aktualną procedurę dodania repozytorium należy sprawdzić na:
https://dart.dev/get-dart
Po skonfigurowaniu repozytorium:
sudo apt update
sudo apt install dart
Sprawdzenie:
dart --version
Uruchamianie
dart run guess.dart
Kompilacja do wykonywalnego pliku:
dart compile exe guess.dart -o guess
Zgadnij liczbę
import 'dart:io';
import 'dart:math';
void main() {
final secret = Random().nextInt(101);
while (true) {
stdout.write('Podaj liczbę 0-100: ');
final input = stdin.readLineSync();
final guess = int.tryParse(input ?? '');
if (guess == null) {
print('Podaj poprawną liczbę.');
continue;
}
if (guess < secret) {
print('Za mało!');
} else if (guess > secret) {
print('Za dużo!');
} else {
print('Brawo!');
break;
}
}
}
14. Ruby
Co to jest
Ruby jest dynamicznym językiem stworzonym przez Yukihiro „Matz” Matsumoto.
Stawia mocno na czytelność i wygodę programisty.
Gdzie się go używa
- Ruby on Rails,
- aplikacje webowe,
- skrypty,
- automatyzacja,
- istniejące systemy biznesowe.
Instalacja - Windows
Najwygodniej użyć RubyInstaller:
https://rubyinstaller.org/
Po instalacji:
ruby --version
gem --version
Instalacja - macOS
Systemowy Ruby nie powinien być traktowany jako środowisko projektowe.
Najprościej:
brew install ruby
Przy wielu projektach warto użyć rbenv albo asdf.
Instalacja - Linux / Debian
Do prostych eksperymentów:
sudo apt update
sudo apt install ruby-full
Sprawdzenie:
ruby --version
Przy pracy projektowej często używa się menedżera wersji.
Uruchamianie
ruby guess.rb
Zgadnij liczbę
secret = rand(0..100)
loop do
print "Podaj liczbę 0-100: "
input = gets
break if input.nil?
begin
guess = Integer(input)
rescue ArgumentError
puts "Podaj poprawną liczbę."
next
end
if guess < secret
puts "Za mało!"
elsif guess > secret
puts "Za dużo!"
else
puts "Brawo!"
break
end
end
15. R
Co to jest
R jest językiem i środowiskiem zaprojektowanym przede wszystkim do analizy danych i statystyki.
Rozwijają go R Core Team i R Foundation.
Gdzie się go używa
- statystyka,
- data science,
- bioinformatyka,
- ekonometria,
- badania naukowe,
- wizualizacja,
- raportowanie.
Instalacja - Windows
Instalator pobieramy z CRAN:
https://cran.r-project.org/
Wybieramy:
Download R for Windows
Sprawdzenie:
R --version
Instalacja - macOS
CRAN udostępnia instalator .pkg.
Można też użyć Homebrew:
brew install r
Instalacja - Linux / Debian
Najprościej:
sudo apt update
sudo apt install r-base
Sprawdzenie:
R --version
CRAN publikuje również własne repozytoria dla użytkowników potrzebujących nowszej wersji niż w stabilnym Debianie.
Uruchamianie
Konsola:
R
Skrypt:
Rscript guess.R
Zgadnij liczbę
secret <- sample(0:100, 1)
repeat {
input <- readline("Podaj liczbę 0-100: ")
guess <- suppressWarnings(as.integer(input))
if (is.na(guess)) {
cat("Podaj poprawną liczbę.\n")
next
}
if (guess < secret) {
cat("Za mało!\n")
} else if (guess > secret) {
cat("Za dużo!\n")
} else {
cat("Brawo!\n")
break
}
}
16. Scala
Co to jest
Scala jest statycznie typowanym językiem działającym przede wszystkim na JVM.
Łączy:
- programowanie obiektowe,
- programowanie funkcyjne,
- rozbudowany system typów.
Gdzie się jej używa
- backend JVM,
- systemy rozproszone,
- big data,
- Apache Spark,
- aplikacje funkcyjne.
Instalacja - Windows
Oficjalnie rekomendowany jest instalator oparty o Coursier:
https://www.scala-lang.org/download/
Coursier może zainstalować: - JVM, - Scala CLI, - podstawowe narzędzia Scala.
Po instalacji:
scala -version
Instalacja - macOS
Najprościej:
brew install coursier/formulas/coursier
cs setup
Instalacja - Linux / Debian
Dla x86-64 można użyć Coursier:
curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-linux.gz | gzip -d > cs
chmod +x cs
./cs setup
Po ponownym uruchomieniu shella:
scala -version
Uruchamianie
Współczesne narzędzia Scala pozwalają uruchomić plik:
scala run guess.scala
Większe projekty używają m.in.:
- sbt,
- Mill,
- Scala CLI.
Zgadnij liczbę
import scala.io.StdIn
import scala.util.Random
@main def guess(): Unit =
val secret = Random.nextInt(101)
var found = false
while !found do
print("Podaj liczbę 0-100: ")
StdIn.readLine().toIntOption match
case None =>
println("Podaj poprawną liczbę.")
case Some(value) if value < secret =>
println("Za mało!")
case Some(value) if value > secret =>
println("Za dużo!")
case Some(_) =>
println("Brawo!")
found = true
17. Lua
Co to jest
Lua jest małym, dynamicznym językiem skryptowym powstałym w Brazylii.
Jedną z jego największych zalet jest łatwość osadzania interpretera Lua w innych programach.
Gdzie się go używa
- gry,
- mody,
- silniki,
- konfiguracja,
- embedded scripting,
- OpenResty,
- Neovim.
Instalacja - Windows
Oficjalna strona:
https://www.lua.org/
Na Windows często korzysta się z gotowych binariów, MSYS2 lub menedżera pakietów.
Przy MSYS2 można zainstalować odpowiedni pakiet Lua i używać go w terminalu MSYS2.
Sprawdzenie:
lua -v
Instalacja - macOS
brew install lua
Sprawdzenie:
lua -v
Instalacja - Linux / Debian
sudo apt update
sudo apt install lua5.4
Sprawdzenie:
lua5.4 -v
W zależności od konfiguracji system może udostępnić również:
lua
Uruchamianie
lua guess.lua
albo:
lua5.4 guess.lua
Zgadnij liczbę
math.randomseed(os.time())
local secret = math.random(0, 100)
while true do
io.write("Podaj liczbę 0-100: ")
local guess = tonumber(io.read())
if guess == nil then
print("Podaj poprawną liczbę.")
elseif guess < secret then
print("Za mało!")
elseif guess > secret then
print("Za dużo!")
else
print("Brawo!")
break
end
end
18. Julia
Co to jest
Julia została zaprojektowana przede wszystkim do obliczeń naukowych i numerycznych.
Łączy wygodną składnię języka wysokiego poziomu z kompilacją JIT opartą o LLVM.
Gdzie się jej używa
- matematyka,
- fizyka,
- symulacje,
- modelowanie,
- data science,
- optymalizacja,
- HPC.
Instalacja - Windows
Projekt rekomenduje dziś juliaup.
Oficjalna strona:
https://julialang.org/downloads/
Po instalacji:
julia --version
Instalacja - macOS
Również preferowany jest juliaup.
Można też użyć instalatora lub Homebrew.
Sprawdzenie:
julia --version
Instalacja - Linux / Debian
Najlepiej korzystać z oficjalnego juliaup, ponieważ wersja w repozytorium dystrybucji może być starsza.
Dokumentacja:
https://julialang.org/downloads/
Po instalacji:
julia --version
Uruchamianie
REPL:
julia
Plik:
julia guess.jl
Zgadnij liczbę
secret = rand(0:100)
while true
print("Podaj liczbę 0-100: ")
input = readline()
guess = tryparse(Int, input)
if guess === nothing
println("Podaj poprawną liczbę.")
elseif guess < secret
println("Za mało!")
elseif guess > secret
println("Za dużo!")
else
println("Brawo!")
break
end
end
19. Elixir
Co to jest
Elixir jest językiem funkcyjnym działającym na maszynie wirtualnej BEAM.
BEAM wywodzi się ze świata Erlanga i została zaprojektowana pod kątem:
- współbieżności,
- odporności na błędy,
- systemów rozproszonych,
- długiego działania bez przestojów.
Gdzie się go używa
- backend,
- systemy realtime,
- czaty,
- komunikacja,
- wysokodostępne usługi,
- Phoenix Framework.
Instalacja - Windows
Oficjalne instrukcje:
https://elixir-lang.org/install.html
Elixir wymaga Erlang/OTP.
Na Windows najwygodniej korzystać z oficjalnych pakietów lub menedżera wersji wspieranego przez ekosystem.
Sprawdzenie:
elixir --version
Instalacja - macOS
Homebrew:
brew install elixir
Sprawdzenie:
elixir --version
Instalacja - Linux / Debian
Do prostych eksperymentów:
sudo apt update
sudo apt install elixir erlang-dev
Sprawdzenie:
elixir --version
W projektach produkcyjnych warto kontrolować dokładną parę wersji Elixir + Erlang/OTP.
Uruchamianie
Skrypt:
guess.exs
Uruchomienie:
elixir guess.exs
Większe projekty:
mix new my_app
Zgadnij liczbę
secret = :rand.uniform(101) - 1
ask = fn ask ->
input =
"Podaj liczbę 0-100: "
|> IO.gets()
|> String.trim()
case Integer.parse(input) do
{guess, ""} when guess < secret ->
IO.puts("Za mało!")
ask.(ask)
{guess, ""} when guess > secret ->
IO.puts("Za dużo!")
ask.(ask)
{_, ""} ->
IO.puts("Brawo!")
_ ->
IO.puts("Podaj poprawną liczbę.")
ask.(ask)
end
end
ask.(ask)
W tym przykładzie „pętla” jest zrealizowana rekurencyjnie, co dobrze pokazuje funkcyjny charakter języka.
20. Solidity
Co to jest
Solidity jest językiem przeznaczonym do smart kontraktów działających przede wszystkim na Ethereum Virtual Machine.
To nie jest zwykły język aplikacji desktopowej czy CLI.
Program po wdrożeniu działa w środowisku blockchaina.
Gdzie się go używa
- smart kontrakty,
- tokeny,
- DeFi,
- DAO,
- NFT,
- aplikacje EVM,
- logika blockchain.
Instalacja - Windows
Do pierwszych eksperymentów można nie instalować nic lokalnie i użyć:
https://remix.ethereum.org/
Lokalnie można użyć kompilatora z ekosystemu Node.js.
Najpierw Node.js, potem:
npm install --global solc
Sprawdzenie:
solcjs --version
Instalacja - macOS
Node.js:
brew install node
Solidity:
npm install --global solc
Sprawdzenie:
solcjs --version
Instalacja - Linux / Debian
sudo apt update
sudo apt install nodejs npm
sudo npm install --global solc
Sprawdzenie:
solcjs --version
Oficjalna dokumentacja opisuje także natywne binaria i inne metody instalacji:
https://docs.soliditylang.org/
Kompilacja
solcjs --bin --abi GuessNumber.sol
Powstaną m.in.:
- bytecode,
- ABI.
Sama kompilacja nie „uruchamia” kontraktu.
Do wykonania potrzebujesz EVM:
- Remix VM,
- lokalnego blockchaina,
- sieci testowej,
- prawdziwej sieci.
Zgadnij liczbę - wersja kontraktowa
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract GuessNumber {
uint8 private immutable secret;
constructor(uint8 _secret) {
require(_secret <= 100, "Secret must be 0-100");
secret = _secret;
}
function guess(uint8 number) public view returns (string memory) {
require(number <= 100, "Guess must be 0-100");
if (number < secret) {
return "Za malo!";
}
if (number > secret) {
return "Za duzo!";
}
return "Brawo!";
}
}
Ważne: blockchain nie ma naprawdę prywatnych danych
Słowo:
private
ogranicza dostęp z poziomu kontraktu, ale nie sprawia, że wartość staje się tajna dla świata.
Stan publicznego blockchaina można analizować.
Dlatego taka zgadywanka jest dobrym przykładem składni, ale kiepskim projektem prawdziwej gry wymagającej sekretu.
Interpreter, kompilator, VM i JIT - czym się różnią?
Po dwudziestu przykładach widać, że słowo „uruchomić program” może oznaczać bardzo różne rzeczy.
Kod natywny
C, C++, Go, Rust i Swift mogą zostać skompilowane do kodu wykonywanego bezpośrednio przez procesor:
kod źródłowy
|
v
kompilator
|
v
plik wykonywalny
|
v
CPU
Przykład:
gcc hello.c -o hello
./hello
Maszyna wirtualna
Java:
.java -> javac -> .class -> JVM
Kotlin i Scala bardzo często korzystają z tej samej JVM.
C# działa w ekosystemie .NET.
Elixir działa na BEAM.
Solidity działa na EVM.
JIT
JIT oznacza:
Just-In-Time Compilation
Fragmenty programu są kompilowane podczas działania.
Mechanizmy JIT występują m.in. w:
- JavaScript,
- JVM,
- .NET,
- Julii,
- Darcie.
Interpreter
Python, Ruby, PHP, R i Lua często nazywa się językami interpretowanymi.
To użyteczne uproszczenie, ale współczesne implementacje mogą po drodze używać:
- bytecode'u,
- maszyny wirtualnej,
- JIT,
- natywnych bibliotek.
Granica nie jest więc tak prosta jak:
kompilowany vs interpretowany
Ta sama logika, dwadzieścia składni
Każda nasza gra realizuje mniej więcej ten sam algorytm:
wylosuj liczbę 0-100
dopóki gracz nie zgadł:
pobierz wartość
jeśli wejście jest niepoprawne:
poproś ponownie
jeśli liczba jest mniejsza:
napisz "Za mało"
jeśli liczba jest większa:
napisz "Za dużo"
jeśli jest równa:
napisz "Brawo"
zakończ
To bardzo ważna obserwacja.
Po nauczeniu się programowania jako sposobu myślenia kolejny język oznacza zwykle poznanie:
- nowej składni,
- innego systemu typów,
- innego modelu pamięci,
- nowych bibliotek,
- nowego toolchainu,
- nowego sposobu budowania i wdrażania.
Sam algorytm pozostaje ten sam.
Jak rozpoznawać projekt po plikach?
Wchodzisz do nieznanego repozytorium. Zanim otworzysz kod, warto spojrzeć na pliki w katalogu głównym.
Python
pyproject.toml
requirements.txt
setup.py
*.py
Zobacz:
JavaScript / TypeScript
package.json
package-lock.json
pnpm-lock.yaml
yarn.lock
tsconfig.json
Zobacz:
Java
pom.xml
build.gradle
build.gradle.kts
C
Makefile
CMakeLists.txt
*.c
*.h
Zobacz:
C - czytanie, kompilacja i debugowanie
C++
CMakeLists.txt
*.cpp
*.hpp
C
*.csproj
*.sln
Go
go.mod
go.sum
*.go
Zobacz:
Rust
Cargo.toml
Cargo.lock
src/main.rs
src/lib.rs
Kotlin
build.gradle.kts
settings.gradle.kts
*.kt
Swift
Package.swift
*.swift
Dart
pubspec.yaml
*.dart
Ruby
Gemfile
Gemfile.lock
*.rb
R
*.R
DESCRIPTION
renv.lock
Scala
build.sbt
*.scala
Elixir
mix.exs
mix.lock
*.ex
*.exs
Solidity
*.sol
hardhat.config.*
foundry.toml
Samo rozpoznanie ekosystemu to już bardzo praktyczna umiejętność.
Które języki są do siebie podobne?
Rodzina składni C
Podobne nawiasy, operatory i wiele podstawowych konstrukcji znajdziesz w:
- C,
- C++,
- Java,
- C#,
- JavaScript,
- TypeScript,
- Go,
- Rust,
- Swift,
- Kotlin,
- Solidity.
To nie oznacza, że języki działają tak samo.
Oznacza tylko, że kod może na pierwszy rzut oka wyglądać znajomo.
JVM
Wspólną platformę wykorzystują m.in.:
- Java,
- Kotlin,
- Scala.
Mogą korzystać z ogromnego ekosystemu bibliotek JVM.
Web
Najczęściej spotkasz:
- JavaScript,
- TypeScript,
- PHP,
- Python,
- Ruby,
- Java,
- C#,
- Go,
- Elixir.
Systemy
Najbardziej charakterystyczna grupa:
- C,
- C++,
- Rust.
Go często stoi krok wyżej od sprzętu, ale jest bardzo mocny w narzędziach systemowych i infrastrukturalnych.
Mobile
- Kotlin - Android,
- Swift - platformy Apple,
- Dart - Flutter.
Dane i nauka
- Python,
- R,
- Julia,
- Scala.
Czy trzeba znać wszystkie?
Nie.
Dużo bardziej wartościowe jest dobre opanowanie kilku technologii niż powierzchowne nauczenie się dwudziestu języków.
Warto jednak rozpoznawać wszystkie.
Dzięki temu po zobaczeniu:
Cargo.toml
wiesz, że wszedłeś do projektu Rust.
Po zobaczeniu:
go.mod
wiesz, że to Go.
Po zobaczeniu:
mix.exs
wiesz, że to Elixir.
Po zobaczeniu:
pubspec.yaml
spodziewasz się Darta lub Fluttera.
To często wystarczy, żeby wiedzieć:
- czego szukać w dokumentacji,
- jaki toolchain zainstalować,
- jakiego polecenia build szukać,
- jakiego rodzaju błędów się spodziewać.
Gdyby zapamiętać tylko jedno zdanie o każdym
Python - prosty język o gigantycznym ekosystemie, szczególnie mocny w AI, danych i automatyzacji.
JavaScript - podstawowy język programowania przeglądarki, który wyszedł również na serwery.
TypeScript - JavaScript z typami i większą kontrolą nad dużym projektem.
Java - jeden z głównych języków wielkich systemów biznesowych i świata JVM.
C - język fundamentów systemów operacyjnych, embedded i bibliotek.
C++ - ogromna kontrola i wydajność za cenę dużej złożoności.
C# - współczesny język ekosystemu .NET, mocny w backendzie, biznesie i grach.
Go - prosty, kompilowany język świetny do backendu, CLI i infrastruktury.
Rust - język systemowy łączący wysoką wydajność z mocnym bezpieczeństwem pamięci.
PHP - jeden z filarów backendu WWW, który nadal obsługuje ogromną część internetu.
Kotlin - współczesny język JVM i jeden z podstawowych języków Androida.
Swift - podstawowy nowoczesny język platform Apple, działający również poza macOS.
Dart - język kojarzony przede wszystkim z wieloplatformowym Flutterem.
Ruby - dynamiczny język nastawiony na wygodę programisty, najbardziej znany z Rails.
R - wyspecjalizowane narzędzie do statystyki i analizy danych.
Scala - JVM połączona z mocnym programowaniem funkcyjnym i rozbudowanym systemem typów.
Lua - mały język świetny do osadzania wewnątrz innych aplikacji.
Julia - język obliczeń naukowych próbujący połączyć wygodę z dużą wydajnością.
Elixir - język do współbieżnych i odpornych systemów działających na BEAM.
Solidity - język smart kontraktów świata EVM.
Co z językami, których nie ma na liście?
Brak języka w tym zestawieniu nie oznacza, że jest martwy.
Assembly
Assembler zasługuje na osobny artykuł.
Nie istnieje jeden uniwersalny język Assembly. Kod zależy od architektury procesora, np.: - MOS 6502, - x86, - x86-64, - ARM, - RISC-V.
Assembler będzie trzecim artykułem tej serii.
Ada
Ada również dostanie osobny, rozbudowany materiał.
To język nadal używany tam, gdzie szczególnie ważne są:
- przewidywalność,
- bezpieczeństwo,
- możliwość dokładnej analizy programu,
- systemy safety-critical.
Ada będzie czwartym artykułem serii.
FORTRAN i COBOL
Oba języki nadal wykonują prawdziwą pracę.
Umieścimy je jednak w osobnym materiale historycznym, ponieważ ich znaczenie jest dużo większe niż obecna liczba nowych projektów.
Objective-C
Nadal występuje w ogromnej ilości istniejącego kodu Apple, ale w nowych projektach jego rolę w dużej mierze przejął Swift.
Perl
Perl ciągle występuje w starszych systemach i automatyzacji, lecz znacznie rzadziej wybiera się go do nowych aplikacji.
Zig
Zig jest ciekawym współczesnym językiem systemowym i warto go obserwować, ale jego ekosystem i rynek są nadal dużo mniejsze niż C, C++ czy Rust.
Dlaczego właśnie te 20?
Nie istnieje jeden obiektywny ranking języków programowania.
Różne zestawienia mierzą różne rzeczy:
- GitHub - aktywność w repozytoriach,
- Stack Overflow - deklaracje programistów,
- TIOBE - widoczność i obecność języka w różnych źródłach,
- RedMonk - połączenie danych o kodzie i dyskusjach programistycznych.
Dlatego zamiast pytać:
Który język jest dokładnie numerem 17?
lepiej zapytać:
Jakie języki powinienem rozpoznawać, żeby rozumieć współczesny krajobraz programowania?
I właśnie na to pytanie odpowiada ta lista.
Ściąga: instalacja na trzech systemach
| Język | Windows | macOS | Debian/Linux |
|---|---|---|---|
| Python | python.org / winget |
python.org / Homebrew | apt install python3 |
| JavaScript | Node.js installer | Homebrew / Node.js | apt install nodejs npm |
| TypeScript | npm | npm | npm |
| Java | JDK / Temurin | JDK / Homebrew | apt install default-jdk |
| C | MSVC / MSYS2 | Xcode CLT | apt install build-essential |
| C++ | MSVC / MSYS2 | Xcode CLT | apt install build-essential |
| C# | .NET SDK | .NET SDK | Microsoft repo + .NET SDK |
| Go | go.dev installer | go.dev / Homebrew | APT lub go.dev |
| Rust | rustup | rustup | rustup |
| PHP | windows.php.net | Homebrew | apt install php-cli |
| Kotlin | compiler ZIP / IDE | SDKMAN! / Homebrew | JDK + SDKMAN! |
| Swift | WinGet / installer | Xcode / swiftly | swiftly / official toolchain |
| Dart | Dart SDK / Flutter | Homebrew / Flutter | oficjalne repo APT |
| Ruby | RubyInstaller | Homebrew / rbenv | apt install ruby-full |
| R | CRAN | CRAN / Homebrew | apt install r-base |
| Scala | Coursier | Coursier | Coursier |
| Lua | binaria / MSYS2 | Homebrew | apt install lua5.4 |
| Julia | juliaup | juliaup | juliaup |
| Elixir | Erlang + Elixir | Homebrew | APT lub version manager |
| Solidity | Node.js + solcjs / Remix | Node.js + solcjs | Node.js + solcjs |
Dalsza nauka w TechHandbooku
Jeżeli po tym przeglądzie chcesz wejść głębiej:
- C - czytanie, kompilacja i debugowanie
- Go - czytanie kodu
- JavaScript - kompendium
- Node.js
- Python - podstawy
- Debian - shell
- Visual Studio Code
- GitHub
Oficjalne źródła
Stan materiału: wrzesień 2026.
- Python - https://www.python.org/
- Node.js - https://nodejs.org/
- TypeScript - https://www.typescriptlang.org/
- OpenJDK - https://openjdk.org/
- Eclipse Temurin - https://adoptium.net/
- GCC - https://gcc.gnu.org/
- LLVM/Clang - https://llvm.org/
- .NET - https://dotnet.microsoft.com/
- Go - https://go.dev/
- Rust - https://www.rust-lang.org/
- PHP - https://www.php.net/
- Kotlin - https://kotlinlang.org/
- Swift - https://www.swift.org/
- Dart - https://dart.dev/
- Ruby - https://www.ruby-lang.org/
- R - https://www.r-project.org/
- Scala - https://www.scala-lang.org/
- Lua - https://www.lua.org/
- Julia - https://julialang.org/
- Elixir - https://elixir-lang.org/
- Solidity - https://soliditylang.org/
Następne artykuły w serii
- 20 współczesnych języków programowania, które warto znać - ten artykuł.
- Stare języki programowania, które ukształtowały informatykę - FORTRAN, COBOL, ALGOL, BASIC, Pascal, Lisp, Smalltalk, Prolog, Forth, PL/I, Logo i inne.
- Assembler od podstaw - od rejestrów i pamięci do prawdziwego programu.
- Ada - język, w którym błędy mają być trudniejsze do popełnienia.