PRGOGRAMOZS * PRGOGRAMOZS * PRGOGRAMOZS * PRGOGRAMOZS * PRGOGR




                     A SZMTGPES NYELVEK



Manapsg egyre tbben adjk a fejket a programozsra, ami egy
hasznos dolog!!
Az azonban mr egyltaln nem mindegy, hogy az ember miben
programozik, s a hozz vezet lpseket miben teszi meg!

Ezzel a fejezettel igyekszem egy rvid ttakintst adni, a legel-
terjedtebb nyelvekrl s ezek legfbb elnyeirl illetve htrnya-
irl.
Elre leszgezem, hogy ezzel a cikkel nem a teljessgre trekszem,
hisz ez szinte lehetetlen is lenne, ugyanis manapsg a szmt-
gpes nyelvek szma vetekszik a beszlt nyelvek szmval!!

Kezdjk mondjuk a mlttal...

Legfontosabb dolog azt tisztzni, hogy mi is az az assembly s mi
az assembler, mert sokan keverik a kettt, vagy egyltaln nem
tudjk, mi a msik!!

Az els szmtgpek (ugyangy mint a mostaniak) bitsorozatokkal
voltak vezrelve. Az egyes utastsokat is egy-egy byte helyette-
stette, teht ha teszem fel Neumann azt akarta, hogy a gp
valamit sszeadjon, akkor az sszeadsnak megvolt a maga speci-
lis egy (vagy tbb) byte-os kdja! (Mondjuk olyan, mint a '8B')
Az ezekkel val programozs, azonban igen nehzkes volt, s
egyltaln nem nevezhet felhasznlbartnak!!!
Persze a gpek ma is ezen az elven mkdnek, csak mra mr kifej-
lesztettek bizonyos nyelveket, amelyekben az utastsok byte-jait
pr szavas utastsokkal helyettesthetjk. Aztn a fordtprg.
ezt szpen a gp szmra rthet jelekk alaktja!

Az ASSEMBLY teht ezt a gpkzeli programozst takarja, amikor a
felhasznl szmok halmazval vezrli a gpet. (Ezt gpi kdnak
is nevezhetnnk!!)
Az ASSEMBLER ezzel szemben mr egy olyan program, amelyben az
egyes utastsokat mnemonikokkal (emlkeztet szavakkal) jell-
hetjk, gy pldul a Jump az JMP, a Move MOV, stb.
Aztn az assembler fordtnk ezt szpen kdokk alaktja, amit
a gp fel tud dolgozni.

Kezdetben teht volt az assembly, aztn ksbb ennek egyre fej-
lettebb verzii kerltek ki (Turbo Assembler,stb.), majd lehetv
vlt a makrk hasznlata is, ami sok tbbletmunktl kmli meg
a felhasznlkat! (Macro Assembler)
A makr tulajdonkppen egy utastssorozat egy cmsz al fog-
lalsa, amit ksbb a cmsz emltsvel vgrehajthatunk.
(Hasonl a Pascal procedrkhoz, illetve a Basic szubrutinokhoz)

Aztn a kezdeti assembly utn kezdtek kialakulni, a 2. genercis
nyelvek, mint a FORTRAN, a COBOL, vagy az ALGOL.

A COBOL kifejezetten az adattrolshoz kszlt! Ksbb ebbl ala-
kultak ki a negyedik genercis nyelvek, vagyis az adatbziskeze-
lk sajt nyelvei.
Egyes szemlyek szerint, a 4. genercis nyelvek a jv!
Szerintem azonban megtanulni egy ilyet, nem nagy valami, s az
ember nem is sokra megy vele. (EZ SAJT VLEMNY!!)
Ezek egy az egyben az adatkezelsre vannak specifiklva, komo-
lyabb (persze kinek mi a komoly!) feladatok megoldsra nem
kpesek! Viszont arra, hogy egy adathalmazban, hny kk szem,
42-es lb, s piros bugyis n van, annak a kikeressre kivl-
ak.
Ha valaki csak egy ilyen nyelven tud programozni, az szintn
szlva deskevs, mondhatnm gy is, hogy "az LUFI" !!
Megtanulni is szinte felesleges, mert a legtbb ilyeneket, mert
a legtbb adatbziskezelre r van 'fesztve' egy felhasznl-
bart menrendszer (egeres,billentys,brmilyen), amivel kz-
vetlenl be lehet vinni ezt-azt, anlkl, hogy programoznnk
a sajt nyelvn.
Ez azrt lehetsges, mert ez a 'rfesztett program' vgzi el
azt, amit neknk kellene kiszenvednnk.
Igy lehetsg nylik arra, hogy a 'hlybbek' is elboldoguljanak
egy-egy munkahelyen egy adatbziskezelvel.
Szval a DBase, FoxBase, stb. tuds szerintnk nem ri el az
elgsges szintet!!

