Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Programovací jazyky používané na mainframech

V osmé části seriálu o historii výpočetní techniky si řekneme, jaké vyšší programovací jazyky se používaly na mainframech firmy IBM. Jedná se například o FORTRAN dodnes využívaný v oblasti numerických výpočtů a simulací, ALGOL, na němž jsou založeny i jazyky typu C či Java a v mnoha ohledech stále nepřekonaný LISP.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Obsah

1. Programovací jazyky používané na mainframech

2. Vyšší programovací jazyky

3. FORTRAN

4. Vliv FORTRANu na vývoj překladačů

5. ALGOL

6. LISP

7. Obsah dalšího pokračování seriálu

8. Literatura

9. Odkazy na Internetu

1. Programovací jazyky používané na mainframech

Mainframy firmy IBM jsou z hlediska vývoje programovacích jazyků velmi důležité a zajímavé, protože právě na nich vznikaly první implementace vyšších programovacích jazyků, z nichž mnohé se používají, i když s různými inovacemi, dodnes. První aplikace pro mainframy byly programovány přímo ve strojovém kódu, který bylo možné zadávat z řídicího panelu počítače či načítat z externích paměťových médií (děrných štítků, magnetických pásek atd.). Ovšem zapisovat programy přímo ve strojovém kódu je zdlouhavé a pro větší aplikace z mnoha důvodů nepraktické, o čemž se mohli přesvědčit například i studenti programující na československém mikropočítači PMI-80. Z důvodu usnadnění práce programátorů tedy vznikly první utility, jejichž úkolem bylo transformovat programy zapsané pomocí symbolických jmen strojových instrukcí do (binárního) strojového kódu. Těmto programům, jejichž možnosti se postupně vylepšovaly (například přibyla podpora textových maker, řízení víceprůchodového překladu atd.), se začalo říkat assemblery a jazyku pro symbolický zápis programů pak jazyk symbolických instrukcí – assembly language (někdy též zkráceně nazývaný assembler).

ibm-5

Obrázek 1: Československý mikropočítač PMI-80, který ve dvou ohledech připomíná první sálové počítače. Je, podobně jako mainframy, vybaven jednoduchým řídicím panelem, pomocí něhož lze do operační paměti vkládat programy zapisované přímo ve strojovém kódu (hexadecimální kódy instrukcí a operandů), spouštět tyto programy a dokonce je i trasovat a ladit. Tento mikropočítač byl vybaven mikroprocesorem Tesla MHB 8080A (kopie slavného Intelu 8080) taktovaným na 1 MHz, obsahoval 1 kB ROM s tzv. monitorem a 1 kB operační paměti RAM. Namísto výstupu dat na monitor či tiskárnu byl mikropočítač vybaven sedmisegmentovým displejem. Zdroj fotky: Osmibitové muzeum.

2. Vyšší programovací jazyky

„A computer without COBOL and FORTRAN is like a piece of chocolate cake without ketchup or mustard.“

Ovšem ani zápis programů v jazyku symbolických instrukcí nebyl snadný a přehledný, už jen z toho důvodu, že každý procesor mohl mít odlišnou instrukční sadu, což znamenalo, že se při přechodu na jinou platformu muselo provést přeškolení programátorů (nebo vytvoření nového programátorského týmu) a posléze stávající aplikace přepsat. Mnohé zdánlivě snadné operace, například vyčíslení aritmetických výrazů či práce s vektory, maticemi či textovými řetězci, se navíc musely rozepisovat do sekvencí jednodušších strojových instrukcí, které nebyly přehledné tak, jako původní algoritmická konstrukce. Z tohoto důvodu byly, zejména z důvodu jednoduššího zápisu a modifikace programů i kvůli snazší přenositelnosti aplikací na různé platformy, v průběhu padesátých a na začátku šedesátých let minulého století vytvořeny vyšší programovací jazyky, z nichž největší vliv na další vývoj výpočetní techniky měly především FORTRAN, LISP a ALGOL. Tyto programovací jazyky si zevrubně popíšeme v následujících kapitolách.

Vybrané assemblery a překladače vyšších programovacích jazyků dostupné na mainframech IBM 7×x a 70×x:

