Język programowania - zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.
Najpopularniejsze języki programowania:
- C/C++
- Java
- Objecive-C
- C#
- PHP
- (Visual) Basic
- Python
- Perl
- JavaScript
- Ruby
Kompilacja - (w informatyce) tłumaczenie kodu z języka źródłowego na równoważny kod maszynowy. Kompilator - program tłumaczący cały kod źródłowy zapisany w języku programowania na język maszynowy.
Interpretacja - (w informatyce) translacja instrukcji programu na bieżąco do kodu maszynowego (lub innej formy pośredniej) i ich natychmiastowe wykonanie. Interpreter - program tłumaczący kod źródłowy linia po linii na język maszynowy.
Kompilacja dostarcza użytkownikowi program w postaci kodu maszynowego, a interpretacja - w postaci kodu interpretowanego. Teoretycznie program napisany w języku interpretowanym jest wykonywany dłużej niż program kompilowany. W dzisiejszych jednak czasach, takiej różnicy nie widać.
Języki programowania można podzielić ze względu na:
- paradygmat programowania - wzorzec programowania
- liniowe - BASIC, Fortran
- strukturalne - Pascal, C
- zdarzeniowe - Visual Basic
- obiektowe - C++, Object Pascal, Java
- generację języków programowania
- języki pierwszej generacji - języki maszynowe, czyli języki procesorów. Instrukcje zapisane są w postaci liczb binarnych.
- języki drugiej generacji - języki symboliczne, asemblery. Języki niskiego poziomu, pod względem składni tożsame z maszynowymi, z tą różnicą, że zamiast liczb używa się tu łatwiejszych do zapamiętania mnemonikonów.
- języki trzeciej generacji - języki wysokiego poziomu, proceduralne (imperatywne). W tych językach jedna instrukcja jest tłumaczona na kilka instrukcji procesora.
- języki czwartej generacji - języki bardzo wysokiego poziomu, nieproceduralne (deklaratywne). Korzystając z tych języków programista skupia się na problemie, a nie na sposobie jego rozwiązania. Semantyka wielu języków tej generacji przypomina składnię języka naturalnego. Przykład - język SQL.
- języki piątej generacji - języki sztucznej inteligencji, najbardziej zbliżone do języka naturalnego. Przykład - język PROLOG.
- sposób kontroli typów
- sposób wykonania (kompilacja, interpretacja)
- poziom języka programowania
- języki wysokiego poziomu, np. Pascal, C
- języki niskiego poziomu (poziom maszynowy),. np Assemblery
- przeznaczenie efektów pracy
- tworzenie aplikacji internetowych - Java, JS, PHP
- dostęp do baz danych - SQL
- obliczenia matematyczne - Fortran
- dydaktyczne - LOGO
- inne (uniwersalne) - Pascal, C/C++
- programowanie wizualne - Visual C, Visual Basic, Delphi
- opis danych - PostScript, HTML, XML
- tworzenie aplikacji współbieżnych - Ada, Occam
- przetwarzanie tekstu - PERL, REXX, Python
- programowanie sztucznej inteligencji - LISP, Prolog
- programowanie grafiki - OpenGL
'Kod w Basicu 10 PRINT "Witaj" 20 INPUT "Liczba gwiazdek do wyświetlenia: "; ile 30 PRINT "*" 40 LET ile = ile -1 50 IF ile > 0 THEN GOTO 30
#include <cstdlib> #include <iostream> uses namespace std; int main() { int c; cout << "Hello world!\n"; cin >> c; }
Ze względu na paradygmat programowania gdzie będzie Python?
Hm, należałoby go zakwalifikować, tak myślę: do obiektowych (w podziale wg paradygmatów), trzeciej generacji (wg generacji), wysokiego poziomu, uniwersalnych (wg przeznaczenia). Potwierdzałyby to informacje encyklopedyczne - choćby na stronie https://en.wikipedia.org/wiki/Python_(programming_language).