ugrás a tartalomhoz

Is software development too complex today?

Hidvégi Gábor · 2015. Ápr. 1. (Sze), 23.37
A szoftverfejlesztés eszközei egyre komplexebbek
 
1

Hol is kezdje az

Joó Ádám · 2015. Ápr. 2. (Cs), 00.11
Hol is kezdje az ember?

Miért várja a szerző, hogy tíz évvel később a szoftverek komplexitása ugyanakkora legyen, miközben a követelmények komplexitása nő? Mi köze a szoftver komplexitásának a fejlesztői környezet komplexitásához? Mi akadályozza meg a szerzőt, hogy egy egyszerű szövegszerkesztőben és parancssoros fordítóval fejlessze a Windows 8 alkalmazásait?

Már megint hogy jön ide az OOP? Hogyan lehet gyorsan és egyszerűen nagyteljesítményű és alacsonyszintű kódot írni? Miért nem lehet OOP kódot pendrive-ra másolni?

Hogyan kapcsolódik a szoftverek komplexitásához az, hogy keletkezik-e natív kód? Miért kéne, hogy egy laikus tudja olvasni a kódot? Miért nem tud angolul a szerző?

Bevallom, kezdem elveszteni a fonalat, ahogy a szoftverfejlesztés legalapvetőbb tapasztalatainak és önmagának is egyre-másra ellentmond.

Már csak egy kérdés kínoz: most akkor mindent át kell-e írni BASIC-re, vagy csak azt, amit nem akarok pendrive-ra menteni?
2

Hol van szó az írásban

pythonozok · 2015. Ápr. 2. (Cs), 07.46
Hol van szó az írásban pendrive-ról?
5

Miért várja a szerző, hogy

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 09.21
Miért várja a szerző, hogy tíz évvel később a szoftverek komplexitása ugyanakkora legyen, miközben a követelmények komplexitása nő?
Miért nő a követelmények komplexitása? Milyen követelmények komplexitása nő? A mai világban, ahol a szoftverek és a weboldalak/webes alkalmazások felülete a primitívség határait súrolva egyszerűsödött, kinek van szüksége komplex szoftverekre? Jobban értenek az emberek a számítógépekhez, mint tíz éve? Ha nem, miért van szükségük komplexitásra? Kinek van szüksége a komplexitásra?

Mi köze a szoftver komplexitásának a fejlesztői környezet komplexitásához?
Próbálj meg egy modernnek nevezett programot, ami ezer fájlból áll (nagyjából metódusonként egy), egy szimpla szövegszerkesztőben módosítani!

Már megint hogy jön ide az OOP?
Most kivételesen ő keverte bele, és nem találtam más írást a témában. Emiatt küldtem be még a Toyotásat.

Hogyan lehet gyorsan és egyszerűen nagyteljesítményű és alacsonyszintű kódot írni?
Például úgy, hogy a legalacsonyabb szintű eszközöket használod, PHP-ban tömbök, karakterláncok és számok, valamint függvények. Így a kódod egyszerű lesz és gyors.
6

Próbálj meg egy modernnek

bamegakapa · 2015. Ápr. 2. (Cs), 09.31
Próbálj meg egy modernnek nevezett programot, ami ezer fájlból áll (nagyjából metódusonként egy), egy szimpla szövegszerkesztőben módosítani!

Nem szempont egy komolyabb fejlesztésnél, hogy a forrást notepaddel is kényelmesen tudd módosítani. Nem is értem, miért kéne, hogy az legyen, komolyan, értetlenül állok. Ha valaki jobb, fejlettebb, modernebb eszközöket használ (ld. traktor), teljesen máshová tolódik a hangsúly.
7

Tehát a modern eszközök

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 09.36
Tehát a modern eszközök használatához komoly IDE-re van szükség?
8

A komoly IDE például egy

bamegakapa · 2015. Ápr. 2. (Cs), 09.37
A komoly IDE például egy modern eszköz.
9

Átfogalmazom a kérdést: a

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 09.41
Átfogalmazom a kérdést: a modern szoftvereszközkészlet használatához komoly IDE-re van szükség?
10

Nincs. De mivel rendelkezésre

bamegakapa · 2015. Ápr. 2. (Cs), 09.53
Nincs. De mivel rendelkezésre áll IDE, és alaposan megkönnyíti a munkát, ezért használni fogjuk. Mivel használjuk, többé már nem szempont olyasmi, ami korábban az volt (pl. fájlok mennyisége - who cares?). Áttolódik a hangsúly, mint írtam.

Egyszerűen nem látok indokot, hogy miért NE használnánk modern, komoly IDE-t.
13

Tehát egy komoly IDE nélkül

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 10.04
Tehát egy komoly IDE nélkül jóval nehezebb lenne a munka?
14

Nem értelek. Mivel az IDE

bamegakapa · 2015. Ápr. 2. (Cs), 10.07
Nem értelek. Mivel az IDE megkönnyíti a munkádat, így nélküle nyilván nehezebb, nem?

Láncfűrésszel csak akkor nehezebb elvágni egy gerendát, mint fűrésszel, ha nem tudod használni a láncfűrészt.
15

Tehát ha egy komoly IDE

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 10.14
Tehát ha egy komoly IDE használata megkönnyíti a munkát, az azt jelenti, hogy a szoftverfejlesztés túl komplex-szé vált, és egy modern szoftvert egy egyszerű szövegszerkesztőben nem is lehet hatékonyan elkészíteni.
18

Megint csak nem értelek. A

bamegakapa · 2015. Ápr. 2. (Cs), 10.36
Megint csak nem értelek. A láncfűrész megjelenése azt jelenti, hogy fűrésszel már nem is lehet fát vágni? Dehogynem. De miért szenvednél a szövegszerkesztőben, ha van IDE? A programozók a legenda szerint intelligens, gondolkodó emberek.

Miért ne válnának komplexebbé a szoftverek? A hardver fejlődése alaposan odébb rakja a korlátokat, a bottleneckek helyét. Ha a memória olcsó és van belőle egy rakás, akkor korábbi vesszőparipádat felidézve a kliens nem azért fog fizetni kemény pénzeket, hogy minél optimalizáltabb legyen a memóriafogyasztás. Új funkciókat fog kérni és gyorsan, persze lehetőleg működjenek is.
23

Egy komplex szoftvert

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 10.51
Egy komplex szoftvert nehezebb létrehozni, mint egy egyszerűt, nehezebb karbantartani, mert a belépési küszöb a megértéséhez magasabb. Egy komplex szoftver emiatt eleve több hibát fog tartalmazni. Mire jó ez az egész?
78

Ez egy remek érv!!! És eddig

bamegakapa · 2015. Ápr. 3. (P), 00.03
Ez egy remek érv!!! És eddig átsiklottam felette... Már baromira bánom is, hogy vettem egy autót. Gyalog járni pedig sokkal egyszerűbb! Nem kell ugye benzin, csomót spórolok. Egy autónál számtalan dolog meghibásodhat! Nem is sorolom. Gyalog ráadásul biztosan nem gázolok el senkit, és karambolozni sem fogok. Belépési küszöb? Vicc, hogy a jogsival baszakodtam, váltó, irányjelző, elsőbbségi szabályok, közlekedési táblák! Dehogy. Ha zöld van, sétálok, ha piros van, megállok. Ennyire egyszerű!

Ha előbb felnyitod a szemem, egy csomót spórolhattam volna!
189

Nagyon jó dolog az autó, de

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 22.15
Nagyon jó dolog az autó, de azzal még mindig kevesen foglalkoznak, hogy mekkora rombolást visz végbe a környezetben a rengeteg kipufogógáz. Majd az unokáink megoldják, minket nem érdekel a dolog, csak gyorsan érjünk oda, ahova szeretnénk, ugye?

Az ember azt tartja magáról, hogy intelligens, de még ezeket az összefüggéseket sem látja át. Nálunk még egy véletlenszerűen kiválasztott állatnak is több esze van, hisz azok nem teszik úgy tönkre az élőhelyüket, hogy többé nem lehet ott létezni.
193

Elvesztettem az analógia

bamegakapa · 2015. Ápr. 8. (Sze), 22.54
Elvesztettem az analógia fonalát. A kipufogógáz minek feleltethető meg? Az OOP rombolja a környezetet :)? Jobban átgondolva, legyen ez költői kérdés, mert biztos megmagyaráznád, hogy de hát több számítás, amihez több energia kell, amit meg szénerőművek állítanak elő, ami nálam a bullshit kategória.

Az ember intelligens, és át is látja mindazt, amit leírsz - de leszarja. Az ember végtelenül önző, bármit próbál is elhitetni magáról. Ha autót használ, akkor is önző célok vezérlik, ha nem használ autót, akkor is. Ennek a vonalnak semmi olyan értelme nincs, ami bármihez közelebb vinne minket.

Intelligens lény meg nem gyalogol, hanem fejleszt környezetbarát autót.
196

En is kezdem elveszteni a

city99 · 2015. Ápr. 9. (Cs), 07.08
En is kezdem elveszteni a fonalat hogy te tenyleg vitatkozol gaborral vagy csak koteketsz. Az OOP es a kipufogo gaz kozoztti kapcsolat a komplex termekek mellekhatasa.
Arra meg azert ne fogadj nagy osszegekbe hogy mindenhol kornyezetbaratmodon allitjak elo az enertigat.
Igen az emberiseg borzaszto onzo, ez az allatokban is megvan csak ott nem adatott meg az a lehetoseg hogy atermeszet "fole" helyezkedjen. Speciel szerintem nekunk se, mert a bolygo megrazza magat es az emberiseg eltunik. A tevekenysegunkkel max siettetni tudjuk ezt a folyamatot.
Az utolso mondatoddal messzemenoleg egyetertek! A baj ott van hogy vagy olyan ritka az inteligens ember mit a feher hollo vagy egyszeruen inkabb a gazdasag diktal mint az eszervek.
197

Gáborral nem lehet

bamegakapa · 2015. Ápr. 9. (Cs), 08.45
Gáborral nem lehet vitatkozni. De ezzel nem azt mondom, hogy kötekszem.
203

Én már a lefsm a bokám

inf · 2015. Ápr. 9. (Cs), 22.09
Én már a lefsm a bokám stádiumba kerültem, hogy most tényleg arról megy a téma, hogy az oop mennyire rossz, mert nem környezetbarát...
206

Hát akkor nekem már valahol

bamegakapa · 2015. Ápr. 9. (Cs), 23.00
Hát akkor nekem már valahol derékig érhet :).
198

Nem csak az energia

Hidvégi Gábor · 2015. Ápr. 9. (Cs), 09.02
Nem csak az energia előállítása nem környezetbarát, hanem az általunk használt eszközök is nehezen hasznosíthatók újra a komplexitásuk miatt. Erre kiváló példa a számítástechnika által igényelt integrált eszközök, amelyeknek csak a negyedét dolgozzuk fel újra, és azt is embertelen körülmények között.

Apám azt mondta, hogy majd a piac megoldja a problémát, mert ha rájönnek, hogy egyszerűbb/környezetbarátabb termékekre lesz szükség, akkor mindenki olyat fog kérni. Szerintem ez előbb-utóbb be fog következni, és aki elébe megy a dolgoknak, és már most elkezd erre figyelni, versenyelőnyben lesz.
19

logika.

sanyoo · 2015. Ápr. 2. (Cs), 10.38
"komoly IDE használata megkönnyíti a munkát, az azt jelenti, hogy a szoftverfejlesztés túl komplex-szé vált"

Nem. "modern szoftver" kódot példáu azért könnyebb IDE-ben irni mert a "modern" kód átért a kevés fájl több ezer sorról a sok fájl kevés kód-ra. De ettől nem vált komplex-é. Csak mássá.
Ne ferditsd, ne játszd az értetlent kérlek. Én miattad nézem egyre kevésbé a weblabort, - már meguntam hogy itt trolkodsz, és/vagy értelenkedsz.
Vagy ha annyira csoda szép kódot tudsz irni mindenféle modern kóri hülyeségek nélkül (pl OOP), akkor tetszik feltenni githubra egy fél-egy millió sorosnál nagyobb PHP project-et. (vagy keresni egyet.) De egye fene legyen csak tizezer sor.
24

Mi az előnye a sok fájl+kevés

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 10.54
Mi az előnye a sok fájl+kevés kód kombinációnak a kevés fájl+sok kódhoz képest?
26

2015

sanyoo · 2015. Ápr. 2. (Cs), 11.01
nem 2015-ben veled erről nem állok le vitatkozni. Megtették páran (és megteszik újra és újra), de te csak trollkodsz tovább és tovább. Ha mutatsz egy olyan _nagy_ repo-t ami szerinted szép, beszélgethetünk.
28

Ha még mindig itt

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 11.10
Ha még mindig itt értetlenkedek a témában, az azt jelenti, hogy nem tudták elmagyarázni úgy, hogy még nekem is átjöjjön. Hátha neked sikerül!
29

Hogy még mindig

bamegakapa · 2015. Ápr. 2. (Cs), 11.17
Hogy még mindig értetlenkedsz, az csak rajtad múlik. Kiváló magyarázatokat kaptál eddig is, de ha a saját részedet nem vagy hajlandó belerakni, ez mind értelmetlen.

A következőt javaslom. A blogmarkjaid alapján csupa olyan írást olvasol, ami azt támasztja alá, amit te egyébként is gondolsz. Vizsgáld meg alaposabban a másik oldalt. Az "ellenfelet" csak akkor vagy képes megismerni, ha úgy gondolkodsz, mint ők. Válj egy időre az ellenféllé. Hogy mennyi idő kell, rajtad múlik (ne pár héttel számolj, minél elkötelezettebb vagy az egyik oldal mellett, annál nehezebb). Ha ezt megtennéd (bár nem fogod), utána szívesen és érdeklődve olvasnám a véleményed, függetlenül attól, mit mondasz.
34

Nem értem, miért kéne a saját

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 11.40
Nem értem, miért kéne a saját ellenfelemmé válni.

Ha valami egyértelműen jó, akkor azt mindenkinek meg kéne tudnia értenie, akár különösebb gondolkodás nélkül.

Ha van választási lehetőségem, hogy igyak vizet vagy ne igyak semmit, akkor nyilvánvalóan azt fogom választani, hogy igyak, különben meghalok.

Ha van választási lehetőségem, hogy igyak kénsavat vagy igyak vizet, akkor a vizet fogom választani, mert a kénsav szétmarja az emésztőrendszeremet.

Ha valami komplex, és ennyire magyarázni kell, hogy megértsék, ott a komplexitással egyenes arányban nő az esély, hogy a magyarázó személye sem ért meg mindent.
36

A dolgok nem mind egyaránt

bamegakapa · 2015. Ápr. 2. (Cs), 11.53
A dolgok nem mind egyaránt feketék és fehérek. A víz és a kénsav között könnyűnek látszik a döntés. A víz és a kávé között már nem egyértelmű - a céltól függ. Víz vagy sör? Csapvíz vagy ásványvíz? Buborékos vagy anélkül?

Ha ismered a saját elméd működését, akkor gyakorlod azt, hogy rendszeresen belehelyezed magad olyan nézőpontokba, amikkel szemben ellenérzéseid vannak. Ha nem teszed, az idő múlásával arányosan fogsz beszűkülni - neked tudtommal az ellenkezője a célod.

A magyarázás lényegtelen, a megértési szándék számít. Minél erősebb, annál biztosabb, hogy gyorsan megtalálod azokat a magyarázatokat, amik segítenek. Ha az a célod, hogy valamitől távol tartsd magad, akkor azokat a magyarázatokat fogod vonzónak találni, amik a hiányosságait, hibáit taglalják.
39

Ha nem szeretném megérteni

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 12.02
Ha nem szeretném megérteni például az OOP-t vagy hogy miért van szükség komplexitásra, akkor nem kérdezősködnék a témában évek óta.

A magyarázás nagyon is lényeges, de nem fontosabb a megértési szándéknál, 50-50%.
42

Egy ilyen témában millióféle

bamegakapa · 2015. Ápr. 2. (Cs), 14.06
Egy ilyen témában millióféle magyarázat áll rendelkezésre. Az anyag adott, az értelmeddel sincs probléma, tehát csak a szándék hiányozhat. A mellékelt ábra (itteni tevékenységed) sem azt jelzi, hogy a megértés lenne a célod.

Próbáld ki a módszert. Felesleges olyasmi ellen harcolni, amit nem értesz. Been there, done that.
44

Oké, megteszem, ha te is

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 14.52
Oké, megteszem, ha te is megteszed azt, hogy engem képzelsz ellenfélnek, és az én helyembe képzeled magad, és megérted azokat az érveket, amiket felhoztam. Ha sikerült, utána vitázunk!
52

Ez a része a szokásosnál

bamegakapa · 2015. Ápr. 2. (Cs), 17.04
Ez a része a szokásosnál könnyebb. Volt, hogy az érveid az én érveim is voltak.
30

Ez tényleg kérdés számodra?

Gixx · 2015. Ápr. 2. (Cs), 11.24
Nem hiszem el, hogy nem provokáció a célod. Ha viszont komolyan gondolod, akkor ott komolyabb gondok vannak.
31

Miért provokálnék én bárkit

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 11.30
Miért provokálnék én bárkit is, mit lehetne azzal elérni? Miért haragítsak magamra bárkit is? A kérdéseket, amiket felteszek, a blogmarkokat, amiket beküldök, természetesen komolyan gondolom. Te nem szoktál kérdéseket feltenni?
33

Miért provokálnék én bárkit

bamegakapa · 2015. Ápr. 2. (Cs), 11.33
Miért provokálnék én bárkit is, mit lehetne azzal elérni?

Figyelmet.
16

Isteni kör

vbence · 2015. Ápr. 2. (Cs), 10.21
Ahogy a gépek gyorsabbak / IDE-k okosabbak lesznek, úgy tesznek szert népszerűségre bizonyos technikák, amik a nagyobb aszisztenciára alapoznak. Ezek általában hasznosak, jobbá, átlátatóbbá teszik a terméket (különben nem terjednének el).

PHP-s weboldalt, Javás alkalmazást is tudsz írni egyetlen fájlban, de akkor elvesztesz egy csomó lehetőséget, technikát, amit több fájl nyújt (PHPban pl autoloadig, hogy csak a szükséges osztályaid forduljanak le/fogyasszanak memóriát).

Ezen technikák arra építenek, hogy az IDE megoldja ami az IDE dolga; így erősítve a programozót.
45

vagy ördögi kor