Jméno Popis Podporované systémy
SAP Symbolic Assembly Program 704
IBMAP assembler for IBSYS/IBJOB 704, 709
FAP FORTRAN assembly program 709×
FORTRAN I 709×
FORTRAN II 709×
FORTRAN IV S/360
Commercial Translator predecessor of COBOL
COBOL
LISP 1.5 704
ALGOL60 704
ibm-5

Obrázek 2: Ovládací panel mainframu IBM System/360 Model 65.

3. FORTRAN

„Much of my work has come from being lazy. I didn't like writing programs, and so, when I was working on the IBM 701, writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs.“
John W. Backus, tvůrce FORTRANu

Prvním vyšším programovacím jazykem, na který není možné v souvislosti s mainframy firmy IBM zapomenout, je jazyk FORTRAN neboli plným názvem The IBM Mathematical Formula Translating System, který byl v IBM vytvořen již v roce 1954 týmem vedeným Johnem W. Backusem (jehož příjmení se mj. objevuje i ve zkratkách BNF a EBNF). Jak již plný název FORTRANu napovídá, jedná se o programovací jazyk určený především pro tvorbu aplikací zaměřených na numerické výpočty, podobně jako tomu bylo u vůbec prvního překladače – A-0 vytvořeného již v roce 1952 Grace Hopperem pro sálový počítač UNIVAC I. Z důvodu zaměření na matematické výpočty byl FORTRAN již od svých prvních verzí (určených původně pouze pro mainframe IBM 704) vybaven všemi základními aritmetickými i relačními operátory, možností práce s komplexními čísly, takzvaným aritmetickým IF (variantou podmíněného příkazu IF, v němž je podmínka vyjádřena aritmetickým výrazem, nikoli výrazem pravdivostním), programovou smyčkou typu DO, možností formátování numerických hodnot při jejich tisku atd.

ibm-5

Obrázek 3: Manuál k první verzi FORTRANu určeného pro mainframy IBM 704.

První verze FORTRANu byla vytvořena s ohledem na architekturu sálového počítače IBM 704, což mj. znamenalo zařazení podmínek testujících přetečení akumulátoru při sčítání, ale i specializovaných příkazů, pomocí nichž bylo možné přímo ovládat světelné indikátory na řídicím panelu a naopak číst stav přepínačů na panelu a provádět rozeskoky na základě sepnutí či rozepnutí konkrétního přepínače. Programy psané v prvních verzích FORTRANu se vyznačovaly pevným formátem zápisu zdrojového kódu, ve kterém se muselo dodržovat odsazení jednotlivých programových řádků podle toho, jakou konstrukci daný řádek obsahoval (komentáře například začínaly znakem „C“ v prvním sloupci, cíle skoků celočíselnou hodnotou začí­nající na prvním a­ž pátém sloupci at­d.). Volný způsob zápisu programů, který je používán i v naprosté většině dnešních programovacích jazyků, byl do FORTRANu oficiálně zaveden až v ANSI a ISO normě nazvané Fortran 90 v letech 1991 a 1992. Následuje ilustrační program typu „Hello, world!“ napsaný ve FORTRANu, který používá pevný způsob zápisu. Povšimněte si použití návěští, které se ve FORTRANu používalo jak při zápisu programových smyček, tak i pro adresaci dat:

C JEDNODUCHY PROGRAM TYPU HELLO WORLD
      PROGRAM HELLO
      WRITE (*,100)
      STOP
  100 FORMAT ('Hello, world!' /)
      END

4. Vliv FORTRANu na vývoj překladačů

„The determined Real Programmer can write FORTRAN programs in any language.“

Po uvedení prvního překladače FORTRANu v roce 1956 (tedy celé dva roky po vydání první specifikace) se mnoho vývojářů obávalo, že přechodem z jazyka symbolických instrukcí k vyššímu programovacímu jazyku budou výsledné (přeložené) programy méně efektivní, tj. že budou pro svůj běh vyžadovat více systémových prostředků (strojového času, operační paměti). Z tohoto důvodu se tým Johna W. Backuse při vývoji překladače FORTRANu soustředil na to, aby výsledný překladač prováděl alespoň základní optimalizace generovaného strojového kódu. Výsledek sice nebyl vždy lepší, než ruční práce zdatného programátora, ale cca dvacetinásobné urychlení vývoje přesvědčilo většinu programátorů (či spíše jejich šéfů) o tom, že má smysl větší část aplikací psát ve vyšším programovacím jazyce a pouze časově kritické části dále tvořit v jazyku symbolických instrukcí. Toto rozhodnutí mělo další velký vliv na vývoj překladačů, protože do jejich výzkumu a vývoje jak komerční firmy, tak i mnoho universit vložily velké prostředky.

