ugrás a tartalomhoz

Programozási paradigmák

Hidvégi Gábor · 2013. Okt. 24. (Cs), 13.48
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.
 
1

Funkcionális programozás

T.G · 2013. Okt. 24. (Cs), 14.13
ELTE-n még anno választható tantárgyak között szerepelt többféle funkcionális programozással foglalkozó tárgy. Akit tényleg érdekelt az elég komolyan bele tudott menni a témába.

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)
4

Még funckionális

tgr · 2013. Okt. 25. (P), 01.20
Még funckionális fordítóprogramok speci is van (volt, mindenesetre).
6

Hol használják a funkcionális

Hidvégi Gábor · 2013. Okt. 25. (P), 07.33
Hol használják a funkcionális programozást? Az Erlangról hallottam, de mennyire elterjedt?
7

Bárhol

T.G · 2013. Okt. 25. (P), 07.55
A funkcionális programozás bárhol előjöhet: http://www.ustream.tv/recorded/29585372 :)
8

RabbitMQ (AMQP

MadBence · 2013. Okt. 25. (P), 19.30
RabbitMQ (AMQP implementáció), a Facebook chat backend része pl Erlangban van megírva.
9

web. Mi pl. Scalaban

dbedo · 2013. Okt. 31. (Cs), 11.59
web. Mi pl. Scalaban fejlesztunk webserviceket. Csak ugy mint Twitter, LinkedIn, Guardian, etc.
2

deklaratív programozás

szabo.b.gabor · 2013. Okt. 24. (Cs), 20.25
prolog-ot és sml-t tanultunk BME-n, érdekes volt, de használni azóta sem..
3

Per pillanat Prolog illetve

MadBence · 2013. Okt. 24. (Cs), 22.12
Per pillanat Prolog illetve Erlang van DP-n, ez utóbbi szerintem kifejezetten jól használható, illetve egy olyan új megvilágításba helyezi a programozást, amit sok helyen lehet alkalmazni a gyakorlatban.
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.
5

Struktúrált

Pepita · 2013. Okt. 25. (P), 02.54
Assembly, Pascal.

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:
asm
mov ax, 13;
add ax, cx;
; ....
end;
Ezt viszont jó esetben függvénybe írjuk, és másképp van a memóriacímzés is.

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.