city99 · 2015. Ápr. 2. (Cs), 14.55
A tobb fajlt technika viszont felveti a sok i/o muvelet es a lemezfoglalasi meretek problemajat. Sokszor futok bele (tarkapacitas szamitas, masolas, visszaallitas, kereses) olyan esetekbe amikor 1-1 nagyobb fajl sokkal hasznosabb mint a sok kicsi. Persze ha 1 fajl elveszteserol beszelunk hasznosabb 20 sor kod elvesztese es ujrairasa mint mondjuk 100 000 sore. Szoval szerintem ez se fekete feher. A webes dolgok alltalaban elmentek a sok apro fajl iranyaba, habar vannak ellenpeldak is.
Csak hogy legyen egy pelda ha megnezzed a google kereso oldalat akkor ott szepen egy script tag-be be van tomoritve az egesz js. Tehat az adatatvitel es a gyorsitotarazas szemponthabol itt mar az 1 fajl jobban ervenyesul. (gondolom a fejlesztoi reszen es sok apro fajl es a buildnel lesz 1, de ez megint mas kerdes)
50

Az egy fajl fejlesztesi

blacksonic · 2015. Ápr. 2. (Cs), 16.23
Az egy fajl fejlesztesi idoben meg sok kicsi fajl lehet
51

Ez a resze az irasomnak

city99 · 2015. Ápr. 2. (Cs), 16.33
Ez a resze az irasomnak kicsuszott a kepernyodrol? :D
(gondolom a fejlesztoi reszen es sok apro fajl es a buildnel lesz 1, de ez megint mas kerdes)
53

zárójeles rész kimaradt :)

blacksonic · 2015. Ápr. 2. (Cs), 19.08
zárójeles rész kimaradt :)
93

Non-issue

vbence · 2015. Ápr. 3. (P), 14.46
Az alapvetés az, hogy a technika (infrastruktúra) fejlődik. Ez nem csak gyorsabb CPU-t jelent, de elég ramot, hogy az egész projekt cache-ben legyen (gyakorlatilag nulla lemezművelet), SSD, inkremetális backup stb stb.

Persze vannak kivételek, speckó követelmények, meg persze build folyamat is (köszönhetően ezen "modern eszközöknek").
99

Mivel manapság már mindenki

Hidvégi Gábor · 2015. Ápr. 3. (P), 17.15
Mivel manapság már mindenki valamilyen php gyorstárat (APC, Opcache és társaik) használ, eleve minden előfordított php bájtkód a memóriában csücsül, így nincs igazán jelentősége, hogy egy nagy fájlban vannak az osztályaid vagy ezer kicsiben. Az autoloading tehát nem különösebben erős érv a sok fájl mellett.
101

Szerinted akkor az egy nagy

blacksonic · 2015. Ápr. 3. (P), 20.59
Szerinted akkor az egy nagy fájl a jó? Na pont az ilyenekről nincs értelme vitatkozni.
Az egy bazi nagy fájl karbantarthatatlan. Nem hiszem hogy ezzel van értelme vitatkozni. Ez elég nyomós érv a sok kicsi fájl mellett.
103

Elbeszéltek egymás mellett

Arnold Layne · 2015. Ápr. 3. (P), 21.35
Szerintem ti elbeszéltek egymás mellett. Te a fejlesztésről, Gábor az üzemeltetésről beszél. Legalább is én így látom.
106

Javascriptnél megértem

blacksonic · 2015. Ápr. 3. (P), 23.31
Javascriptnél megértem production környezetben, de PHPnál miért kellene összerakni egy fájlba?
110

Nem tudom

Arnold Layne · 2015. Ápr. 4. (Szo), 00.00
Passz. Volt melóhelyem, ahol összerakták a PHP kódot is. Ne kérdezd miért, frontendes voltam.
113

Pl phar fájlnál hozzá tudsz

inf · 2015. Ápr. 4. (Szo), 02.17
Pl phar fájlnál hozzá tudsz csapni egy digital signature-t, amivel akár ftp-vel is feltöltheted az új release-t, ha van egy olyan rendszered, ami nézi a signature-t, és ha nem stimmel, akkor letiltja. Így még az ftp jelszó ellopása esetén sem tudnak vírust feltenni az oldalra.

Ha csak simán összefűzték a fájlokat, akkor esetleg azért lehetett, mert nem használtak opcode cache-t, aztán így próbálták gyorsabbá tenni. Most így ennél több nem jut eszembe.
104

Számomra modulonként egy fájl

Hidvégi Gábor · 2015. Ápr. 3. (P), 22.03
Számomra modulonként egy fájl az ideális.
107

Azért gondolom van egy felső

blacksonic · 2015. Ápr. 3. (P), 23.32
Azért gondolom van egy felső határa neki. 1000 soros fájlt gondolom nem hozol össze csak mert egy modul.
116

A legnagyobb modulunk

Hidvégi Gábor · 2015. Ápr. 4. (Szo), 09.28
A legnagyobb modulunk négyezer soros. Ha nagyon akarnám, ketté lehetne szedni, és akkor lenne mondjuk kétszer kétezer sor, de igazából még nem tudom, mit nyernénk vele.
109

Az egy bazi nagy fájl

inf · 2015. Ápr. 3. (P), 23.47
Az egy bazi nagy fájl karbantarthatatlan.


Én ezt így nem jelenteném ki. Más eszközök kellenek hozzá, mint amiket most használunk. Pl egyszerre több tab-en megnyitni ugyanazt a fájlt, odascrollozni a megfelelő osztályhoz, csak kódrészeket refaktorálni, csomagolni, és így tovább. Ha mindez meg lenne támogatva IDE oldalról, akkor érezhető különbség szerintem nem lenne a mostani több fájlos megoldás és az egy fájlos megoldás között. Szóval csak eszköz kérdése.
111

Memoria

Poetro · 2015. Ápr. 4. (Szo), 00.42
Azert nem mindegy, hogy egy par szaz soros, vagy par szazezer soros fajlt szerkesztes. Foleg, ha az egesznek el kell fernie memoriaban, mivel a mai szerkesztok mar nem ugy mukodnek, mint az [code]ed[code] vagy a [code]sed[code], hogy nincsen az egesz fajl a memoriaban. A mostani IDE-k mar par tizezer sor utan vagy visszakapcsolnak valami buta modra, vagy pedig osszeomlanak, mert elfogy a memoria.
112

Nem szeretem ismételni magam,

inf · 2015. Ápr. 4. (Szo), 02.11
Nem szeretem ismételni magam, de

Ha mindez meg lenne támogatva IDE oldalról


...

Szerintem nyugodtan haladhadtunk volna abba az irányba is, hogy mindent tartsunk egyetlen fájlban, aztán az IDE keresse meg az osztályokat abban a fájlban, azokban meg a metódusokat, és csináljon egy szép fát az egészből, kesselje, minden. Szerintem technikailag megoldható az egész még a mostani fájlrendszerekkel is, bár annyira alacsony szintű dolgokhoz csak kevéssé értek. De cáfold meg nyugodtan, ha tudod. Valami ilyesmi egyébként létezik is, jar fájlnak hívják, de akár mondhattam volna phar-t is. Jar-nál ha jól tudom a repackaging meg van támogatva bizonyos IDE-k által, phar-nál fogalmam sincs, valszeg nem ennyire fejlett a helyzet.

Egyáltalán nem az egy nagy fájl versus sok kis fájl a kérdés itt, hanem hogy megfelelően kis egységekre fel tudod e bontani a kódot ahhoz, hogy egy-egy ilyen egység könnyen átlátható és módosítható legyen, illetve, hogy ezek között az egységek között mennyire hatékonyan tudsz böngészni, mennyire átlátható térképet készít neked az IDE. Szvsz. ilyen téren még bőven van hova fejlődni a mostani IDE-knek is, és ez a fájlrendszeres - eredendően faszerkezetes és nem gráf - felosztás most már inkább csak akadálya a fejlődésnek, amin a legtöbb IDE keresőfunkciókkal próbál túllépni (goto declaration, find usages, etc...) több-kevesebb sikerrel. Valószínűleg lehet ennél sokkal jobban is csinálni, ha az ember rágódik a témán 1-2 évet, de nem vagyok IDE fejlesztő, és valószínűleg nem is leszek az soha, mert hidegen hagy a téma.
115

Jo latni hogy valaki szepen

city99 · 2015. Ápr. 4. (Szo), 07.10
Jo latni hogy valaki szepen osszefoglalja azt amit gondolok, de nem tudok leirni :D Koszi!
21

Ehhez a hangsúly áttolódáshoz

Udi · 2015. Ápr. 2. (Cs), 10.43
Ehhez a hangsúly áttolódáshoz hozzá kapcsolódik, hogy a fejlesztők is egy piac, erős marketinggel. Néhány éve volt itt a Weblaboron is egy blogmark erről, de már nem találom. Volt szerencsém olyan felsőoktatásban tanító oktatóhoz, aki az IDE-ket tette a fejlesztői módszerek evoluciójának csúcsára.

Nagyon sok kollégánál látom, hogy fut a Netbeans vagy a Notepad++, mert azt szokták meg, azt használták főiskolán, stb. De egyáltalán nem lenne rá szükség, mert Unix rendszereket üzemeltetünk és a legbonyultabb kód amivel találkoznak az egy 20-30 soros shell script vagy éppen az aktuális parancs kimenete, munkai jegyzet, hasonlók. De az IDE az fut, mert ők úgy érzik ez a csúcs, ennél nem adhatják alább.
25

Soha nem az eszköz hibája, ha

bamegakapa · 2015. Ápr. 2. (Cs), 10.59
Soha nem az eszköz hibája, ha nem a megfelelő feladatra használják. A szakember dolga, hogy tudja, mikor melyik eszközt érdemes használni. Maradva korábbi példámnál, ha otthon nagy ritkán ketté akarok vágni egy deszkát, én sem láncfűrészt használok.

Senki nem lett még jó programozó attól, hogy IDE-t használt. A jó programozó viszont szerintem tud használni bármilyen IDE-t (vagy képes gyorsan megtanulni) és főleg tudja azt is, mikor érdemes használni.
91

Szerintem nincs nagy

inf · 2015. Ápr. 3. (P), 14.37
Szerintem nincs nagy különbség egy rakás pluginnel megfűszerezett szövegszerkesztő és egy IDE között. Inkább az olyan feature-ök számítanak, mint a refactoring, az auto formatting, stb... Gondolom a megfelelő pluginnel ezeket hozzá lehet csapni notepad++-hoz vagy vim-hez. Ha nem, akkor nem érdemes használni őket.
11

fork

Gixx · 2015. Ápr. 2. (Cs), 09.57
Mindjárt forkolom az Eclipse-t és elnevezem "Komoly"-nak. Csinálok szép splash screent is hozzá, hogy egyértelmű legyen.

Az lesz az igazán Komoly IDE.
12

Fel is merül a kérdés, van-e

bamegakapa · 2015. Ápr. 2. (Cs), 10.00
Fel is merül a kérdés, van-e komolytalan IDE?
17

Miért nő a követelmények

BlaZe · 2015. Ápr. 2. (Cs), 10.24
Miért nő a követelmények komplexitása? Milyen követelmények komplexitása nő?
Mondd, hogy ezt most csak viccből kérdezted. De komolyan... Legalább az ennyire tényszerű dolgokat ne kérdőjelezzük már meg. Aki nem barlangban él egy lakatlan szigeten, annak ez nagyon nyilvánvaló kell legyen. Aki az IT világában dolgozik, annak meg pláne.
20

Természetesen komolyan

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 10.42
Természetesen komolyan kérdeztem. Vegyünk egy webes alkalmazást példának, egy boltot:

1, A vásárló megérkezik, keresgél, kiválasztja a termékeket, beteszi a kosárba, regisztrál/belép, megrendeli az árukat. Ez tizenöt éve is így működött, mára sem változott lényegében.

2, Kliensoldalon figyeljük a vásárló interakcióját, és erről a szervert tájékoztatjuk. Ez sem változott az utóbbi tizenöt évben. Az interakciók végeredményeképp a DOM-ot manipuláljuk.

3, Szerveroldalon feldolgozzuk a klienstől érkezett kéréseket, majd visszaküldjük a választ.

Az utóbbi húsz évben annyi változás állt be, hogy bizonyos GET és POST kéréseket AJAX-szal küldünk el, majd kliensoldali scripttel dolgozzuk fel a választ, de a végeredményen ez nem változtat, mert ígyis-úgyis a DOM-mal dolgozunk. Ha jól átgondoljuk a dolgokat, az AJAX-os kérések visszavezethetők a hagyományos GET-POST típusúakra, tehát végeredményben kliensoldalon csak minimális változtatásokra van szükség, hogy bármely oldalt AJAX-szossá tegyünk.

Az egyik legfontosabb kérdést kihagytad: Miért van szükség a komplexitás növekedésére, ha a szoftverek és webes alkalmazások/weboldalak felhasználói felülete jelentősen leegyszerűsödött?

A kérdések továbbra is állnak: a fentieket figyelembe véve, miért nő a követelmények komplexitása? Miért van szükség arra, hogy komplexebbnél komplexebb eszközöket építsenek be a programozási nyelvekbe?
22

Miért van szükség arra, hogy

bamegakapa · 2015. Ápr. 2. (Cs), 10.51
Miért van szükség arra, hogy komplexebbnél komplexebb eszközöket építsenek be a programozási nyelvekbe?


Kíváncsi lennék, te milyen választ adsz erre a kérdésre. Legjobb tudásod szerint, kérlek.

Szorgalmi feladat: ezek a "komplex" eszközök bonyolultabbá vagy valójában egyszerűbbé teszik a munkát? Azért tűnnek bonyolultnak, mert nem ismerjük őket? Bonyolultabb-e a láncfűrész a fűrésznél, és mivel nyilván igen, miért használják mégis, ha a feladat nem változott az elmúlt pár ezer évben?
27

Szerintem nincs rá szükség.

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 11.02
Szerintem nincs rá szükség. Kipróbáltam már sokmindent, de nem lett tőle a programom jobb, gyorsabb, áttekinthetőbb, érthetőbb.

Ahogy újabb és újabb eszközöket zsúfolnak a programozási nyelvekbe, úgy lesznek azok egyre komplexebbek. Aki mondjuk tíz éve programozó, ezt nem veszi észre, mert ezek az eszközök szép lassan szivárognak be, és van ideje hozzászokni.

Ehhez képest egy kezdő programozó számára sokkoló, amit lát, ugyanúgy, ahogy a blogmark szerzője számára is sokkoló volt a Visual Basic. Jóval magasabb a belépési küszöb, jóval többet kell tanulni, jóval nehezebb átlátni, és jóval több a hibázási lehetőség. Ezt hozza a szoftverek komplexitásának növekedése.

Ha viszont megmaradunk az egyszerű eszközöknél, a végeredmény egy egyszerűbb, átláthatóbb szoftver, aminek jóval egyszerűbb a karbantartása, és kevesebb hiba lesz benne.
32

Szerintem nincs rá szükség.

bamegakapa · 2015. Ápr. 2. (Cs), 11.30
Szerintem nincs rá szükség. Kipróbáltam már sokmindent, de nem lett tőle a programom jobb, gyorsabb, áttekinthetőbb, érthetőbb.

Az egy dolog. Próbáld mégis csak megválaszolni. Semmi nem fejlődik ki ok nélkül. Az indokolatlan komplexitás mindig megbukik az evolúció során. Miért alakult így? Összeesküvés? Véletlenül?

Komolyan mondom, válaszold meg. Ha nem érted, ami ellen érvelsz, felesleges az egész.

Ehhez képest egy kezdő programozó számára sokkoló, amit lát

Biztos vagyok benne, hogy egy kezdő orvos vagy egy kezdő építész is így van ezzel. Én még kezdő sofőrként is ezt éreztem. Abban nem értünk egyet, hogy az egyszerűbb eszközök kevesebb hibát eredményeznek. A komplexebb eszközök, illetve a modern szerszámok valójában csökkentik a hibázás lehetőségét. Csak meg kell tanulni használni őket. Ne legyen már érv az, hogy kevesebbet kelljen tanulni, mert abszolút komolytalan.
35

A válaszom az, hogy nincs

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 11.45
A válaszom az, hogy nincs szükség komplex eszközökre.

Abban nem értünk egyet, hogy az egyszerűbb eszközök kevesebb hibát eredményeznek. A komplexebb eszközök, illetve a modern szerszámok valójában csökkentik a hibázás lehetőségét.
Ezt támaszd alá valamivel, mert bemondásra nem hiszem el.

Az egyszerűbb eszközök használatát könnyebb megérteni. Minél kisebb a választási lehetőséged, annál nagyobb az esélye, hogy nem fogsz hibázni, mert jobban átlátod a választásod következményeit.

Emiatt célszerű egyszerűségre, és nem pedig komplexitásra törekedni.
37

A válaszom az, hogy nincs

bamegakapa · 2015. Ápr. 2. (Cs), 11.59
A válaszom az, hogy nincs szükség komplex eszközökre.

Miért fejlődtek akkor ki? Miért nem tűnnek el?

Ezt támaszd alá valamivel, mert bemondásra nem hiszem el.

A varrógép számtalanszor komplexebb, mint a tű és a cérna. Ha megtanulod használni a varrógépet, teljesen pontosan fogsz dolgozni kevés befektetett energiával is. Tűvel és cérnával egy élet gyakorlása szükséges, hogy tökéletes varrattávokkal dolgozz, ráadásul sokkal lassabban.
40

Mint feljebb Udi is írja, a

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 12.11
Mint feljebb Udi is írja, a fejlesztők is piac. Az IDE-k fejlesztői abból élnek meg, hogy IDE-t fejlesztenek, a programozási nyelvek fejlesztői pedig programozási nyelvet fejlesztenek. Ha leállnának az új eszközök hozzáadásával, akkor a saját munkájuk szükségességét kérdőjeleznék meg, és lehúzhatnák a rolót. De ez nem bizonyítja azt, hogy szükség van az új eszközökre.
43

Értem én, de ezt érvnek

bamegakapa · 2015. Ápr. 2. (Cs), 14.09
Értem én, de ezt érvnek felhozni édeskevés. Ha valaki megél abból, amit csinál, az már szar? Csak azért csinálja, mert különben lehúzhatná a rolót? Felejtsük ezt el, hogy valaha érvként felmerült.
92

Ha nem lenne szükség az új

inf · 2015. Ápr. 3. (P), 14.41
Ha nem lenne szükség az új eszközökre, akkor lehúzhatnák a rolót. Ha valaki kipróbálja, és látja, hogy jó az IDE, akkor használni fogja, és fizet érte, ha látja, hogy nem ad semmit a notepad-en felül, akkor egy fillért nem fog fizetni. Továbbra sem értem, hogy miért nehéz ezt felfogni.
46

bocsi a filozofia szinter

city99 · 2015. Ápr. 2. (Cs), 15.06
Az indokolatlan komplexitás mindig megbukik az evolúció során.

Ezzel csak az a baj hogy nem tudni mennyi ido kel hozza. Csaj hogy a mi fajunknal maradjunk (es most lehet utalni) a szocialis erzekenysegunk es a penzugyi rendszerunk bonyolitasaval az emberi leny alapjaban nem valtozott meg, megszuletik, eszik, iszik, urit, alszik, (szaporodik), meghal. Kozben erzelmeink tengereben uszikalunk, de az leirt par alapfunkcion semmit nem valtoztatot semmi szerintem az elmult sokszaz vagy ezer evben. Szerintem csak mi szeretnenk azt hinni hogy barmi is valtozott :)

