JĘZYKI PROGRAMOWANIA I ICH KLASYFIKACJA

Slides:



Advertisements
Podobne prezentacje
Programowanie obiektowe
Advertisements

Programowanie obiektowe
Wprowadzenie do C++ Zajęcia 2.
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
przetwarzaniu informacji
Rola komputera w przetwarzaniu informacji.
Informatyka Stosowana
CLR na platformie .NET Tomasz Kostarski.
Platforma .Net i Vs.Net.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 1: Wprowadzenie do programowania.
P O D S T A W Y P R O G R A M O W A N I A
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Systemy operacyjne.
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Wstęp do programowania obiektowego
Java – programowanie obiektowe
Zapis informacji Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Modele baz danych - spojrzenie na poziom fizyczny
Spis Treści Każdy użytkownik komputera ma do czynienia z programami - od systemów operacyjnych począwszy, poprzez całą masę różnych programów użytkowych,
Podstawy programowania
Witold Bołt Wprowadzenie do .NET Witold Bołt
Podstawy programowania
Podstawy programowania. Język C i C++– podstawy Temat: 1
Opracował : Przemysław Drzymała
Budowa systemu komputerowego
Informatyka MZT1 Wykład 3.
Programowanie obiektowe – zastosowanie języka Java SE
XML – eXtensible Markup Language
Maszyna wirtualna ang. virtual machine, VM.
Implementacja systemu
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Programowanie w języku C++
W ramach projektu edukacyjnego pt. „Kalejdoskop zawodów” pracę wykonał Dominik Grelak kl. 2 A Olecko, maj 2014.
Podstawy programowania
Metody numeryczne metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak.
C++.
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
System Zarządzania Bazą Danych
Temat 1: Ogólne cechy języka PHP
Procesor, pamięć, przerwania, WE/WY, …
Podstawy języka skryptów
Programowanie w językach skryptowych
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Wprowadzenie do programowania w Pascalu mgr inż. Agata Pacek.
Platforma .Net.
Podstawy programowania
Struktura systemu operacyjnego
Tryby adresowania i formaty rozkazów mikroprocesora
Dokumentacja programu komputerowego i etapy tworzenia programów.
Wstęp do programowania Wykład 1
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Podstawy programowania
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Wstęp do programowania
Strukturalny język zapytań SQL - historia
Programowanie obiektowe – zastosowanie języka Java SE
Podstawy programowania
NEMERLE Michał Maliszewski.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

JĘZYKI PROGRAMOWANIA I ICH KLASYFIKACJA Cel: Wprowadzenie do programowania: języki i ich charakterystyka. Uczeń wymienia najbardziej znane języki programowania, rozróżnia interpretery i kompilatory

Program. Język programowania Program - zapis algorytmu w języku programowania Program komputerowy - algorytm zapisany w języku programowania (zapisany na nośniku w postaci pliku źródłowego lub wykonywalnego). Język programowania: sformalizowany (zgodny z pewnymi regułami), zbliżony do języka naturalnego sposób zapisu algorytmu, tak aby był możliwy po kompilacji do wykonania przez komputer.

Język programowania Język programowania – jeden ze sposobów zapisu algorytmu. Sztuczny język (w odróżnieniu do języków naturalnych), pozwala na zapis zadania i sposobu jego wykonania przez komputer. Jest to zbiór zasad określających, kiedy ciąg symboli (opisujący np. obliczenia) tworzy program oraz jakie obliczenia opisuje. Język programowania określony jest przez podanie jego składni i semantyki - ścisłych zasad tworzenia - instrukcji, określających elementarne (w danym języku) operacje.

Programowanie Programowanie to pisanie ciągów instrukcji (programu), który ma wykonać właśnie procesor. Instrukcje te powinny być zapisane w postaci ciągów zer i jedynek, aby procesor był w stanie je poprawnie zinterpretować (zrozumiały dla procesora język zer i jedynek nazywamy językiem maszynowym).