ibm-5

Obrázek 4: Spolu s rozšiřováním Fortranu z mainframů firmy IBM na další architektury se zvyšovala potřeba standardizace tohoto jazyka. Postupně vzniklo několik norem, například ANSI norma FORTRAN 66, FORTRAN 77, či ANSI/ISO standard Fortran 90 (názvy standardů jsou uvedeny správně – jméno jazyka se skutečně postupem času změnilo z „FORTRAN“ na „Fortran“).

Výsledkem tohoto zvýšeného zájmu o vyšší programovací jazyky byl vznik ucelené teorie překladačů (regulární výrazy, přepisovací gramatiky, reprezentace programu mezikódem, optimalizace generovaného kódu, atd.), který později umožnil rozšíření dalších universálních i specializovaných programovacích jazyků. Některé jazykové konstrukce byly z FORTRANu převzaty i do mnoha dalších programovacích jazyků, například (pěkně podle abecedy) ALGOLu, BASICu či Céčka. Samotný FORTRAN se samozřejmě také vyvíjel – došlo například k odstranění některých problematických konstrukcí (aritmetické IF, počítané GOTO), zavedení volného způsobu zápisu programů, rozšíření imperativního jazyka o možnost rekurzivního volání funkcí, přidání objektů atd. FORTRAN je dodnes používán, což znamená, že se jedná o nejstarší „živý“ vyšší programovací jazyk (na druhém místě se společně nachází LISP a ALGOL).

ibm-5

Obrázek 5: Ukázka programu napsaného ve FORTRANu II, ve kterém můžeme mj. vidět i použití aritmetického IF.

5. ALGOL

„Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors.“
C. A. R. Hoare

Druhým programovacím jazykem, o němž se dnes zmíníme, je jazyk ALGOL (Algorithmic Language). Jedná se o programovací jazyk, který původně vznikl za účelem snadno pochopitelného algoritmického popisu matematických (především numerických) úloh, výuku programování a vývoj překladačů. Z tohoto důvodu například původní návrh jazyka (IAL – International Algorithmic Language, později přejmenovaný na ALGOL 58) neobsahoval žádné konstrukce pro vstup a výstup dat, ovšem se vznikem prvních reálných překladačů se množina konstrukcí jazyka postupně rozrůstala, takže ve standardu ALGOL 68 již jazyk obsahoval jak operace vstupu a výstupu, tak i podporu pro nenumerické úlohy aj. V programovacím jazyce ALGOL byly prakticky poprvé použity konstrukce umožňující strukturované programování – týká se to především programových smyček bez návěští, podmíněných příkazů, blokové struktury programu a též lexikálního rozsahu (viditelnosti) proměnných (tuto vlastnost z ALGOLu převzal i programovací jazyk Scheme, který je v v mnoha jiných ohledech založený na LISPu).

ALGOL se využíval jak pro zápis programů v učebnicích a vědeckých článcích, tak i v každodenní programátorské praxi. V tištěné literatuře se používal poněkud jiný způsob zápisu, protože bylo možné použít typografické zvýraznění jednotlivých prvků jazyka i sadu znaků velké a malé abecedy, zatímco některé mainframy používaly pouze znaky velké abecedy. Jednou ze zajímavostí je, že se tento jazyk (resp. jeden z jeho dialektů) používal i v SSSR, mj. také v projektu raketoplánu Buran (viz odkazy na konci článku). Tato verze jazyka byla dokonce v SSSR standardizována jako GOST 10859. Existuje i čínská verze tohoto jazyka, ve které se namísto znaků z tabulek ASCII či EBDIC používají národní znaky. Programovacím jazykem ALGOL se inspirovali tvůrci mnoha dalších programovacích jazyků. Jedná se například o jazyky Simula, Pascal (i další jazyky navržené N. Wirthem) a v neposlední řadě též trojice na sebe navazujících jazyků BCPL, B a C. Na syntaxi céčka jsou postaveny další jazyky, zejména C++, Java a dokonce dynamicky typovaný JavaScript. Těmto jazykům se proto také někdy říká „algolské“ (Algol-like).