A komplexebb eszközök, illetve a modern szerszámok valójában csökkentik a hibázás lehetőségét.

Itt visszautalva egy elzo peldadra a lancfureszre, ezt a kijelntesedet szerintem erosen megbuktatja. Mivel egy egyszeru fureszben nincsen motor, ezert nem kell bele uzemanyag, inditashoz valami elektronika, mehanika, gyujtas. Illetve a fokozott teljesitmeny miatt no a forgacskibocsajtas, a plusz eroforras miatt eloallt a szennyezo anyag kibocsajtas, es extra (veszelyes) hoforras.
Ha ezt az oldalat is vizsgalod a komplex fureszgepednek akkor igen is a hatekonysaggal, megnott a komplexitas, es a veszelyforras is!
49

Vagy például annak a

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 15.23
Vagy például annak a problémája, hogy az összetett eszközök újrafeldolgozása nehézkes vagy akár lehetetlen. Elég körbenézni, mekkora szeméthegyek vesznek körbe minket, amik a talajt és a vizeket szennyezik, ami megbetegít minket és az utódainkat, és ennek a megoldását utódainkra hárítjuk.

Az elektronikai szemét feldolgozása pedig kőkorszaki módszerekkel történik Kínában és Indiában, falvak vannak, ahol az emberek többsége rákos emiatt. Az integrált áramkörök újrahasznosítása nem megoldott, csak a termelésük.

Ezekkel a problémákkal a programozók nem foglalkoznak, pedig a kialakult helyzetért ők is felelősek.
94

Tudtommal az elektronikus

inf · 2015. Ápr. 3. (P), 14.53
Tudtommal az elektronikus szemét újrahasznosítása legalább részben megoldott. Az aranyat biztosan kivonják belőlük. A műanyag rész is talán egyszer biodegradálható lesz, egyelőre nem tesznek nagyobb erőfeszítéseket ez ügyben. Ez a probléma nagyobb részt a hardver gyártók felelőssége, és nem a programozóké. Természetesen van ráhatásunk a dologra, ha olyan hardvert veszünk, ami kevésbé terheli a környezetet az életciklusa során. Ez talán egy piaci rés lehet a harver gyártóknak, amit eddig láthatóan nem használtak ki. Ők odáig jutottak, hogy van green vinyó, ami kevesebbet fogyaszt.
121

kis részben...

Pepita · 2015. Ápr. 5. (V), 18.35
legalább részben megoldott. Az aranyat biztosan kivonják belőlük. A műanyag rész is talán egyszer biodegradálható lesz, egyelőre nem tesznek nagyobb erőfeszítéseket ez ügyben.

Mit csinálsz ma egy ic-vel? Semmit.
Egy ellenállással? Szintén.
Kondi? Szintén.
Nagyon-nagyon messze van még a kellő szintű újrahasznosítás.
162

A használt IC-ket...

Gixx · 2015. Ápr. 7. (K), 10.24
A használt IC-ket anno a rockerek a farmer dzsekire szúrták fel. Volt olyan ismerősöm, akin annyi volt, mintha már tábornok lett volna :P
73

Nem látom az emberben az

bamegakapa · 2015. Ápr. 2. (Cs), 23.21
Nem látom az emberben az indokolatlan komplexitást, így nem értem pontosan, mire akarsz kilyukadni. Az általad felsorolt funkciókra ráadásul az állatok egy jó része képes. A változás mértéke mindig csak nézőpont kérdése.

A láncfűrészes példám épphogy alátámasztja a kijelentésem. Nem állítottam, mivel ostobaság lett volna, hogy a láncfűrész nem komplexebb a fűrésznél, hiszen számtalanszor komplexebb. Nem kívánok a láncfűrész használatával kapcsolatban szakmai vitába bonyolódni, hiszen csak egyszer volt a kezemben, de már akkor is feltűnt, hogy mennyivel csökkenti a hibázás lehetőségét már csak azáltal is, hogy pillanatok alatt szétkapom a gerendát és nem nyiszatolom hosszú percekig. Az, hogy a veszélyforrás megnő, a láncfűrész egyedi sajátossága és nem szolgálja az analógiám hasznosságát.

Bár sokkal komplexebb szerkezet, mégis megkönnyíti, egyszerűbbé, hatékonyabbá teszi a munkádat. Csak annyit kell tenned, hogy megtanulod használni. Ha nem megy, akkor tovább próbálkozol, vagy pályát módosítasz, vagy elviseled, hogy az ács haverjaid néha ugratnak, amiért te még mindig mindenhez fűrészt használsz.
38

Aha. Mindenféle webservice-ek

BlaZe · 2015. Ápr. 2. (Cs), 11.59
Aha. Mindenféle webservice-ek vannak kiajánlva, online fizetés 5-6 féle módon, postázás, készletnyilvántartás, rendszerintegráció, folyamat és szállítás nyomonkövetés, kommentelési lehetőség a termék alatt, kedvencelés, termék részletek kiválasztása, paraméterezése, azt is megadhatod lassan, hogy ki hozza ki mosolyogva... Ma egy webshop egy "picit" többet tud, mint tizenéve. Ezek nem kicsit tudják növelni a komplexitást, amire reagálni kell komplexebb eszközökkel, különben a fejlesztési idő kezelhetetlen lenne. Tök őszintén, nem akarom elhinni, hogy neked ezek nem tűntek fel...
41

Nem szükséges, hogy az öt-hat

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 12.18
Nem szükséges, hogy az öt-hat féle fizetési módszer különböző API-kon keresztül működjön, az a szoftverfejlesztők választása, hogy nem egységesítik. Ugyanez igaz a rendszerintegrációra és a postázásra is.

A kommentelési lehetőségek, a kedvencelés egy plusz lekérdezés egy táblából. A termékrészletek kiválasztása, paraméterezés már régebben is megvolt.

Az általad felsoroltakat egy-egy új táblában tárolhatjuk az adatbázisban, ahonnan egyszerű lekérdezésekkel nyerünk ki adatokat. Mik azok a komplex eszközök pontosan, amire a fentieknek szüksége van?
60

Nem szükséges, hogy az öt-hat

BlaZe · 2015. Ápr. 2. (Cs), 20.59
Nem szükséges, hogy az öt-hat féle fizetési módszer különböző API-kon keresztül működjön, az a szoftverfejlesztők választása, hogy nem egységesítik. Ugyanez igaz a rendszerintegrációra és a postázásra is.
Tehát a követelmény komplexitása növekszik, hisz ezekkel foglalkozni kell. Akár elbújtatjuk egy felület mögé (vigyázat, absztrakció :)), akár nem.

Mik azok a komplex eszközök pontosan, amire a fentieknek szüksége van?
CI, teszt eszközök, dependency management, típusosság, adatszerkezetek, általában kódszervezést vagy párhuzamosságot támogató nyelvi elemek, fejlesztői, tesztelői környezetek stb... Bármi, ami segít a komplexitást elrejteni a kód mögé, illetve segít a növekvő komplexitás mellett is biztosítani a rendszer stabilitását.
61

A CI minek a rövidítése?

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 21.07
A CI minek a rövidítése?
64

Én még úgy ismertem, mint

pythonozok · 2015. Ápr. 2. (Cs), 21.27
Én még úgy ismertem, mint Computer Interconnect (VAX Cluster ezen kommunikált :D), de jelen esetben azt hiszem, erről van szó: http://en.wikipedia.org/wiki/Continuous_integration
65

Igen, erről van szó.

BlaZe · 2015. Ápr. 2. (Cs), 21.57
Igen, erről van szó.
75

Boszorkányság :).

bamegakapa · 2015. Ápr. 2. (Cs), 23.34
Boszorkányság :).
84

És ezekre a szolgáltatásokra

Hidvégi Gábor · 2015. Ápr. 3. (P), 10.18
És ezekre a szolgáltatásokra valóban szükség van? Én is látom, hogy a webshopokban ott van a kedvencelés meg a kommentelési lehetőség, de a legnagyobbakon kívül senki nem használja ezeket. Nemrég küldtem be egy blogmarkot arról, hogy igazából senki sem tudja, mitől sikeresek igazából a sikeres webes szolgáltatások. A többiek másolnak mindent ész nélkül, de mégsem lesznek jobbak. Semmi sem támasztja alá, hogy a technológiai megoldások sikeressé tesznek egy megoldást.

Én erről nem vagyok meggyőződve. A fejlesztők körében ugye népszerű az AJAX, mert szerintük erre szüksége van a felhasználóknak. Azoknak a felhasználóknak, akiknek fogalma sincs arról, hogy mi az a böngésző.
122

igaz és hamis egyszerre :)

Pepita · 2015. Ápr. 5. (V), 18.53
...
népszerű az AJAX, mert szerintük erre szüksége van a felhasználóknak. Azoknak a felhasználóknak, akiknek fogalma sincs arról, hogy mi az a böngésző.

- csili-vili,
- nem "ugrik" a képernyő az újratöltés miatt,
- hallotta (persze fejlesztőtől), hogy egy modern oldal ajaxos:
Ezt mind tudja az is, aki nem tudja mi az a böngésző.
Nem rég kaptam úgy egy feladatot, hogy "ajaxos kereső az xy-hoz hasonlóan"...
Természetesen Kb hülyeség lett volna ajaxal csinálni... :D
128

ettől még az AJAX tud hasznos

blacksonic · 2015. Ápr. 5. (V), 19.49
ettől még az AJAX tud hasznos is lenni :)
130

Persze

Pepita · 2015. Ápr. 5. (V), 19.55
Egy szóval sem mondtam, hogy nem, csak ez egy jó példa volt.
Maradjunk annyiban, hogy jobb ha én döntöm el, mi ajaxos, nem egy laikus. :)
3

Nekem ez már sok. Erre

bamegakapa · 2015. Ápr. 2. (Cs), 08.34
Nekem ez már sok. Erre "filozófia" taget? Mintha a bevásárlólistámra ráírnám, hogy "SZAKDOLGOZAT". Aki még nem olvasta, ne pazarolja rá az idejét.

Mi a tökömért osztunk meg cikket olyan embertől, aki bevallottan nem érti se az OOP-t, se a szoftverfejlesztés jelenlegi állapotát és eszközeit, ennek ellenére elmagyarázza, hogy ez miért nem jó, mert talált pár idézetet a neten.

Ez az a szint, amikor a paraszt bácsi osztja az észt a kocsmában, hogy ezek a modern traktorok nem jók semmire, ő amióta az eszét tudja, simán megold mindent Riskáékkal. Józsi is mesélte, hogy múltkor elromlott a traktorja, a Béla meg (részegen) elütötte vele az egyik malacot. Ettől persze lehet ő egyébként remek földművelő (mint ahogy a cikkíró is bizonyára komplex OpenGL kódokat képes írni), de baromira nem releváns a véleményük semmilyen vitában (legalábbis szakmaiban, mert kocsmaiban miért ne) az adott témát illetően, mert nincs mögötte tapasztalat. Az nem tapasztalat, hogy elindítottam a Visual Studio-t és rohadt komplexnek tűnt az egész.

Ez persze normális, mindenki jónak szeretné érezni magát abban, amit csinál, és ha mindenhonnan azt hallja, hogy ha nem értesz az OOP-hez, nem is vagy jó, akkor elkezd majd kompenzálni. Ez nem baj, emberi dolog, mind csináljuk. Itt teret adni ennek szerintem felesleges.

Szakmában semmi helye hitvitáknak. Egyszerűen értelmezhetetlen, hogy OOP-isták meg proceduralisták, és akkor kampányolnak egymás ellen. Én tapasztalatból azt mondom: ha nem tetszik mondjuk az OOP, vagy bármi más, mássz bele. Ekkor sem fog még tetszeni, de tartsd a szád. Addig csináld, amíg nem érted meg, nem érzed, miért is mondják erről mások, hogy ez jó (opcionálisan itt már élvezheted is, én ezt javaslom). Utána akár kritizálhatod is a hibáit (mert mindennek vannak), de máris szélesítetted a látóköröd.
4

Megertem frusztraciodat az

blacksonic · 2015. Ápr. 2. (Cs), 09.17
Megertem frusztraciodat az ilyen cikkekkel kapcsolatban...en az ilyen cikkek miatt nezem egyre kevesebbet a Weblabort.
Es olvasok inkabb hirleveleket vagy olyan fejlesztok Twitter feedjet akik elore mutato fejlesztesekkel foglalkoznak.
47

Szerintem elore eleg nehez

city99 · 2015. Ápr. 2. (Cs), 15.14
Szerintem elore eleg nehez megjosolni mi az eloremutato. Sokszor hisszuk azt a jelenbe hogy 1-1 messiassal talalkoztunk de valojaban oregkorunkra kiderul szenrecsesek lehetunk ha 1-el osszesen.
48

Szerintem azert jo

city99 · 2015. Ápr. 2. (Cs), 15.20
Szerintem azert jo ilyen cikket megosztani, mert:
- olvashatunk mas nezopontot, velememyt.
- lehet hogy hulyeseg, lehet hogy elgondolkodtato...
- akarmennyire is ellenkezel ellene, ezeknel a posztoknal lehet olvasni a legtobb hozzaszolast, es itt lehet ertelmesebb okfejteseket is olvasgatni kulombozo emberektol( "troll" Gabi jovoltabol). Mig mas helyeken jobb esetben 1-1 sor bologatos hozzaszolas van.
- Legalabb olvashatunk mas dolgokat is mint ami a mainstream szakmediabol folyik
- Nem utolso sorban meg nem kotelezo mindent elolvasni, es reagalni ra.
76

- olvashatunk mas nezopontot,

bamegakapa · 2015. Ápr. 2. (Cs), 23.47
- olvashatunk mas nezopontot, velememyt.

A hozzászólásom is egy nézőpont, vélemény volt.

- lehet hogy hulyeseg, lehet hogy elgondolkodtato...

Ennyi erővel posztolhatnánk bármit. Csak egy szint alatt már problémás szakmai oldalnak hívni magad. Nem az álláspontjával van a bajom elsősorban, vagy a következtetéseivel, hanem a színvonalával. Egy olyan cikk ellen is tiltakoznék, ami aszongya: az OOP azért jó, mert szépek benne a metódusok, és az is jó, hogy az osztály neve nagybetűvel van írva, mert így szerintem fontosnak tűnik, és a Béla szerint is az OOP az új hullám!!!!

- akarmennyire is ellenkezel ellene, ezeknel a posztoknal lehet olvasni a legtobb hozzaszolast, es itt lehet ertelmesebb okfejteseket is olvasgatni kulombozo emberektol( "troll" Gabi jovoltabol). Mig mas helyeken jobb esetben 1-1 sor bologatos hozzaszolas van.

Egy jó trollkodásnak mindig lesz piaca. Ha az értelmes okfejtésekre vagy kíváncsi, tekerj vissza, mindet olvashattad már ezerféle verzióban a korábbi remek cikkek/fórumtémák alatt. Több évnyi munka van benne :).

- Legalabb olvashatunk mas dolgokat is mint ami a mainstream szakmediabol folyik

Itt csak a más dolgokat olvashatod. Ez akkor az underground szakmédia? :D

- Nem utolso sorban meg nem kotelezo mindent elolvasni, es reagalni ra.

Ezt nem tudom cáfolni és nem is akarom.
123

Ne személyeskedj

Pepita · 2015. Ápr. 5. (V), 19.01
emberektol( "troll" Gabi jovoltabol). 
Ne trollozz má' te troll.

Más véleménye van, és korrekt módon vitatkozik.
Így igen nagy sértés trollnak nevezni.
134

Szerintem ő pont hogy védeni

bamegakapa · 2015. Ápr. 5. (V), 20.25
Szerintem ő pont hogy védeni akarta troll Gabit, nem?
136

bazdmegkapa

Pepita · 2015. Ápr. 5. (V), 20.38
Most leszek kíváncsi moderátor urakra...
Szóltam szépen gyerek, ne trollozz olyat, akinél inkább trollabb vagy. Marha bátor vagy neten.

Itt javaslom Ádám, hogy tegyél valamit az ügyben, nem lehet büntetés nélkül így sértegetni valakit a neten. Hídvégi Gábor nem troll, azon kevés felhasználók egyike, akik még tesznek valamit másokért, és nem utolsó sorban ott a teljes neve...

Az ilyen baszdmegmagadakapával féle neve sincs gyökér meg vegye már a fáradságot ha bajt akar, akkor írjon helyet is.
138

Itt javaslom Ádám, hogy

Joó Ádám · 2015. Ápr. 5. (V), 21.26
Itt javaslom Ádám, hogy tegyél valamit az ügyben, nem lehet büntetés nélkül így sértegetni valakit a neten.


Valóban. Péter, te a következő egy hónapban nem szólsz már hozzá, sem ehhez, sem más témához. Nem először kérlek, hogy ezt a kocsmai asztalborogatást itt mellőzd. A következő alkalommal egy év lesz a gondolkodási idő.
140

Pedig kivételesen igaza

pythonozok · 2015. Ápr. 5. (V), 21.49
Pedig kivételesen igaza volt.
Mobilon utálok gépelni, csak ezért nem szóltam bele eddig.
B részéről az utóbbi időben én nem láttam mást, mint folyamatos kötekedést, trollkodást.
(Attól még trollkodás, hogy nem anyázós stílusban adja elő magát)

Végülis... a te dolgod...
141

Pedig kivételesen igaza

Joó Ádám · 2015. Ápr. 5. (V), 22.17
Pedig kivételesen igaza volt.


Irreleváns, a stílus nem való ide.

B részéről az utóbbi időben én nem láttam mást, mint folyamatos kötekedést, trollkodást.


Szerintem pedig sokan tanulhatnának tőle vitakultúra és hozzáállás terén.
142

Igen, sokan tanulhatnának,

pythonozok · 2015. Ápr. 5. (V), 22.26
Igen, sokan tanulhatnának, ha az lenne a cél, hogy úgymond kulturált formában romboljunk. Bár számomra az már messze nem tartozik a kulturált vitastílusba, ha valaki csak azért nevezi trollnak a másikat, mert az a másik mániákusan ragaszkodik a saját elképzeléseihez, és szembemegy az aktuális trendekkel.
De mondom, végül is mindegy, az oldal gyakorlatilag halott, a döntés joga meg a tiéd.
143

Bár számomra az már messze

Joó Ádám · 2015. Ápr. 5. (V), 22.35
Bár számomra az már messze nem tartozik a kulturált vitastílusba, ha valaki csak azért nevezi trollnak a másikat, mert az a másik mániákusan ragaszkodik a saját elképzeléseihez, és szembemegy az aktuális trendekkel.