Instrukcje dla procesora Instrukcje te powinny być zapisane w postaci ciągów zer i jedynek, aby procesor był w stanie je poprawnie zinterpretować Zrozumiały dla procesora język zer i jedynek nazywamy językiem maszynowym.

Język maszynowy Program w języku maszynowym, rozumianym przez komputer jest ciągiem cyfr binarnych – zer i jedynek. Program taki jest praktycznie nieczytelny dla człowieka. W praktyce do pisania instrukcji do bezpośredniego wykonania przez komputer używa się języka programowania niskiego poziomu tzw. asemblera.

Asembler Kodom instrukcji dla procesora odpowiadają symbole literowe. Są to skróty nazw czynności. Również adresy komórek mają nazwy literowe a kompilator zamienia je na adresy liczbowe Przykład: MOV AX DANE AX – rejestr procesora MOV – przesuń DANE – etykieta komórki pamięci z danymi do przeniesienia do rejestru AX

Programowanie w Asemblerze Programowanie w Asemblerze polega na pisaniu ciągu instrukcji w bardziej przyjazny dla człowieka sposób. Nie trzeba posługiwać się liczbami dwójkowymi, lecz krótkimi, z reguły trzyliterowymi poleceniami. Procesor nie potrafi jednak wykonać programu napisanego w Asemblerze. Trzeba program przetłumaczyć na postać binarną - maszynową Dlatego razem z opracowaniem Asemblera stworzono też specjalny program tłumaczący, który nazywamy kompilatorem

Kompilator, kompilacja Kompilator to program, który tłumaczy kod pewnego języka programowania na język maszynowy - ciąg zer i jedynek, które potrafi wykonać procesor. Proces tłumaczenia programu na język maszynowy nazywamy kompilacją.

Języki wysokiego poziomu Programista Asemblera nie musi już co prawda używać wyłącznie zer i jedynek, jednak programowanie w Asemblerze nadal jest trudne i wymaga dużej wiedzy i cierpliwości. Dla ułatwienia programowania wymyślono tak zwane języki wysokiego poziomu. Jednym z nich jest Pascal.

Programowanie w języku wysokiego poziomu – kod źródłowy Programowanie w języku wysokiego poziomu polega na zapisaniu ciągu instrukcji za pomocą zbliżonych wyrażeń zbliżonych do mowy człowieka ( z reguły jęz. angielskiego) – dzięki temu jest proste. Program napisany w języku wysokiego poziomu to tzw. kod źródłowy Aby móc taki program uruchomić, należy go najpierw skompilować (czyli przetłumaczyć na przykład z języka Pascal na język maszynowy).

Instrukcje W przypadku tzw. języków wysokiego poziomu (m.in. Algol, Fortran, Cobol, C, BASIC, Pascal, Logo, Lisp, Prolog) instrukcje budowane są z pewnej liczby słów angielskich, znaków operacji matematycznych i logicznych, stałych liczbowych oraz symbolicznych nazw zmiennych

Klasyfikacja języków programowania Języki programowania mogą być podzielone ze względu na: Paradygmat programowania Generację języka programowania Sposób kontroli typów. Sposób wykonywania (kompilacja, interpretacja). Poziom (języki niskopoziomowe są bardziej zbliżone pod względem budowy do działania sprzętu). Przeznaczenie.

Języki niestrukturalne, strukturalne, obiektowe Języki niestrukturalne - FORTH, BASIC Języki strukturalne (program budowany jest z mniejszych elementów: procedur, funkcji itp.), np. Pascal, C, FORTRAN Języki obiektowe (program składa się z obiektów, które posiadają właściwości i potrafią wykonywać operacje), np. C++, Java - języki zorientowane obiektowo.

Podział języków wg poziomu 1. Języki niskiego poziomu tzw. asemblery 2. Języki wysokiego poziomu, języki uniwersalne służące do rozwiązywania szerokiego zakresu problemów (Pascal, C, Logo, Basic, itd.) 3. Języki zorientowane problemowo, nastawione na wąski zakres problemów (HTML, PHP, VBA, dBase)

