„Erősen típusos” változatai közötti eltérés

Innen: Programozás Wiki
Ugrás a navigációhozUgrás a kereséshez
(Új oldal, tartalma: „Egy programozási nyelvet akkor tekintünk erősen típusosnak, ha a változók és kifejezések típusa fordítási időben meghatározható, és az e…”)
 
1. sor: 1. sor:
Egy [[programozási nyelv]]et akkor tekintünk erősen típusosnak, ha a [[változó]]k és [[kifejezés]]ek [[típus]]a [[fordítási idő]]ben meghatározható, és az eltérő típusú adatok nem, vagy csak szigorú feltételek mellett keverhetők.  
+
Egy [[programozási nyelv]]et akkor tekintünk erősen típusosnak, ha a [[változó]]k tartalmának és [[kifejezés]]ek eredményének [[típus]]a nem vagy csak igen szigorú ellenőrzések mellett [[típusátalakítás||alakítható vagy értelmezhető át]]. Például egy erősen típusos nyelvben egy bájtokat vagy karaktereket tartalmazó tömb nem értelmezhető át közvetlenül karakterfüzérré [[típusbujtatás típusbujtatással]] és nem adható át utóbbi típusú paramétert váró eljárásnak előzetes és kifejezett átalakítás nélkül. Hasonló módon egy előjeles egész típusú mező sem értelmezhető át rövidebb hosszúságú előjeles egésszé, vagy akár azonos hosszúságú, de előjel nélküli egésszé, mert ez bizonyos esetekben az adatok helytelen értelmezését okozhatná.
  
Az erős típusosság előnye, hogy a [[programozó]] rá van kényszerítve arra, hogy gondolja végig a használt adatok pontos típusát. Így ritkábban fordul elő, hogy egy adatot olyan helyzetben próbál használni, ahol annak nincs értelme. A [[fordítóprogram]] hibával jelzi a típusfeltételek megszegését, így ilyen hibák nem kerülhetnek a programba.
+
Az erős típusosság előnye, hogy biztosítja a feldolgozás során a memóriában tárolt adatok értelmének megőrzését, és megnehezíti vagy kizárja az adatok téves értelmezését, tárolását és feldolgozását. Hátránya, hogy a típusátalakítások a programozó részéről az eltérő típusok közötti explicit konverzió szándékát jelzó külön kód írását, a nyelv részéről pedig erre a célra külön függvények biztosítását igényelik. Az explicit átalakításokat végző kódok és hívások növelik a fejlesztési időt és a futási időt, és olyan technikai részekkel bővítik a [[forráskód]]ot, amik nem tartoznak az algoritmus lényegéhez. Emiatt kevésbé áttekinthetővé, terjengősebbé, és nehezebben változtathatóvá válik a kód.  
  
Hátránya, hogy a [[deklaráció]]k pontos típusmeghatározásokat igényelnek, eltérő típusok között explicit konverziókat kell használni. Ez növeli a fejlesztési időt, és olyan technikai részekkel bővíti a [[forráskód]]ot, amik nem tartoznak az algoritmus lényegéhez. Emiatt kevésbé áttekinthetővé, és nehezebben változtathatóvá válik a kód.
+
Erősen típusos nyelvek például az [[C#]] és a [[Pascal]] eredeti változata. Minden erősen típusos nyelv egyben [[típusbiztonság típusbiztos]] is, de ez fordítva nem igaz: a modern [[dinamikus nyelv||dinamikus nyelvek]] legtöbbje például típusbiztos, de nem erősen, hanem [[lazán típusos]].
 
 
Erősen típusos nyelvek például az [[Ada]], a [[Pascal]], vagy a [[C]].
 
  
 
== Külső hivatkozások ==  
 
== Külső hivatkozások ==  
  
 
[http://hu.wikipedia.org/wiki/Erősen_típusos_programozási_nyelv Wikipedia szócikk]
 
[http://hu.wikipedia.org/wiki/Erősen_típusos_programozási_nyelv Wikipedia szócikk]

A lap 2012. május 22., 23:48-kori változata

Egy programozási nyelvet akkor tekintünk erősen típusosnak, ha a változók tartalmának és kifejezések eredményének típusa nem vagy csak igen szigorú ellenőrzések mellett |alakítható vagy értelmezhető át. Például egy erősen típusos nyelvben egy bájtokat vagy karaktereket tartalmazó tömb nem értelmezhető át közvetlenül karakterfüzérré típusbujtatás típusbujtatással és nem adható át utóbbi típusú paramétert váró eljárásnak előzetes és kifejezett átalakítás nélkül. Hasonló módon egy előjeles egész típusú mező sem értelmezhető át rövidebb hosszúságú előjeles egésszé, vagy akár azonos hosszúságú, de előjel nélküli egésszé, mert ez bizonyos esetekben az adatok helytelen értelmezését okozhatná.

Az erős típusosság előnye, hogy biztosítja a feldolgozás során a memóriában tárolt adatok értelmének megőrzését, és megnehezíti vagy kizárja az adatok téves értelmezését, tárolását és feldolgozását. Hátránya, hogy a típusátalakítások a programozó részéről az eltérő típusok közötti explicit konverzió szándékát jelzó külön kód írását, a nyelv részéről pedig erre a célra külön függvények biztosítását igényelik. Az explicit átalakításokat végző kódok és hívások növelik a fejlesztési időt és a futási időt, és olyan technikai részekkel bővítik a forráskódot, amik nem tartoznak az algoritmus lényegéhez. Emiatt kevésbé áttekinthetővé, terjengősebbé, és nehezebben változtathatóvá válik a kód.

Erősen típusos nyelvek például az C# és a Pascal eredeti változata. Minden erősen típusos nyelv egyben típusbiztonság típusbiztos is, de ez fordítva nem igaz: a modern |dinamikus nyelvek legtöbbje például típusbiztos, de nem erősen, hanem lazán típusos.

Külső hivatkozások

Wikipedia szócikk