Programnyelvek, számítógépek:
Számítógépek kialakulása, számítógép-generációk
Program nyelvek osztályozása
Program nyelvek történeti kialakulása

Számítógépek kialakulásának történeti áttekintése
Link:Rozgonyi-Borus Ferenc

Eszközhasználat kialakulása.
Számfogalom megjelenése
i.e 1500 : az első számoló eszköz megjelenése.
1642 : Pascal összeadó gépe - mechanikusan adta össze a számokat (fogaskerekek, rugók és egyéb huncutságok)
1671 : Leibnitz mechanikus összeadó és szorzó gépet épített.
1801 : Joseph Jacguard lyukkártya vezérlésu szövogépet készített.
1822 : Charles Babbage fixpontos programozású célszámítógépet készít matematikai táblázatok megvalósítására.
1833 : Charles Babbage elkészíti a lyukkártya vezérlésu számítógép terveit. (később sem valósítja meg.)
1890 : Hermann Hollerith lyukkártyás gépe, amit az 1890-es amerikai népszámlálás adatfeldolgozására készített.
1915 : Hollerith megalapítja az International Busines Machine Corporationt, az IBM-et.
1939 : Horward Aiken elektromechanikus, relés, lyukszalagos gépet készít: MARK V, aminek már belső memóriája is van. A gép több, mint 1 millió alkatrészt tartalmazott.
1946 : Elkészül az első elektronikus számítógép a pennsylvániai egyetemen. Neve: ENIAC (Electronic Numerical Integrator And Computer). Energiafelvétele : 175 kW. Súlya 30 tonna volt. 70000 db ellenállást, 10000 db kondenzátort, 5000 kapcsolót, 1500 db relét és 18000 db elektroncsövet tartalmazott. Az adatbevitel, kivitel lyukkártyával történt. Összeadást, kivonást 10 tizedes pontossággal 0.0002 másodperc alatt végezte el. A szorzást 0.0023 másodperc alatt.
1948 : Neuman János kidolgozza a programvezérlés elvét.
  • Az utasításoknak az adatokkal azonos módon, a memóriában, numerikus formában történő tárolása.
  • A kettes számrendszer alkalmazása.
  • A teljesen elektronikus működés
  • A vezérlőegység emberi bevatkozás nélkül teljesen autómatikusan hajtsa végre az utasításokat
  • A számítógép tartalmazzon olyan számolóművet, amely képes elvégezni azon alapvető logikai és aritmetikai műveleteket, amelyek segítségével elvileg minden számítási feladat elvégezhető.
1950 : Szinte valamennyi fejlett országban megkezdődik a számítógépek gyártása.
1952 : Befejezik a Neumann János által tervezett EDVAC-ot (Electronic Discrete Variable Automatic Computer), azaz az elso tárolt programú számítógépet.
1981 : Megkezdődik a számítógépek általános felhasználása. Ekkor adják ki az elso IBM számítógépet.  

A számítógépek osztályozása:

A, Technológiai felosztás:

ˇ I. generációs számítógépek: elektroncsöves szg. -- 1950 -1957

ˇ II. generációs számítógépek: tranzisztoros szg. -- 1958 - 1964

ˇ III. generációs számítógépek: integrált áramkörös, IC-s szg. -- 1965 - 1973

ˇ IV. generációs számítógépek: VLSI áramkörös szg. -- 1973 - 

B, Az operatív tár szempontjából:

ˇ Művonal op. táras : közvetíto eszköz - az I. generációs számítógépekben.

ˇ Ferrit gyűrűs op. táras - a I. és a II. generációs számítógépekben.

ˇ Félvezetős op. táras - III. generációs számítógépektől. 

C, Struktúra szerint :

processzor centrikus számítógépek - az I. generációs számítógépek.

tárcentrikus számítógépek - a II. generációs számítógépek : a be és kimeneti egységek közvetlenül az operatív tárral kommunikálhatnak. A perifériák mellett megjelennek a háttértárak.

moduláris számítógépek - a III. generációs számítógépek : minden modul, egység az adat-, cím-, vezérlobuszra csatlakoznak. Az adatáramlást a processzor szabályozza. 

