Akkor most jó az OOP vagy sem?
Arra lennék kíváncsi, hogy az objektum orientált programozás hasznos-e vagy sem? A wikipédiát olvastam, és az enciklopédia végén egy csomó nevet felsorol, akik szerint az OOP inkább ront, mint javít. Wiki link: https://hu.wikipedia.org/wiki/Objektumorient%C3%A1lt_programoz%C3%A1s
Ti hogy vagytok vele? Én még kezdő programozó vagyok.
Elnézést, ha rossz témába írok, a fórumon is új vagyok... :)
■ Ti hogy vagytok vele? Én még kezdő programozó vagyok.
Elnézést, ha rossz témába írok, a fórumon is új vagyok... :)
Akkor most jó a nukleáris
Atom
A kiégett fűtőelemekből még nagyjából tízezer évig lehet atombombát készíteni, ezért ennyi ideig biztosítani kell az őrzésüket. Az absztrakció pedig az, hogy most abból indulunk ki, hogy a jelenlegi nemzetek ennyi ideig fennmaradnak, és képesek lesznek elvégezni ezt a feladatot.
Én inkább arra gondoltam,
Wikipedia
...mindig ez ugrik be, és mennyire igaz. :)
Disszonancia
Magadra vetted, pedig csak a
Nem vettem magamra
Alap. :D Arra viszont jó,
Kedves Mistic97! Ha a
Ha a kérdésed arra vonatkozik, hogy megtanuld-e az OOP eszközkészletét használni egy adott nyelven vagy, hogy - adott esetben - használd-e ezt az eszközkészletet, akkor a válaszom igen. Ha objektumokkal kell dolgoznod, akkor azt ma is az OOP irányelvei szerint érdemes megtenni.
Üdv:
Dávid
Gábor, te regisztráltál új
Nem
Nem értem, hogy jön ez ide.
Ha azt tenném, amit
Amúgy vicc volt, egyedül is
Az elves cucc azért jó duma.
Nem teljesen értek egyet a
A véleményem az, hogy minden technológiával lehet nagyon jót és nagyon rosszat is fejleszteni. A funkcionális programozás sem abból kellene hogy álljon, hogy van sok függvény, struktúra, stb amit spagetti szerűen használunk, így az OO sem abból áll, hogy van ilyen-olyan osztály, amit jobbra-balra példányosítunk és hívogatjuk a metódusait.
Ha alaposan megtanulod az OOP-t és használsz tervezési mintákat, megtanulod struktúrálni az osztályokat, stb. akkor nagyban megkönnyíted a saját munkádat és akár más munkáját is. Szerintem a kód újrahasznosítás is nagyon egyszerű és triviális az OO keretein belül. Nem mellesleg szerintem tesztelni is egyszerűbb. Performancia szemszögéből szerintem nem az OO a nyertes, viszont ad egy szemléletet, amivel gyorsan tudsz tervezni, és fejleszteni is.
Sokan elvetik az UML-t is, mint tervezési technológiát, mert bonyolult, meg sok, meg ágyúval verébre, stb indokokkal.. Az UML-t mint lehetőséget egy ajánlásnak tartom, aminek adott project esetén érdemes bizonyos erősségeit kihasználni, de semmikép nem minden lehetőségét. Ha UML alapokon tervezel meg valamit, akkor sokkal egyszerűbb objektum-, illetve adatbázis struktúrát kialakítani OOP-ben mint pl egy funkcionális alapokra helyezett technológiában.
+ Nem mindegy milyen célra használod. Egy üzleti alkalmazásnak csak OO-val állnék neki; egy grafikai, matematikai, és hasonló jellegű alkalmazásnak már biztos hogy nem.
Kicsit elkanyarodtam, de egy szónak is száz a vége, szerintem hasznos. Ha megtanultál stabilan programozni pl Pascal-ban, vagy C-ben, akkor érdemes foglalkozni az OO-val. Szerintem elég jó dolog.
Huu, hát köszönöm a sok
Több dolog is eszembe jutott, amit itt leírtatok, szerintem egyedül ott hibáztam, hogy nem olvastam tovább. Hát bocsánat, kicsit késő volt, de érdekelt néhány kérdésre a válasz. :)
Köszönöm a segítséget! Jelenleg JavaScript parancsnyelvben(!!!!) foglalkozom az objektumokkal, de elsőre furcsának tűnik a nyelv. Már maga a DOM furcsa volt számomra, hogy mégis hogyan lehet egy programnyelvet objektumokra alapozni??? o.O Most, hogy így olvasom a véleményeteket, már én is belátom, hogy egy nyelv nem használható akármire, ahogy az OOP sem.
Köszönöm a válaszokat!
Nem szeretném megtörni a
Az OO-ban rengeteg az olyan kulcsszó, amik használata más (főként) erősen típusos nyelvekben triviális, viszont JS-ben nem. Ilyenekre gondolok, hogy public, protected, private, abstract, static, type, void, exception, extend, base, cast-olás, és még sorolhatnám.
Én azt tanácsolom, hogy jobban jársz, stabilabb lesz az OO tudásod, ha c#-ban, vagy (talán jobb, ha) Java-ban tanulod meg az OO alapokat. Ezekben a nyelvekben ugyanis fordítani kell a kódodat, és a fordító szól ha valamit elrontottál. Eleinte nehézkes, de hatalmas segítség.
JavaScript-ben is meg tudsz valósítani mindent, viszont kicsit nyakatekerten, és nem lesz minden annyira egyértelmű, mint mondjuk egy C# vagy Java kódban.
Ha már egyszer és tényleg csak kíváncsiságból: Miért a JavaScriptet választottad?
Nem törted meg a
A JavaScriptet pedig azért választottam, mert jelenleg nagyobb hasznot tudok húzni belőle, gyorsabban és jobban. Gondolok itt arra, hogy egy olyan projekten dolgozom, amit később versenyeken mutatnék be, és ott meg fontos a vizuális látványosság, a közönség ámítására (persze van ott már nekem több 1000 sor). Nos a JavaScript erre tökéletes, elsősorban azért mert értelmezett nyelv, a projektet később úgy is netre lőném (mást nem androidon). Ami még fontos, hogy a HTML, CSS-el könnyű felületet készíteni a programnak (akár mobilra is, habár igen, jobb lenne egy applikáció, de ezt még később).
Most belém köthetnél, hogy akkor miért nem Java vagy egy másik vizuális nyelv. Erre csak annyi a válaszom, hogy nem akartam túl nagy fába vágni a fejszémet, kezdő vagyok. A JS pedig egy nagyon egyszerű parancsnyelv.
És köszönöm a hasznos válaszod! :)
Így már értem :). Amúgy a JS
Érdemes egyébként JS keretrendszereket is kitanulni, mint pl: JQuery, ami inkább a csilli-villi megjelenésben segít; AngularJS, ami pl egy böngésző alapú, API vezérelt alkalmazás felépítésében segít.
Hogy ki ne felejtsem (habár ez nem teljesen JS), de a Bootstrap-et is nézed meg, ha még nem ismered!
Igen a jQuery-t ismerem és
Utánanéztem a prototypenak is. Ez gyakorlatilag objektumok létrehozása JavaScriptben nem?
All JavaScript objects inherit their properties and methods from their prototype.
Most ez így jönne ki? Minden JavaScript objektum egy "prototype". A "protototype" is egy objektum.
Minden JS objektum örökli a tulajdonságait és metódusait az ő saját "prototype"-jétől.
Most ez mit takar valójában?
Ajánlom figyelmedbe korábbi
köszönöm!
Kukacoskodás, de a jQuery-re
Valóban, én is úgy tudom,
Ha animációkkal akarsz
Köszönöm a jó tanácsokat! :)
Én úgy mondanám, hogy az OOP
Na például ennél az ál-OOP-nél határozottan jobb az öreg procedurális programozás.
Akkor nem teljesen látod
Azt tudod, hogy egy "Leves"-t meg kell főznöd, és tálalnod kell. Tegyük fel, hogy nem tudod, hogy hogyan főzöd meg, viszont azt tudod, hogy egy levest hogyan tálalsz,
Csak felületesen futottam át
Egyet értek, ez akár lehet
Viszont attól, hogy egy KaposztaLeves osztályból létezik egy példány, attól az még nem biztos, hogy készen van. A konstruktorban is meglehetett volna hívni a megfoz() metódust, vagy csinálni akármit, viszont a példányosítással nem biztos hogy elkészült minden.
Egyébként erre szerettem volna reagálni:
Az általad írt kódnak közel
A mondanivalóm az volt, hogy a Wikipédia szócikkben felsorolt kritikák esetében meg kellene vizsgálni, hogy miféle kód kapcsán lettek azok megfogalmazva.
Most hogy így szemlélteted,
Ezen jót mosolyogtam, hogy
munkaerőpiac