Programozási paradigmák
Az érdekelne, hogy az OOP-n kívül milyen más paradigmával találkoztatok eddig, mi az, amit használtatok is, minek mi az előnye és hátránya?
Külön érdekelne, hogy a felsoktatásban mit és hogyan tanítanak, valamint az, hogy mennyi ideig.
■ Külön érdekelne, hogy a felsoktatásban mit és hogyan tanítanak, valamint az, hogy mennyi ideig.
Funkcionális programozás
Magam részéről kifejezetten hasznosnak tartottam.
(persze sok minden volt ott, én csak azért emelem pont ezt ki, mert több féléven át tanultam, programozási nyelvek sáv miatt is vettem fel ilyen tárgyat, meg logika sáv miatt is)
Még funckionális
Hol használják a funkcionális
Bárhol
RabbitMQ (AMQP
web. Mi pl. Scalaban
deklaratív programozás
Per pillanat Prolog illetve
A Prolog persze más tészta, hiszen egy dolog függvényekben gondolkodni (azaz ciklusok, illetve változók nélkül élni), de relációkban gondolkodni az emberek többségének túlzottan idegen.
Struktúrált
Noha mindkettőben vannak procedurális lehetőségek, főként assemblyben ezek igen alacsony szintűek, hát még valós módban, ahol igencsak korlátozott a stack mérete (max 64 kB), és arra is neked kell ügyelni, hogy mikor mit adsz át a vermen keresztül, pont azt vedd is ki, mert a BP is "ott lakik", úgyhogy nem talál vissza az eljárásodból, ha bentfelejtesz valamit, vagy "túlpopolsz".
Mindkettőnél a fő vezérlési utasítás a különböző ugrás (feltételesek is), ami még assemblyben (real mode) különleges, hogy feltételes ugrás relatív címzése mindössze 1 byte, vagyis előre 127, hátra 128 bájtnyit tudsz ugrani a gépi kódban. És persze tudsz ugrani "utasítás közepére", így más kódot kezd végrehajtani a proci. A régi vírusok fő jellemzője volt, hogy ártatlan kódnak + adatnak látszott, de egy
jmp XY[Z]
beugrott egy pl. 4 bájtos utasítás 2. bájtjára, így "programozva át" magát. Kíváncsi lennék, egy mai víruskereső megtalálná-e ezeket?Pascal esetében már - ha jól emlékszem - csak címkére lehet ugrani, adott bájtot nem, így nem áll fenn az "önmegsemmisítés" veszélye. Viszont Pascalba is lehet assembly betétet írni:
Bár nem a kérdésedhez kapcsolódik, mégis elgondolkodtató, hogy assembly real mode-ban összesen fél megád van / lehet:
- 64 kB kódszegmens (a teljes programod mérete!);
- 64 kB adatszegmens;
- 64 kB Stack (ezt az én fordítómmal sosem tudtam biztosan állítani, miért?);
- max. 5 x 64 kB külön foglalt memóriaszegmens, pl. képek betöltésére fájlból, hogy onnét "rakd ki" képernyőmemóriába.
Kíváncsi lennék, hogy a "mai fiatal" programozók hányad része boldogulna nem túl észveszejtő, de mondjuk "adatbáziskezelő" progik írásával ebben a környezetben.
Azt hiszem e kettő (főleg assembly) elég messze áll az OO-tól, de nem lehetetlen megvalósítani olyasmit sem.