Języki wewnętrzne i zewnętrzne Języki programowania dzielimy na: języki wewnętrzne (binarne lub asemblery), języki zewnętrzne (FORTRAN, COBOL, PASCAL, C, BASIC, CLIPPER …).

Generacje języków Wewnętrzne (binarne lub asemblery), maszynowe, algorytmiczne (Pascal, częściowo C), języki czwartej generacji (w tym niektóre języki do tworzenia aplikacji na bazie danych np. SQL)

Pod względem stopnia zaawansowania: Języki pierwszej generacji - są to języki maszynowe, czyli języki procesorów. Instrukcje są w nich zapisywane w postaci liczb binarnych. Języki drugiej generacji - języki symboliczne, asemblery. Języki trzeciej generacji - języki wysokiego poziomu, proceduralne (imperatywne). Do tej grupy należą między innymi: FORTH, BASIC - języki niestrukturalne, Pascal, C, FORTRAN - języki strukturalne, C++, Java - języki zorientowane obiektowo. Języki czwartej generacji - języki bardzo wysokiego poziomu, nieproceduralne (deklaratywne). Przykładem języka z tej grupy jest: SQL. Języki piątej generacji - języki sztucznej inteligencji, języki systemów ekspertowych. Języki najbardziej zbliżone do języka naturalnego. Przykładem języka piątej generacji jest PROLOG.

Języki pierwszej generacji Języki pierwszej generacji - są to języki maszynowe, czyli języki procesorów. Instrukcje są w nich zapisywane w postaci liczb binarnych. Przykładowy kod programu: 111010100000000000001111111111111111100010011101100000000010100000001

Języki drugiej generacji 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 mnemoników. Przykładowy kod programu: jmp ffff:0 mov ax, bx add ax, 1 Pod względem znaczenia kod ten jest jednoznaczny z kodem binarnym przedstawionym w poprzednim punkcie (tylko dla procesorów z grupy 80x86).

Języki trzeciej generacji Języki wysokiego poziomu, proceduralne (imperatywne). W językach tych jedna instrukcja jest tłumaczona na kilka instrukcji procesora. Pierwszym językiem tego typu był ALGOL. Do tej grupy należą między innymi: FORTH, BASIC - języki niestrukturalne, Pascal, C, FORTRAN - języki strukturalne, C++, Java - języki zorientowane obiektowo. Przykładowy kod: if(!x) { printf("Nie wolno dzielić przez zero\n"); return 1; }

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 (języki zorientowane problemowo, task oriented languages). Syntaktyka wielu języków czwartej generacji przypomina składnię języka naturalnego. Języki te są one często używane do dostępu do baz danych. Przykładem języka z tej grupy jest: SQL. Przykładowy kod: SELECT Towar FROM „Faktura" WHERE Cena >= 500