Az én értelmezésem szerint azért nevezik többen is trollnak – ami nem sértés, hanem terminus technicus –, mert újra és újra ugyanazokat a kérdéseket teszi fel, miközben figyelmen kívül hagyja a válaszokat, amiket kap.
146

Nem akarnám tovább feszíteni

bamegakapa · 2015. Ápr. 6. (H), 00.35
Nem akarnám tovább feszíteni a húrt, de azért érdekel: mit romboltam én pontosan?

Hol húzódik a határ az őszinte vélemény és a sértegetés között? A szándék számít, vagy hogy a másik minek veszi? Nem mondom persze, hogy én normális vagyok, ha az lennék, egy szót sem írtam volna, mert mindig ez a vége sajnos.

Senkinek nem az a baja Gáborral, hogy szembemegy a trendekkel, de ezt úgy látom, nem csak ő nem érti. Ebből lesz ez a mártírkodás folyton. Szerintem vagyunk itt egy páran, akik bőven túllátnak a trendeken és szeretnek több oldalról megvizsgálni dolgokat. Engem (is) az zavar, hogy Gábor végtelen ciklusba került már évek óta, és semmilyen input nem képes ebből kizökkenteni, ennek ellenére az output folyamatosan jön belőle. Mindig ugyanaz. Sose az zavart, hogy nem értünk egyet, mert nincs olyan ember a világon, akivel 100%-ban egyet értenék mindenben, még én magam sem.

Na de hagyjuk inkább a francba, majd folytatjuk a következő iterációban. Úgy érzem, most az AJAX lesz soron.
148

Gábor ír valamit -> olvasó

pythonozok · 2015. Ápr. 6. (H), 00.45
Gábor ír valamit -> olvasó szerint hülyeség -> olvasó ignorálja, ha úgy látja, nem értett a szóból

Tőled semmi mást nem látok, mint azt, hogy őt baszogatod lépten-nyomon. Ez szvsz tipikusan az a fajta, romboló magatartás, amivel úgy lehet szétcseszni egy fórumot / közösséget, hogy közben mosod kezeidet, te nem tehetsz róla.
150

Ha úgy érzed, én

bamegakapa · 2015. Ápr. 6. (H), 01.11
Ha úgy érzed, én cseszem/csesztem szét a fórumot/közösséget, egye fene, elviszem a balhét. Nem fogok egyet érteni, de jogod van így gondolni.

Valóban bölcsebb lenne ignorálnom, vagy inkább többet be se lépnem. Irracionális viselkedés részemről, hogy nem ezt teszem.
153

Nem csak te, de számomra a te

pythonozok · 2015. Ápr. 6. (H), 08.45
Nem csak te, de számomra a te működésed volt ebben az örök flame-elésben a legirritálóbb. Ha annyira zavart volna, már rég beleszóltam volna. De egyrészt nekem már annyi közöm sincs a témához, amennyi pár éve volt, másrészt ezt a fórumot gyakorlatilag halottnak tartom, már az sem érdekel, ha megszűnik, így felőlem csináltok amit akartok.
186

Ez szvsz tipikusan az a

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 22.06
Ez szvsz tipikusan az a fajta, romboló magatartás, amivel úgy lehet szétcseszni egy fórumot / közösséget, hogy közben mosod kezeidet, te nem tehetsz róla.
Igazad van, egy nagyon jó példa erre a következő:
Hiába hajtogatod, én a jelenlegi Hidvégi Gáborral egy helyen nem fogok szerzőként feltűnni még egy blogmark beküldőjeként sem. Nem érzelmi alapon. Ne értsd félre, de Kim Dzsong Un mellé sem állnék oda felszólalni egy emberi jogi konferencián.
Nem csak alattomos, hanem még hülyének is nézi a többieket. "Egy kicsit hátbaszúrlak most, de nem kell ezt komolyan venni."

Ezt?
191

Nem értem, mi ezzel a baj.

bamegakapa · 2015. Ápr. 8. (Sze), 22.35
Nem értem, mi ezzel a baj. Többször kifejtettem már, hogy nem a személyeddel van gondom, még csak nem is a nézeteiddel, hanem azzal a hozzáállással, amit képviselsz. Hogy pontosan mi, azt is már leírtam.

Miért lenne ez hátbaszúrás? Őszinte, szemtől-szembe kijelentésnek szántam, válaszként korábbi kérdésedre, hogy miért nem gyarapítom a blogmarkokat. Nem indulatból írtam, nem érzelemből, ez a helyzet, ezt gondolom, ha következményei vannak, vállalom.
144

bekaphatod

Pepita · 2015. Ápr. 5. (V), 22.50
Nekem nem hiányzik se ez a szennylap - se te.
145

Méltatlannak éreztem, hogy

Joó Ádám · 2015. Ápr. 5. (V), 23.05
Méltatlannak éreztem, hogy zároljam a felhasználód, ezért elsőre csak szóltam, és másodszorra is csak töröltem a felháborodásod. Láthatóan nem tudod betartani a játékszabályokat. Én viszont kénytelen vagyok tartani magam ahhoz, amit fent írtam: 2016. április 5-ét követően feloldom a zárolást, ha írsz a szerkesztőség címére.

Ez a hozzászólásod pedig megmarad az utókornak.
152

hmm

city99 · 2015. Ápr. 6. (H), 07.28
Erdekes hogy mas levette hogy nem leszolom vagy tamadom Gabit, csak te nem.
Ha figyelmesen olvastad volna a hozzasszolasokat akkor biztos eszrevetted volna hogy ezt a jelzot nem en hanem a 19,26-os hozzaszolasban mas hasznalta. Azert vettem bele a "troll" szot a hozzaszolasomba, mert meglepett hogy valakit aki ezen a forumon es a szakmaba nem tegnapi darab (nezetei ellenere) egy elvi es nezetbeli szerintem eleg kellemes, valos tapasztalatokkal alatamasztott (meg ha konretan ki nem mondott) vita kellos kozepette csipobol valaki leminosit. En ezt nem tennem meg akkor sem ha ugy gondolom 100%-ig igazam van (ami persze szubjektiv).
Sajnos ahogy olvastam most nem tudsz valaszolni 1 honapig, szoval igy kicsit monologra sikeredett a hozzaszolasom.
Legkozelebb ha ugy gondolod nem idevalo, vagy nem erted a hozzaszolasom, nyugodtan irj ram maganban, es ha meggyozol, en fogom kerni a moderalasat, vagy akar a sajat magam felfuggeszteset.
154

Troll

T.G · 2015. Ápr. 6. (H), 08.47
Érdemes elolvasni a Wikipedia ide vonatkozó szócikkét:

http://hu.wikipedia.org/wiki/Troll_(internet)

...személyes hitbeli meggyőződését ellentmondást nem tűrő, pökhendi erőszakossággal sulykolja, azzal a konkrét szándékkal, hogy más felhasználókból heves reakciókat provokáljon ki...


Számomra teljesen egyértelmű, hogy itt erről van szó. Ha Gábor bárkit valóban meg akarna győzni, akkor pozitív példákat osztana meg, de ezzel szemben azok a fő témák, hogy mit miért ne használjunk, melyik fejlesztés miért nem jó. Ezek a témák csak arra jó, hogy értelmetlen flame-ek induljanak, amire - akár tetszik, akár nem - mindig lesz ember...
155

Ismerem annyira Gábort(azt

pythonozok · 2015. Ápr. 6. (H), 09.11
Ismerem annyira Gábort(azt hiszem), hogy ki merjem jelenteni: esetében szó sincs erről.
Fanatikusan ragaszkodik az elméleteihez (amik többségével nem értek egyet), de nem tartom valószínűnek, hogy ezt azért tenné, hogy veszekedést provokáljon. Ilyen alapon inkább azok felelnek meg a troll definíciójának, akik csak azért reagálnak a posztjaira, hozzászólásaira, hogy őt baszogassák.
Hup-on van egy ilyen belterjes troll társulat és a te szavaidból annak nyomát vélem kihallani. (Tévednék?)
156

Nem szoktam látni olyat, aki

bamegakapa · 2015. Ápr. 6. (H), 10.58
Nem szoktam látni olyat, aki kifejezetten őt akarná baszogatni. Vagy akit nem ismersz, annál joggal feltételezed, hogy szándékosan kever balhét?
159

Nincs olyan célom, hogy

Hidvégi Gábor · 2015. Ápr. 6. (H), 17.11
Nincs olyan célom, hogy provokáljak. Amit írok, azért írom, mert meggyőződésem, hogy úgy helyes, és ezt a tapasztalataim alapján írom. Itt legfeljebb azt lehetne kétségbe vonni, hogy a teljes témára van rálátásom, és ha nincs, akkor az általam levont következtetések nem általános jellegűek, hanem csak bizonyos szempontból igazak.
54

+1

T.G · 2015. Ápr. 2. (Cs), 19.12
Egy hatalmas plusz egy! Alkalmanként én is beállok flame-lni, de aztán megunom, majd néhány hét/hónap múlva visszanézek a WL-re és pont ugyanott tart minden. Legfeljebb annyi változás van, hogy az évszámnál mást írunk, 2015-ben ezt kell magyarázni? 2014-ben ez még felmerül kérdésként? 2013-ban ilyen alapvető dolgokat még itt megkérdőjelezünk? Évek óta ugyanaz a téma, hihetetlen mennyiségű energiák mennek el itt pocsékba...
55

Szerintem még mindig jobb itt

pythonozok · 2015. Ápr. 2. (Cs), 19.26
Szerintem még mindig jobb itt levezetni az indulatokat, mint a munkahelyen, a főnökön... esetleg tettleg... ;)
56

Nem baj

Pepita · 2015. Ápr. 2. (Cs), 19.35
Simán tanulni tudnak ebből is az ide látogató kezdők.
58

A kezdőknek nem használ, ha

bamegakapa · 2015. Ápr. 2. (Cs), 20.35
A kezdőknek nem használ, ha az ilyen ostobaságokkal találkoznak először, mert nem tudnak még különbséget tenni. Ha valaki azt hirdeti nekik, hogy nem kell megtanulniuk semmit, jóleszaz így is, az nem vezet sehová. Ha még arról szólnának a blogmarkok, hogy procedúrálisan hogy építs fel JÓL egy projektet, még azzal sem lenne bajom, mert az elvek 90%-a később alkalmazható OOP-re vagy bármi másra is.

Előbb-utóbb az a pár ember is megunja ezt, akik mindig veszik a fáradságot, hogy kommentálják az olyan sületlenségeket, mint ez a cikk. De ha egy tudományos oldalon folyton csak a gyíkemberekről meg a chemtrailről van anyag, akkor szép lassan eltünedeznek a szakértők (mint az itt is történt, történik).
59

saját bőr

Pepita · 2015. Ápr. 2. (Cs), 20.45
Legjobban te is a saját bőrödön tanulsz.
Gábor nem hirdetett olyat, hogy nem kell tanulni.
Kissé értetlen egy-két dologban, de ez nem feltétlenül rossz a kezdőknek. Legalább beszélünk (vagy csak ti) a témáról. Ha neked unalmas, akkor ne szólj hozzá.
Én a mai napig el szoktam olvasni, de már ritkán szólok hozzá. Ez a baj. Addig jó, míg van aki próbálja meg győzni.
68

Nekem vannak időszakaim,

bamegakapa · 2015. Ápr. 2. (Cs), 22.28
Nekem vannak időszakaim, amikor szórakoztat Gábor, ilyenkor leállok vele. Ennek ellenére nem hiányoznának a trollkodásai, ha felismerésre jutna végül :).

A kezdők meg inkább töltsék hasznos dolgokkal az idejüket, például tanuljanak új dolgokat, szerezzenek saját tapasztalatokat és szélesítsék a látókörüket.
83

Látom, nagyon zavar, hogy

Hidvégi Gábor · 2015. Ápr. 3. (P), 10.03
Látom, nagyon zavar, hogy szólás- és gondolatszabadság van. Amit én mondok, az nyilvánvalóan haszontalan, az általam beküldött blogmarkokból nem tanulnak, elbutulnak és a látókörük beszűkül. Ezt te mindenki más helyett el tudod dönteni.

Ha ez neked nem tetszik, Észak-Korea arra van ->, ott tárt karokkal várnak téged a gondolatrendőrségben.
85

Szerinted a szólásszabadság

bamegakapa · 2015. Ápr. 3. (P), 10.42
Szerinted a szólásszabadság azt jelenti, hogy bemehetek a Parlament ülésére és mesélhetek az aranyeremről? Bemehetek a Magyar Tudományos Akadémiára, és előadhatom nézeteimet, miszerint Józsi tegnap elküldött az anyámba, és szerintem ez sérelmes?

Nem lehet, hogy végletekben gondolkodsz (ld. egyszerűség-komplexitás), és a képzeletbeli határvonalakat közben mindig ott húzod meg, ahol neked éppen kényelmes?

Nem lehet, hogy az ilyen cikkek túlfogyasztásától a te látóköröd már rég beszűkült, csak bentről ezt nyilván nem látni?
124

Hol egy moderátor ilyenkor?

Pepita · 2015. Ápr. 5. (V), 19.17
Nem trollkodik.
Az én személyes véleményem szerint te sokkal inkább.
Attól, hogy nem egyezik a véleménye a tiéddel, még nem ellenség. :)

Engem is még sokszor elgondolkodtat, szóval nem éppen égetni való boszorkány. :)
Vicc nélkül: vannak igazságai is, ha nem is annyira szélsőségesen, mint gondolja. Ezeket hagy adja elő, és ezek nem csak a kezdőknek hasznosak.

Még kevésbé vicc: vedd észre, hogy míg én hasznosságról beszélek, te meg akarnád mondani , hogy mit csináljon egy kezdő...
Tőlem azt írsz amit akarsz, de amivel indokolatlanul sértesz mást, az téged - és sajnos a WL - t is - minősít.
132

Alig várom, hogy engem

bamegakapa · 2015. Ápr. 5. (V), 20.19
Alig várom, hogy engem moderáljanak ki ;).

A többire meg blabla, nem tekintem az ellenségemnek, senkinek nem hasznos, amit csinál, és nem akarom megmondani senkinek, mit csináljon. A Weblabort meg hová minősítsem még lejjebb? Egy ilyen blogmark alatt? Ez a vicc, na :).

Amit írtam, lehet jól meg rosszul érteni. Ha támadásnak fogod fel, rosszul érted. Én komoly problémákra mutatok rá.
62

Mitől lenne ostobaság az

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 21.13
Mitől lenne ostobaság az írás, amikor te is beismerted, hogy a szoftverek és a fejlesztés egyre komplexebbé válnak?

Ha valaki azt hirdeti nekik, hogy nem kell megtanulniuk semmit, jóleszaz így is, az nem vezet sehová.
Így van, ez nem vezet sehová, de ki az, aki ilyet hirdet? Ezzel én sem értenék egyet.

Ha még arról szólnának a blogmarkok, hogy procedúrálisan hogy építs fel JÓL egy projektet
Mi lenne, ha vennéd a fáradságot, és nem csak kárognál, hanem küldenél be egy ilyen blogmarkot? Miért nézed a kezdőket mindig hülyének, akik nem tudják önállóan eldönteni, hogy amit olvasnak, annak van-e alapja vagy sem?
66

Mitől lenne ostobaság az

bamegakapa · 2015. Ápr. 2. (Cs), 22.23
Mitől lenne ostobaság az írás, amikor te is beismerted, hogy a szoftverek és a fejlesztés egyre komplexebbé válnak?

Hát ez zseniális :D. Még mindig alul tudod múlni önmagad :).

Mi lenne, ha vennéd a fáradságot, és nem csak kárognál, hanem küldenél be egy ilyen blogmarkot?

Erre már több ízben válaszoltam neked. Jelenleg nem fogok.

Miért nézed a kezdőket mindig hülyének, akik nem tudják önállóan eldönteni, hogy amit olvasnak, annak van-e alapja vagy sem?

Nem nézem őket hülyének. Egyszerűen emberek, akiknek még nem áll rendelkezésére elegendő információ és tapasztalat. Számukra káros az a légkör, ami itt uralkodik már régóta. Egy jó ideje nem is ajánlottam már kezdőnek, hogy ide látogasson, sőt.

Voltam kezdő és kommunikáltam sok kezdővel. Pl. nekem annó komoly nehézségeim voltak az OOP megértésével. Nem értettem, mire jó ez az egész, egyfajta sznobériának tartottam. Imádtam olyan cikkeket olvasni, amiben értelmesnek tűnő emberek elmagyarázták, miért hülyeség az OOP. Ezáltal felmentve éreztem magam. Tartoztam valahová, ahol úgy érezhettem, mi felülemelkedtünk már azon a szinten, ahol egyesek kényszernek érzik, hogy OOP-hez hasonló áltudományokkal építsék önnön szakmai egójukat. Mondhatnánk, hogy csak én voltam ilyen ostoba, és mindenki más sokkal értelmesebb ennél, de nem ez a helyzet.
71

Nem nézem őket hülyének.

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 23.05
Nem nézem őket hülyének. Egyszerűen emberek, akiknek még nem áll rendelkezésére elegendő információ és tapasztalat. Számukra káros az a légkör
Azt mondod, hogy nem nézed őket hülyének, aztán ugyanúgy hülyének nézed őket továbbra is. Hadd döntse már el mindenki maga, hogy egy bizonyos technológia jó vagy rossz, ne te mondd már meg, hogy kinek mi a káros. Majd mindenki utánaolvas, ha szükségét érzi, nincs szükség ilyen önjelölt megmondóemberekre, mint te.
74

Ez egyre jobb :D

bamegakapa · 2015. Ápr. 2. (Cs), 23.31
Akkor miért áldozod a Weblaboron töltött időd 98%-át arra, hogy ehhez hasonló "szemlélettágító" cikkeket és eszméket ossz meg a nagyközönséggel immár évek óta? Miért nem hagyod, hogy utánaolvassanak maguk, ha szükségét érzik? Miért érzed károsnak, ha valahol szóba kerül például az OOP hasznossága?

Vedd már észre, mit művelsz, mielőtt önjelölt megmondóembernek nevezel valakit :D.

Egyébként ha hülyének nézném őket, azt mondanám, inkább hagyják ezt a szakmát :).
80

Az nem az én problémám, hogy

Hidvégi Gábor · 2015. Ápr. 3. (P), 09.43
Az nem az én problémám, hogy más lusta beküldeni blogmarkokat olyan témákban, amit az épp aktuális mainstream divatosnak tart. Hülyeségeket írsz, mint mindig, hisz az én blogmarkjaim senkit nem akadályoznak meg, hogy másnak utánaolvassanak, ráadásul a csiripekben pont mindig az aktuális eszközökről van szó.

Nem érzem károsnak, ha szóba kerül az OOP hasznossága, csak előbb jó lenne tisztázni, hogy mi az OOP, mi a hasznossága, mik a hátrányai. Ha annyira tökéletes paradigma lenne, akkor nem tudnék évek óta beküldeni blogmarkokat, amelyekben az elmélet gyenge pontjaira mutatnak rá.

