Keresés

Új hozzászólás Aktív témák

  • bucsupeti

    senior tag

    válasz emvy #8872 üzenetére

    Én magam bár basicben kezdtem, de elég korán ( Turbo Pascal 5.0, kb 1991) megismerkedtem az OO szemlélettel és azóta gyakorlatilag azt használom.

    Én azt vallom hogy előbb meg kell ismerni az algoritmusszervezési lehetőségeket (szekvencia, szelekció, iteráció) amivel tudjuk hogy minden algoritmus leírható, illetve az elemi, majd az összetett adattípusokat.
    Ezek alapján néhány alap algoritmust meg kell tudni írni, majd jöhet az OOP.

    Ezek után jön szerintem (mint összetett adattípus) az OOP osztály, objektum. Illetve az alapelvek amik megértése szerintem veszettül fontos (az objektum állapota magának az objektumnak a belügye, minden változtatás, vagy publikálás az objektum feladata).

    Találkoztam én is azzal a felfogással hogy eleve OOP-ben kell tanítani programozni. Ez valahol igaz, de én ez alatt nem azt értem hogy definiáljunk osztályokat, meg adattagokat és metódusokat. Hanem azt hogy a megoldandó problémára gondoljunk úgy hogy milyen adatokon (adattagok, field) milyen műveleteket (metódusok) kell és lehet végrehajtani. Korábban már írtam hogy éppen ez az az elv amit fel kell tudni fogni elsőnek.

    Találkoztam olyan "okos" oktatókkal akik nekiálltak OOP-ben programozást oktatni, mert az úgy jó hogy egyből OOP-t tanul a leendő programozó, mert úgy sokkal jobb lesz neki.... Ezért aztán fogta a Java-t és elkezdte magyarázni ezen keresztül a strukturált alapelveket (szekvencia, szelekció, iteráció). Az meg hogy mi az a public static void main() azt még véletlenül sem magyarázta el. Aztán olyan problémákba ütközik ez az elv hogy notóriusan keveri az adattag (field) és a lokális változó fogalmát a tanonc (gyakran a tanár is). Neki mindkettő adat tárolására való. A fildet elkezdik úgy használni mint globális változó, ezzel tuti spagettikódot gyártanak és az OO elveket sértve írják a világ legjobb játékprogramját, természetesen OOP-ben, hiszen ők eleve OOP-ben tanulták a programozást.

    Nem hiszek abban hogy a programozás oktatását szorosan (!!!!) az OO elvek szerint kell oktatni, viszont a levegőben ott kell hogy lebegjenek ezek az elvek, jól előkészítve, hogy a kellő időben rá lehessen vezetni a kezdő programozót ezen elvek pontos megismerésére és használatára.
    A szekvencia, szelekció, iteráció hármas épp úgy használatos az OOP nyelvekben mint a procedurális nyelvekben, akárcsak az adattípusok.

    A programozási nyelv pedig fontos, bár szerintem csak másodlagos kérdés gyakorlatilag tökmindegy.

Új hozzászólás Aktív témák