Na následujícím výpisu krátkého programu (jedná se o Bresenhamův algoritmus rasterizace úsečky) si povšimněte, že je celý program snadno pochopitelný i v případě, že jazyk ALGOL neznáte. Mnoho konstrukcí ALGOLu totiž skutečně „zdomácnělo“ i v dalších programovacích jazycích:

PRAGMAT READ "Basic_bitmap_storage.a68" PRAGMAT;

line OF class image := (REF IMAGE picture, POINT start, stop, PIXEL color)VOID:
BEGIN
   REAL dx = ABS (x OF stop - x OF start),
        dy = ABS (y OF stop - y OF start);
   REAL err;
   POINT here := start,
         step := (1, 1);
   IF x OF start > x OF stop THEN
      x OF step := -1
   FI;
   IF y OF start > y OF stop THEN
      y OF step := -1
   FI;
   IF dx > dy THEN
      err := dx / 2;
      WHILE x OF here /= x OF stop DO
         picture[x OF here, y OF here] := color;
         err -:= dy;
         IF err < 0 THEN
            y OF here +:= y OF step;
            err +:= dx
         FI;
         x OF here +:= x OF step
      OD
   ELSE
      err := dy / 2;
      WHILE y OF here /= y OF stop DO
         picture[x OF here, y OF here] := color;
         err -:= dx;
         IF err < 0 THEN
            x OF here +:= x OF step;
            err +:= dy
         FI;
         y OF here +:= y OF step
      OD
   FI;
   picture[x OF here, y OF here] := color # ensure dots to be drawn #
END # line #;
ibm-5

Obrázek 6: Jedna z populárních dobových učebnic ALGOLU 68.

6. LISP

Posledním programovacím jazykem, u němž se dnes (prozatím jen krátce) zmíníme, je jazyk LISP. Tento jazyk je založen na teoretické práci Johna McCarthyho, který v roce 1960 vydal důležitý článek „Recursive Functions of Symbolic Expressions and Their Computation by Machine“. V tomto článku je popsán matematický aparát založený na Lambda kalkulu, z něhož byl později odvozen programovací jazyk LISP (McCarthy v tomto článku mj. popisuje i funkci eval, jejíž implementací v podstatě vznikne základ interpretru LISPu). Jedná se o jazyk, který je mezi programátory známý především strukturou v něm zapsaných programů, jenž jsou reprezentovány pomocí vnořených seznamů. Vzhledem k tomu, že prvky seznamů jsou uzavřeny do kulatých závorek, bývá v programech vytvářených v LISPu poněkud „přezávorkováno“, což je však v případě použití vhodného editoru (který například dokáže označit párové závorky) spíše malá nepříjemnost, nikoli nepřekonatelný problém:

; Mandelbrotova množina
; Vytvořeno pro Common Lisp
; (ukázka "imperativního" kódu využívajícího smyčky Common Lispu)
(loop for y from -1 to 1.1 by 0.1 do
    (loop for x from -2 to 1 by 0.04 do
        (let* ((c 126)
               (z (complex x y))
               (a z)
              )
              (loop while (< (abs (setq z (+ (* z z) a))) 2)
                  while (> (decf c) 32)
              )
              (princ (code-char c))
        )
    )
    (format t "~%")
)