Szóval mit művelek? Bánt, hogy kiderült, amiben hiszel, az ingatag lábakon áll? Miért nem jártál utána rendesen, mielőtt megvilágosodtál?
87

Újabb hülyeségeket írok, mint mindig :)

bamegakapa · 2015. Ápr. 3. (P), 10.59
Mint már elmagyaráztam több helyen, ez nem lustaság kérdése. Ha fájóan őszinte leszek, elnézést, de ki a franc akarna itt bármilyen tartalmat publikálni, akár csak egy blogmarkot? Ezekkel az olcsó rantekkel egy helyen? Ahol az oldal hangadója egy olyan ember, akinek a vitastílusa abból áll, hogy az erős érvekre nem reagál, mintha meg sem történtek volna, hanem ugyanazt a 10 fordulatot hajtogatja évek óta mindenre? Fejlődésre képtelen, közben a gondolkodás fontosságáról papol. Ha valakinek ez nem tetszik, kocsmai stílusban nyilvánul meg ("Hülyeségeket írsz, mint mindig", de csak ebben a topikban van egy csokornyi), minden következmény nélkül.

Szakmai vitának úgy van értelme, ha a felek kölcsönösen fejlődni tudnak általa. De minek is magyarázzam, veled kommunikálni olyan, mintha az ember falnak dobálna egy labdát. Az itteni légkör már jó ideje nem alkalmas szakmai viták lebonyolítására, de igazából semmire.

Elmondom ezredszer (...), a szakma nálam jelenleg nem hit kérdése. Tökéletes paradigma nincs, nem lehetséges. Vagyok annyira intelligens, hogy belássam, bármi ellen és mellett is lehetséges érvelni a nézőpont megfelelő mértékű elcsúsztatásával.

Hiába hajtogatod, én a jelenlegi Hidvégi Gáborral egy helyen nem fogok szerzőként feltűnni még egy blogmark beküldőjeként sem. Nem érzelmi alapon. Ne értsd félre, de Kim Dzsong Un mellé sem állnék oda felszólalni egy emberi jogi konferencián.
88

ugyanazt a 10 fordulatot

Hidvégi Gábor · 2015. Ápr. 3. (P), 11.13
ugyanazt a 10 fordulatot hajtogatja évek óta mindenre
Én azt mondom, A, te azt mondod, B. Én tíz ilyen fordulatot hajtogatok évek óta, te másik tizet. Ki a különb? Te? Kinek van igaza? Neked? Azért, mert nincsenek önálló gondolataid, és csak azt tudod ismételgetni, amit a többség? Vedd már észre, hogy ugyanazt csinálod pepitában!

Ha nem tetszik valami, csinálj saját fórumot, ahol a te szád íze szerint történik minden. De ha nem tudsz hozzátenni, nem tudsz évek óta újat mondani, akkor nincs sok értelme, hogy itt cincogj.
90

Tökmindegy, kinek van igaza,

bamegakapa · 2015. Ápr. 3. (P), 11.42
Tökmindegy, kinek van igaza, hogy az OOP az ördög műve vagy a Szent Grál (egyik sem).

Komolyan úgy gondolod, hogy a kisebbséghez tartozni valamilyen véleménnyel már azt jelenti, hogy vannak önálló gondolataid? Ha viszont többen is egyetértenek veled, akkor már nincsenek? Miért fontos ennyire neked, hogy egyéniség legyél?

Ha ennyire önállóak a gondolataid, miért abból áll a tevékenységed, hogy olyan linkeket gyűjtesz az internetről, ahol azt szajkózzák, amit te is? Mit akarsz ezzel bizonyítani és kinek?

Szegény Pepitát meg ne keverjük ide :).

Ha nem tetszik valami, csinálj saját fórumot, ahol a te szád íze szerint történik minden.

Ja, meg alapítok új országot, és akkor ott nyitva lesznek a boltok vasárnap. Gratulálok :). Mi a tökömért csinálnék fórumot? Hogy én is szórakoztathassam magam rendszeresen a saját nézeteimmel és lehetőleg senki más ne szóljon bele? :) Not interested.

De ha nem tudsz hozzátenni, nem tudsz évek óta újat mondani, akkor nincs sok értelme, hogy itt cincogj.

Ez a mondat tőled maga a tökély :). Azt hiszem abba is hagyom a cincogást, ennél jobb már nem lesz.
126

Nem ajánlom...

Pepita · 2015. Ápr. 5. (V), 19.30
ugyanazt csinálod pepitában!
Azt azért egyikőtöknek sem ajánlanám, hogy a Pepitában akarjon bárkivel is randalírozni. :)
95

Ha valakinek ez nem tetszik,

inf · 2015. Ápr. 3. (P), 15.13
Ha valakinek ez nem tetszik, kocsmai stílusban nyilvánul meg


Ha úgy érzed, hogy valamelyik hozzászólás sértő, akkor dobj egy email-t, aztán szívesen lemoderálom.
105

Nem érzem sértőnek, mert nem

bamegakapa · 2015. Ápr. 3. (P), 23.31
Nem érzem sértőnek, mert nem szokásom megsértődni. De tudtommal ez már bőven azon a szinten túl van, ami megengedhető egy ilyen helyen. Vagy kereszteljük át webkocsmára és Hidvégi blogmarkjaival sem lesz több bajom :).
127

rossz oldal

Pepita · 2015. Ápr. 5. (V), 19.35
Pont ők trolloztak fentebb... Nézd meg jobban, mit kéne moderálni.
157

Szvsz. a trollozás jóval

inf · 2015. Ápr. 6. (H), 12.37
Szvsz. a trollozás jóval kevésbé sértő, mint valakit hülyének nevezni. Vannak fokozatok...
100

Fejlődésre képtelen, közben a

Hidvégi Gábor · 2015. Ápr. 3. (P), 20.52
Fejlődésre képtelen, közben a gondolkodás fontosságáról papol.
Haha, akkor lennék fejlődőképes, ha ugyanazt papolnám és ugyanúgy gondolkodnék, mint te? Micsoda gőg szorult beléd, hogy csak az a jó, amit te gondolsz! Azért hozom fel azokat a dolgokat, amit, mert tapasztalataim azt mutatják, hogy az a helyes.

moderálva - Gábor, légyszíves vegyél vissza ebből a stílusból - inf3rno
102

Szerintem arra gondol hogy

blacksonic · 2015. Ápr. 3. (P), 21.01
Szerintem arra gondol hogy évek óta ellenállsz az új dolgoknak és nem próbálod ki és nem próbálod őket megérteni.
Legalább adj egy esélyt az új dolgoknak, legyél nyitottabb és próbáld ki őket. Bajod nem lesz belőle, legrosszabb esetben is csak okosabb leszel :)
108

Tudja, mire gondolok, de ne

bamegakapa · 2015. Ápr. 3. (P), 23.32
Tudja, mire gondolok, de ne legyenek túlzó elvárásaid vele kapcsolatban :).
114

Igen a leirtakban igazad van,

city99 · 2015. Ápr. 4. (Szo), 07.04
Igen a leirtakban igazad van, de ha azt nezed hogy hetente dobjak ki a "feltatuk a kereket" vagy a spanyolviaszt jellegu kicsit sem uj de uj kontosbe, marketingbe csomagolt dolgokat, akkor egy megfelelo mennyisegu foldon eltoltott ido, es tapasztalat utan, elgondolkodsz hogy minden ujnak tuno dologgal erdemes elpazarolnod azt keves idot amit ezen a planetan eltolthetsz, vagy erosen megvalogatod, es a kerek utan nem a kereket hanem a lovaskocsit, autot, repulot, es rakteat keresed, nem pedig a raketa idoszakaba ujra a kereket.
Nem nem fogok ra peldat irni mert volt itt a weblaboron is boven olyan iras ahol a fejemet csapkodtam hogy nah megint feltalatunk valamit amit 2-10 evvel ezelott is mar hasznaltunk. Persze semmivel nem lett jobb vagy gyorsabb, csak masabb mert most eppen megint el kellet adni valamit, foglalkoztatni kellet az embereket.
Regen en is minden "uj"-nak titulalt dolgot kiprobaltam, mara mar belefaradtam a sok kuruzslasba, lokupeckodasba, marketingbe es inkabb a barataimmal, csaladommal toltom az idot. Ettol fuggetlenul ugyan ugy tudok evente fejlodni, keszulnek el projektjeink es elegedettek az ugyfeleink. Egyszeruen mas hozzaallas, mint a trendek hajhaszasa.
81

Öngól

szabo.b.gabor · 2015. Ápr. 3. (P), 09.44
Majd mindenki utánaolvas, ha szükségét érzi, nincs szükség ilyen önjelölt megmondóemberekre, mint te


Amúgy az egészet Ádám rontotta el az elején azzal, hogy hozzászólt. Nagyon jó mutató a hozzászólások száma 1-1 témánál.

class Tema{
//...
  function isFlame(){
    return $this.getNumberOfComments() > 30;
  }
//...
}
A megoldás egyszerű, mindenki ahhoz szóljon csak hozzá, amit magáénak érez, esetleg építő jelleggel hozzá tud szólni.
125

Te jobban

Pepita · 2015. Ápr. 5. (V), 19.23
ismered a kezdőket, mint saját maguk? :D
Magad nevében beszélj... :)
131

Azért ez nem olyan nehéz. Ha

bamegakapa · 2015. Ápr. 5. (V), 20.13
Azért ez nem olyan nehéz. Ha tegyük fel, tanítani akarnék (nem akarok), hogy állhatnék neki, ha fingom nem lenne a kezdők lelkivilágáról?
133

próbáltam finoman

Pepita · 2015. Ápr. 5. (V), 20.23
Bocsi, de nagyon nem értetted.
Pont az a gond, hogy fingod nincs róluk.
Azért írtam, hogy magad nevében, mert szereted magad mások fölé képzelni - de sokszor nem vagy ott.

Nyugodtan taníts, (vicc jön, nem megsértődni!) azt mondják: aki nem ért hozzá, az tanítja... :)
135

Hányszor láttál megsértődni?

bamegakapa · 2015. Ápr. 5. (V), 20.31
Hányszor láttál megsértődni? :)

Amúgy meg nem vagyok én senki fölött, semmikor.
137

Nem számoltam

Pepita · 2015. Ápr. 5. (V), 20.44
30-60 közt itt.

Tudom, hogy nem, erre próbáltam felhívni a figyelmed... :)
57

Évek óta ugyanaz a téma,

bamegakapa · 2015. Ápr. 2. (Cs), 20.30
Évek óta ugyanaz a téma, hihetetlen mennyiségű energiák mennek el itt pocsékba...

Egy az egyben így gondolom. Pedig lenne itt potenciál még mindig, az látszik.
63

Szóval te érted, hogy miért

Hidvégi Gábor · 2015. Ápr. 2. (Cs), 21.27
Szóval te érted, hogy miért jó az OOP. Ennek örülök, de mi van például a funkcionális nyelveket használókkal, az ő írásaikban mindig az OOP-t ekézik, mert például az objektumoknak állapota van, emiatt egy metódust kétszer meghívva nem tudod garantálni, hogy ugyanazt az eredményt adja vissza, vagy például ugyanemiatt a konkurens programfuttatás is minimum problémás, hacsak nem lehetetlen? Márpedig ez egyre égetőbb kérdés, hisz a hardverek programfeldolgozási sebességét már évek óta csak az újabb magok hozzáadásával tudják növelni.

Amikor beküldök egy neked nem tetsző blogmarkot, te vagy a legelső, aki ott kiabál, hogy több ilyet ne, legyenek cenzúrázva a dolgok, csak olyan kerülhessen be, ami a többség álláspontját alátámasztja. Miért? Félsz valamitől? Félsz attól, hogy kiderül, valamit rosszul gondolsz/rosszul tudsz? Nem értem, miért. Ha úgy van, ahogy te gondolod, akkor nem kell félned, hisz egy jól megalapozott érveléssel helyre lehet tenni a félreértéseket.
67

A blogmark legnagyobb baja,

MadBence · 2015. Ápr. 2. (Cs), 22.26
A blogmark legnagyobb baja, hogy káros. Az objektum-orientált szemléletmód előnyeit (a procedurálissal szemben) ~30 éve volt utoljára menő kétségbe vonni. Ezek az előnyök már minden valamire való fejlesztőnek teljesen világosak (nem megsérteni akarlak, nekem ez a személyes véleményem).
Nagyon sajnálom, hogy ilyen színvonalú tartalmak generálják a legtöbb hozzászólást (amik valódi értéket nem hordoznak, hiszen már n+1. alkalommal ugyanaz a téma), nálam a weblabor már abszolút nem az a hely, ahol kurrens webes technológiákkal foglalkoznak, hanem valami fura szeglete az internetnek, ami valahol 2002 környékén ragadt.
69

igaz ahogy oregszem egyre

city99 · 2015. Ápr. 2. (Cs), 22.55
igaz ahogy oregszem egyre jobban osszekeverednek az evszamok, illetve elmosodnak az emlekek, de azert 1985-ben (30 eve) meg azert nem hoditott olyan nagy teret az OOP...
Illetve az is furcsa nekem, hogy 2002-hoz hasonlitod a WL-t amikor ~2009 kornyeken regisztraltal, persze lehet hogy elotte 7 evig csak olvastad :D
72

Nyilván csak érzékeltetni

MadBence · 2015. Ápr. 2. (Cs), 23.06
Nyilván csak érzékeltetni szerettem volna csak a távlatokat. 2002-ben egyébként még fogalmam sem volt arról, hogy a programozást eszik-e vagy isszák (egyébként mi a jelentősége annak, hogy mikor regisztráltam?).
82

Pontosan mi káros benne?

Hidvégi Gábor · 2015. Ápr. 3. (P), 09.46
Pontosan mi káros benne? Miért vonod kétségbe azt, amit az illető írt? Miért ne találhatná valaki az aktuális szoftverfejlesztést túl komplexnek? Nem lehet, hogy tényleg az?
96

Imho még 2013-ban is kerültek

inf · 2015. Ápr. 3. (P), 15.17
Imho még 2013-ban is kerültek be értékes tartalmak az oldalra. Pl nekem az adatbázis verziózás újat mondott.
70

Nem érted. Ugyanolyan ostoba

bamegakapa · 2015. Ápr. 2. (Cs), 22.58
Nem érted. Ugyanolyan ostoba lenne, ha én a funkcionális nyelveket ekézném, csak azért, mert még nem született meg bennem a felismerés, hogy miért jók. Nem érzem úgy, hogy az OOP vagy bármi más én lennék, és én személy szerint fenyegetve lennék azért, mert a funkcionális nyelvek előnyeit egyre többen felismerik. Örvendetes, hogy így van, ismerjék fel. Bár ésszel belátom én is az előnyöket, sajnos a felismerés még nincs ott, még idegen a funkcionális világ. De azért ha időm engedi, újra és újra neki fogok szaladni a Haskellnak, mert érdekel az az öröm, amit úgy látom, mások már felfedeztek benne, én pedig még nem. És ezt az időt nem arra fogom felhasználni, hogy beírom a keresőbe, hogy "Haskell suxx" és elolvasok minden cikket, amit kidob.

Nincs bajom a procedurális programozással sem. Van, hogy használom.

Nem hiszek viszont a hitvitákban és kész.

Ha ostoba cikket küldesz be, könnyen lehet, hogy legközelebb is ott fogok kiabálni, hogy ez egy ostoba cikk. Vagy nem. Szerintem ezek a gyengécske cikkek nem szolgálják azokat a nemes célokat, amiket hangoztatni szoktál és állítólag el akarsz érni.
77

mindig az OOP-t ekézik, mert

BlaZe · 2015. Ápr. 2. (Cs), 23.53
mindig az OOP-t ekézik, mert például az objektumoknak állapota van, emiatt egy metódust kétszer meghívva nem tudod garantálni, hogy ugyanazt az eredményt adja vissza
Azért ez így egy elég erős csúsztatás. Nem piszkálódásból, de érdemes lenne közelről megnézned pár modern OOP programot.

vagy például ugyanemiatt a konkurens programfuttatás is minimum problémás, hacsak nem lehetetlen?
Miért lenne lehetetlen? Konkurens programot írni, futtatni sosem egyszerű. A funkcionális megközelítés ennek csak egy részét tudja megoldani.

Márpedig ez egyre égetőbb kérdés, hisz a hardverek programfeldolgozási sebességét már évek óta csak az újabb magok hozzáadásával tudják növelni.
Hát ez nagyon nem igaz. De az tény, hogy várhatóan egyre masszívabban párhuzamos cpuk fognak piacra kerülni.
79

Értem, tehát önmagában az OOP

Hidvégi Gábor · 2015. Ápr. 3. (P), 08.37
Értem, tehát önmagában az OOP nem alkalmas párhuzamos adatfeldolgozásra, hanem modern technikákat/eszközöket kell hozzá használni. Mik ezek és hol lehet róluk olvasni?

A kétezres évek elején tíz gigahertzes processzorokat vízionáltak, ezzel szemben PC vonalon megrekedtünk három és négy gigahertz között, míg ARM vonalon kettő fölött fogyott el a kraft, és az utóbbi években a csúcsprocesszorok nyers teljesítménye is csak pár százalékot nőtt.
86

Értem, tehát önmagában az OOP

BlaZe · 2015. Ápr. 3. (P), 10.46
Értem, tehát önmagában az OOP nem alkalmas párhuzamos adatfeldolgozásra, hanem modern technikákat/eszközöket kell hozzá használni.
Ki állított ilyet, hogy nem alkalmas? Miért ne lenne alkalmas? A párhuzamosságnak semmi köze ahhoz, hogy OOP vagy sem. A feladatok, hibalehetőségek ugyanazok, mint procedurális megközelítésnél.

A kétezres évek elején tíz gigahertzes processzorokat vízionáltak, ezzel szemben PC vonalon megrekedtünk három és négy gigahertz között, míg ARM vonalon kettő fölött fogyott el a kraft, és az utóbbi években a csúcsprocesszorok nyers teljesítménye is csak pár százalékot nőtt.
Az órajel csak egy befolyásoló tényezője a processzorok teljesítményének. A valóságban jelentősen gyorsabbak a procik, mint akár pár éve. Komoly architekturális változások voltak pl az Intel procikban. Úgyhogy ez az állítás elég téves.
89

Azt írtad, hogy nézzek meg

Hidvégi Gábor · 2015. Ápr. 3. (P), 11.14
Azt írtad, hogy nézzek meg párhuzamosság szempontjából pár modern OOP programot. Ez számomra azt jelenti, hogy a modern OOP-s programok már nem okoznak gondot párhuzamos adatfeldolgozásnál, a nem modernek viszont okozhatnak.

Megnéztem a prohardver legutolsó tesztjét a csúcs i7-ekről, ott leírják, hogy a 2011-ben megjelent 2600 és az 5960 között 30% a különbség, ami egy évre lebontva a csúcsprocesszornál átlagosan 10%-ot jelent. Viszont az előző generációs 4960 és a legújabb 5960 között már csak 5% a különbség.
117