Języki pod względem przeznaczenia Bazodanowe: dBase, Clipper, FoxPro, Access, Delphi, SQL-owe (np. Oracle). Ukierunkowanie na tworzenie aplikacji baz danych (zbiór informacji jednorodnych, łatwiej dopisywać informacje, dostosowanie do pracy w sieci, sortowanie) Obliczeniowe (naukowo techniczne, statystyka), np. Fortran (są biblioteki do grafiki), Pascal, C/C++ (ojciec Pascal, matka assembler), podobny do UNIXa, wykonuje instrukcje nie dyskutuje. Jest jakby językiem uniwersalnym, właściwości sieciowe. C++ cechuje obiektowość. Gorzej z zastosowaniami bazodanowymi, biblioteka funkcji matematycznych mniejsza niż w Fortranie. Specjalizowane: sztuczna inteligencja, systemy ekspertowe, przetwarzanie list, do symulacji procesów Języki typu "Visual" (np. Visual C++, C#, Visual Basic, Delphi)

Języki strukturalne, obiektowe Języki niestrukturalne Języki strukturalne (program budowany jest z mniejszych elementów: procedur, funkcji itp.), np. Pascal Języki obiektowe (program składa się z obiektów, które posiadają właściwości i potrafią wykonywać operacje), np. C+

Implementacja (kodowanie) W fazie implementacji następuje proces kodowania (pisania oprogramowania w konkretnym języku), projekt zostaje zaimplementowany w konkretnym środowisku programistycznym oraz wykonywane są testy poszczególnych modułów. Wydzielenie modułów funkcji Wstępne testowanie (debugger) Dokumentacja techniczna dla programisty. Komentuje algorytm a nie instrukcje. Opis procedur, funkcji, danych we/wy Kompilacja, usunięcie błędów (kod max zbliżony do ANSII, nie ignorować ostrzeżeń)

Program- zapis algorytmu może mieć postać: źródłową - w pewnym języku programowania kodu pośredniego - ciąg instrukcji wykonywanych przez interpreter binarną - skompilowana - ciąg instrukcji do wykonania bezpośredniego przez procesor

Interpretery Interpretery – interpretują program a nie kompilują. Tłumaczą program w następujący sposób: pobierają jedną instrukcję programu tłumaczą na język maszynowy dają procesorowi do wykonania powracają do pkt. 1. Językami interpretowanymi są na przykład: BASIC, SQL, JavaScript.

Plusy i minusy interpretera Aby uruchomić program zapisany w języku interpretowanym należy zawsze posiadać interpreter, bez niego program po prostu nie będzie działać. W związku z tym jeżeli chcemy sprzedać komuś program napisany w języku interpretera należy sprzedać go razem z interpreterem. Programy zapisane w języku interpretowanym działają powoli, np. jeżeli w programie jakaś instrukcja ma być wykonywana tysiąc razy to interpreter będzie ją tysiąc razy tłumaczył. Dobrą stroną interpreterów jest fakt, że programy napisane w ich językach charakteryzują się bardzo dużą przenośnością. To znaczy, że program napisany np. na komputerze PC na 99% będzie działał na komputerach iMac - należy mieć odpowiedni interpreter dla iMac-a

Kompilatory Kompilatory działają w następujący sposób: tłumaczą cały program zapisują przetłumaczony program w pamięci komputera lub na dysku Program po przetłumaczeniu (skompilowaniu) przez kompilator jest gotowy do wykonania. Językami kompilowanymi są na przykład: Pascal, C, C++, Asembler, COBOL, itp.

Plusy i minusy kompilatorów Programy skompilowane wykonują się szybciej niż interpretowane (nie muszą być na bieżąco tłumaczone), mają postać np. COM, EXE jako pliki wykonywalne. Nie potrzeba kompilatora aby uruchomić program MINUSY Negatywną cechą kompilatorów jest przenośność programów. Programy skompilowane za pomocą kompilatora są w większości nieprzenośne, np. program napisany dla komputera iMac nie będzie działał na komputerze PC. Aby program zadziałał na innym rodzaju komputera należy program na tym komputerze skompilować.

Elementy języka programowania Na język programowania składa się kilka elementów: Składnia: Rodzaje dostępnych symboli – alfabet języka. Semantyka języka programowania definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie – gramatyka języka programowania. Definiuje znaczenie poszczególnych sekwencji znaków Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

Typy danych Większość języków posiada typy danych do reprezentowania: Liczb całkowitych w różnych zakresach. Liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności) Ciągów tekstowych. Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania.

Biblioteki standardowe Dla większości języków zdefiniowana biblioteka standardowa zawierająca podstawowy zestaw funkcji pozwalających realizować wszystkie najważniejsze operacje, np.: Obsługę wejścia-wyjścia. Obsługę plików. Obsługę wielowątkowości. Zarządzanie pamięcią. Podstawowe typy danych oraz funkcje do zarządzania nimi. Operacje na ciągach tekstowych.

