|
|
Historia języków ... programowania, Z cyklu pt.: "z kącika informatyka"
|
|
|
|
Czołem!
W XX wieku po horrorze I-szej a później II-iej wojny światowej - Europejska część znanego nam świata - na jakiś czas się opamiętała... Historia dotyczy nie tylko niszczenia i zabijania - ale również tworzenia i urodzin. O tyle o ile daty urodzin tego czy tamtego króla jakoś lubimy zapamiętywać - o tyle daty związane z tworzeniem są jakby mniej ciekawe...
Ponieważ na naszym Forum nie zauważyłem niczego podobnego - postanowiłem w kilku cyklach "z kącika informatyka" - przybliżyć historię jak najbardziej nam współczesną a związaną z powstaniem i rozwojem informatyki.
Na pierwszy ogień pójdzie - historia języków programowania komputerów. Postaram się w sposób chronologiczny przedstawić najważniejsze fakty związane z ich rozwojem.
Teraz należy wam się jednak trochę tytułem wprowadzenia. Językiem programowania który istniał "od zawsze" tj. od czasu powstania maszyny liczącej - był tak zwany "język maszynowy". Można wysunąć twierdzenie - że w już w liczydle - językiem maszynowym - był właśnie sposób przesuwania suwaków w celu uzyskania wyników obliczeń. Język ten do dziś dnia jest wykonywany przez wszystkie komputery i maszyny liczące. Oczywiście dla różnych maszyn (i ich procesorów) język maszynowy jest inny. Jest to również język niezmiernie trudny do zrozumienia i opanowania przez człowieka - możecie sobie go wyobrazić jako ciąg następujących po sobie impulsów elektrycznych lub ich braku - w kolejności coś oznaczającej dla procesora komputera. Przykładowo, jeśli za 1 - uznamy jakiś poziom napięca elektrycznego, a za 0 - uznamy brak tego napięcia, to poniższy ciąg zer i jedynek mógłby być zapisem języka maszynowego jakiegoś współczesnego procesora. 10010110101010010111001010101100101000111010100101010111010111101010010011110101 01000000101010101110101001101010101 Prawda że czytelne? W związku z powyższą "czytelnością" - wymyślono język(i) wysokiego poziomu oraz ich kompilatory (lub interpretery) czyli programy, które sprowadzają język wysokiego poziomu do postaci języka maszynowego i pozwalają je wykonać procesorom/komputerom. O językach wysokiego poziomu (poziomu zrozumiałego przez człowieka) właśnie będę opowiadał.
Listopad 1954 - powstaje Fortran. Język ten utworzył zespół prowadzony przez Johna Backusa w firmie IBM. Jego pierwotnym preznaczeniem był komputer IBM 740. Przy okazji powstania Fortrana - Backus stworzył notację BNC. Fortran jest uznawany także w lini prostej za "przodka" Algola oraz jednego z "przodków" PL/I. Październik 1956 - powstaje następna wersja Fortranu - Fortran I . 1957 - powstaje: Fortran II (kolejna wersja) - powstaje: B-0 - pierwszy język do przetwarzania danych używający słów podobnych do j. angielskiego. Twórcą tego języka jest Grace Hopper. 1958 - powstaje: Algol 58 - za ojca Algola uważa się ponownie Johna Bacusa. Część rozwiązań w Algolu Bacus wziął z Fortana - stąd za "ojca" uważa się Fortran. - B-0 przekształcony zostaje w nowy język: Flow-Matic. Powstaje jego kompilator i dokumentacja - po czym zostaje udostępniony komercyjnie (dla kompów UNIVAC). - powstaje: LISP . Stworzył go John McArthy na uniwersytecie MIT. Pierwszą implementację tego języka dla maszyny IBM-a (ponownie 704-ka) zrobił Steve Russell (tak tak! ten właśnie Russell!) - powstaje: Fortran III (kolejna wersja w końcówce '58-mego) 1959 - powstaje: Cobol. W języku tym stworzonym w ramach pracy tzw. The Short Range Commitee (ze zlecenia Pentagonu) użyto wielu istniejących rozwiązań z Flow-Matica. Za autorów Cobola uznaje się 6-ciu ludzi: William Selden i Gertruda Tierney z IBM-a, Howard Bromberg i Howard Discount z RCA, Vernon Reeves i Jean E. Sammet z Sylvania Electric Products. Cobol jest językiem przeznaczonym do obliczeń biznesowych i finansowych. Używany jest np. przez Banki - do dziś dnia, tylko że w znacznie zmodyfikowanej postacji. - powstaje: Lisp I (kolejna wersja)
Ciąg dalszy (ze względu na późną porę) jutro... Postaram sie opisać lata 60-te a może i zajdę później...
Zachęcam was również do dyskusji na temat języków programowania - być może ktoś z was wie coś więcej o językach już wspomnianych przez mnie?
Pozdrawiam
|
|
|
|
|
|
|
|
A kiedy powstał Basic, notabene jedyny język programowania który umiem? Zaczynałem od Atari Basica, a on chyba powstał na poczatku lat 80 -tych ? A co było wczesniej?
|
|
|
|
|
|
|
|
BASIC powstał w 1964 roku - i dzisiaj o nim będzie na pewno - bo mam nadzieję opisać wszystkie j. programowania w latach 60-tych i 70-tych...
Pozdrawiam
|
|
|
|
|
|
|
|
No więc - jadziem dalej!
1960 - powstaje: APL. Oficjalna wersja brzmi: "Autorem jest Ken Iverson z kolegami z IBM" - nieoficjalnie - sama notacja stworzona przez tego samego Inversona i wykorzystana później powstala w 1957 na uniwerku Harvarda. APL to język programowania macierzy - nie tych "macierzy" do których się powraca... tylko matematycznych macierzy. - kolejna wersja: Algol 60 - w tej postaci Algol funkcjonuje aż przez 8 lat - a różnica między jego poprzednią wersją jest znaczna (na korzyść nowej wersji) 1961 - kolejna wersja: Cobol 61. Twórcy Cobola najwyraźniej pozazdrościli Algolowi - więc stworzyli ulepszoną wersję Cobola - nazywając jego kolejną wersję (taki trend w tamtych czasach) liczbą pochodzącą od daty udostępnienia. 1962 - kolejna wersja: powstaje Fortran IV - kolejna wersja: tym razem twórcy Cobola pozazdrościli Fortranowi, powstaje: Cobol 61 Extended... - kolejna wersja: LISP 1.5 - zwróćcie uwagę na numerację wersji. Ta wlaśnie a nie pochodząca od liczby roku - będzie stosowana coraz powszechniej. - powstaje: SNOBOL - język chcialoby się rzec dla snobów Powstaje w Bell Laboratiores - a tworzą go: D.J. Farber, R.E. Griswold, and F.P. Polensky. Jest to pierwszy język specjalizowany do operacji na lańcuchach - zaczynają się prace nad jednym z najpotężniejszych (jak do tej pory!) języków programowania... o tym już za chwileczkę - w roku 63-cim. 1963 - powstaje: CPL. Wszyscy informatycy na świecie poczuli w tym momencie mrowienie w karku i trzęsienie ziemi w Pakułowicach. Combined Programming Language powstaje jako wspólne dzielo Laboratorium Matematycznego Uniwerku Cambridge oraz Jednostki Komputerowej Uniwerku London. CPL w pewnych dziedzinach wzorowal się na Algolu 60. Choć prace trwaly od 1960-ego (a tak naprawdę od 1962-go), to po raz pierwszy dokumenty opublikowano wlaśnie w 1963. Christopher Strachey jest uznawany przez jednych za twórcę tego języka za innych zaś tylko za szefa polączonego zespolu obydwóch Uniwerków. "CPL, CPL - no i co z tego? Przecież takie coś dziś nie istnieje!" - powiedzą niektórzy... "Cierpliwości, dojdziemy i do tego"... odpowiem... 1964 - powstaje: PL/I. No tak - znowu wszystko przez IBM-a. Wymyślili system pierwszego uniwersalnego mainframe'a System/360. Do tej pory naukowcy i np. biznesmeni używali nie dość, że różnych maszyn - to jeszcze różnych języków programowania. Stąd PL/I zaczerpnąl pelnymi garściami z: Fortranu (naukowcy), z COBOL-a (biznesmeni) a żeby bylo mamlo - to jeszcze z Algol-a (konstrukcje programowania strukturalnego). Powstal "kombajn" który np. Intel używal do oprogramowywania takich procków jak: 8080, 8085 czy Z-80 (dziś młodzież dodała by przedrostek: "kultowe procki!"). Generalnie pierwszy potężny jezyk dla mainframe'a. - powstaje: BASIC. W tworzeniu maczali palce: John George Kemeny i Thomas Eugene Kurtz z Dartmouth College. Chcieli umożliwić studentom "poza-naukowym" i "poza-matematycznym" korzystanie z komputera. Co im się udalo, chociaż powstalo tyle różnych dialektów BASIC-a (do dziś dnia!), że glowa mala. Jednym z tych dialektów jest Atari BASIC z lat 80-tych o którym już wspominal T34. - kolejna wersja: SNOBOL 2 (dla snob(ol)ów) - powstaje: Simula I . Kamień milowy w rozwoju języków, a właściwie praprzodek nowoczesnych rozwiązań w językach obiektowych. Twórcami byli Ole-Johan Dahl i Kristen Nygaard z Norweskiego Centrum Komputerowego z Oslo. Większoć rozwiązań zaczerpnęli z Algola 60 - jednak dodali kilka rzeczy rewolucyjnych: objekt, klasę, metody wirtualne i takie tam inne jeszcze... 1965 rok posuchy... no nie dokońca: - kolejna wersja: COBOL (bez znacznika wersji! powrót do korzeni?) - kolejna wersja: SNOBOL 3 1966 - powstaje: MUMPS. Ciekawa nazwa nieprawdaż? Tak. Mumps był wykorzystywany do pisania baz danych dla szpitali - generalnie w służbie zdrowia (niestety - nie polskiej). AUtor: Neil Pappalardo z Labolatorium Zwierząt Ottoo Barnett'a w Szpitalu Generalnym Massachusetts w Bostonie. Widać panu od zwierząt się nudziło - kolejna wersja: Fortran IV - uzyskała dodatkowe rozszerzenie o nazwie: Fortran IV 66 ANS - powstaje: ISWIM. jedyny niezaimplementowany jezyk programowania. Ale z opisu abstrakcyjnego czerpały inne języki powstałe później - stąd wart odnotowania. Twórća tej abstrakcyjnej formuły był Peter J. Landin. 1967 - CPL ewoluuje w BCPL - ziemia w Nairobii drgnęła ponownie powodując pękniecie szyb w Mauzoleum Lenina na Placu Czerwonym... Jesteśmy coraz bliżej rozwikłąnia tajemnicy... - kolejna wersja: SIMULA 67 - dla naszych snobów kolejna wersja: SNOBOL 4 (znowu mogą trochę zapłacić i odłożyć na półkę) 1968 - powstaje: LOGO. Ten kto nigdy nie przesuwał żółwia po zielonkawym ekranie - ten nie wie co utracił Logo wywodzi się w prostej linii z.. Lispa 1.5 (który trwa w niezmienionej formie od 62-ego!). Twórcy Logo Wally Feurzeig i Seymour Papert usunęli z Lispa... nawiasy i dodali zabawę z grafiką... - kolejna wersja: COBOL ponownie pozasdrościł Fortranowi sprzed 2 lat. Mamy: COBOL'a 68 ANS. - kolejna wersja: a na gwiazdkę (w grudniu do COBOLA dociągnął: Algol 68 1969 - powstaje: Forth autorstwa Charlsa H. Moore'a z Amerykańskiego Narodowego Obserwatorium Radio-Astronomicznego. Charakteryzuje się "beztypowością" i jak na owe czasy miał ambicje być pierwszym jezykiem 4-tej generacji. Stąd też nazwa... - BCPL przekształca się w... B - tak, tak - znowu sejsmolodzy zostali wyrzuceni podczas snu z łózek na podłogę... Wstrząs odczuwalny nawet na Kamczatce - coraz bardziej zapowiadał nadejście... - ale o tym już za chwilę... - powstaje: Smalltalk. Okazuje się że im dalej w las - tym gęściej, a co za tym idzie - coraz mniejsze możliwości utworzenia czegoś naprawdę oryginalnego/przełomowego/epokowego... Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg i kumple z Xerox PARC "wywiedli co lepsze" Lispa 1.5 (coś w nim musi być!) i Simuli 67. Dodali oczywiście parę swoich fajnych pomysłów...
Tak... lata 70-te - gdzie las już naprawdę gęstnieje - w następnym poście...
Pozdrawiam
|
|
|
|
|
|
|
|
1970 - powstaje: Prolog. Język dość ważny, jako że Alain Colmerauer i Robert Kowalski (Amerykanin - syn Polaków emigrantów) utworzyli po raz pierwszy język stawiający nacisk na ekspresję logiki a nie na szczegółowe instruowanie komputera. Język wykorzystywany przy rozwiązywaniu zagadnień z dziedziny sztucznej inteligencji oraz w dziedzienie komputeryzacji lingwistycznej (Przetwarzanie języków naturalnych). - powstaje: Pascal. Niklaus Wirth wywiódł go z Algola 68 oraz zapewnił studentom na całym świecie, możliwość przynajmniej dowiedzenia się, że oprócz języka angielskiego jest cos takiego jak język programowania strukturalnego. Jeden z najpopularniejszych języków programowania - i nie tylko dla dzieci i fanatyków... - powstaje: Icon. Powstał na Uniwerku w Arizonie. Język bardzo wysokiego poziomu - ogólnego przeznaczenia... Mówią, że przejął po... SNOBOL-u wszystko co najlepsze - likwidując tym samym zapotrzebowanie na swojego "przodka"...
Przerwę przed następnym - pamiętnym dla informatyków rokiem - umieściłem z pełną premedytacją. Utworzeniu - a właściwie przekształceniu języka B - w TEN WŁAŚNIE język - towarzyszyło występowanie zjawisk w przyrodzie tak niecodziennych, że nawet strusie Emu znosiły kwadratowe jaja na twardo, o codziennych wybuchach wulkanów i trzęsieniach giełd papierów wartościowych czy wreszcie, że o masowym wykupywaniu lodówek i zamrażarek przez Eskimosów Grenlandzkich nie wspomnę... Tak - oto nadchodził wielkimi krokami (moim nieskromnym zdaniem) NAJWAŻNIEJSZY język programowania WSZECHCZASÓW... Panie i panowie, oto: 1971 - język B został przekształcony w język... C Cóż otrzymaliśmy w wyniku powstania języka C - i czy aby nie przesadzam? Język używany do dziś dnia, wszędzie tam gdzie potrzebna jest szybkość działania kodu i gdzie nadal człowiek nie chce posługiwać się zerami i/lub jedynkami (bądź mnemonikami asemblera). Język ogólnego przeznaczenia, proceduralny, imperatywny, stworzony (tak się ogólnie uznaje - choć miał wielu poprzedników) przez Dennisa Ritchie do użytku w systemie operacyjnym: UNIX. W tej chwili oczywiście istnieje i funkcjonuje na wszystkich platformach i systemach jakie możecie sobie wyobrazić (nawet w pralkach, telefonach komórkowych, samochodach czy w kuchenkach mikrofalowych w postaci embedded).
w 71-szym powstał jeszcze inny ważny język. Jednak nie tak powszechny jak C. Był nim sh - język "powłoki", język schell-a. (Sam się nie chcwaląc używam jednej z ważniejszych jego odmian na codzień - Korn Schella - ksh w skrócie).
c.d.n.
Pozdrawiam
|
|
|
|
|
|
|
|
Jest wspomniany Atari Basic, a o Commodore Basicu ani słowa??? Bracia, do broni!
|
|
|
|
|
|
|
|
QUOTE(Necrotrup @ 9/07/2006, 11:10) Jest wspomniany Atari Basic, a o Commodore Basicu ani słowa??? Bracia, do broni! Eee tam. Każdy nie od dzis wie, że Atari Basic góruje nad Commodore Basicem w każdym względem. Choćby takim, że Commodore Basica nigdy nie rozgryzłem. Trudny jest. Takie przynajmniej jest moje odczucie.
Nie kontynuujesz już tego? Szkoda... Bede tęsknił.
|
|
|
|
|
|
|
|
Będę, będę... Obiecuję - jak Anakin da drugą część expose - to wtedy ja dokończę lata 70-te (a co!)...
Lata 80-te to będzie KOSZMAR. Samych najważniejszych (baaardzo płynne i umowne kryterium) j. programowania naliczyłem w 80-tych około... 44 ! (nasza magiczna liczba narodu!). W 90-tych jest jeszcze gęściej - a który język po którym i co dziedziczy - to już będzie gąszcz-nie-do-przeniknięcia. Naszczęście wygląda na to - że na przełomie wieków - następuje NORMALIZACJA/STANDARYZACJA (czyżby cięcie kosztów?) - i pozostaje naprawdę kilkanaście najważniejszych języków - za to są tak rozbudowane, tak wszechstronne, że ......
Pozdrawiam
PS Czekam więc na Anakina - będę kontynuował...
|
|
|
|
|
|
|
|
Kolejny rok przynosi nam tylko jedną niskiej jakości nowość oraz jedną nową wersję:
1972 - powstaje: PL/M - jako można by rzec samodzielny podzbór PL/I - kolejna wersja: SMalltalk-72 1973 - powstaje: ML (z angola Meta Language) zaprojektowany przez R. Milnera używany do automatycznego dowodzenia twierdzeń i poprawności programów, a także szybkiego prototypowania. Jako jeden z pierwszych jęzorów udostępniał typy poliformiczne. 1974 - powstaje: CLU wart odnotowania o tyle, że wymyśliła go... Pani Barbara Liskov pracująca w MIT. I to może nie tyle wymyśliła co wywiodła umiejętnie z Pascala. Implementowany na vax-a i maszyny ze sparc-ami oraz ... posiadający kompilator do języka C. Jeśli mam być szczery... to wolałbym, żeby Panie poświęcały się naukowo innym dziedzinom wiedzy niż informatyka. - kolejna wersja: COBOL 74 ANSI - tym razem standaryzowało ANSI - jak wiele rzeczy później w informatyce. - kolejna wersja: Smalltalk-74 - i tak już będzie co 2 lata. 1975 - powstaje: Modula - to według Niklausa Wirtha ulepszona bo modularna postać Pascala. Mr Wirth w późniejszym okresie utworzy jescze jeden interesujący język programowania. - powstaje: Scheme - to pochodna LISP-a jednego z prastarych języków - wzbogacona tym razem o procedury i funkcje przez panó Steele i Sussmana. - kolejna wersja: MS BASIC 2.0 i tutaj sensacja! Bo oficjalnie oto rodzi się nam BASIC o nazwie Altair z łona firmy Microsoft! ... który urodził się już jak wiemy w 1964 roku. Czyli co - ponownie rodzi się coś co już było urodzone? Ciekawe... Tą (niestety tylko kolejną wersję) opracowali osobiście - Paul Allen oraz Bill Gates z "pomocą" Monte Davidoff-a (który podejrzewam odwalił za 2 wielkich/poprzednich całą robotę).
cdn
|
|
|
|
|
|
|
|
W skok!
1980 - powstaje: C z Classes C ANSI i Simula przez efekt synergii... dają coś niezwykle groźnego światu... C z klasami! Nowa rewolucja w IT! - kolejna wersja: Smalltalk-80 przynudzają już z tym odświeżaniem co 2 lata... - kolejna wersja: Rex 2.0 IBM się nie zatrzymał (mimo, że reszta świata patrzyła na iskrzące łącza w PRL)... 1981 - powstaje KRC ciagnący korzenie wprost z SASL-a... krótko jednakże żyć będzie .. więc i tyleż komentarza - powstaje: B ktoś pozazdrościł językowi B-0 i jego ewolucji w C z klasami na tyle, że powołał B do życia (krótkotrwałego) 1982 - powstaje: PostScript genezę biorąc z Fortha. O tyle udany "syn" "ojca", że go przeżyje na długo - i będzie wykorzystywanym do imentu w ... przesyłaniu danych do drukarek (różnorakich) po dziś dzień - powstaje: Miranda zbierająca co lepsze (i lepszych twórców) po językach: ML, SASL i KRC. Szkoda zawracać głowy - też nie pożyje długo... - kolejna wersja: Rex 3.0 [/i]Gates o tym jeszcze nie wie - ale IBM NIGDY nie śpi - blue giant - jak to na Marsie[/i] - kolejna wersja: Prolog II warty o tyle zauważenia, że po 12 latach używania, twócy stwoierdzili, że pojawiło się na tyle nowych rzeczy, że wartałoby "odświeżyć" wersję... 1983 - powstaje: Objective-C która to już "odmiana w paski" języka C? no cóż - do głosu dochodzą coraz to nowe pokolenia... informatyków... ot co... te będąc "oryginalnymi": biorą z C(K&R) oraz Smalltalk-80 co się da.
Tymczasem!!: Tąpnięcie w Nowo Jorskiej dżungli, dotkliwie poraża mieszkańców Moskwy, Pekińczyki w Pekinie z żółtego przemalowują na zielono - wszak ONZ trąbi o zbliżającej się inwazji z kosmosu... - powstaje/kolejna wersja: C ++ a jego twórca Bjarne Stroustrup uznany zostaje za kosmitę. Jego knigę "Język C++" uznaje sie w kręgach "wtajemniczonych" za Biblię i propaguje pośród maluczkich informatyków. Kto z tej planety - by należeć do ELITY, musi mieć BIBLIĘ na PÓŁCE (skąd wy to znacie? prenumerowicze Encyklopedii z Moskwy hihi). Nieważne, że NIKT z TEJ knigi NIC nie rozumie. Biblia na półce musi stać i basta! A, że imci Bjarne wywlókł co najlepsze się dało z: C, Simul-i, Algol-u, Ada-y, ML-a i CLU-a, to już pominiemy milczeniem (oraz Objective-C, którego niejako kolejną wersją stał się C++). Niech żyje NAM! - powstaje: Cedra wart wspomnienia i tyle. Jako potomek Mesy. - powstaje: Sharp APL nareszcie odkryłem skąd mam słabość do tej fimry. TV-set mam SHARP-a - kolejna wersja: Pascal AFNOR - kolejna wersja: Ada 83 ANSI
Dokończenie lat 80-tych już wkrótce...
Pozdrawiam
|
|
|
|
|
|
|
|
No Tuxmanie - dokoncz!
bo ciekawe to jest, a od 17 m-cy ani jednego posta w tym temacie:(
|
|
|
|
|
|
|
|
Czołem Waszmościom!
To mi się kiedyś chciało takie rzeczy pisać? Faktycznie MOCNO zakurzone. Niczego nie obiecuję, dziękuję za przypomnienie, jak czas pozwoli pociągnę sprawę dalej.
Pozdrawiam
|
|
|
|
|
|
|
olsza
|
|
|
Nowicjusz |
|
|
|
Grupa: Użytkownik |
|
Postów: 1 |
|
Nr użytkownika: 49.591 |
|
|
|
|
|
|
aa ja tak czekam z niecierpliwością na koniec tego tematu
|
|
|
|
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:
Śledź ten temat
Dostarczaj powiadomienie na email, gdy w tym temacie dodano odpowiedź, a ty nie jesteś online na forum.
Subskrybuj to forum
Dostarczaj powiadomienie na email, gdy w tym forum tworzony jest nowy temat, a ty nie jesteś online na forum.
Ściągnij / Wydrukuj ten temat
Pobierz ten temat w innym formacie lub zobacz wersję 'do druku'.
|
|
|
|