D, Alkalmazás szerinti felosztás:

I. generációs számítógépek: tudományos számításokra, gazdasági adatfeldolgozásokra használták.

II. generációs számítógépek: ipari folyamatirányításokban is használták.

IV. generációs számítógépek: általánosan használják. 

E, Programozás szerinti felosztás:

I. generációs számítógépek gépikódú- ,Assembler- programozásúak voltak.

II. generációs számítógépek magas szintű programnyelveket használtak.

III. generációs számítógépeknél jelenik meg az operációs rendszer, mely  a IV. generációban teljesedik ki.

F, Ár szerinti felosztás : Hardware - Software árarány

 


Program nyelvek osztályozása

Alacsony szintű: Gépközeli, közvetlenül a processzor utasításkészletére épül

Magaszintű: Cél a jobban áttekinthető minél egyszerűbb, gyorsabb programozás, mely érdekében kompromisszumot kell kötni a futássebesség és a tárfoglalás kárára.

Imperatív
  • Algoritmikus nyelvek (programozó mondja meg mit, hogyan)
  • Nauman architektúrához szorosan kötodnek
  • Fo programozási egység az utasítás
  • Az utasítások egymásutánisága vezérli a CPU-t
  • A tár bizonyos területén lévő értékeket módosítom
Dekleratív
  • Nem algoritmikus
  • Olyan nyelvi rendszer melyben a programozó leírja a problémát, amit a rendszer valósít meg.
  • Adatok nincsenek vagy egész más a szerepük
  • Utasításfogalom nem létezik
  • Nem engedik a tárterület közvetlen változtatását
  • Jó része típus nélküli, általában interpreter-es és interaktív párbeszédes jelleguek.
Egyéb

Minden más

Lehetnek:
  • Eljárásorientáltak: A szöveg részekre tagolható, amit eljárásnak hívunk: Cobol, Algol, Basic, PL1
  • Objektumorientáltak:
    • Tiszta: Csak az objektumorientált eszközrendszer van: Smaltalk, Eiffel
    • Hibrid: Eljárásorientált nyelvek objektumorientált eszközrendszerrel kiegésztve: C++
    • JAVA: A ketto között
Lehetnek:

logikai : Matemetikai logikára épül

funkcionális : Alapeszköz a függvény.

adatfolyam: Abszolút válasz a párhuzamosságra

Pl.:

FORTH

LOGO

Nem típusos nyelvek: Ha létezik is a változó fogalma, a típus komponens nem létezik. Általában a dekleratív nyelvek.

Típusos nyelvek: Létezik a változó fogalma, melynek lényeges atributuma a típus, mely meghatározza, hogy a változó milyen értékeket vehet fel. Az eljárásorientált nyelvek általában típusosak


Programnyelvek kialakulásának történeti áttekintése:

50-es évek:
Magas szintű programozási nyelvek megjelenése 

FORTRAN: Az IBM készítette kimondottan tudományos műszaki területre, számításokra.

COBOL: Az IBM készítette az Amerikai Hadügyminisztérium felkérésére, pénzügyi területekre, erőssége az adat és szövegfeldolgozás.

60-as évek:
ALGOL60: Eleve tervezett, matematikailag konstruált nyelv, tudományos muszaki területekre.

LISP: Dekleratív nyelv, az ALGOL tervezési szempontjainak tagadására jött létre

PL1: Az IBM készítette univerzális programozási nyelv, az eddigi feladatok mellett, rendszerprogramozásra is alkalmasnak, de itt nem terjedt el. Bonyolult nyelv.

70-es évek:
PASCAL: Wirth készítette ALGOL verzió, a strukturális programozási elvet megvalósító eszköz.

PROLOG: Dekleratív nyelv.

80-as évek:
ADA: Az Amerikai Hadügyminisztérium kívánságlistáját megvalósító csúcsnyelv

90-es évek:
C: Elso magas szintu nyelv amit valóban használtak rendszerprogramozásra is

JAVA: Tisztán objektumorientált nyelv, a 90-es évek nyelve