LISPu se objevilo několik revolučních prvků, které se teprve až o mnoho let později dostaly i do dalších programovacích jazyků. Jedná se například o automatickou správu paměti (garbage collector), možnost vytváření vlastních programových konstrukcí a operátorů, možnost snadné serializace a deserializace programů (program v LISPu se nijak neliší od dat, které je možné v tomto jazyku zpracovávat, proto také systémy založené na LISPu většinou ukládaly strukturovaná data jako LISPovské programy; obdoba dnešního XML a podobných technologií zde byla nadbytečná), později se objevil i propracovaný systém maker, objektové rozšíření jazyka, překladače LISPu, LISP určený pro masivní paralelní systémy (zde mám na mysli systémy s několika tisíci procesory, nikoli dnešní „čtyřjádra“) atd. Paul Graham dokonce s nadsázkou tvrdí, že celý vývoj programovacích jazyků směřuje směrem od FortranuLISPu. Tímto zajímavým a poněkud nedoceněným programovacím jazykem se budeme podrobněji zabývat v některé z dalších částí tohoto seriálu, v níž si popíšeme specializované počítače optimalizované právě na zpracování LISPovských programů (LISP machines).

ibm-5

Obrázek 7: Manuál k LISPu 1.5 pracujícího na mainframech IBM 70×.

7. Obsah dalšího pokračování seriálu

V následující části seriálu o historii výpočetní techniky se, podobně jako v části dnešní, budeme zabývat popisem programovacích jazyků, které byly používány na mainframech. Zaměříme se především na ty jazyky, které byly specializovány na určitý typ úloh. Jedná se především o COBOL (1959), v němž, i přes jeho úctyhodný věk 50 let, stále programuje cca jeden milion vývojářů a je v něm implementováno 70% transakčních systémů (například i NYSE ve svém burzovním systému používá 800 programů napsaných v COBOLu, které jsou provozovány na mainframech IBM. Právě tyto původní programy v COBOLu způsobily velké obavy z W2K). Dále si popíšeme netradiční, ale pro určité typy úloh velmi expresivní jazyk APL (1960, viz též obrázek pod odstavcem), jazyk určený pro práci s textovými údaji SNOBOL (1962) atd. Nezapomeneme ani na BASIC (1964), který se taktéž na mainframech (a samozřejmě nejen na nich) s relativně velkým úspěchem používal.

ibm-5

Obrázek 8: Zápis programů (zde jednotlivých matematických funkcí, nikoli větších celků) v jazyku APL připomíná spíše hieroglyfy nežli skutečný programovací jazyk :-), ovšem pro některé typy úloh je tento jazyk pro svoje unikátní vlastnosti využíván dodnes.

davame_internetu_obsah
       

8. Literatura

  1. C.A.R. Hoare: The Emperor's Old Clothes Communications of the ACM, 1981
  2. IBM: VS BASIC Language, Third edition
  3. IBM: VS Fortran Application Programming: Language reference
  4. IBM: IBM System/360 Operating System: ALGOL Language
  5. B. Randell and L.J. Russell, ALGOL 60 Implementation: The Translation and Use of ALGOL 60 Programs on a Computer. Academic Press, 1964. The design of the Whetstone Compiler.
  6. E. W, Dijkstra, Algol 60 translation: an algol 60 translator for the x1 and making a translator for algol 60, report MR 35/61. Mathematisch Centrum, Amsterdam, 1961.
  7. Akin, Ed (2003). Object Oriented Programming via Fortran 90/95 (1st ed.). Cambridge University Press. ISBN 0–521–52408–3.
  8. Etter, D. M. (1990). Structured FORTRAN 77 for Engineers and Scientists (3rd ed.). The Benjamin/Cummings Publishing Company, Inc.. ISBN 0–8053–0051–1.
  9. Chapman, Stephen J. (2007). Fortran 95/2003 for Scientists and Engineers (3rd ed.). McGraw-Hill. ISBN 978–0–07–319157–7.
  10. Chapman, Stephen J. (2003). Fortran 90/95 for Scientists and Engineers (2nd ed.). McGraw-Hill. ISBN 0–07–282575–8.
  11. Chivers, Ian; Jane Sleightholme (2006). Introduction to Programming with Fortran (1st ed.). Springer. ISBN 1–84628–053–2.
  12. Ellis, T. M. R.; Ivor R. Phillips, Thomas M. Lahey (1994). Fortran 90 Programming (1st ed.). Addison Wesley. ISBN 0–201–54446–6.
  13. Kupferschmid, Michael (2002). Classical Fortran: Programming for Engineering and Scientific Applications. Marcel Dekker (CRC Press). ISBN 0–8247–0802–4.
  14. McCracken, Daniel D. (1961). A Guide to Fortran Programming. Wiley.
  15. McCracken, Daniel D. (1965). A Guide to Fortran IV Programming. Wiley.
  16. Metcalf, Michael; John Reid, Malcolm Cohen (2004). Fortran 95/2003 Explained. Oxford University Press. ISBN 0–19–852693–8.
  17. Nyhoff, Larry; Sanford Leestma (1995). FORTRAN 77 for Engineers and Scientists with an Introduction to Fortran 90 (4th ed.). Prentice Hall. ISBN 0–13–363003-X.
  18. Martínez Baena, Javier; Ignario Requena Ramos, Nicolás Marín Ruiz (2006). Programación estructurada con Fortran 90/95. Universidad de Granada. ISBN 84–338–3923–3.

