There has to be another way: my entry in the FP vs. OO debate
Valóban temetni kellene az objektumorientált programozást?
■ H | K | Sze | Cs | P | Szo | V |
---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | 1 | 2 | 3 | 4 | 5 |
Arany középút
Az OOP is ezer sebből vérzik, de ezt már leírtam párszor. A megoldás valahol a kettő között van, mindkét koncepcióból át kéne venni a jó elképzeléseket.
Más nyelvek
Ez sem intuitív, de JS-ben
Intuitív
Akkor a legegyszerűbb a munka
Akkor a legegyszerűbb a munka
Ez egyáltalán nem biztos.
Hanem?
Bizonytalan.
:D
ránézel a forráskódra úgy,
Ameddig nem ismerted az imperatív stílust, addig egy imperatív nyelven írt kódról sem tudtad, hogy mit csinál.
Ez zajlik, mindkét paradigmába tartozó nyelvek folyamatosan emelnek át eszközöket a másikból.
Ameddig nem ismerted az
Ezen nyelvek közös jellemzője, hogy a program fejlesztése értékadó utasítások megfelelő sorrendben történő kiadására koncentrálódik.
1, arrébb tolom a dobozt; eredmény: oda került, ahova szeretném
2, ha a helyén van a doboz, felnyitom; eredmény: a doboz nyitott
3, ha a doboz nyitott, kiveszem a tartalmát; eredmény: labda
Imperatív nyelvek esetén ha ismered a belépési pontot, tudod, hogy mi a függvény és a változó, akkor átlagos halandóként is érteni fogod, mi fog történni.
Imperatív nyelvek esetén ha …
Ameddig nem tudtál programozni, addig nem tudtad, mi a függvény és mi a változó (még akkor sem, ha figyeltél matematika órán, mert nem ugyanaz).
Érdemes elolvasni Jeff Atwood ide kapcsolódó írását.
Teljesen irreleváns, hogy mit
A következőt állítottam:
SQL
Kérem az összes nagy darab,
Kérem az összes nagy darab,
Az SQL-t kifejezetten azzal a céllal hozták létre, hogy laikus felhasználók angol nyelven érthető lekérdezéseket írhassanak vele. Ennél közelebb jutni egy természetes nyelvhez sosem fogsz.
Az SQL nagyszerű addig, amíg
offtopic
Teljesen irreleváns, hogy mit
Ameddig nem tanultál meg imperatívan programozni, addig te sem tudtál programozni, és a számodra mára intuitív szintakszis ugyanolyan befogadhatatlan volt, mint most a funkcionális.
Mellesleg a C-szintakszis igen messze áll a természetes nyelvekétől.
Nem mondtam egy szóval sem,
var
a: integer;
begin
a := 5;
repeat
a := a + 1;
until a < 10;
Write('A értéke: ', a);
end;
Ehhez a változó, az eljárás és a ciklus fogalmát kell ismerni.
Nem mondtam egy szóval sem,
Mégis egy C-szintakszisú nyelvben dolgozol.
Ahogy a matematika sem véletlen használ szimbólumokat szöveges leírások helyett.
Ameddig nem tanultál meg
Why hasn't functional programming taken over yet?
Abban viszont valószínűleg tévedtem, hogy egy programozási nyelv akkor intuitív, ha közel áll a természetes nyelvhez. Ezt továbbgondolva inkább azt állítom, hogy egy programozási nyelv akkor intuitív, ha közel áll az emberi gondolkodáshoz (a többség gondolkodásához).