Beidéztem, hogy mire írtam.

BlaZe · 2015. Ápr. 4. (Szo), 10.15
Beidéztem, hogy mire írtam. Ugyanazokkal a párhuzamosságból eredő problémákkal szembesülsz OOP esetén is, mint procedurális esetben, csak kényelmesebb eszközkészletet ad a shared adatok menedzselésére (láthatóság, tulajdonlás stb).

A prohardver nem tudom hogy nézte a teszteket, de bárhogy is, 30% nagyon jelentős különbség.

Ajánlom viszont a témában Martin Thompson Top 10 Performance Folklore előadását. Minden benne van, amire fentebb hivatkoztál, és jó előadás. Őt ebben a témában nem igazán szokás megkérdőjelezni :)
118

Minden fejlődésnek az az

Hidvégi Gábor · 2015. Ápr. 4. (Szo), 11.31
Minden fejlődésnek az az alapja, ha megkérdőjelezzük az addigi kijelentéseket. Egyébként az előadás második percében pont Martin Thompson mondja, hogy bármit is állít, tévedhet, és mindenki győződjön meg maga az igazságról.
119

Minden fejlődésnek az az

BlaZe · 2015. Ápr. 4. (Szo), 16.54
Minden fejlődésnek az az alapja, ha megkérdőjelezzük az addigi kijelentéseket.
Fura ezt olyan témában olvasni, ami egzakt és objektív módon mérhető.

Egyébként az előadás második percében pont Martin Thompson mondja, hogy bármit is állít, tévedhet, és mindenki győződjön meg maga az igazságról.
Igen. Ezt pont annál a résznél mondja, amikor kiemeli, hogy nem szabad mindent elhinni amit az interneten olvasol... Arra buzdít, hogy a munkádat mérésekre/tapasztalatra, és ne buta cikkekre alapozd. Főleg ha arról beszélsz, hogy mi minél gyorsabb... Nem azt állította, hogy nem biztos abban amit mond. Merthogy biztos benne, és igaza is van.
120

Touché.

bamegakapa · 2015. Ápr. 5. (V), 00.02
Touché.
129

gyorsaság, több szál

Pepita · 2015. Ápr. 5. (V), 19.51
Srácok, végül is minden azon múlik, hogy mi az a futtatható kód, amit a proci (k) kap. Ott már teljesen mindegy, hogy milyen nyelven írtad, OOP vagy nem, egy vagy millió fájl a forrás, mikor és mi fordította , ...
Ha igazán tutira akarok menni, akkor assembly...:)
Persze ezt ma már senki sem tudja kifizetni.
139

Srácok, végül is minden azon

BlaZe · 2015. Ápr. 5. (V), 21.41
Srácok, végül is minden azon múlik, hogy mi az a futtatható kód, amit a proci (k) kap. Ott már teljesen mindegy, hogy milyen nyelven írtad, OOP vagy nem, egy vagy millió fájl a forrás, mikor és mi fordította , ...
Persze, de senki nem is állított mást. Amiről szó volt, hogy Gábor szerint a mérnökök nem tudták növelni az elmúlt években a procik teljesítményét, csak a párhuzamos képességekkel nő a kapacitás. Ez viszont nem igy van, lásd pl az általam korábban linkelt előadást.

Ha igazán tutira akarok menni, akkor assembly...:)
Minden tiszteletem mellett, kétlem, hogy egy programozó meg tud verni egy jó fordítót. Annyira komplex már az, hogy mit hogy eszik szívesen a proci, hogy egy összetettebb feladat esetén a fordító komoly előnyben van.
98

Én már csak a hozzászólásokat

inf · 2015. Ápr. 3. (P), 15.24
Én már csak a hozzászólásokat olvasom el néha, hátha van közte valami használható. A HG cikket felesleges, úgyis ugyanaz van benne évek óta.
147

Kedves Gábor...

ydsMo9gx · 2015. Ápr. 6. (H), 00.40
Az jó, ha megkérdőjelezed elfogadott(nak látszó) állítások igazságát. Tehát nyugodtan "trollkodj" tovább.

De ha egy kérdést már alaposan kivesézett a Weblabor tagsága, akkor a többségre való tekintettel illendő lenne a kivesézett kérdést hosszú ideig pihenni hagyni, és csak új szempont előkerültekor vagy a hosszú kihagyás után elővenni újra.

"mi van például a funkcionális nyelveket használókkal, az ő írásaikban mindig az OOP-t ekézik": mi mást ekézhetnének? Például egymást, de annyira kevesen vannak, hogy úgy érzik, egymás ekézésével még tovább sorvasztanák a szívüknek oly kedves paradigmát. Például az imperatív nyelveket, de azokat nem tekintik ellenfélnek, érthető okokból. Például a logikai nyelveket, de azokat még a funkcionálisakhoz képest is szűkebb tábor tartja a legjobb útnak. Tehát csak az objektumorientált nyelveket ekézhetik jóízűen. Tehát aki ekézni akar közülük, az előveszi az ekéjét, megfeni az élét, és nekiesik az OOP-nek.

"mert például az objektumoknak állapota van, emiatt egy metódust kétszer meghívva nem tudod garantálni, hogy ugyanazt az eredményt adja vissza": két lehetőség van. Vagy eleve eltérő eredményt várunk a metódustól, és ezért nem okoz gondot az eltérés, vagy azonos eredményt várunk tőle, és ennek tudatában írjuk meg a kódját. Aki azonos eredményt vár el, de nem ennek megfelelően írja meg a kódját, az zöldfülű, vagy ekézni akar (van rá példa!). A funkcionális nyelvekben nincsenek metódusok, csak függvények, és azoktól mindig azonos eredményt várunk el - ezt más paradigmát követő nyelvektól számonkérni botorság. Eltérő szemléletek, eltérő előnyökkel és hátrányokkal, vég nélkül ekézhetik egymást a híveik. Merthogy a funkcionális nyelveknek is vannak hátrányaik. Csak néhányat említek: nehezebben érthető szemantika, körülményes szintaxis, szűk körű elterjedtség, viszonylagos lassúság. E 4 púp közül egy-egy konkrét funkcionális nyelv ritkán viseli mind a négyet, de hármat többnyire igen. A szemantikus nehézségeket pedig sosem tudják kinőni! Programozni nehéz, ezzel minden programozni nem tudó tisztában van. A funkcionális nyelvek pedig még a programozók többségének is nehezen érthetők, tehát sosem terjednek el igazán, emiatt mindig valahogy félérettek maradnak, szűkebb eszközkészlettel, kicsiszolatlan fordítókkal ésvagy értelmezőkkel. Pont ettől van ekézhetnékje a lánglelkű híveiknek.

Az objektumorientált nyelvekben "ugyanemiatt a konkurens programfuttatás is minimum problémás, hacsak nem lehetetlen" lenne? Nem igaz. Én is többször belefutottam már az OOP ilyen ekézésébe, de le sem álltam vitázni a szerzőjükkel, mert nem értik a probléma lényegét, mert nem akarják érteni. A konkurens programrészek által hozzáférhető állapotok megosztottsága hordozza a veszélyt: egymással megosztott memóriaterületeik (például globális változók) és a közös környezetük minden eleme (fájlrendszer, portok, adatbázisok, operációs rendszer stb.). Ezek közül a globális változókat általában érdemes messzire elkerülni, a közös környezettel pedig a funkcionális nyelvekben is kellő gondossággal érdemes bánni. Tehát a funkcionális nyelvek vérmes hívei az árnyékbokszoláshoz hasonló hibát vétenek ezt az OOP-ellenes érvüket hangoztatva.

"a hardverek programfeldolgozási sebességét már évek óta csak az újabb magok hozzáadásával tudják növelni": ez nagyjából 2005 óta így van. Eltelt 10 év, és a jelek szerint még mindig nem ment át a szakmai köztudatba. Kell még tíz év... és láss csodát, a funkcionális nyelvek akkor is megmaradnak majd egy szűk szakmai tábor kedvenc vesszőparipáinak. Mert roppant értékes tapasztalatokkal gazdagítják a számítástudományt, de aki azt hirdeti, hogy a funkcionális programozás (FP) a jövő útja, az hamis próféta, és ez nagyjából mostanra egyértelművé vált, lásd a fent említett púpokat.

Pár hónappal ezelőtt már hozzászóltam az OOP kontra FP témához itt. Mérlegeltem, hogy írjak-e cikket erről, de letettem róla. Elnézést kérek tőletek, de sajnálom rá az időt. Higgyétek el, sokat tanulhattok, ha megismertek egy funkcionális nyelvet, erre a célra az OCaml-Erlang-Haskell trió egyik tagját ajánlom (Haskellt csak az elszántaknak). És higgyétek el, nem érdemes sok időt szánni a funkcionális nyelvekre, hiába hirdetik ezt az igét a szakma egyes nagyágyúi. Kivétel: a nagy biztonságú programokat igénylő területeken mozgó egyes cégek (Magyarországon nem ismerek ilyet). Mert a funkcionális nyelvekben nagyon jól körülhatárolhatók a veszélyes programrészek, és kellő munkaráfordítással majdnem teljesen megbízható szoftverek készíthetők, amire az említett területeken elég pénz jut. Kétszer is azt kértem most, higgyétek el az állításomat - azért, mert nem érvelek tovább erről, mindenki maga döntse el, hisz-e nekem.

Szerintem az OOP kontra FP témát érdemes mellőzni a Weblaboron mindaddig, amíg nem kerül a TIOBE listáján az első 10 közé valamelyik tisztán funkcionális nyelv. A mi életünkben szerintem nem kerül erre sor.
149

Eltérő szemléletek, eltérő

bamegakapa · 2015. Ápr. 6. (H), 01.05
Eltérő szemléletek, eltérő előnyökkel és hátrányokkal, vég nélkül ekézhetik egymást a híveik.

Remek mondat. Igen, pont ez zavar, pedig alapvető emberi minta. Mindig táborokba kell rendeződni, aztán bebizonyítani, hogy jobbak vagyunk, mint a többi tábor. A gyökérkonfliktus, hogy mindegyik tábor "az igazat" fogja hirdetni. Szerintem csak a széles látókör segíthet kilábalni.
151

Két alapvető vonása az emberi

Joó Ádám · 2015. Ápr. 6. (H), 01.15
Két alapvető vonása az emberi természetnek: a valahova tartozás és a bizonyosság utáni vágy – amelyek a széles látókörrel nem egyeztethetőek össze –, ami miatt ez sosem fog változni.
158

amíg nem kerül a TIOBE

Chriksz · 2015. Ápr. 6. (H), 14.42
amíg nem kerül a TIOBE listáján az első 10 közé valamelyik tisztán funkcionális nyelv.


F# a 11. a listán... Persze nem 'tiszta', csak úgy 95%-s.
160

Vártam ilyen észrevételt :)

ydsMo9gx · 2015. Ápr. 7. (K), 01.25
Örülök, hogy felmerült a nem tisztán funkcionális nyelvek kérdése. Nem ez az egyetlen kissé homályos részlet a hozzászólásomban, de a teljesen pontos megfogalmazás többszörösére nyújtotta volna, értékes tartalmi többlet nélkül.

Nem ismerem eléggé az F#-ot a % megítéléséhez, de valóban, a Scalához és az OCamlhez hasonlóan mindhárom fő paradigmát támogatja (imperatív, OOP, FP). Az ilyen többarcúság egyre gyakoribb.

De tapasztalataim alapján a nyelvek mint munkaeszközök megítéléséhez szorosan hozzátartozik a gyökereik és az őket körülvevő kultúra, ökoszisztéma. A bennük írt, velük használható libraryk, keretrendszerek, engine-ek és alkalmazások, a fordítóik és értelmezőik, az ezeket készítő cégek és munkacsoportok. Az eredetük, a szellemiségük és a velük dolgozó fejlesztők jövőre vonatkozó elképzelései. És sok más humán elem, illetve szoftveres képződmény.

Nos, a Scala a Java ökoszisztémájából nőtt ki, nem is akarják kiszakítani onnan. Az F# és a C# hasonló viszonyban áll. Objektumorientált nyelvek két utódja, meglepne, ha nem kötődnének ezer szállal az őseikhez. Csak az JVM-en, illetve a .NET CLR-en futtathatók. (Javához régóta vannak közvetlenül gépi kódra fordító "statikus"compilerek, de kevesen használják ezeket.) Újraírtak bennük minden meglévő Java és C# libraryt, netán van teljesen saját megfelelője ezeknek? Nagyon meglepne. Vagyis a ténylegesen használható eszközeik roppant vegyesek (OOP+FP). Mintapéldákban simán elérhetik az általad említett 95%-ot. Jellegzetes példa az OOP+FP keveredésére a Play keretrendszer. (Azért említem, mert az első verzióját próbálgattam egy ideig.)

Az OCaml nemcsak elvileg sorolható az elsősorban funkcionális nyelvek közé, hanem a gyökerei és a kultúrája is erősen FP-irányultságú.

A TIOBE-re vonatkozó megjegyzésem egyébként inkább kihívás ;), semmint megállapítás.

És ami a lényeget illeti: az "ugyanemiatt a konkurens programfuttatás is minimum problémás, hacsak nem lehetetlen" állítás egyből elhasal, amikor egy funkcionális fővénájú többparadigmás nyelvben írt programban meghívunk egy objektumorientált nyelvben írt metódust, szolgáltatást stb. Csak színtiszta FP esetén lehetne hatásos érv. Konkrétan: F#-ból illetlenség C# libraryt használni, Scalából Javát - csak éppen kényszer.
169

Mainstream nyelvek közül

Chriksz · 2015. Ápr. 7. (K), 15.50
Mainstream nyelvek közül szinte egyik sem egy paradigmát valósít meg tisztán, hanem kevertek (C++, Java, C#, Visual Basic, stb). Tehát a megállapítás, miszerint tisztán funkcionális nyelv nem fog vezető szerepet betölteni a mi életünkben, helytállónak tűnik, de ez a trend úgy szint igaz minden más egyéb, jelenleg ismert, tisztán egy stílust követő nyelvre is.

A TIOBE-féle ranglista különválasztja a VB-t és a VB.NET-et, ami mint látható, egy új elgondolás, mivel az előző év azonos szakaszában még az ősrégi VB nem volt sehol. Tehát ha összeadjuk a kettőt akkor máris egy "functional-first programming language" bekerült az első tízbe.

Én csak azt nem értem, hogy mitől válik az ismeretterjesztés szempontjából fontossá, hogy most tiszta vagy nem tiszta funkcionális nyelvek terjednek el. A lényeg, a hajlandóság és az igény megvan eme paradigma használatára. Magam is lassan minden nap használok F#-t vagy JS-ben funkcionális stílust követek és nem a NASA-nak írok sugárhajtómű-vezérlőt.

Véleményem szerint, eldönteni azt, hogy funkcionális nyelvek kevésbé olvashatóak-e, csak úgy lehetne, ha tudományos módszert alkalmazva, kísérleteket végeznénk, pl. azonos intelligenciájú, kulturális hátterű diákokat két csoportra bontanánk, egyiknek funkcionális, a másiknak meg procedurális nyelvvel tanítanánk a programozás alapjait; majd megvizsgálnánk a kapott eredményt.

Igazából az egész topicra jellemző, hogy üres frázisokat pufogtat mindkét oldal. Szerintem érdemes lenne először valamilyen tudományfilozófiai elgondolásban megállapodni s utána visszatérni a témához használható érvekkel és haladni egyről a kettőre.
174

Hmmm...

ydsMo9gx · 2015. Ápr. 8. (Sze), 01.11
A TIOBE ranglistáját alapul véve jónéhány egyetlen paradigmát követő nyelv sorolható a mainstreambe. Az első 20 közül tisztán imperatív: C, PHP (nemrég legalábbis), Pascal, PL/SQL (a 8-as verziójáig). Ez 20-ból 4, de legalább 2, ez 10-20%-os arány. Tisztán imperatív aligha jöhet fel rajtuk kívül az élmezőnybe, tehát ez az arány csak csökkenhet (vagy stagnálhat).

Tisztán objektumorientált is van legalább 3: Java, Delphi, Ruby, ez 15%. És szerintem jelenhet meg hasonlóan sikeres még, tehát akár nőhet is az arányuk (ennyit a jövőtlenségükről).

Kevert paradigmájúak szintén feljöhetnek az élmezőnybe (vagyis ezeknek is van jövője), de ezekre pont nem lesz jellemző a funkcionálisaknak tulajdonított nagy előny, a megosztott állapotok és a mellékhatások elkerülésének köszönhető könnyed párhuzamosíthatóság. Vagyis ez a nagynak beállított előny ugyan kellemes, de nem ellensúlyozza a hátrányaikat - én ezt állítottam, a TIOBE-val csak megpróbáltam konkrétabbá tenni az állításomat, pont a frázispuffogtatás ellentéteként. A tisztán vagy majdnem tisztán az FP-t követő nyelvek jelenleg 0%-on állnak a TIOBE első 20 nyelve között (ez elég keményen jelzi a valóságot), és az első 10 közé még úgy 50 évig nem kerül be ilyen (ez pedig nagyon erős állítás). Sajnálom, hogy ennél konkrétabban nem tudom cáfolni a funkcionális nyelvek állítólag fényes jövőjét...

Azt viszont leszögezhetnénk, hogy sem a VB, sem a VB.NET nem "functional-first".

"mitől válik az ismeretterjesztés szempontjából fontossá, hogy most tiszta vagy nem tiszta funkcionális nyelvek terjednek el": nem az ismeretterjesztés a tét, hanem az "ugyanemiatt a konkurens programfuttatás is minimum problémás, hacsak nem lehetetlen" állítás érvényessége. Ha igaz, akkor a tisztán funkcionális nyelveké a jövő (esetleg egy teljesen új paradigmát követőké, de semmiképpen nem az objektumorietáltaké, és az FP-t mással keverők is kiszorulnak majd).
175

20 közül tisztán imperatív:

Chriksz · 2015. Ápr. 8. (Sze), 02.03
20 közül tisztán imperatív: C, PHP

tisztán objektumorientált is van legalább 3: Java, Delphi, Ruby, ez 15%.

Vagy nem.

Pascal, PL/SQL


Szerintem, ha előbb a top 10-nél alacsonyabb rangúak, nem mainstream nyelveknek voltak implicit kijelentve, akkor most se foglalkozzunk velük.

de ezekre pont nem lesz jellemző a funkcionálisaknak tulajdonított nagy előny, a megosztott állapotok és a mellékhatások elkerülésének köszönhető könnyed párhuzamosíthatóság


Nem, nem veszted el, egy functional first nyelven minden adott, hogy a szükséges programrészeket ebben a szellemiségben írd meg.

Azt viszont leszögezhetnénk, hogy sem a VB, sem a VB.NET nem "functional-first".


Persze, én arra akartam utalni, hogy mivel VB.net 9. a VB 10., ha ezt egybeveszem, akkor máris a 10. helyre felugrik az F#, az pedig "functional-first".


"mitől válik az ismeretterjesztés szempontjából fontossá, hogy most tiszta vagy nem tiszta funkcionális nyelvek terjednek el": nem az ismeretterjesztés a tét,

Szerintem az OOP kontra FP témát érdemes mellőzni a Weblaboron mindaddig, amíg nem kerül a TIOBE listáján az első 10 közé valamelyik tisztán funkcionális nyelv.
195

??

ydsMo9gx · 2015. Ápr. 9. (Cs), 00.36
"Vagy nem.": hát... abba a táblázatba sok mindent belekutyultak... Paradigmának titulálják a képességeket és a lehetőségeket is, amik csak segítenek a megvalósításban. A Wikipedia nagyon hasznos, de rengeteg pontatlanság van benne.

"egy functional first nyelven minden adott, hogy a szükséges programrészeket ebben a szellemiségben írd meg": igen, de F#-ban dolgozva aligha írod majd újra a menet közben szükséges libraryket, ehelyett a meglévő, nem funkcionális elemekre is támaszkodsz, elveszítve a tisztán funkcionálisaknak tulajdonított párhuzamosíthatósági előnyt.
199

Paradigmának titulálják a

Chriksz · 2015. Ápr. 9. (Cs), 15.15
Paradigmának titulálják a képességeket és a lehetőségeket is, amik csak segítenek a megvalósításban.


Értem. Tehát ha egy nyelv nyelvi eszközöket biztosít, hogy több stílust használhass, attól nem lesz több stílusú a nyelv, csak támogat, hogy több stílust használjál. Remek.

A Wikipedia nagyon hasznos, de rengeteg pontatlanság van benne.

Tehát mert valahol a wikipedia pontatlan, akkor ez is törvényszerűen pontatlan? Legalább egy épkézláb példát mutattál volna, hogy a felsorolt nyelvek közül az mégis miért nem több stílusú nyelv.

igen, de F#-ban dolgozva aligha írod majd újra a menet közben szükséges libraryket


Milyen zárt logikai lánc, nyelvi elem gátol meg ebben úgy mégis? Továbbá azért mert te kijelntetted, hogy nincsenek újraírva benne szükséges libek, még nem jelenti azt, hogy ez így is van. Szerintem hozz konkrét, objektívan támadható példákat ahelyett, hogy 3 hozzászólással előtti feltételezésedet tényként közlöd.
200

200

Gixx · 2015. Ápr. 9. (Cs), 17.15
Egyéb érdemi hozzászólás?

Már elvesztettem a fonalat, hogy ki kit igazít helyre, vagy cáfolja a másikat...
201

Én csak arra akartam rájönni,

Chriksz · 2015. Ápr. 9. (Cs), 17.52
Én csak arra akartam rájönni, hogy miért következik explicit, hogy nem kell Weblaboron funkcionális paradigmáról beszélni, mert a Haskell(vagy egyén pure cucc) nincs a top tízben. Ettől a 'hatalmas' problémától eltekintve, más mainstream nyelvek rendre hozzák be funkcionális nyelvek jól ismert eszközeit, mint pl. Higher-order functiont. Plusz functional-first nyelvek is folyamatosan törnek fölfele, ami a TIOBE ranglistán is jól látható.

Utána meg elkezdtük ezt a nem is igazi funkcionális az, mert izé sajt, meg mert nem használtam, meg amúgy is wikipédia dumát.

Szóval én ki is szállok, nem offolok tovább.
209

A stílus nem paradigma, az F# nem tisztán funkcionális

ydsMo9gx · 2015. Ápr. 10. (P), 03.36
"Értem. Tehát ha egy nyelv nyelvi eszközöket biztosít, hogy több stílust használhass, attól nem lesz több stílusú a nyelv, csak támogat, hogy több stílust használjál. Remek.": paradigmákról volt szó, nem stílusokról. Paradigmák alatt eredetileg az adott nyelvcsoportra jellemző, átfogó szemléletet és eszközkészletet értették. Ez a paradigma fogalmának a számítástudománynak erre a területére vetített értelmezése. Akkor alakult ki, amikor az imperatív Fortran (1957) után megjelent egy merőben eltérő szemléletű nyelv, a funkcionális Lisp (1958). Az objektumorientált Smalltalk és a deklaratív Prolog (mindkettő 1972) megjelenésével kialakult a programozást máig uraló fő paradigma-négyes. Az évszámokat a Wikipediából másoltam ide :). Ha ismered ezeket a paradigmákat, akkor te is tudod, hogy ezekhez semmi köze annak, hogy egy programnyelv mondjuk vizuális. Hogy jön ide a megjelenítésmód? Vagy az, hogy lehetséges benne reflection? Vagy a generikus és a metaprogramozási lehetőségek? Az elosztott programok készítése a fordítótól/értelmezőtől függ, a konkurencia lehetőségét sok nyelvbe utólag dolgozták bele, olykor minimális módosítással. Néhány funkcionális elem megléte kevés ahhoz, hogy az adott nyelv funkcionális programozásra alkalmas legyen, a táblázatban a nyelvet többségét mégis funkcionálisnak minősítették. Zavaros kutyulék az egész.