9. Odkazy na Internetu

  1. Paul Graham: Home page
    http://paulgraham.com/index.html
  2. Paul Graham: The roots of LISP
    http://paulgraham.com/…soflisp.html
  3. Rosetta Code – Category:ALGOL 68
    http://rosettacode.org/…y%3AALGOL_68
  4. Rosetta Code – Category:Fortran
    http://rosettacode.org/wiki/Fortran
  5. Rosetta Code – Category:Lisp
    http://rosettacode.org/…ategory:Lisp
  6. Algol 68 – 25 Years in the USSR
    http://www.computer-museum.ru/…/algol68.htm
  7. IBM 36-bit computers
    http://www.36bit.org/ibm/
  8. Symbolics 36-bit computers
    http://www.36bit.org/symbolics/
  9. IBM System 360/370 Compiler and Historical Documentation
     http://www.edelweb.fr/Simula/
  10. Who Was Who in IBM's Programming Research? Early FORTRAN Days
     http://www.trailing-edge.com/…r/PRORES.HTM
  11. How do we tell truths that might hurt?
    http://www.cs.utexas.edu/…/EWD498.html
  12. Wikipedia: ALGOL
    http://en.wikipedia.org/wiki/ALGOL
  13. Wikipedia: JOVIAL
    http://en.wikipedia.org/wiki/JOVIAL
  14. Lambda kalkul
    http://cs.wikipedia.org/…ambda_kalkul
  15. Osmibitové muzeum
    http://osmi.tarbik.com/
  16. Tesla PMI-80
    http://osmi.tarbik.com/cssr/pmi80.html
  17. PMI-80
    http://en.wikipedia.org/wiki/PMI-80
  18. PMI-80
    http://www.old-computers.com/…computer.asp?…
  19. IBM 700/7000 series
    http://en.wikipedia.org/…/7000_series
  20. IBM System/360
    http://en.wikipedia.org/…M_System/360
  21. IBM System/370
    http://en.wikipedia.org/…M_System/370
  22. Mainframe family tree and chronology
    http://www-03.ibm.com/…ame_FT1.html
  23. 704 Data Processing System
    http://www-03.ibm.com/…e_PP704.html
  24. 705 Data Processing System
    http://www-03.ibm.com/…e_PP705.html
  25. The IBM 704
    http://www.columbia.edu/…ory/704.html
  26. IBM Mainframe album
    http://www-03.ibm.com/…e_album.html

Školení: Linux – Firewall, Samba, VPN

Na třídenním školení se naučíte nainstalovat a spravovat Firewall a Router, SAMBA Doménový a Souborový server. Dále si zprovozníte vlastní, zabezpečený VPN server.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,71

Přehled názorů

Jazykový koutek
Jirka P 8. 12. 2009 00:14
Nový
├ 
Re: Jazykový koutek
Pavel Tišnovský 8. 12. 2009 00:26
Nový
│
└ 
Re: Jazykový koutek - překlep
DNA 8. 12. 2009 13:57
Nový
└ 
Re: Jazykový koutek
Biktop 8. 12. 2009 12:25
Nový
 
└ 
Re: Jazykový koutek
Martin Mikala 22. 1. 2010 13:39
Nový
lisp
ikzz 8. 12. 2009 01:16
Nový
└ 
Re: lisp
jehovista 8. 12. 2009 09:47
Nový
 
