Droga Czytelniczko, Drogi Czytelniku,

Czerniak złośliwy jest często występującym nowotworem złośliwym skóry. Niestety wyniki leczenia czerniaka w Polsce należą do najgorszych w Europie. Niezrozumiałe pozostają przyczyny późnego rozpoznawania czerniaka skóry, którego diagnostyka jest najprostszą i najtańszą w całej onkologii.

Kierujemy do Ciebie prośbę o wypełnienie anonimowej ankiety, która pozwoli na ocenę naszej wiedzy o czerniaku skóry, a w szczególności o profilaktyce i leczeniu tej choroby.
Czas jaki to zajmie - około 10-15 minut.

Czy chcesz pomóc w badaniach naukowych - odpowiedzieć na nasze pytania?

TAK, wypełniam
NIE, odmawiam

Zebrane informacje wykorzystane zostaną wyłącznie do celów naukowych
Polski Serwis Naukowy - OnLine od 1999 roku RSS RSS
  auto?
Dodaj do: 
Dodaj link do serwisu Facebook   Dodaj link do opisu GG  Dodaj link do serwisu Wykop   Dodaj link do serwisu Google   Dodaj link do serwisu Twitter  Dodaj link do serwisu Wyczaj.to   Dodaj link do serwisu Gwar   Dodaj link do serwisu Delicious  Dodaj link do serwisu Digg   Dodaj link do serwisu Furl   Dodaj link do serwisu Magnolia  Dodaj link do serwisu Reddit   Dodaj link do serwisu Simpy   Dodaj link do serwisu Slashdot  Dodaj link do serwisu Technorati   Dodaj link do serwisu YahooMyWeb
Warto przeczytać:
 
Czwarte, europejskie sympozjum nt. Lisp, Hamburg, Niemcy
W dniach 31 marca - 1 kwietnia 2011 r. w Hamburgu, Niemcy, odbędzie się czwarte, europejskie sympozjum nt. Lisp. Lisp to rodzina języków programowania z długą historią i charakterystyczną, w pełni pozamykaną w nawiasy składnią. Powstała w 1958 r. i obejm...
 
Deklaratywne aspekty programowania wielordzeniowego, Austin, USA
Dnia 23 stycznia 2011 r. w Austin, USA, odbędzie się konferencja pt. "Deklaratywne aspekty programowania wielordzeniowego". Wielu producentów chipów wybiera wielordzeniowość jako sposób na zapewnienie wydajności swoim procesorom do zastosowań biurowych, przemysł...
 
25. warsztaty nt. programowania logicznego, Wiedeń, Austria
W dniach 28 - 30 września 2011 r. w Wiedniu, Austria, odbędą się 25. warsztaty nt. programowania logicznego. Programowanie deklaratywne to zaawansowany paradygmat modelowania i rozwiązywania złożonych problemów. Zainteresowanie tą metodą specyfikacyjną wzra...
 
"Siła programowania - rozwojowe źródła zdrowia i choroby", Monachium, Niemcy
W dniach 6-8 maja 2010 r. w Monachium, Niemcy, odbędzie się konferencja pt. "Siła programowania - rozwojowe źródła zdrowia i choroby". Żywienie w czasie ciąży i niemowlęctwa może wywrzeć istotne, długoterminowe skutki na rozwój i zdrowie. Programowanie skutków żywienia we w...
 
25. europejska konferencja nt. programowania obiektowego, Lancaster, Wlk. Brytania
W dniach 25 - 29 lipca 2011 r. w Lancaster, Wlk. Brytania, odbędzie się 25. europejska konferencja nt. programowania obiektowego. Program wydarzenia koncentrować się będzie wokół sympozjum doktoranckiego i warsztatów dla doktorantów. Zapewnią one początkującym i zaawansowanym dok...

Reklama:


Lisp

To hasło encyklopedii posiada podstrony: 1 [2],[3]

