Linki:
100 p.n.e.,
150 p.n.e.,
Ada Lovelace,
Akademickie Mistrzostwa Polski w Programowaniu Zespołowym,
Algorytm,
Algorytmika,
Arabia Saudyjska,
Architektura von Neumanna,
Asembler,
Baza danych,
Bazaar,
Bill Gates,
C++,
COBOL,
C (język programowania),
C Sharp,
Charles Babbage,
Concurrent Versions System,
Debugowanie,
Delphi,
Demo (sztuka komputerowa),
Demoscena,
Dokumentacja programu,
Eclipse,
Fortran,
FreeBSD,
GNU,
Git (oprogramowanie),
Google,
Grecja,
Herman Hollerith,
Hipoteza Sapira-Whorfa,
IBM,
Inżynieria oprogramowania,
Internet,
Język angielski,
Język programowania,
Język skryptowy,
Językoznawstwo,
Java,
Joseph Marie Jacquard,
Kod źródłowy,
Kompilacja (informatyka),
Kompilator,
Komputer,
Konsolidacja (informatyka),
Krosno tkackie,
Krzywka (maszynoznawstwo),
Larry Ellison,
Larry Page,
Liczby Bernoulliego,
Linux,
Mainframe,
Maszyna analityczna,
Mechanizm z Antykithiry,
Microsoft,
Microsoft Visual Studio,
Mikrokontroler,
Mikroprocesor,
Model Driven Architecture,
Multimedia,
NetBSD,
Objective-C,
Olimpiada informatyczna,
Online judge,
Oracle Corporation,
PHP,
Paradygmat programowania,
Perl,
Program komputerowy,
Programista,
Programowanie (muzyka),
Programowanie hybrydowe,
Przepełnienie bufora,
Python,
Rapid Application Development,
Ruby (język programowania),
SAP AG,
Struktura danych,
Subversion,
Svk,
System kontroli wersji,
System operacyjny,
Testowanie oprogramowania,
Unified Modeling Language,
Valgrind,
Visual Basic,
World Wide Web,
Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego,
Wymagania systemowe,
Zintegrowane środowisko programistyczne,
Programowanie to proces projektowania, tworzenia, testowania i utrzymywania
kodu źródłowego programów komputerowych lub urządzeń
mikroprocesorowych (
mikrokontrolery). Kod źródłowy jest napisany w
języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji,
algorytmika,
struktury danych, znajomość
języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów
komputera. W
inżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.
Przemianowanie w
programowaniu to konstrukcja programistyczna dostępna w określonym
języku programowania polegająca na przypisaniu pewnemu, wcześniej zdefiniowanemu obiektowi występującemu w
kodzie źródłowym, nowej, dodatkowej nazwy (np.
identyfikatora). Stosowanie takiego zabiegu programistycznego ma w szczególności na celu skrócenie odwołań do
pól zawartych z złożonych strukturach danych, takich jak
struktury,
rekordy,
unie,
klasy itd., w przypadku zbyt rozbudowanych
selekcji. Pozwala na zwiększenie przejrzystości kodu źródłowego i ułatwia pisanie kodu.
Programowanie uogólnione (lub generyczne, z ang. generic programming) – jeden z
paradygmatów programowania. Programowanie uogólnione pozwala na pisanie
kodu programu bez wcześniejszej znajomości typów danych, na których kod ten będzie pracował. Obecnie wiele
języków programowania ma możliwość wykorzystywania uogólnień, np.
C++,
D,
Java oraz
Haskell.
Nawias syntaktyczny w
programowaniu, to element
składni określonego
języka programowania służący definiowaniu strukturalnych elementów kodu źródłowego, takich jak bloki czy
instrukcje strukturalne. Nawiasami syntaktycznymi w językach programowania są wybrane przez
autorów konkretnego języka programowania
słowa kluczowe, lub znaki
nawiasów (symbole). Zarówno w przypadku słów kluczowych jak i symboli, para nawiasów dla konkretnej konstrukcji, obejmuje słowo (lub symbol) otwierające oraz słowo (lub symbol) zamykające strukturę programową. Nawiasy syntaktyczne definiują takie elementy w
kodzie źródłowym, jak np. instrukcje strukturalne,
podprogramy,
moduły, definicje
typów strukturalnych (
struktury,
unie,
rekordy,
klasy itp.). Pośród języków programowania można wyróżnić języki, w których
Programowanie systemowe jest rodzajem programowania systemów oprogramowania. Główną cecha odróżniającą programowanie systemowe od aplikacyjnego jest to iż programowanie aplikacyjne tworzy oprogramowanie które świadczy usługi dla użytkownika (np.
edytor tekstu), natomiast programowanie systemowe służy stworzeniu oprogramowania które świadczy usługi sprzętowi komputerowemu (np.
defragmentator dysku) co wymaga dużej znajomości sprzętu i wewnętrznej budowy systemu komputerowego. W szczególności
Programowanie kontraktowe (
ang. Design by contract, DbC) – w
programowaniu, metoda organizowania
kodu źródłowego programu w taki sposób, aby wynikało z niego nie tylko jak program ma działać, ale też w jaki sposób zweryfikować poprawność działania konkretnych elementów programu (
funkcje,
struktury,
klasy,
moduły, itp.). Programowanie kontraktowe jest związane z
programowaniem obiektowym.
Język wysokiego poziomu (autokod) – typ
języka programowania, którego składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom
abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio „zrozumiały” dla komputera – większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu
kompilacji.
cpp ( C Preprocessor) jest
preprocesorem dla
języków C i
C++. Odpowiada za wstępną obróbką kodu źródłowego zanim rozpocznie się właściwy proces kompilowania. Jest jednak dość prostym narzędziem i w żaden sposób nie rozpoznaje składni języka przetwarzanego programu.
Feature Driven Development (FDD) to
metodyka programowania należąca do grupy metodyk lekkich
inżynierii oprogramowania (z których najbardziej znaną jest
Programowanie ekstremalne). Jej głównymi celami jest umożliwienie wytwarzania użytecznego oprogramowania w powtarzalny i efektywny sposób, zapewniając wiarygodne informacje o stanie projektu informatycznego do wszystkich jego uczestników, z minimalnym narzutem na pracę programistyczną.
Test jednostkowy (ang. unit test, test modułowy) to w
programowaniu metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu - np. metod lub obiektów w
programowaniu obiektowym lub procedur w
programowaniu proceduralnym. Testowany fragment programu poddawany jest testowi, który wykonuje go i porównuje wynik (np. zwrócone wartości, stan obiektu, wyrzucone wyjątki) z oczekiwanymi wynikami - tak pozytywnymi, jak i negatywnymi (niepowodzenie działania kodu w określonych sytuacjach również może podlegać testowaniu).
Przesłanianie w
programowaniu, to właściwość występująca w
językach programowania, polegająca na tym, iż
deklarowany i
definiowany w pewnym bloku (np.
podprogram,
instrukcja blokowa itp.) obiekt lokalny (np.
stała,
zmienna, podprogram itp.), o
nazwie (np.
identyfikatorze) identycznym z pewnym obiektem zewnętrznym (globalnym), staje się w tym bloku
widoczny i wszystkie odwołania występujące w
kodzie źródłowym realizowane za pomocą wybranej nazwy w obrębie tego bloku, są kierowane do obiektu lokalnego (element przesłaniający), natomiast obiekt zewnętrzny staje się w danym bloku niewidoczny, tzn. nie można się do niego odwołać wprost, za pomocą jego nazwy (element przesłaniany). Można się do obiektu globalnego odwołać jedynie za pomocą innych konstrukcji językowych, o ile są w danym języku programowania dostępne, takich jak
wskaźniki,
selekcje,
przemianowania,
nakładanie zmiennych, itp.. Nowo zdefiniowany obiekt lokalny przesłaniający element zewnętrzny, może mieć całkowicie inne znaczenie i
atrybuty – jest całkowicie nowym obiektem programu istniejącym niezależnie i w sposób niezwiązany z wcześniej utworzonym obiektem zewnętrznym. Charakterystyczną cechą elementów przesłaniających jest to, że ich czas istnienia jest krótszy niż elementu przesłanianego (pewnym wyjątkiem są elementy statyczne, np.
zmienna statyczna).
Operator relacji w
programowaniu –
operator dostępny w określonym
języku programowania (a także w innych
językach komputerowych), który działając na podanych
argumentach, w
wyniku zwraca wartość logiczną, określającą spełnienie bądź nie spełnienie reprezentowanej przez ten operator
relacji zachodzącej między zapodanymi argumentami. Wynikiem działania operatora relacji jest więc wartość reprezentująca zgodnie z zasadami obowiązującymi w składni danego języka programowania jedną z
wartości logicznych:
prawdę (true) lub
fałsz (false).
Nagłówek podprogramu, to fragment
kodu źródłowego stanowiący
deklaratywny opis
podprogramu, poprzedzający definicję bloku podprogramu zawierającego tworzony
algorytm. Zawiera on
identyfikator podprogramu, ewentualną listę
parametrów i jeżeli jest to w danym języku programowania wymagane deklarację ich
typów oraz sposobu przekazania skojarzonego z danym parametrem
argumentu do podprogramu w jego wywołaniu (np. ByVal, ByRef w Visual Basic; var w Pascalu). Może także obejmować
frazy opcjonalne lub wymagane zawierające odpowiednie deklaratory i
modyfikatory, w tym między innymi deklarację
typu danej zwracanej przez podprogram dla podprogramów funkcyjnych. Jeżeli
składnia danego języka przewiduje, to poprzedzony jest także odpowiednim
słowem kluczowym (np. procedure: m.in.
Icon,
Pascal,
PL/I; proc: m.in.
Comal, PL/I (opcjonalny
skrót); function: m.in. Pascal, Visual Basic,
Fortran; subroutine: m.in.
Fortran; sub: m.in. późniejsze
implementacje języka
Basic,
Visual Basic,
Pearl; entry: m.in. dodatkowe
ingresje do podprogramu w języku PL/I; property: m.in. Visual Basic; perform: m.in.
Cobol; def: m.in.
Ruby,
Python; lub innym przewidzianym w składni konkretnego języka programowania), choć w wielu językach takiego słowa kluczowego nie ma: m.in.
C,
C++ i pokrewne.
Implementacja (z
łac.) -
informatyczny proces przekształcania
abstrakcyjnego opisu systemu lub programu na obiekt fizyczny:
komputer lub działający program zapisany w konkretnym
języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego lub
kompilatora dla konkretnego typu komputera.
Separator (programowanie) – rodzaj
ogranicznika zdefiniowanego w składni określonego
języka programowania i stanowiącego element
kodu źródłowego rozdzielający w ciągu
znaków kodu źródłowego poszczególne
jednostki leksykalne.
Poezja kodu – styl
programowania, czyli pisania
programów komputerowych, który szczególny nacisk kładzie na
perfekcyjną znajomość zagadnienia oraz czytelność samego
kodu, tak by możliwa była jego łatwa modyfikacja i rozszerzanie.
Operator arytmetyczny w
programowaniu –
operator dostępny w określonym
języku programowania (a także w innych
językach komputerowych oraz w
programach komputerowych), który działając na podanych
argumentach reprezentujących wartości
liczbowe, w
wyniku zwraca również wyznaczoną wartość liczbową, realizując podstawowe operacje
arytmetyki.
Programowanie agentowe - kolejny poziom abstrakcji
programowania, wyższy od abstrakcji
programowania obiektowego. Polega on na tworzeniu
agentów (ang. Software Agent).