Podsumowanie koncepcji języków programowania W pamięci komputera program jest przechowywany jako kod maszynowy, będący instrukcjami dla konkretnego procesora. Instrukcje te przechowywane są w systemie zero-jedynkowym – język maszynowy. Dla ułatwienia programowania niskopoziomowego utworzono asembler (assembler), którego rozkazy odpowiadają bezpośrednio instrukcjom procesora, jednak zapisywane są w bardziej zrozumiałej dla nas formie. Później powstały języki interpretowane nie mające już tak bliskiego związku z procesorem, ale nadal podobnie jak asembler stanowiące jeden ciąg instrukcji. Przykładem takiego języka może być ogólnie znany Basic (GWBasic, Qbasic, inne). Jedna instrukcja języka drugiej generacji, może być tłumaczona na kilka, kilkadziesiąt a czasem więcej instrukcji procesora. Języki kolejnej generacji, np. Pascal, rozwinęły koncepcję programowania o możliwość podzielenia programu na moduły wykonujące różne operacje wchodzące w jego skład. Następną generację języków programowania tworzą tak zwane języki obiektowe, np. Delphi, Visual Basic, C++.

Najpopularniejsze języki programowania Java C C++ PHP Visual Basic C# Python Perl Objective-C Delphi

Basic BASIC (Beginner's All-purpose Symbolic Instruction Code) - język programowania wysokiego poziomu, opracowany w 1964 przez Johna George'a Kemeny'ego i Thomasa E. Kurtza w Dartmouth College w oparciu o Fortran i Algol-60. Założenia projektantów BASIC-a uwzględniały łatwość użytkowania, wszechstronność zastosowań, interaktywność i dobrą komunikację z użytkownikiem poprzez jasne komunikaty błędów. BASIC wybił się na czoło języków do zastosowań amatorskich i półprofesjonalnych po wprowadzeniu na rynek mikrokomputera Altair 8800. BASIC szybko zaimplementowany został przy budowie serii komputerów Apple, a później jako GW BASIC w IBM Następcą GW BASIC-a dla komputerów PC został QB, później rozprowadzany komercyjnie jako QuickBASIC, który w końcu wyewoluował w Visual Basic for Windows. Istnieją też alternatywne interpretery i kompilatory tego języka dla platformy win32 (Power BASIC, DarkBASIC itp.). Wersja darmowa to np. JustBASIC. Just BASIC is a programming language for the Windows operating system. It is completely free and it is suitable for creating all kinds of applications for business, industry, education and entertainment. Just BASIC borrows many features from our popular commercial product, Liberty BASIC.

TURBO PASCAL Turbo Pascal to bardzo popularny język programowania, zorientowany na naukę programowania strukturalnego. Pascal powstał w 1971 roku, kiedy to Niklaus Wirth opublikował pierwszy artykuł o nim, jego upowszechnienie nastąpiło po roku 1974. Język Pascal miał służyć przede wszystkim do nauki programowania strukturalnego, tj. programowania dużych systemów tzw. metodą "z góry na dół", czyli określania dużych elementów poprzez elementy niższego rzędu, aż do końcowych elementów programowych realizujących określone funkcje. Pascal jest on dobry do nauki podstaw programowania. Zyskał on dużą popularność dzięki prostej i ścisłej składni oraz czytelnej budowie programu, która łatwo może być modyfikowana. Turbo Pascal, został wprowadzony na rynek w 1983 roku przez amerykańską firmę Borland International Inc.

C/C++ Język C opracował i zrealizował w latach siedemdziesiątych Dennis Ritchie jako narzędzie do stworzenia systemu operacyjnego Unix. C jest językiem strukturalnym i zajmuje on miejsce pomiędzy typowymi językami wysokiego poziomu jak Pascal, Basic lub FORTRAN, a asemblerami. Dużą popularność język C zawdzięcza m.in. nowoczesnemu sterowaniu, prostocie wyrażeń oraz nowoczesnym strukturom danych i wielkiemu bogactwu operatorów. Zaletą C jest jego "zorientowanie maszynowe" np. typy int, char, double float, pointer są tłumaczone prawiew stosunku 1:1 na konstrukcje kodu maszynowego Obiektowa wersja C, czyli C++, została opracowana przez Bjarne Stroustrup'a z AT&T Bell Laboratories. C++ jest językiem strukturalnym z dodatkowymi konstrukcjami umożliwiającymi programowanie obiektowe i usprawniającymi składnię proceduralną. Język ten zyskał popularność ponieważ daje programiście możliwość tworzenia spójnego, szybkiego i niezawodnego kodu.

Paradygmaty programowania Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Jak to się ma do programowania? Greckie παράδειγμα oznacza wzorzec bądź przykład. Chodzi tu zbiór mechanizmów, jakich programista używa, pisząc program, i o to, jak ów program jest następnie wykonywany przez komputer. Paradygmat programowania to ogół oczekiwań programisty wobec języka programowania i komputera, na którym będzie działał program.

Pardygmaty programowania - rodzaje Programowanie imperatywne Programowanie obiektowe Programowanie funkcyjne Programowanie w logice Programowanie strukturalne Programowanie sterowane przepływem danych Programowanie sterowane zdarzeniami Programowanie współbieżne

Programowanie imperatywne: zmienne struktura blokowa wiązanie statyczne i dynamiczne organizacja wywołań podprogramów przydział pamięci na stosie i na stercie przykłady z języków Ada, C, Pascal

Programowanie obiektowe: klasy jako abstrakcyjne typy danych dziedziczenie późne (dynamiczne) wiązanie wywołań polimorfizm szablony i klasy rodzajowe przykłady z języków C++, Java, C#, Ada 95, Smalltalk

Programowanie funkcyjne: funkcje jako model programowania rachunek lambda dopasowywanie wzorca nadawanie typów rekursja leniwa ewaluacja funkcje wyższego rzędu przykłady z języków Lisp, Scheme, ML, Haskell

Programowanie w logice: rachunek predykatów w Prologu rezolucja listy

Języki wg różnych kryteriów wieloparadygmatowe : Ada • Clojure • Common Lisp • D • Icon • Lua • Nemerle • PHP • Python • Ruby • Scala • Snobol proceduralne i strukturalne : AWK • C • COBOL • Forth • Fortran • Modula-2 • Oberon • Pascal • Perl • PLEX • PL/SQL • REXX  obiektowe: ActionScript • C++ • C++/CLI • C# • Delphi • Delphi.NET • Delphi Prism • Eiffel • Java • JavaScript • Object Pascal • Objective-C • Oxygene • Smalltalk • VB.NET Funkcyjne: Clojure • Erlang • F# • Haskell • Lisp • ML • OCaml • Scheme Logiczne: Prolog edukacyjne : Comal • Logo • Small Basic historyczne : ALGOL • APL • BASIC • Clascal • Clipper • JAS • Lisp • MUMPS • PLAN • PL/I • PL/M • SAKO • SAS (asembler) • Simula inne : ABAP • Asembler • C-- • GAUSS • Lustre • MCPL • occam • QCL • SAS 4GL • SQL • Visual Basic

Języki programowania szeroko rozumiane - kategorie: skryptowe (np.: skrypty powłoki systemu operacyjnego) obsługi stron internetowych - po stronie serwera (np.: PHP, JSP) obsługi stron internetowych - po stronie klienta (np.: JavaScript, JScript, VBScript, ActionScript) opisu dokumentów (np.: HTML, TeX) opisu danych (np.: XML) przetwarzania tekstu i danych (np.: AWK, Perl) programowania baz danych (np.: PL/SQL) ogólnego przeznaczenia (np.: C++, C#, Delphi, Java, Assembler)