Czy wiesz że...?
Rekursja ogonowa (albo rekurencja prawostronna) to rekursja, po której nie następuje już powrót do funkcji. Stosując taką rekursję można w ogóle nie używać stosu - jest równie wydajna jak imperatywna pętla.

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 niemieckim i greckim spełnia rolę narzędnika na zasadzie tzw. synkretyzmu przypadków.

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 - Stevea 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 wiele się zmienił w porównaniu ze swoimi początkami. W historii istniało wiele dialektów Lispu; dziś do najpopularniejszych należą trzy - Common Lisp , Scheme i Clojure.

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

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

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.

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.

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 albo rekursja (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. Wbrew próbom rozróżnienia terminów [potrzebne źródło] rekursja i rekurencja w rzeczywistości słowa te mają identyczne znaczenie[potrzebne źródło].

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

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.

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.

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.

Pierwszą implementację Lispu opracował Steve Russel na komputerze IBM 704. Russel 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.

Rachunek lambda to system formalny używany do badania zagadnień związanych z podstawami matematyki jak rekurencja, definiowalność funkcji, obliczalność, podstawy matematyki np. definicja liczb naturalnych, wartości logicznych, itd. Rachunek lambda został wprowadzony przez Alonzo Churcha i Stephen Cole Kleene w 1930 roku.
Komputer (z ang. computer od łac. computare – obliczać, dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

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.

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.
MULTICS to system operacyjny, który został zaprojektowany przez zespół złożony z pracowników Massachusetts Institute of Technology (MIT), firmy General Electric (której oddział komputerowy został później sprzedany firmie Honeywell) i firmy Bell Laboratories (która zaniechała rozwijanie projektu w 1969 r.).

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 in., oznaczający akcent samogłoski krótkiej o intonacji opadającej.
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 były rodziną 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.

    Clojure - nowoczesny dialekt języka programowania Lisp opracowany przez Richa Hickeya. Jest to język ogólnego przeznaczenia, wspierający modyfikację uruchomionego programu i zachęcający do programowania funkcyjnego oraz współbieżnego.
    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).

    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.

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

    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.

    Instancja (z łac. instantia) to w programowaniu obiektowym wystąpienie, początek bytu obiektu określonej klasy. Instancja oznacza konkretny obiekt istniejący w pamięci operacyjnej.
    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.

    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.

    Microsoft Windows (ang. okna, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina kilku systemów operacyjnych wyprodukowanych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
    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.

    Dialekty

    Dwoma głównymi dialektami Lispu ogólnego przeznaczenia aktualnie są Common Lisp i Scheme. Języki te reprezentują znacząco różne podejścia projektowe.

    Common Lisp, bazujący głównie na Maclispie, InterLisp i dialektach z maszyn lispowych, jest poszerzonym nadzbiorem wcześniejszych dialektów, z szeroką specyfikacją, obejmującą wiele wbudowanych typów danych i form syntaktycznych, jak również system obiektowy.

    Scheme reprezentuje podejście minimalistyczne, ze znacznie mniejszym zbiorem standardowych funkcji, ale za to z określonymi cechami implementacyjnymi (jak na przykład optymalizacja rekursji ogonowej czy pełne kontynuacje), które niekoniecznie mogą być dostępne w Common Lispie. CL zapożyczył również pewne cechy ze Scheme jak na przykład leksykalny zasięg czy leksykalne domknięcie.

    Lush jest objektowym 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).
    Preprocesorprogram interpretujący, którego zadaniem jest przetworzenie tekstu wejściowego w sposób określony za pomocą poleceń preprocesora przez programistę na tekst wyjściowy. Dopiero tak przetworzony tekst poddawany jest analizie składniowej i kompilacji. Wynikiem działania preprocesora jest więc tekst wyjściowy po przetworzeniu podlegający następnie kompilacji.

    Poza tym, dialekty Lispu są używane jako języki skryptowe w aplikacjach, z czego najbardziej znanymi są:

  • Emacs Lisp w Emacsie,
  • AutoLISP w AutoCADzie,
  • TinyScheme w Gimpie,
  • Nyquist w Audacity.
  • Nowe dialekty Lispa to:

  • Arc,
  • Nu,
  • Clojure.
  • Wpływ na świat programowania

    Lisp był pierwszym językiem, w którym kod źródłowy był również strukturą danych używaną przez język – w tym przypadku listą. Umożliwiło to wprowadzenie makr (których nie należy mylić z prostymi makrami podstawieniowymi znanymi na przykład z preprocesora C), których zadaniem jest tworzenie kodu źródłowego podczas interpretowania (lub kompilacji) programu – makra to zatem programy piszące programy. Pozwalają one na pisanie eleganckiego kodu na wyższym poziomie abstrakcji i zredukowanie jego ilości.

    Program komputerowy (. 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).
    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.

    Konstrukcja if-then-else, współcześnie uznawana za konieczny element każdego języka programowania, została wymyślona przez McCarthy'ego dla Lispu w bardziej ogólnej formie (jako konstrukcja cond). Pomysł został skopiowany i spopularyzowany przez Algola. Lisp wprowadził również koncepcję dynamicznego typowania i mechanizm garbage collection.

    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 (unikalny klucz, wartość) i umożliwia dostęp do wartości poprzez podanie klucza.

    Lisp wpłynął na Alana Kaya, który prowadził badania nad Smalltalkiem, by następnie ulec wpływowi Smalltalka przez wprowadzenie cech programowania obiektowego (klasy, metody itd.) pod koniec lat 70.

    Głównie ze względu na wymagania systemowe Lisp nie zyskał takiej popularności poza społecznością badającą SI jak na przykład Fortran czy C. Nowsze języki, takie jak Java czy Ruby oferują część jego cech, mimo tego nie jest możliwe spójne zaimplementowanie dla nich wszystkich cech Lispu. W ostatnich latach wiodące implementacje Lispu zaczęły dorównywać wydajnością kompilatorom popularnych języków, w tym przewyższając o rzędy wielkości wydajność popularnych języków skryptowych [7], głównie ze względu na przejmowanie cech Lispu (GC, dynamiczne typowanie, refleksja) przez względnie "popularne" języki.

    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.
    Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.

    Zobacz też "The evolution of Lisp", artykuł autorstwa Guya Steele'a Jr. i Richarda Gabriela.

    czytaj dalej: [2], [3]




    Czy wiesz że...? beta

    Narzędnik (łac. instrumentalis) - forma używana m.in. dla określenia narzędzia (naprawił telewizor śrubokrętem, przyjechałem pociągiem), sposobu w jaki coś się dzieje (osiągnąłem to sprytem) itp. Przy czasownikach oznaczających rządzenie oznacza dopełnienie bliższe (dyrygent kieruje orkiestrą), przy niektórych innych dopełnienie dalsze (Maria handluje kwiatami). Łączy się z niektórymi przyimkami, np. z, pod, nad.
    Common Lisp (często skracane do CL) – dialekt języka programowania Lisp, stworzony przez ANSI (X3.226-1994) jako specyfikacja, nie implementacja. Istnieje kilka implementacji, zarówno zamkniętych, jak i dostępnych jako FOSS. Common Lisp jest wieloparadygmatowym językiem programowania ogólnego przeznaczenia, skupiającym się na programowaniu funkcyjnym, pozwalając jednak stosować obiektowość, co daje programiście dużą swobodę.
    Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.
    Communications of the ACM (CACM) – flagowy miesięcznik Association for Computing Machinery (ACM), wydawany od 1957 i rozsyłany do wszystkich członków ACM.
    Instrukcja - w programowaniu jest to najmniejszy samodzielny element, imperatywnego języka programowania. instrukcja może być niskiego poziomu napisana w asemblerze np. mov ax,bx która po przetłumaczeniu na kod binarny nadaje się do uruchomienia przez procesor lub instrukcja wysokiego poziomu napisana np. w języku C np. int a = 5; która zostanie przetłumaczona na kilka instrukcji niskiego poziomu. Program jest tworzony jako zbiór różnych instrukcji. Instrukcja może zawierać wewnętrzne komponenty (np. wyrażenia).
    Scheme to funkcyjny język programowania, dialekt (wariant) Lispu, którego główną ideą jest minimalizm. Oznacza to, że sam język zawiera jedynie podstawowe mechanizmy, a na ich bazie, już z użyciem Scheme, tworzone są bardziej zaawansowane rozwiązania. Scheme nie jest czysto funkcyjnym językiem programowania, co oznacza, że dopuszczalne są efekty uboczne obliczeń. Scheme umożliwia również tworzenie programów w stylu proceduralnym i obiektowym. Jest to język o dynamicznym systemie typów. Zarządzanie pamięcią jest w pełni automatyczne.
    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.
    Powyższa treść oraz zamieszczone w niej powiązane definicje/pojęcia - udostępniane są na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń. Zobacz szczegółowe informacje o warunkach korzystania

    Wszystkie hasła znajdujące się w naszym mirrorze Wikipedii mają znaczenie informacyjne i edukacyjne.
    Nie mogą być traktowane jako porady.