Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Informatika oktatása / Szoftverválasztás /2.4. Programozási nyelv + fejlesztői környezet – implementációk

Szoftverválasztás

2. Programozási nyelvek értékelése

2.4. Programozási nyelv + fejlesztői környezet – implementációk

Ebben a fejezetben a tiszta nyelvi sajátosságok helyett a nyelv egyes megvalósításait jelentő fordítóprogramokkal (esetleg értelmezőkkel) kapcsolatos szempontokat sorjázzuk, illetve a programozási nyelvek és fejlesztői környezetek egymástól nehezen elválasztható jellemzőit.

2.4.1. Többplatformúság

A több operációs rendszeren futás képessége előnyös lehet, hiszen támogatja az operációs rendszer esetleges váltását. De valódi problémamentességet csak akkor jelent, ha a különböző platformokon működő fordítóprogramok használatának eredménye szintaktikusan és szemantikusan ekvivalensek (és persze a fejlesztői környezetektől is ugyanezt várjuk el). Sajnálatos, hogy a Lazarus Linux környezetben bizonytalanul működik, szemben a viszonylagos Windows-os stabilitással. [HGy] Az egyik elterjedőben levő programozási nyelven, a C#-ban írt alkalmazások többplatformúságát hivatott támogatni a mono projekt, ami azonban nem minden esetben nyújt tökéletes megoldást. Ugyanez a helyzet a fejlesztői környezetek tekintetében, a Linux alá készített MonoDevelop messze kevesebbet tud jelenleg a Visual Studio-nál. Hasonló problémával szembesülünk, ha webes alkalmazást készítünk, az operációs rendszer helyébe – természetesen – a böngésző lép, amely képes futtatni egy ilyen nyelvű kódot. Sajnos a szemantikus ekvivalencia messze nem teljesül ma még. A szintaktikában is vannak váratlan különbségek.

2.4.2. Fordítási stabilitás

A fordítási stabilitás alatt azt értjük, hogy a fordítás sikeressége nem függ a fordító verziószámától, azaz felülről kompatibilisek. Negatív példaként említhető a C++ fordító (gcc) egyes verzióváltása során tapasztalt jelenség: a rendszerkönyvtár fájljainak tartalma némileg megváltozott, így egy korábban szintaktikusan helyes programot az újabb fordító hibásnak jelez. (Bizonyos nyelvi elemek egy olyan header-állományba kerültek át, amely korábban nem volt „include-álandó”.) Hasonló probléma Visual Basic esetében is említhető: két verzió között megváltozott a default paraméterátadási mód.

2.4.3. Végrehajtási stabilitás

Végrehajtási stabilitás azt jelenti, hogy a választható végrehajtó környezet milyenségétől, vagy a fordítóprogram verziószámától függetlenül azonosan fut-e a készített program. Ebből a szempontból kritikusak a szkript nyelvek. A JavaScript programok hajlamosak másként működni pl. Explorerben, mint FireFox böngészőben. Helyenként a szintaxis is más.

Sajnos nem csak a szkript nyelvek szolgálnak említhető példával. Ui. a FreePascal 1.0.10 verzió számú fordítójával készült tárgykód végtelen ciklusba esett textfájlolvasás közben, ha az utolsó sor végén hiányzott a sorvégjel, míg az „őssel”, a TP7-tel (Turbo Pascal 7-es verziójával) fordítva helyesen futott le.

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.

A tananyag az ELTESCORM keretrendszerrel készült