A FORTRAN tulajdonkppen a manapsg legsrbben hasznlt magas-
szint nyelvek atyja!
Ebbl alakult ki a Basic (huuhh!!), az ALGOL, a PASCAL, a PLI1,
s a SIMULA.

A SIMULA volt az els igazn komoly lps az OBJEKTUM ORIENTLT
PROGRAMOZS fel. Ez egy igen rdekes dolog, ksbb lesz rla
egy rszletes ismertet!! Most rviden annyit, hogy ilyen md-
szerrel olyan programokat rhatunk, amelyek mdostjk sajt
magukat is!! (Kivl alkalmazsi plda a vrusok rsra!)
Igy lehet felismerhetetlen vrust rni, amely minden egyes
elfordulskor megvltoztatja a kdjt!!
(Ez volt a nyr szenzcija!!)

A PASCAL taln az egyik legelterjedtebb magasszint nyelv nlunk,
br a C s a C++ ersen hdt!
A Pascallal tulajdonkppen szinte minden feladat megoldhat, ami
assemblyerrel is, csak sokkal felhasznlbbart mdon!!
Viszont a knyelemrt meg kell fizetni, hisz ez lnyegesen las-
stja is a programot, gy elg gyakran vissza kell nylni az
assembly-hez.
Szerencsre a Pascal lehetsget ad erre, de nem igazn knyelmes
mdon. (Errl egy msik fejezetben!)
Ksbb kifejldtt tbb konkurrens PASCAL, a MODULA, a CLU, s
egy ADA nev nyelv, ami lltlag minden eddigi tudst sszefog-
lal egy nyelvv. Haznkban ez nem igazn kzkedvelt nyelvezet!

Mg a kezdetekben volt egy LISP nev nyelvecske, ami specilis
feladatok megoldsra rdott. Ebbl alakult ki ksbb a BCPL, az
APL s a FORTH.
Ez utbbirl rdemes tudni, hogy kifejezetten arra rtk, hogy
a planetriumokban tvcsveket irnytsanak vele.
Egy BORLAND-os prgramozi 'agytrszt', szval egy nagy programoz
mikor megismerkedett vele, felllt a gptl s azt mondta:
- Ht arra j...
Teht ennyit a FORTH-rl! (Br hallottam mr rla, hogy valaki
komoly matematikai programot rt ezen a nyelve, ami verte a kon-
kurrens assembly stuffokat! De ez mr a mlt zenje!)
Szmunkra azrt rdekes a LISP s ezen bell is a BCPL, mert
ebbl alakult ki a C nyelv.
Manapsg egyre tbben hsznljk s mirt ne! Kivl nyelv, majd-
hogynem a magas szint nyelvek kirlya. (Persze az ADA melett
valsznleg eltrpl...)
Az elnyeirl/htrnyairl majd egy msik fejezetben!
A C s az OBJECT ORIENTAL PROGRAMMING-bl alakult ki a C++, ami
egy objektum orientlt C, felbvtve.
Egyesek a 3. genercis nyelvek kirlynak tartjk...


Az ajnlat egy msik fejezetre marad, ahol ssze is hasonltom az
egyes tpusokat. A Basic, C, Pascal, Assembler-en kvl mst nem
igen javasol, st mg ezek kzl sem mind az igazi, de olvasd el
rszletesen a msik fejezetben!


                                           TAYLOR DESIGN