"Legalább egy épkézláb példát mutattál volna, hogy a felsorolt nyelvek közül az mégis miért nem több stílusú nyelv.": oké. A C nem is szerepel a táblázatban, mert a táblázat címe "List of multi-paradigm programming languages". Maradjunk annyiban, hogy a C tisztán imperatív. Nézzük a PHP-t. Eredetileg tisztán imperatív, a PHP 5 óta objektumorientált programok is írhatók benne. A táblázat szerint funkcionális (marhaság), és "reflection" (ez ugyebár nem paradigma). A Pascal sincs benne a táblázatban, a C-hez hasonló okból. A PL/SQL szintén, noha mint múltkor említettem, a 8-as verziójában már van OOP. Ezeket említettem az (eredetileg) egyetlen paradigmát követő nyelveknél.

"Milyen zárt logikai lánc, nyelvi elem gátol meg ebben úgy mégis?": semmilyen. De nem fogod újraírni :). És ezen áll vagy bukik az említett kérdés.

"azért mert te kijelntetted, hogy nincsenek újraírva benne szükséges libek, még nem jelenti azt, hogy ez így is van": nem jelentettem ki. Fogalmam sincs, hányat írtak újra. Nem nekem kellene bizonyítanom, hogy az F# nem tisztán funkcionális (pure functional), hanem neked kellene bizonyítanod a tisztán funkcionális programozás lehetőségét F#-ban, ha fenntartod azt, hogy F#-ban dolgozva igenis élvezed a tisztán funkcionális programozás szóban forgó előnyeit (t.i. a mellékhatások hiányát és a könnyed konkurenciát).

Tudod mit? Ne bizonyíts semmit. Dolgozz nyugodtan abban a tudatban, hogy F#-ban nem kell figyelned a mellékhatásokra és lazán írhatsz konkurens programokat. Sokat tanulhatsz majd a logjaidból és a debuggerrel :).
161

Komplexitás

Hidvégi Gábor · 2015. Ápr. 7. (K), 09.28
Köszönöm a választ. A funkcionális nyelveket nem azért hoztam fel, mert jobbak lennének – amit nem hiszek, pont az általad írt érvek miatt is –, hanem mert az említett cikkek rámutatnak az OOP gyengeségeire. Valahol korábban írtam már, hogy az igazság a kettő között lehet.

A globális változók használatát egyébként funkcionális nyelvekben sem tudják elkerülni.
Továbbá úgy gondolom, hogy attól, hogy egy globális változót egy objektum lokális változójává teszünk, attól az még ugyanúgy globális marad. Blaze írta korábban, hogy eszközökre van szükségünk ahhoz, hogy a komplexitást elrejtsük a kód mögé. Ez ugyanaz az eset, és nem hiszem, hogy megoldás, mert csak felületi kezelést ad: enyhébbnek tűnnek a tünetek, de a probléma ugyanúgy megmarad.

Azért küldtem be a blogmarkot, mert az alapgondolatával egyetértek, miszerint a szoftverfejlesztés és a szoftverek mára túl öszetettekké váltak. Ez rengeteg problémát okoz már most, a jövőben pedig többet. A megoldás erre szerintem az, hogy minél kevesebb és minél egyszerűbb eszközt használunk a szoftverfejlesztés során.
163

A funkcionális nyelvek jobbak

pythonozok · 2015. Ápr. 7. (K), 10.57
A funkcionális nyelvek jobbak (minél?), ha a céljuknak megfelelő feladatra használják őket. Webes fejlesztésre... hát arra nem :)
164

Ha komplex szoftver akarunk

MadBence · 2015. Ápr. 7. (K), 11.27
Ha komplex szoftvert akarunk gyártani egyszerű eszközökkel, akkor a fejlesztésre szánt idő hogyan fog alakulni? A karbantartás, hibajavítás, megváltozott specifikációhoz való alkalmazkodás mennyire lesz drága? Mennyire lesznek a programozók egyszerűen lecserélhetőek?
165

Fentebb már leírtam, de

Hidvégi Gábor · 2015. Ápr. 7. (K), 13.53
Fentebb már leírtam, de valószínűleg elveszett az áradatban.

Minél egyszerűbb eszközöket használsz, annál alacsonyabb lesz a belépési küszöb. Egyszerűbb lesz átlátni a kódot, megérteni, így több ember el tudja végezni ugyanazt a munkát, azaz könnyebben cserélhető bárki.
167

(:

szabo.b.gabor · 2015. Ápr. 7. (K), 14.59
Szerintem ez egy olyan hipotézis, ami egyszerűen nem állja meg az életben a helyét.

Én használtam munkám során ilyen-olyan eszközöket, de úgy hiszem hogy ahogy egyre összetettebb a fejlesztési folyamat, úgy válik egyre könnyebbé minden. Nem értem azokat az embereket, akik nem használnak IDE-t, mert pl sok memóriát eszik és lassan indul el (nagyon jó érvek..)

Régen is tanulni, fejlődni kellett, hogy valaki jó programozó legyen, és ez most is így van. Sose volt alacsony a belépési küszöb.

és azt ne mondja nekem senki, hogy ha nano-val szerkesztem a kódot, akkor produktívabb leszek.

vagy ha pure javascript-ben csinálok mindent, ahelyett hogy mondjuk angular-t használnék, akkor hamarabb kész lesz a termék, vagy használhatóbb lesz.
170

Eszközön nem csak IDE-t vagy

Hidvégi Gábor · 2015. Ápr. 7. (K), 16.09
Eszközön nem csak IDE-t vagy szövegszerkesztőt értek, hanem nyelvi elemeket is, ott is érdemes minbenben az egyszerűségre törekedni.

Mondok egy példát: egy nagyobb projekten dolgozom, ahol az elején írtam egy munkamenetkezelő osztályt pár egyszerű metódussal, a felhasználókezelő osztály pedig erre a munkamenetkezelőre épült.

Múltkor átnéztem a kódot, és rájöttem, hogy teljesen felesleges ez a sok absztrakció. Egyrészt a munkamenetkezelőt, másrészt a felhasználókezelőt mindig példányosítani kellett, aztán lehetett csak használni őket. Mivel ezek a részek az évek során nem változtak, kiderült, hogy nyugodtan írhatjuk közvetlenül a $_SESSION-t, senkit nem zavar.

Ezután kidobtam a munkamenetkezelő osztályt, a felhasználókezelőt pedig átírtam procedurálisra, így egyszerű függvényhívásokkal, példányosítás nélkül elérhetjük az adatokat. A kód egyszerűbb, átláthatóbb lett, és némileg rövidebb is.

Régen is tanulni, fejlődni kellett, hogy valaki jó programozó legyen, és ez most is így van.
Ez fontos. De azt is tanulni kell, hogy az ember egyszerűen és egyszerűségben gondolkozzon.

vagy ha pure javascript-ben csinálok mindent, ahelyett hogy mondjuk angular-t használnék, akkor hamarabb kész lesz a termék, vagy használhatóbb lesz
Attól függ, hogy az Angular mennyire szolgálja ki az igényeiteket. Mi ext.js-sel kezdtünk, sok problémánk volt vele, majd dobtuk, és átírtuk saját kódra. Gyorsabb lett, kisebb lett, egyszerűbb lett.
172

Ez a kidobom és átírom

blacksonic · 2015. Ápr. 7. (K), 18.31
Ez a kidobom és átírom procedurálissá ugye érződik hogy csak olyan projekteknél működik, ahol kicsi a kódbázis és teszteletlen?
173

jaj

sanyoo · 2015. Ápr. 7. (K), 21.05
"... felhasználókezelő osztály pedig erre a munkamenetkezelőre épült."


Ha jól képzelem el ezt a volt kódot (hogy nálad a felhasználókezelő, egy Controller,BO,DAO keveréke), akkor jaj. Mi köze van a felhasználókezelőnek a munkamenethez?

"...nyugodtan írhatjuk közvetlenül a $_SESSION-t, senkit nem zavar."

Jaj, átváltozott ajjajá bennem. Kérlek használd a felhasználókezelőd kódbázisát parancssorból futtatva (nem weboldalad meghívni curl-el nem ér). Vagy kérlek unittesteld a felhasználókezelőd. Vagy kérlek bizonyítsd be hogy a korábbi működés, és a mostani refaktorált működés pontosan ugyanúgy működik.
176

Mi köze van a

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 10.51
Mi köze van a felhasználókezelőnek a munkamenethez?
A felhasználó adatait a munkamenetben tároljuk.

Kérlek használd a felhasználókezelőd kódbázisát parancssorból futtatva
Miért?

kérlek unittesteld a felhasználókezelőd
A modulnak két függvénye van, az egyikkel a felhasználó adatait írjuk be- és kijelentkezéskor, a másikkal pedig kiolvassuk őket. Ez a kettő évek óta nem változott, és nem is fog, teljesen felesleges tesztelni, mert jól működik.

bizonyítsd be hogy a korábbi működés, és a mostani refaktorált működés pontosan ugyanúgy működik
Kidobtam belőle az OOP ceremóniát, és közvetlenül a munkamenettel dolgozunk. A többi ugyanaz, mint eddig.
177

hm.

sanyoo · 2015. Ápr. 8. (Sze), 12.46
A felhasználó adatait a munkamenetben tároljuk.


Ti lehet. Három kódbázis ami előttem van (az alapján irom): cli-ben nincs munkamenet, SOAP apiban sincs, és Restful api-ban sincs.

Miért?

Ezek szerint ti nem szoktatok parancssorból futtatni semmit. Lehet hogy én dolgoztam (és dolgozok) perverz helyeket, de az üzleti logika jó része háttérfolyamatban volt/van.

... évek óta nem változott, és nem is fog

Ha már ezt igy meg tudod mondani, akkor már csak annyi kérdésem volna: Lottó számok?

teljesen felesleges tesztelni, mert jól működik.

Jah, innentől felesleges tesztelni... Látom érted a unittestelésnek az értelmét. (nem). Talán nem az az egyik értelme a unittestnek hogy nyugodtan refaktorálhatsz, amig nem törnek el a tesztek?

Kidobtam belőle az OOP ceremóniát, és közvetlenül a munkamenettel dolgozunk. A többi ugyanaz, mint eddig.

Magyarán nem tudod bizonyitani hogy ugyanúgy müködik mind korábban.

Bocs, (kezdek) ingerült lenni rád, itt befejeztem a vitát veled.
178

Eleg gyorsan feladtad

blacksonic · 2015. Ápr. 8. (Sze), 15.42
Eleg gyorsan feladtad :)
Gabor ennel sokkal bigottabb OOP es TDD ellenes :)
179

Hát már sokan elbuktak,

inf · 2015. Ápr. 8. (Sze), 16.16
Hát már sokan elbuktak, nehezebb ez, mint a hétpróba. :-)
180

Megvallom, vonakodtam

winston · 2015. Ápr. 8. (Sze), 18.29
Megvallom, vonakodtam belefolyni a szálba, nem szeretném növelni a flamenek látszó tárgyat, de -minden kötekedés nélkül, és nem fogok visszaszólni, vagy megfúrni a választ-, annyit szeretnék kérdezni Gábortól: ha a kliens megkér, hogy adj bizonyítékot a munkád helyességéről (legyen az a refaktor, legyen az bővítés, vagy akár csak úgy általában), akkor tesztek nélkül mivel igazolod az elvárt működés teljesítését? (a session-os felvetés kapcsán kérdem)
184

Kézi teszteket végzünk.

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 21.40
Kézi teszteket végzünk.
188

És a megrendelő jár rosszul

BlaZe · 2015. Ápr. 8. (Sze), 22.09
És a megrendelő jár rosszul vele, vagy ti? Valaki ki fogja fizetni, hogy mindent újra végig kell nyomkodni. A megrendelő biztos fizet érte. Ha mással nem, akkor azzal, hogy adddig se produktív munkát végeztek neki. Manuális teszt kell, de 100%-ban így tesztelni őrült nagy lóvé égetés. A hibázási lehetőségekről nem is beszélve...
190

A megrendelő kérése volt,

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 22.19
A megrendelő kérése volt, hogy ne írjunk automatizált teszteket, de ez racionális döntés volt a fentiek fényében. Az unittesztekhez szükséges időt így fejlesztésre és kézi tesztelésre tudjuk fordítani.
192

GUI automatizált tesztelésére

BlaZe · 2015. Ápr. 8. (Sze), 22.35
GUI automatizált tesztelésére is vannak eszközök. Egyébként meg mialatt végigteszteled ugyanazt, tudsz írni n db új tesztet, amivel növeled a lefedettséged, ami mindenki érdeke. Te azonnal észreveszed ha valamit eltörsz, kevesebb az iteráció, megvan még a context, mert fejlesztési időben törik el a teszt stb... Rengeteg időt spórolsz vele. A megrendelőnek meg n-nel több biztosítéka van, hogy a kifizetett program úgy működik, ahogy megbeszéltétek. Ez minden, csak nem racionális döntés. Ha meg a megrendelő ebbe beleszól, akkor ott valami amúgyis el van tolva...
204

Kár a gőzért, nekem ez a

inf · 2015. Ápr. 9. (Cs), 22.17
Kár a gőzért, nekem ez a véleményem. :-)
181

Érzelmeket nem érdemes

bamegakapa · 2015. Ápr. 8. (Sze), 21.22
Érzelmeket nem érdemes belevinni :). Bármennyire is rálátunk a "komplex", modern technikák és eszközök előnyeire, tapasztaltuk őket, valakinek, aki ezeket valamilyen okból nem akarja látni, úgy látszik, esélytelen megmutatni, hogy miért veszélyes játék, amit játszik.

Addig jó, amíg nem kerül a csapatodba egy ilyen fejlesztő :).

