Simula: je bil obravnavan prvi objektno usmerjen programski jezik?

Razkritje: Vaša podpora pomaga pri vzdrževanju spletnega mesta! Za nekatere storitve, ki jih priporočamo na tej strani, zaslužimo naročnino.

Simula je ime dveh tesno povezanih računalniških programskih jezikov, razvitih v šestdesetih letih prejšnjega stoletja. Prva različica jezika, Simula I, je bila razvita kot razširitev ALGOL-a, dodana so posebna orodja in funkcije, ki pomagajo simulacijo dogodkov in sistemov v resničnem svetu..

Druga različica jezika, Simula 67, je bila razvita nekaj let pozneje (leta 1967) in je uvedla številne koncepte, ki bodo kasneje osnovali objektno usmerjeno programiranje. Ta različica jezika je izjemno vplivala na razvoj več drugih jezikov, pa tudi na celotno disciplino računalniškega programiranja in oblikovanja jezikov na splošno..

Objektna orientacija v Simuli

Simula je bila zasnovana za simulacijo sistemov diskretnih akterjev. To vodi svoje izumitelje, da ustvarijo način, kako opredeliti stvar, lastnosti te stvari in dejanja te stvari v en sam računalniški koncept, ki se imenuje “objekt.”

Predmet predstavlja specifičen primerek kategorije, ki definira predmete določene vrste, imenovane a “Razred.” Torej lahko obstaja razred, ki se imenuje oseba, in poseben primerek osebe z imenom Bob.

V Simuli lahko obstajajo tudi podrazredi. Na primer, v šahovskem programu je lahko razred za kos in podrazred za vsako vrsto komada: Zastavljalnica, Rook, Vitez, Škof, Kraljica, Kralj.

Razred definira splošne značilnosti svojih članov, medtem ko objekt nosi ustrezne specifične podatke za določen predmet.

Na primer, razred Queen ima lahko metode, ki opredeljujejo, kako se kraljica giblje, medtem ko ima objekt Black Queen atribute, ki določajo njeno barvo in trenutni položaj.

Tako oblikovanje jezika omogoča (na primer), da se šahovska igra v računalniškem programu predstavlja kot zbirka del s specifičnimi sposobnostmi, položaji in zgodovino. Drugi razred, Player, bo morda imel metode za analizo plošče in sprejemanje odločitev o igrah.

Vpliv simulacije

Tak način razmišljanja o računalniškem programiranju je postal “normalno” za večino razvijalcev, vendar je bil s Simulo povsem nov. Danes se orientacija predmetov uporablja za vse vrste sistemov in aplikacij, vendar je bila potreba po simulaciji dejanskih predmetov iz resničnega sveta, ki vodijo k razvoju teh tehnik.

Delo na Simuli je skoraj neposredno pripeljalo do jezika Smalltalk, ki je nadalje eksplicitno določil objektno orientirane koncepte. C ++, morda najpomembnejši jezik za sistemsko programiranje, je navdihnila Simula.

Poleg tega je danes večina računalniških programskih jezikov objektno usmerjena, objektno usmerjeno programiranje pa je glavna paradigma kodiranja, ki jo uporabljajo razvijalci programske opreme. Konceptualno je Simula vplivala na vse te jezike. Tudi številni danes najbolj priljubljeni jeziki Simula niso bili neposredno navdihnjeni, ampak so bili navdihnjeni ali zgrajeni na podlagi drugih jezikov, ki so bili. Ruby in PHP sta na primer navdihnila C++.

Viri za simulacijo

Spletne strani

  • Pregled jezika Simula – podroben uvod v objektno usmerjeno programiranje v Simuli, skupaj z veliko zgodovinskimi informacijami o jeziku in njegovem razvoju.
  • Simulacija jezika – Povezave do jezikovne dokumentacije.
  • Simulativni postopki – Postopki so funkcije, ki so vezane na razrede, kar običajno imenujejo drugi jeziki “metod.”
  • Rojstvo Simula – temeljita zgodovina jezika’zgodnji razvoj in vpliv na druge jezike.
  • Online Simula Compilerator – Sestavi in ​​zažene Simula kodo v brskalniku.
  • Simula referenca – podrobna zgodovina jezika, z veliko koristnimi povezavami.
  • Simulacijski grafi sinteze.

Knjige

  • Simula začeti – klasični učbenik o Simulah, ki je bil napisan leta 1979
  • DEMOS Sistem za diskretno modeliranje dogodkov na Simulaciji
  • Uvod v simulacijo 67
  • Objektno usmerjeno programiranje s programom Simula
  • Uvod v programiranje s simulacijo
  • Simulacija v močno tipkanih jezikih: Ada, Pascal, Simulacija…

Pogosta vprašanja o simulaciji

Je Simula predmetno usmerjen?
Večinoma. Simulacija 67 (jezik, ki ga večina ljudi misli, ko govori “Simula”) uvedla številne koncepte, ki so postali osnova za objektno usmerjeno programiranje (OOP). Vendar sta se teorija in praksa na področju OOP zelo razvijali od leta 1967 in Simula ni v skladu z vsemi značilnostmi, ki se običajno štejejo za nepogrešljive za popolnoma objektno orientiran jezik.

Zakaj je zdravilo Simula?
Simula je bila izumljena z namenom ustvarjanja računalniških simulacij. To je tisto, kar je privedlo do razvoja orientacije objekta – prve so postale diskretne stvari, ki jih je bilo treba simulirati znotraj sistema “predmeti.”

Kakšna je razlika med Simula I in Simula 67?
Simula I, ki je bila prvotno pravkar imenovana “Simula,” je bila prva različica jezika.

Simula 67, ki je bila izdana leta 1967, je bila velika širitev. To je različica, ki je dodala objektno orientacijo in druge funkcije, ki so kasneje postale standardni del sodobnih programskih jezikov.

Danes kdo govori “Simula” se skoraj vedno sklicuje na Simula 67.

Ali ljudje še vedno uporabljajo Simula?
Ne tako zelo. To je’je nemogoče reči “nihče” ga uporablja, vendar je podpora in zanimanje za jezik na tem mestu zagotovo zelo nizko. Tam je zatočišče’t že dolgo niso bile nove knjige o Simuli, večina spletnih virov pa je od tega pisanja stara več let.

Največ zanimanja za Simula je bilo med akademiki in učitelji.

Zakaj bi se moral naučiti Simula?
Če je vaš cilj, da se naučite, kako kodirati, da lahko gradite aplikacije in zaslužite za preživljanje kot razvijalec, verjetno ne bi smeli’t. Simulacija je na tem mestu večinoma pomembna kot zgodovinski jezik. Vredno bi se bilo naučiti, če bi vas zanimalo raziskovanje razvojnih programskih paradigem.

Kot vsi starejši jeziki je tudi v naravi nekaj starejših programov Simula, ki se še vedno uporabljajo. Če ste pozvani, da sodelujete z enim od teh programov (ali ga nadomestite s sodobnim sistemom), vi’Moral se bom naučiti jezik.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me