└ 
Re: lisp
Biktop 8. 12. 2009 12:32
Nový
 
 
└ 
Re: lisp
jehovista 8. 12. 2009 22:35
Nový
 
 
 
└ 
Re: lisp
Biktop 9. 12. 2009 01:33
Nový
 
 
 
 
└ 
Re: lisp
jehovista 9. 12. 2009 17:22
Nový
 
 
 
 
 
└ 
Re: lisp
mikrom 10. 12. 2009 22:19
Nový
 
 
 
 
 
 
└ 
Re: lisp
JS 11. 12. 2009 08:11
Nový
Lisp je nedoceneny
Palo 8. 12. 2009 01:24
Nový
├ 
Re: Lisp je nedoceneny
Pavel Tišnovský 8. 12. 2009 09:24
Nový
├ 
Re: Lisp je nedoceneny
Biktop 8. 12. 2009 12:38
Nový
│
└ 
Re: Lisp je nedoceneny
Palo 9. 12. 2009 22:51
Nový
└ 
Re: Lisp je nedoceneny
JS 9. 12. 2009 13:30
Nový
 
└ 
Re: Lisp je nedoceneny
Palo 9. 12. 2009 22:53
Nový
 
 
└ 
Re: Lisp je nedoceneny
JS 10. 12. 2009 09:13
Nový
Jazyk symbolických adres
J. Novotny 8. 12. 2009 01:27
Nový
└ 
Re: Jazyk symbolických adres
Pavel Tišnovský 8. 12. 2009 09:19
Nový
 
└ 
Re: Jazyk symbolických adres
J. Novotny 8. 12. 2009 17:03
Nový
 
 
└ 
Re: Jazyk symbolických adres
Pavel Tišnovský 10. 12. 2009 00:01
Nový
Re: Programovací jazyky používané na mainframech
. 8. 12. 2009 04:37
Nový
└ 
Re: Programovací jazyky používané na mainframech
a 8. 12. 2009 10:11
Nový
RPG.
Dan Vesely 8. 12. 2009 07:20
Nový
├ 
Re: RPG.
vtech 8. 12. 2009 09:17
Nový
│
└ 
Re: RPG.
Pavel Tišnovský 8. 12. 2009 09:26
Nový
│
 
└ 
Re: RPG.
vtech 8. 12. 2009 12:12
Nový
│
 
 
├ 
Re: RPG.
Pavel Tišnovský 8. 12. 2009 13:15
Nový
│
 
 
│
└ 
Re: RPG.
vtech 8. 12. 2009 22:23
Nový
│
 
 
└ 
Re: RPG.
semancko 8. 12. 2009 19:40
Nový
│
 
 
 
└ 
Re: RPG.
vtech 8. 12. 2009 22:15
Nový
│
 
 
 
 
└ 
Re: RPG.
semancko 9. 12. 2009 08:11
Nový
│
 
 
 
 
 
└ 
Re: RPG.
vtech 10. 12. 2009 08:22
Nový
└ 
Re: RPG.
mikrom 10. 12. 2009 22:32
Nový
Grace Hopper
pirat78 8. 12. 2009 08:31
Nový
├ 
Re: Grace Hopper
Hynek Vychodil 8. 12. 2009 11:01
Nový
│
└ 
Re: Grace Hopper
JS 9. 12. 2009 14:27
Nový
│
 
└ 
Re: Grace Hopper
Jirka 9. 12. 2009 19:56
Nový
└ 
Re: Grace Hopper
mikrom 10. 12. 2009 21:36
Nový
vzpominka z detstvi
ewqerwqer 8. 12. 2009 09:02
Nový
└ 
Re: vzpominka z detstvi
JmJ 8. 12. 2009 14:46
Nový
 
└ 
Re: vzpominka z detstvi
JCC 9. 12. 2009 10:41
Nový
Chybi skriptovaci jazyky
Jirka 8. 12. 2009 11:03
Nový
└ 
Re: Chybi skriptovaci jazyky
Lenin POWER! 12. 12. 2009 10:14
Nový
zOS povidani
zOS 8. 12. 2009 11:25
Nový
└ 
Re: zOS povidani
Petr Tesařík 10. 12. 2009 14:24
Nový
FORTRAN a děrné štítky
Stanislav Brabec 8. 12. 2009 12:12
Nový
└ 
Re: FORTRAN a děrné štítky
tomash 8. 12. 2009 13:12
Nový
 