Egyébként imádom, hogy nekiállt refaktorálni, rászánta az időt és kigyomlálta a gyűlölt OOP-t. Biztos megérte :). Az a baj, hogy ez már csak rosszabb lesz, ahogy öregszik.
182

Az értelmeket félretéve

winston · 2015. Ápr. 8. (Sze), 21.26
Az érzelmeket félretéve szerintem ezeknek a vitáknak -egy pontig- tényleg van hasznossága. Ha mást nem, mérlegelni kényszerülsz a saját érveidet, felülbírálod magad, más megfogalmazási, meggyőzési módokat találsz, amik ha az adott helyzetben épp nem is működnek, te mindenesetre végiggondoltad, és ez később jól jöhet.
194

Ez oké, de évek óta mennek

bamegakapa · 2015. Ápr. 8. (Sze), 22.56
Ez oké, de évek óta mennek ugyanezek az értelmetlen viták, végtelenítve. Mondjuk a Gáborral vitatkozóknak több generációja megunta már, csak ő konstans :).
205

Szeret vitatkozni, mi ezzel a

inf · 2015. Ápr. 9. (Cs), 22.18
Szeret vitatkozni, mi ezzel a baj?! :-) Szerintem 20 év múlva is ugyanitt tart majd, ezzel csak saját magának árt, nekem biztosan nem.
207

A Weblabor imázsának sem

bamegakapa · 2015. Ápr. 9. (Cs), 23.11
A Weblabor imázsának sem használ, de nekem nem árt, az már igaz.
183

A háttérfolyamatok nálunk

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 21.39
A háttérfolyamatok nálunk cron jobok, ahol nincs szükség felhasználókezelésre, sem munkamenetre. Nincs sem SOAP, sem pedig Restful API-nk sem. Az üzleti logikánk az előtérben fut, aminek fontos elemei a felhasználó adatai.

Ha már ezt igy meg tudod mondani, akkor már csak annyi kérdésem volna: Lottó számok?
Biztos vagyok benne, hogy nem fog változni, de ha mégis, akkor majd a kívánalmaknak megfelelően fogjuk átalakítani.

Talán nem az az egyik értelme a unittestnek hogy nyugodtan refaktorálhatsz, amig nem törnek el a tesztek?
Próbáltam már többször bevezetni az automatizált tesztelést, de a szoftverünk jellegéből adódóan egyrészt nem sok értelme van, másrészt pedig nem is lenne túl sok haszna.

Az utóbbi három évben a szerveroldali kódot háromszor refaktoráltam (nyugodtan), a kimenet megváltoztatása nélkül a belsőt teljesen újraírtam, újraszerveztem. A három évben két apróbb szoftverhibánk volt, amik nagyon speciális esetekben jöttek elő. Számomra ez elég bizonyíték arra, hogy kézi teszteléssel is lehet jó programot írni, ha betartjuk az általam hangoztatott alapelveket.

Magyarán nem tudod bizonyitani hogy ugyanúgy müködik mind korábban
Már miért ne tudnám? Korábban ez volt a kód:
$felhasznalo = felhasznalo::letrehoz();
$azonosito = $felhasznalo->adat_olvas('azonosito');

Ebből ez lett:
$azonosito = felhasznalo_adat_olvas('azonosito');
Tervezem, hogy minden hasonlóan működő modult ilyen formára hozok.
185

Próbáltam már többször

Poetro · 2015. Ápr. 8. (Sze), 22.06
Próbáltam már többször bevezetni az automatizált tesztelést, de a szoftverünk jellegéből adódóan egyrészt nem sok értelme van, másrészt pedig nem is lenne túl sok haszna.

Én pedig úgy vélem, hogy akár milyen jellegű is a szoftver az automatizált tesztek sohasem ártanak. Rengeteg hibát fognak meg. Rászoktatnak, hogy olyan kódot írj, amit lehet tesztelni. A kód, amit lehet tesztelni általában könnyebben átlátható, és mindenképpen könnyebben átírható, mint az, amit nem lehet tesztelni, vagy amihez nincsenek tesztek.
Tesztekből is több fajtát lehet, és érdemes is írni. Lehetnek egyszerű unittesztek, amik egyes függvények működését tesztelik, funkcionális tesztek, integrációs tesztek.
187

Foglalkozom a témával.

Hidvégi Gábor · 2015. Ápr. 8. (Sze), 22.07
Foglalkozom a témával.
202

OOP?

sanyoo · 2015. Ápr. 9. (Cs), 18.14
$felhasznalo = felhasznalo::letrehoz();
$azonosito = $felhasznalo->adat_olvas('azonosito');
Ez szerinted normális OOP kód volt? letrehoz statikusan? Most ezt így komoly?

$user = new User();
$id = $user->getId();
$name = $user->getName();
vagy még inkább: (így a User (mondjuk) nem SESSION-bol szedi az adatot)

$userId = 'valahonnan jon';
$user = new User($userId);
$id = $user->getId();
$name = $user->getName();
(jelentem nem vesztettél sokat, ha ez tényleg így volt korábban. És mielőtt azt mondanád hogy az singleton volt megkérdezem, - __clone() ugyebár private volt? nem csak a __construct() ?)

Ezt most vita nélkül, ha te azt mondod hogy szerinted a korábbi verziód az OOP-volt, én elfogadom. - és onnantól megpróbálom ignorálni mikor az OOP szidod.
208

A letrehoz() nem a

Hidvégi Gábor · 2015. Ápr. 10. (P), 00.32
A letrehoz() nem a legszerencsésebb választás, peldany() jobb lett volna. Egyébként valóban singleton mintát használtunk, mivel az egész rendszeren belül egy darab felhasználókezelő modulra van szükség.

Használhattuk volna az általad javasolt formát is a new User-rel, de ahhoz minden kérésnél példányosítani kellett volna a script elején az objektumot, aztán pedig át kéne adni azoknak a moduloknak, amelyeknek szüksége lehet rá.

A singleton minta esetünkben azért jobb, mert így csak akkor példányosítunk, ha kell valamelyik adata.

Mind a konstruktor, mind pedig a klónozó metódusaink publikusak, de a klónozó mindig üres.
210

Singleton helyett érdemesebb

inf · 2015. Ápr. 10. (P), 12.10
Singleton helyett érdemesebb di container-t használni. Abba össze lehet szedni az ilyen dolgokat, és megfelelően paraméterezni, ha szükség van rá. Szvsz. nem szerencsés, ha egy osztály saját magát példányosítja.
211

Nem ertetted meg a

blacksonic · 2015. Ápr. 10. (P), 12.52
Nem ertetted meg a lenyeget...ez OPTIMALIZALAS
213

Ha te mondod.

inf · 2015. Ápr. 10. (P), 16.28
Ha te mondod.
216

Csak mi halandók nem

blacksonic · 2015. Ápr. 11. (Szo), 08.10
Csak mi halandók nem érthetjük meg e nemes átalakítás valódi lényegét :)
218

képtelen vagyok

sanyoo · 2015. Ápr. 11. (Szo), 11.23
Próbáltam de képtelen vagyok rávenni magam hogy megpróbáljam elmagyarázni hogy az
A, az nem singleton (csak annak használt valami)
B, és úgy egyébként azért sem lett volt szerencsés a "singleton" mert ..
C, felhasznalo->adat_olvas('azonosito') ? miért rettentő ronda. (ha jól értem az egy ->getId()). Még ha az "azonosito" valami osztály konstans volna akkor azt mondanám hogy egye fene. de így? na mindegy.
D, PSR-2 !
F, inf3rno, 210. hozzászólásával egyetértek. (és hogy miért)
G, miért volt tökéletesen értelmetlen a "refaktorálása"

eddig kezdtem azt hinni hogy ő ugyan utálja az OOP-t, de azért mert tud nélküle szép, átlátható, karbantartható kódot írni. (mert tényleg lehet OOP- nélkül is, csak szerintem PHP-ban nem érdemes, de ez más kérdés).
168

minél egyszerűbb eszközöket

szabo.b.gabor · 2015. Ápr. 7. (K), 15.00
minél egyszerűbb eszközöket használsz, annál nagyobb a hibázási lehetőséged.
171

Minél egyszerűbb eszközöket

inf · 2015. Ápr. 7. (K), 16.20
Minél egyszerűbb eszközöket használsz, annál alacsonyabb lesz a belépési küszöb.


Ez így igaz.

Egyszerűbb lesz átlátni a kódot, megérteni, így több ember el tudja végezni ugyanazt a munkát, azaz könnyebben cserélhető bárki.


Ez természetesen nem igaz, pont azért használunk bonyolultabb eszközöket, hogy egyetlen ember el tudja végezni ugyanazt a munkát, amit egyszerűbb eszközökkel csak több ember tud megcsinálni ugyanannyi idő alatt.
166

Pont erre irtak feljebb

blacksonic · 2015. Ápr. 7. (K), 13.57
Pont erre irtak feljebb kommentben, hogy mindig az utan kutakodsz hol van egy jo kis cikk ami pont az OOP gyengesegeire mutat ra, amikor rengeteg elonye is van, amiket ugy tudnal meg ha hasznalnad es kiismerned.
Negativan allsz alapbol hozza, ahelyett hogy egyszer nagy levegot venned es melyebben elmerulnel benne. Hasznosabb lenne szamodra es a vitakban masok szamara is.
212

C nem is szerepel a

Chriksz · 2015. Ápr. 10. (P), 15.48
C nem is szerepel a táblázatban

Mainstream nyelvek közül szinte egyik sem egy paradigmát valósít meg tisztán, hanem kevertek



paradigmákról volt szó, nem stílusokról

A programming paradigm is a fundamental style of computer programming, serving as a way of building the structure and elements of computer programs. Biztos nem fölösleges szőrszálhasogatásból jegyezted ezt meg...

Néhány funkcionális elem megléte kevés ahhoz, hogy az adott nyelv funkcionális programozásra alkalmas legyen


Remek érv! Ebből aztán megtudtuk, hogy miért nem elég a nyelv eszközei a lambda kalkulushoz, ami ugyebár kvázi a funkcionális programozás.

Eredetileg tisztán imperatív, a PHP 5 óta objektumorientált programok is írhatók benne. A táblázat szerint funkcionális (marhaság)


Eredetileg(pár millió évvel ezelőtt) meg Afrikából származok. Amikor megkérdezik, hogy hova valósi vagyok, akkor mégis azt mondom magyar vagyok.
Nézzük a PHP-t. Eredetileg tisztán imperatív, a PHP 5 óta objektumorientált programok is írhatók benne. A táblázat szerint funkcionális (marhaság)

Marhaság! Ezzel aztán meggyőztél, köszönöm felvilágosodtam. Legalább írnád be előtte, google-be, tudod mit? Segítek.
http://lmgtfy.com/?q=functional+programming+in+php

A Pascal sincs benne a táblázatban, a C-hez hasonló okból. A PL/SQL szintén

Ami ugye teljesen irreleváns, mert se a Pascal sem a PL/SQL nem mainstream, az utóbbira pedig úgy szint érvényes a fentebb írottak, hogy teljesen mindegy, hogy valamikor régen mi volt.

nem jelentettem ki.

: igen, de F#-ban dolgozva aligha írod majd újra a menet közben szükséges libraryket, ehelyett a meglévő, nem funkcionális elemekre is támaszkodsz, elveszítve a tisztán funkcionálisaknak tulajdonított párhuzamosíthatósági előnyt.


Te szótáradban mit jelent a kijelentés, ha ez nem az?

Tudod mit? Ne bizonyíts semmit.

Ebben 100%-ban egyetértünk. Nem fogok bizonyítani semmit, mert nem én jelentem ki, hogy abban aztán nem lehet funkcionálisan programozni.

Szerintem ne foglalkozzunk ezzel többet, megyek inkább debuggolom a nem funkcionális funkcionális kódom.
214

Nyugalom

Hidvégi Gábor · 2015. Ápr. 10. (P), 16.35
Nem értem, miért vagy ennyire agresszív. Még ha téved is a másik, miért nem lehet higgadtan, intelligensen cáfolni?

Attól még, hogy PHP-ban lehet bizonyos funkcionális mintákat alkalmazni, nem jelenti azt, hogy maga a nyelv funkcionális, hisz alapvetően nem erre lett kitalálva.
215

"Agresszivitásom" abból

Chriksz · 2015. Ápr. 11. (Szo), 01.06
"Agresszivitásom" abból fakad, hogy a hideg kiráz attól, ha valaki szándékosan ferdít. Funkcionális proramozáshoz szükséges nyelvi elemek, mint a higher order function, rekurzió stb mind megvannak. Ezt elfogadva, azzal támadni, hogy egy programozási nyelvben nem valószínű, hogy a munkához szükséges libeket megírom az elég vicces, főleg úgy hogy meg sincs nevezve, hogy pontosan mégis mi az, ami nincs megírva és hogy mi az a misztikus ok, amiért azt nem is lehet megírni.

Tobbi, mint a PHP azért nem több stílusú, mert valamikor régen nem volt az, az már csak hab a tortán.
217

Lehet, hogy igazad van, nem

Hidvégi Gábor · 2015. Ápr. 11. (Szo), 09.53
Lehet, hogy igazad van, nem tudom, annyira nem ismerem a PHP/Erlang stb. futtatókörnyezetek működését. A következő jutott viszont eszembe: a funkcionális nyelveken írt programok (tudomásom szerint) jóval memóriaigényesebbek, mint a többi, mert bennük nincsenek igazi változók. Tehát, ha a következőt írod (legyen PHP szintaktikával):

function novel($valtozo) {
  return $valtozo + 5;
}
$ertek = 5;
$ertek = novel($ertek);

akkor a novel() függvény futtatásakor lefoglalja az új memóriaterületet az új értéknek, beleteszi az értéket, majd amikor visszatér, a régi $ertek "változót" eldobja, és az az újra fog mutatni.

Ha ez valóban így van, akkor a PHP azért nem a legalkalmasabb funkcionális programozásra, mert a szemétgyűjtő csak viszonylag ritkán fut le, azaz egy nagyobb rekurzió után nagyon felmehet a memóriahasználat. Egy kifejezetten funkcionális paradigmára kihegyezett nyelvi futtatókörnyezetben ezt nagyon jól le lehet optimalizálni.
219

Én megnéztem pár videót a

inf · 2015. Ápr. 12. (V), 01.13
Én megnéztem pár videót a témában, csak hogy egy kicsit képben legyek. A funkcionális programozáshoz eleve olyan fordító kell, ami ilyesmire tud optimalizálni. Ha nekiállsz PHP-ban vagy javascripten funkcionálisan programozni, akkor valószínűleg az egyszerre létrejövő túl sok stack miatt el fog szállni a program, legalábbis Bob Martin szerint. (https://www.youtube.com/watch?v=7Zlp9rKHGD4) Ő mondjuk nem ezeket a nyelveket emlegette, hanem java-t meg C++-t, de szerintem kizárt hogy PHP vagy js fel legyen készítve ilyesmire, még egy normális aszinkron kódot sem lehet megírni egyik jelenlegi változatában sem.
220

js fel legyen készítve

Poetro · 2015. Ápr. 12. (V), 10.54
js fel legyen készítve ilyesmire, még egy normális aszinkron kódot sem lehet megírni egyik jelenlegi változatában sem

Ez alatt mit értesz? Nekem van olyan Node.js alkalmazásom, aminek jelentős része funkcionálisan van megírva, természetesen aszinkron, és majd fél éve fut zavartalanul.
221

A video-ban van egy olyan

inf · 2015. Ápr. 12. (V), 16.04
A video-ban van egy olyan részlet, hogy ciklusokat így lehet funkcionálisan csinálni:

var logFromI = function (i){
	if (i<0)
		return;
	logFromI(i-1);
	if (!(i%1000))
		console.warn(i);
};

console.log("start");
var t = new Date();
logFromI(10000);
console.log(new Date() - t);
ehelyett:

console.log("start");
var t = new Date();
for (var i=0; i<10000; ++i)
	if (!(i%1000))
		console.warn(i);
console.log(new Date() - t);
és hogy java-ban elhasal egy ilyen a 10000 stack miatt; recursion limit vagy túl kevés memória miatt. Elvileg nodejs-ben is, ott 9500 körüli a limit, firefox-nál meg 12500 körüli.

https://youtu.be/7Zlp9rKHGD4?t=7m16s

Szóval js sem támogatja az ilyesmit, bár régebben szó volt róla: http://stackoverflow.com/questions/3660577/are-any-javascript-engines-tail-call-optimized

Hmm js speciális eset lehet, gondolom azért kell így csinálni egy ciklust, hogy thread-safe legyen, js viszont azt hiszem máshogy működik ilyen szempontból, mint egy java vagy c#, mert a párhuzamosítást single thread-el és event loop-al oldja meg. Web workerekkel sincs szerintem különbség, ahogy nézem ott is az engine küldözgeti az értékeket a worker és a fő szál között szóval nincsenek ott sem közös változók. Szóval js-ben nincs is igazán értelme a funkcionális programozásnak, mert thread safety szempontjából nem hasznos, ha jól tudom más előnye meg nem nagyon van.

Nekem legalábbis ennyi jött le úgy 1-2 óra utánajárás után, bár láthatóan keveset értek a témához.
222

forEach

Poetro · 2015. Ápr. 12. (V), 20.41
A forEach, map, filter is ciklusokat alakít át, mégsem növeli meg a stack méretét. Nem érdemes olyan nyelveken rekurziót csinálni, ami jelenleg nincs optimalizálva erre.
223

A rekurzió nem olyan dolog,

MadBence · 2015. Ápr. 12. (V), 23.04
A rekurzió nem olyan dolog, hogy egy okos fordító bármilyet át tud alakítani iteratív változatra. Csak a jobbrekurzív függvények tudják ezt.
let factorial = (n) => n == 1 ? 1 : n * factorial(n - 1);
Ez nem jobbrekurzív (a rekurzív hívás után még van egy szorzás, azaz a stacken lévő n-re szükség van), nagy n-re mindig el fog szállni.
let factorial = (n, acc) => n == 1 ? acc : factorial(n - 1, acc * n);
Jobbrekurzív, mivel a rekurzív hívás az utolsó dolog, amit a függvény csinál. Emiatt nincs szükség stackre, a fordító egy ciklusra képzi le az egészet (rekurzió helyett egyszerűen csak lecseréli a változókat, hiszen azt a rekurzív hívás után már úgysem lehet elérni).

Ha az ember adatokkal dolgozik, akkor az esetek 99%-ban mindent meg lehet oldani a map/filter/fold függvényekkel, amik úgy vannak megvalósítva, hogy hatékonyak legyenek. Rekurzióra csak nagyon ritkán van szükség. Egyébként az ES6 része a TCO támogatása, amint implementálják a gyártók, onnantól kezdve nem kell aggódni az ilyenek miatt.
224

Én nem aggódom, nem sűrűn

inf · 2015. Ápr. 13. (H), 00.35
Én nem aggódom, nem sűrűn használok 10000 mélységű rekurziókat.