• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Lisp



    Podstrony: 1 [2] [3] [4] [5] [6]
    Przeczytaj także...
    Perl – interpretowany język programowania autorstwa Larry’ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.Rekurencja ogonowa, zwana też Tail call lub prawostronną jest rodzajem rekurencji, w której ostatnia operacja wykonywana przez funkcję to rekurencyjne wywołanie samej siebie lub zwrócenie końcowego wyniku. Taka funkcja może zostać łatwo zamieniona na iterację, zarówno ręcznie, jak i automatycznie, co redukuje wielkość stosu oraz zwiększa wydajność. Ta technika iteracyjnego wykonywania obliczeń jest powszechna w programowaniu funkcyjnym promującym używanie rekurencji, która w przeciwnym wypadku zajęłaby cały dostępny stos.

    Lisp – rodzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthiego na MIT w 1958 roku. Pierwszym interpreterem języka Lisp była implementacja funkcji eval wykonana przez studenta McCarthiego - Steve'a Russella. Lisp jest drugim z kolei pod względem wieku językiem programowania wysokiego poziomu pozostającym w użyciu (starszy jest tylko Fortran). Podobnie jak Fortran, Lisp ulegał na przestrzeni czasu licznym zmianom. Powstało również wiele jego dialektów. Dziś do najpopularniejszych należą trzy: Common Lisp , Scheme i Clojure.

    Celownik (łac. dativus) – forma używana jako dopełnienie dalsze (Kasia dała Ali prezent) oraz do oznaczania celu pożytku lub szkody (np. dzieci zepsuły mu telewizor - mu nie dotyczy tu bezpośrednio akcji, a jedynie jej skutków). W języku polskim odpowiada na pytania: komu? czemu?. W języku niemieckim i greckim spełnia rolę narzędnika na zasadzie tzw. synkretyzmu przypadków.Atari, właść. Atari Inc. – przedsiębiorstwo branży informatycznej, swojego czasu znaczący uczestnik rynku komputerowego przemysłu rozrywkowego. Tworzyło automaty wideo, domowe konsole wideo i komputery osobiste.

    Lisp powstał jako wygodna matematyczna notacja dla programów komputerowych, oparta na rachunku lambda stworzonym przez Alonzo Churcha. Szybko został najchętniej wybieranym językiem do badania i rozwoju sztucznej inteligencji. Wywodzi się z niego wiele technik programistycznych, takich jak struktury drzewiaste, odśmiecanie pamięci, dynamiczne typowanie czy nowe koncepcje w programowaniu obiektowym (Common Lisp Object System).

    xkcd – komiks internetowy tworzony przez Randalla Munroe’a, absolwenta Christopher Newport University, który pracował jako kontrahent dla NASA.Kod bajtowy (ang. bytecode) – nazwa reprezentacji kodu używanej przez maszyny wirtualne oraz przez niektóre kompilatory. Kod składa się z ciągu instrukcji (których kody operacji mają zwykle długość jednego bajta, stąd nazwa), które nie odpowiadają bezpośrednio instrukcjom procesora i mogą zawierać instrukcje wysokiego poziomu (takie jak np. stwórz obiekt klasy X, połącz dwa łańcuchy itd.), jednak w przeciwieństwie do kodu źródłowego wymagają analizy tylko pojedynczych poszczególnych operacji.

    Nazwa Lisp pochodzi od LISt Processing. Podstawową strukturą danych w Lispie jest lista; kod źródłowy programów w Lispie składa się z list. W wyniku tego programy w Lispie mogą manipulować kodem źródłowym jak zwykłą strukturą danych. Umożliwia to pisanie makr, pozwalających programiście tworzyć nową składnię lub nawet małe zagnieżdżone w Lispie języki.

    Typ – w językach programowania opis rodzaju, struktury i zakresu wartości, jakie może przyjmować dany literał, zmienna, stała, argument, wynik funkcji lub wartość.Usenet (ang. USEr NETwork – sieć użytkowników) to ogólnoświatowy system grup dyskusyjnych, z którego można korzystać przez Internet. Składa się on z tysięcy grup tematycznych, ułożonych w strukturę hierarchiczną. Wiadomości przypominające pocztę elektroniczną użytkownicy wysyłają do serwerów Usenetu, a serwery tworzące sieć P2P automatycznie wymieniają je między sobą. Czasem wiadomości są nazywane postami, z angielskiego to post – wywiesić informację, skąd a post – wiadomość umieszczona w Usenet.

    Kod tworzony jako struktura danych sprawia, że Lisp ma charakterystyczną składnię. Cały kod źródłowy ma postać tzw. S-wyrażeń (S-expressions), czyli list otoczonych nawiasami. Wywołanie funkcji, makra lub formy specjalnej ma postać listy, której pierwszym elementem jest nazwa funkcji, a następnymi elementami – jej argumenty. Na przykład funkcję o nazwie f z argumentami a, b i c wywołuje się za pomocą kodu (f a b c).

    Grupa dyskusyjna – w Internecie to ogólna nazwa wszelkich form dyskusji internetowej przypominających wymianę korespondencji, a nie rozmowy w czasie rzeczywistym. Grupy dyskusyjne przyjmują formę list dyskusyjnych pozwalających na automatyczną wymianę e-maili, grup Usenetowych, grup występujących w Fidonecie i forów dyskusyjnych dostępnych przez bramki WWW.Rekurencja, zwana także rekursją (ang. recursion, z łac. recurrere, przybiec z powrotem) to w logice, programowaniu i w matematyce odwoływanie się np. funkcji lub definicji do samej siebie.

    Spis treści

  • 1 Historia
  • 1.1 Wczesna historia
  • 1.2 Genealogia i odmiany
  • 1.2.1 Ważne historycznie dialekty
  • 1.3 Powiązania ze sztuczną inteligencją
  • 1.4 Od 2000
  • 2 Dialekty
  • 3 Wpływ na świat programowania
  • 4 Składnia i semantyka
  • 4.1 Wyrażenia lambda
  • 4.2 Atomy
  • 4.3 Komórki cons i listy
  • 4.3.1 S-wyrażenia jako reprezentacja list
  • 4.3.2 Funkcje przetwarzające listy
  • 4.3.3 Dzielone struktury
  • 4.4 Ewaluowanie form i cytowanie
  • 4.5 Zasięg i domknięcia
  • 4.6 Kod źródłowy jako lista
  • 4.7 Ewaluacja i REPL
  • 4.8 Struktury kontrolne
  • 4.9 Przykłady
  • 5 Funkcje wyższego rzędu
  • 6 Makra
  • 7 Systemy obiektowe
  • 8 Lisp w kulturze
  • 8.1 Cytaty
  • 8.2 Komiksy
  • 9 Zobacz też
  • 10 Przypisy
  • 11 Bibliografia
  • 12 Linki zewnętrzne
  • Gregory John Chaitin (ur. 15 listopada 1947) to argentyńsko-Amerykański matematyk i informatyk. Od końca lat 60., Chaitin wniósł wkład do algorytmicznej teorii informacji oraz metamatematyki, prowadząc badania nad twierdzeniem Gödla o niezupełności. Jest uważany za jednego z twórców tzw. złożoności Kołmogorowa (lub Kołmogorowa-Chaitina), wspólnie z Andriejem Kołmogorowem oraz Rayem Salomonoffem. Obecnie jego algorytmiczna teoria informacji jest przedmiotem nauczania w trakcie niemal każdego kursu z zakresu informatyki.Larry Wall (ur. 27 września 1954 roku w Los Angeles) – amerykański programista komputerowy, twórca języka skryptowego Perl oraz takich programów jak: patch, rn, metaconfig (patrz: polecenia systemu operacyjnego Unix).

    Historia[]

    Lisp został wymyślony przez Johna McCarthy'ego w 1958 podczas jego pobytu na MIT. W roku 1960 McCarthy opublikował swój projekt w Communications of the ACM, w artykule pod tytułem "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" (Rekursywne funkcje wyrażeń symbolicznych i ich maszynowe obliczanie, część I; części II nigdy nie opublikowano). Pokazał, że za pomocą kilku operatorów i notacji dla funkcji można zbudować język implementujący maszynę Turinga.

    IPL (Information Processing Language) - język programowania opracowany w latach 1954 - 1956 przez zespół w składzie: A. Newell, C. Shaw i H. Simon. Język ten przeznaczony był do przetwarzania operacji symbolicznych. Konstruowano w tym języku m.in. programy dowodzące twierdzenia i gry w szachy.Funkcja wyższego rzędu (ang. higher-order function) - w informatyce jest to funkcja, która zwraca lub przyjmuje jako argument inne funkcje. Tego rodzaju funkcje są powszechnie stosowane w językach funkcyjnych, jak SML, Ocaml, Haskell, jak również w Pythonie i Javascripcie. Aby można było tworzyć funkcje wyższego rzędu, funkcje muszą być typem pierwszoklasowym.

    Pierwszą implementację Lispu opracował Steve Russell na komputerze IBM 704. Russell przeczytał artykuł McCarthy'ego i doszedł (ku zdziwieniu McCarthy'ego) do wniosku, że funkcję eval można zaimplementować jako interpreter Lispu.

    Pierwszy kompletny kompilator Lispu stworzony w Lispie napisali w 1962 Tim Hart i Mike Levin na MIT. W kompilatorze tym wprowadzono model kompilacji przyrostowej (ang. incremental compilation), dzięki czemu funkcje kompilowane i interpretowane nie były rozróżniane. Język użyty przez Harta i Levina był dużo bliższy nowoczesnemu stylowi Lispu niż wcześniejszy kod McCarthy'ego.

    Podcasting, podcast, spolszczone: podkasting, podkast to forma internetowej publikacji dźwiękowej lub filmowej, najczęściej w postaci regularnych odcinków, z zastosowaniem technologii RSS.Asymptotyczne tempo wzrostu jest miarą określającą zachowanie wartości funkcji wraz ze wzrostem jej argumentów. Stosowane jest szczególnie często w teorii obliczeń, w celu opisu złożoności obliczeniowej, czyli zależności ilości potrzebnych zasobów (np. czasu lub pamięci) od rozmiaru danych wejściowych algorytmu. Asymptotyczne tempo wzrostu opisuje jak szybko dana funkcja rośnie lub maleje, abstrahując od konkretnej postaci tych zmian.

    Wczesna historia[]

    Information Processing Language był pierwszym językiem zaprojektowanym do tworzenia sztucznej inteligencji i już zawierał kilka pomysłów, które później zostały użyte w Lispie, jak na przykład przetwarzanie list czy rekurencja.

    Oryginalna notacja McCarthy'ego używała M-wyrażeń, które potem były przetwarzane na S-wyrażenia, na przykład M-wyrażenie car[cons[A,B]] jest równoznaczne z S-wyrażeniem (car (cons A B)). Gdy tylko Lisp został zaimplementowany, programiści szybko porzucili M-wyrażenia na rzecz S-wyrażeń. M-wyrażenia powróciły na chwilę w MLISPie autorstwa Horace'a Enea i CGOLu autorstwa Vaughana Pratta.

    Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.Common Lisp Object System (CLOS) - zorientowane obiektowo rozszerzenie do Common Lisp, oparte na funkcjach ogólnych, dziedziczeniu wielokrotnym, kombinacji metod deklaracyjnych i protokole metaobiektowym. Pochodna CommonLoops, oparta na opracowanym przez Symbolics języku FLAVORS (Lisp z funkcjami obiektowymi) i LOOPS (Lisp Object-Oriented Programming System) firmy Xerox.

    Dwa makra asemblera na maszynie IBM 704 stały się podstawowymi operacjami do przetwarzania list: car (Contents of Address Register) i cdr (Contents of Decrement Register). Różne dialekty Lispu wciąż używają nazw car i cdr dla funkcji zwracających odpowiednio pierwszy element i resztę listy.

    Genealogia i odmiany[]

    Przez ponad 50 lat powstało wiele różnorakich dialektów Lispu – języka ze składnią złożoną z S-wyrażeń. Co więcej, część dialektów miało kilka implementacji – Common Lisp, na przykład, posiada ich ponad tuzin.

    Przepełnienie stosu - w oprogramowaniu komputerowym występuje, gdy rozmiar stosu przekroczy ilość pamięci zarezerwowanej dla niego. Maksymalny rozmiar stosu jest zwykle ograniczony i ustalany na początku działania programu i zależy od języka programowania, komputera i ilości dostępnej pamięci, najczęściej jest rzędu 1 MB. Skutkiem przepełnienia stosu, gdy nie przygotowano programu na tę okoliczność jest nagłe przerwanie jego działania. Do przepełnienia stosu dochodzi gdy wywoływane jest zbyt wiele funkcji (które ciągle wywołują kolejne) albo gdy funkcja potrzebuje zbyt wiele pamięci na zmienne lokalne.AutoLISP - język programowania, odmiana języka Lisp, która jest dołączana do programu komputerowego AutoCAD, służącego do komputerowego wspomagania projektowania. Ma on na celu ułatwić użytkownikowi rozszerzenie funkcji tego programu (np. wielokrotne powtarzanie rysowania danych elementów).

    Różnice między poszczególnymi dialektami mogą być znaczące – Common Lisp i Scheme używają na przykład różnych słów kluczowych do definiowania funkcji. Jednak wewnątrz dialektu takie różnice nie występują, każda zgodna implementacja obsługuje ten sam zestaw funkcji, poza którym często oferuje dodatkowe rozszerzenia i biblioteki.

    Grawis (akcent ciężki, akcent słaby) – znak diakrytyczny używany w językach: greckim, katalońskim, wietnamskim, norweskim, portugalskim, francuskim, walijskim, włoskim i innych, oznaczający akcent samogłoski krótkiej o intonacji opadającej. Nazwą gravis określa się również sam taki akcent.W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów - wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”.

    Ważne historycznie dialekty[]

  • LISP 1.5 [2] – Pierwsza szeroko rozprzestrzeniona wersja, stworzona przez McCarthy'ego i innych pracowników MIT. Zawierała trochę ulepszeń w stosunku do oryginalnego interpretera "LISP 1", nie była jednak całkowicie nowa, jaka miała być wersja "LISP 2", zatem zdecydowano się na taki właśnie numer wersji.
  • Stanford LISP 1.6 [3] – Wersja następna po LISP 1.5 stworzona w Stanford AI Lab i szeroko rozprzestrzeniona pod systemem TOPS-10 na maszynach PDP-10. Została zastąpiona przez Maclisp i InterLisp.
  • MACLISP [4] – stworzony dla "Projektu MAC" w MIT (bez związku z Apple Macintosh ani z McCarthym), bezpośredni spadkobierca LISP 1.5. Działał na PDP-10 pod Multicsem. (MACLISP później został przemianowany na Maclisp, często bywa również nazywany MacLispem).
  • InterLisp [5] – stworzony w BBN Technologies na komputery PDP-10 działające z systemem Tenex, później zaadoptowany dla maszyn Lispu Xeroxa. Mała wersja zwana "InterLISP 65" została wydana dla komputerów marki Atari bazujących na procesorze MOS 6502. Przez pewien czas Maclisp i InterLisp były w równie szerokim użyciu.
  • Franz Lisp – początkowo projekt Berkeley, później zaimplementowany przez Franz Inc. Nazwa jest żartobliwą deformacją imienia "Franz Liszt". Nazwa "Franz Lisp" nie odnosi się do Allegro Common Lisp, odmiany Common Lispu sprzedawanej przez Franz Inc. w ostatnim czasie.
  • ZetaLisp – używany na maszynach Lispowych, bezpośredni następca Maclispu.
  • Emacs Lisp - używany jako język rozszerzeń edytora Emacs.
  • Common Lisp (1984), opisany w Common Lisp: The Language – połączenie kilku różnych podejść (ZetaLisp, Spice Lisp, NIL i S-1 Lisp) do stworzenia następcy Maclispu z pewnymi wpływami ze Scheme. Ta wersja Common Lispu była dostępna na wiele platform i uznawana za standard do czasu pojawienia się specyfikacji ANSI Common Lisp (ANSI X3.226-1994).
  • EuLisp – próba stworzenia nowego, wydajnego i oczyszczonego z historycznego bagażu dialektu Lispu.
  • ISLisp – jw. Ustandaryzowany jako ISO/IEC 13816:1997 i później skorygowany w ISO/IEC 13816:2007 – Information technology – Programming languages, their environments and system software interfaces – Programming language ISLISP.
  • IEEE Scheme – standard IEEE, 1178-1990 (R1995).
  • ANSI Common Lisp – specyfikacja American National Standards Institute (ANSI) Common Lispu, stworzona przez podkomisję X3J13, która rozpoczęła pracę[6] wychodząc od Common Lisp: The Language jako dokumentu bazowego i działała na zasadzie publicznego konsensusu co do zagadnień przenośności i kompatybilności implementacji Common Lispu. Pomimo iż formalnie jest to standard ANSI, implementacje, sprzedaż, wykorzystanie i wpływ ANSI Common Lispu było i jest widoczne na całym świecie.
  • Powiązania ze sztuczną inteligencją[]

    Od swoich początków Lisp był blisko powiązany ze społecznością badającą i rozwijającą sztuczną inteligencję, szczególnie na PDP-10. Lisp został użyty w implementacji języka programowania Micro Planner, który był podstawą znanego systemu SI SHRDLU. W latach 70., gdy badania nad AI rozwinęły się również po stronie komercyjnej, wydajność istniejących systemów Lispu stawała się coraz ważniejszym problemem.

    XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.PDP-10 – rodzina komputerów klasy mainframe produkowanych przez DEC. Nazwa oznacza "Programmed Data Processor model 10". Była to pierwsza maszyna, na której dzielenie czasu stało się powszechną praktyką. Maszyna ta odegrała istotną rolę w historii społeczności hakerskiej między innymi ze względu na użycie jej w projektach laboratorium sztucznej inteligencji MIT i Uniwersytetu Stanforda, jak również Computer Center Corporation i Carnegie Mellon University.

    Lisp był trudny do implementacji na zwykłych kompilatorach i sprzęcie dostępnym w 1970. Garbage collection, stworzone przez Daniela Edwardsa, wpłynęło na użyteczność Lispu na sprzęcie obliczeniowym ogólnego przeznaczenia, ale wydajność wciąż była problemem. Doprowadziło to do stworzenia maszyn lispowych: dedykowanego sprzętu do uruchamiania środowisk i programów w Lispie. Postęp w dziedzinie sprzętu komputerowego, jak również w kompilatorach wkrótce sprawił, że maszyny lispowe stały się przestarzałe, co zaszkodziło rynkowi Lispu.

    Tablica w informatyce to kontener danych dostępnych, w którym poszczególne komórki dostępne są za pomocą kluczy, które najczęściej przyjmują wartości numeryczne. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne).Kompatybilność wsteczna − cecha standardu, urządzenia lub oprogramowania, dzięki której - mimo zmiany funkcjonalności - nowa wersja umożliwia współpracę z całym otoczeniem starej wersji i jej wszystkimi komponentami. Mówi się wtedy o rozszerzeniu funkcjonalności.

    W latach 80. i 90. włożono duży wysiłek w zunifikowanie wielu dialektów Lispu (szczególnie dialektów InterLisp, Maclisp, ZetaLisp, i Franz Lisp) w pojedynczy język. Nowy język, Common Lisp był istotnie kompatybilnym podzbiorem dialektów, które zastępował. W 1994, ANSI opublikowało specyfikację Common Lispu, "ANSI X3.226-1994 Information Technology Programming Language Common Lisp". W tamtym czasie światowy rynek Lispu był dużo mniejszy niż obecnie.

    Definicja intuicyjna: Maszyna Turinga stanowi najprostszy, wyidealizowany matematyczny model komputera, zbudowany z taśmy, na której zapisuje się dane i poruszającej się wzdłuż niej „głowicy”, wykonującej proste operacje na zapisanych na taśmie wartościach.Instancja (z łac. instantia) - pojedyncze wystąpienie niezależnego bytu zgodnego z danym wzorcem. Najpopularniejszym przykładem jest instancjowanie klas w programowaniu obiektowym, czyli tworzenie obiektów (niezależnych bytów danej klasy, zajmujących określone miejsce w pamięci). Innym przykładem jest instancja danego programu, czyli wystąpienie w pamięci komputera aktualnie wykonywanej sekwencji kodu komputerowego.

    Od 2000[]

    Po spadku popularności w latach 90. wywołanym m.in. upowszechnieniem się C++ i silnym marketingiem Javy, jak również brakiem dobrych i wolnych implementacji Lispu, Lisp doświadcza wzrostu zainteresowania od roku 2000. Większość aktywności skupia się wokół stworzenia open source'owych implementacji Common Lispu i zawiera rozwój nowych przenośnych bibliotek i aplikacji. Zainteresowanie to można częściowo zmierzyć przez sprzedaż papierowej wersji książki Practical Common Lisp autorstwa Petera Seibela, wstępu do CL dla nowych programistów Lispu, opublikowanej w 2004 roku. Była ona drugą co do popularności książką o programowaniu na Amazon. Aktualnie dostępna jest za darmo w internecie. Można również zauważyć zwiększoną frekwencję na związanych z Lispem konferencjach i aktywność na powiązanych grupach.

    Silnią liczby naturalnej n (w notacji matematycznej: n!, co czytamy „n silnia”) nazywamy iloczyn wszystkich liczb naturalnych nie większych niż n. Oznaczenie n! wprowadził w 1808 roku Christian Kramp.Google Groups – serwis umożliwiający przeglądanie grup dyskusyjnych Usenetu i przeszukiwanie ich archiwum oraz tworzenie własnych list dyskusyjnych, zwanych tu również grupami, które znajdują się na serwerze Google. Serwis został uruchomiony 17 lutego 2001 roku na bazie archiwum grup dyskusyjnych nabytego od firmy Deja News. Zasięg archiwum poszerzono wstecz do 1981 r., dodając zbiory z prywatnych źródeł. Od 11 listopada 2002 dostępny w języku polskim.

    Wielu nowych programistów Lispu zostało zainspirowanych przez wypowiedzi takich postaci jak Paul Graham czy Eric S. Raymond by spopularyzować język uznawany za przestarzały. Nowi programiści zwykle opisują język jako dający nowe spojrzenie na programowanie i twierdzą, że dzięki temu stali się dużo bardziej wydajni niż w innych językach. Wpływ na odzyskiwanie popularności przez Lisp mógł mieć również komentarz Petera Norviga, autora książek Paradigms of AI Programming: Case Studies in Common Lisp i Artificial Intelligence: A Modern Approach lub Phillip Greenspun, który odniósł sukces biznesowy używając Lispu.

    Steve Russell (ur. 1937 w Hartford w stanie Connecticut) – amerykański programista i projektant gier komputerowych, znany jako autor pierwszego interpretera Lisp oraz gry Spacewar!.Lush jest obiektowym językiem programowania, przeznaczonym głównie dla naukowców i inżynierów tworzących duże aplikacje numeryczne lub graficzne. Dużym atutem tego języka jest jego elastyczność i możliwość używania w nim fragmentów kodu czy funkcji napisanych w innych językach (C, C++). Łączy w sobie elastyczność języków skryptowych wysokiego poziomu z szybkością działania silnie typowanych języków kompilowanych (np. C).


    Podstrony: 1 [2] [3] [4] [5] [6]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Preprocesor – w programowaniu – to program komputerowy, którego zadaniem jest przetworzenie kodu źródłowego, w sposób określony przez programistę za pomocą dyrektyw preprocesora, na kod wyjściowy – tak przetworzony kod źródłowy poddawany jest następnie analizie składniowej i kompilacji.
    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).
    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.
    Lista - struktura danych służąca do reprezentacji zbiorów dynamicznych, w której elementy ułożone są w liniowym porządku. Rozróżniane są dwa podstawowe rodzaje list: lista jednokierunkowa w której z każdego elementu możliwe jest przejście do jego następnika oraz lista dwukierunkowa w której z każdego elementu możliwe jest przejście do jego poprzednika i następnika.
    Alan J. Perlis (ur. 1 kwietnia 1922 w Pittsburgh, Pensylwania, zm. 7 lutego 1990) - specjalista nauk komputerowych, pierwszy laureat Nagrody Turinga w 1966 r.
    Tablica asocjacyjna (tablica skojarzeniowa, mapa, słownik, ang. associative array, map, dictionary) – nazwa dla powszechnie stosowanego w informatyce abstrakcyjnego typu danych, który przechowuje pary (unikatowy klucz, wartość) i umożliwia dostęp do wartości poprzez podanie klucza.
    Uniwersytet Kalifornijski w Berkeley (University of California, Berkeley), skrótowo nazywany UC Berkeley lub po prostu Berkeley czy Cal – najstarszy i najważniejszy spośród dziesięciu kampusów Uniwersytetu Kalifornijskiego. Położony w Berkeley w Kalifornii nad Zatoką San Francisco.

    Reklama

    Czas generowania strony: 0.139 sek.