Programowanie

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 programowaniuoperator 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 programowaniuoperator 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).



       na podstawie Wikipedii, otwartej encyklopedii : licencje: GFDL, oraz CC-BY-SA 3.0 + autorzy, historia
edycja