└ 
Re: FORTRAN a děrné štítky
Pavel Tišnovský 8. 12. 2009 13:17
Nový
W2K.
Emanuel Dante 8. 12. 2009 13:38
Nový
└ 
Re: W2K.
Pavel Tišnovský 10. 12. 2009 00:04
Nový
Super seriál
Daniel Milde 8. 12. 2009 14:36
Nový
JCL JCL
Tomas 8. 12. 2009 22:01
Nový
└ 
Re: JCL JCL
koroptev 9. 12. 2009 10:22
Nový
 
└ 
Re: JCL JCL
JS 9. 12. 2009 14:34
Nový
Nojo, ale je to buzzword compliant?
Clock 8. 12. 2009 23:19
Nový
├ 
Re: Nojo, ale je to buzzword compliant?
Biktop 9. 12. 2009 02:02
Nový
└ 
Re: Nojo, ale je to buzzword compliant?
buffer overblow 9. 12. 2009 21:36
Nový
 
└ 
Re: Nojo, ale je to buzzword compliant?
I/O 10. 12. 2009 14:45
Nový
 
 
└ 
Re: Nojo, ale je to buzzword compliant?
buffer overblow 10. 12. 2009 19:13
Nový
 
 
 
└ 
Re: Nojo, ale je to buzzword compliant?
buffer overblow 10. 12. 2009 19:20
Nový
 
 
 
 
└ 
Re: Nojo, ale je to buzzword compliant?
I/O 10. 12. 2009 21:39
Nový
 
 
 
 
 
└ 
Re: Nojo, ale je to buzzword compliant?
buffer overblow 10. 12. 2009 23:10
Nový
 
 
 
 
 
 
└ 
Re: Nojo, ale je to buzzword compliant?
I/O 11. 12. 2009 14:53
Nový
LISP Machines, konecne neco pro skutecne muze
Trm 8. 12. 2009 23:56
Nový
├ 
Re: LISP Machines, konecne neco pro skutecne muze
ondra.novacisko.cz 9. 12. 2009 01:41
Nový
│
├ 
Re: LISP Machines, konecne neco pro skutecne muze
Biktop 9. 12. 2009 02:15
Nový
│
│
└ 
Re: LISP Machines, konecne neco pro skutecne muze
ondra.novacisko.cz 9. 12. 2009 08:42
Nový
│
│
 
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Inkvizitor 9. 12. 2009 09:07
Nový
│
│
 
 
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Pavel Tišnovský 9. 12. 2009 09:53
Nový
│
│
 
 
 
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Inkvizitor 9. 12. 2009 23:58
Nový
│
│
 
 
 
 
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Pavel Tišnovský 10. 12. 2009 00:19
Nový
│
├ 
Re: LISP Machines, konecne neco pro skutecne muze
komoror 9. 12. 2009 10:13
Nový
│
├ 
Re: LISP Machines, konecne neco pro skutecne muze
JS 9. 12. 2009 16:10
Nový
│
│
└ 
Re: LISP Machines, konecne neco pro skutecne muze
ondra.novacisko.cz 10. 12. 2009 11:27
Nový
│
│
 
└ 
Re: LISP Machines, konecne neco pro skutecne muze
I/O 10. 12. 2009 21:58
Nový
│
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Pavel Tišnovský 10. 12. 2009 00:12
Nový
└ 
Re: LISP Machines, konecne neco pro skutecne muze
Pavel Tišnovský 10. 12. 2009 00:08
Nový
Opět paráda
Inkvizitor 9. 12. 2009 00:05
Nový
└ 
Re: Opět paráda
Pavel Tišnovský 9. 12. 2009 09:57
Nový
 
└ 
Re: Opět paráda
Inkvizitor 10. 12. 2009 00:28
Nový
a co PL/1 ?
em 29. 12. 2009 20:48
Nový
└ 
Re: a co PL/1 ?
Pavel Tišnovský 30. 12. 2009 10:06
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem