Programozó szertnék leni :)
2008-04-07T14:39:44+02:00
2008-04-10T06:01:31+02:00
2022-07-19T04:27:47+02:00
  • "akik az OOP-t kitalálták, nem csak tippelgettek, hanem azt rövidítették le, amit már addig is csináltak."
    Megintcsak design patternekrol beszelsz. Masreszt mivel teljesen mas, nem igazan az, amit addig is csinaltak. Es mivel a kiteritett OO kod joval hosszabb, mint ugyanaz szekvencialisan, igy szerintem le sem roviditettek. De asszem ez az a pont, aminek a cafolni probalasaval igazoltad a tartalmat.

    "de komolyabb progtamot OOP-hez legalább hasonló rendezettség nélkül nem lehetett akkor se megírni, se QBasic-ben, se Turbo Pascal-ban, Assemblyben meg aztán főleg nem!"
    OOP-hez hasonlo rendezettsegu szekvencialis kod != OOP kod.
    Mar csak azert is, mert ugye peldaul assembly-ben viszonylag nehez ojjektumokat letrehozni.


    Vannak rekordjaid amibe tárolod az információt, és egy eljárás, ami ezeket használja. Pl. tárolod egy gomb adatait (x, y, w, h), és van egy rajzolófüggvényed. Na itt kellett azt betartani, hogy a változónevekbe benne legyen a típusa, meg a függvénynevekbe hogy milyen változótípust használ. Az átadás ugyan pointerrel történt, csak nem ellenőrízte a típust a fordító, e helyett viszont az ember látta a változónevekből hogy minden jó helyen van.
    Volt mikor egy függvény címét tároltad el egy rekordba, azt meg most dinamikus eljárásnak hívják.
    A különbség annyi, hogy most nem a változónévbe írod a classt (én azért szoktam oda is), hanem ráhúzod az egeret és kiírja, és ráadás a fordító is érti hogy micsinálsz, ezért pluszba ellenőríz.
    Az meg hogy tiszta absztrakt class, meg öröklés... Akkro le volt rajzolva papíron, és a te dolgod volt megfelelni, most meg beírod a gépbe, és az ellenőrzi. Ugye voltak függvények is amik egymást hívták.
    Aki nem hiszi még mindig, nézze meg a debugert töréspontnál, ott a call stack. Nekem sokszor elég nagy segítség, de lehet valaki jól elvan nélküle.

    Az meg hogy tudsz hardvert programozni, magába nem ér sokat. Ha azt akarod hogy haszna legyen, írsz egy szép wrappert a kódodnak, amivel más is, meg te is normális sebességgel tud vele programot írni. Hameg annyira gyors kell valami legyen hogy assembler kell, ugyanígy arra is csinálsz egy classt, hogy valami haszna is legyen.
    Az assemblynek pontoan az a lényege, hogy tudd hogy hol kell használni, ezért hívom én a Turbo Pascal-t (vagyis annak az assembly-jét) alacsony szintű nyelvnek. Persze ezt nyilván arra értem, ha használod is belőle az assemblert, de úgy látszik, ezt is külön kell mondani.
    Mutasd a teljes hozzászólást!
  • Viszont igy inkabb vagy oop programozo, mint assembly.


    Mint ahogy mar irtak, az OOP egy szemleletmod, az mas dolog, hogy egy nyelv tamogatja. Java-ban is lehet nem OOP kodot irni!
    Mutasd a teljes hozzászólást!
  • Nem az OOP az szemlelet.
    Amit lehet minden nyelvre ultetni.
    Van ahol ez fordito altal tamogatodik, es van ahol nem.
    Van ahol szepen meg lehet oldani (pl masm) es van ahol nem.

    En pl 8 bites microkontrollere is OOP fejlesztek assemblyben.
    Mutasd a teljes hozzászólást!
  • Viszont igy inkabb vagy oop programozo, mint assembly. Mar ha az en elavult, hardcore ertelmezesemben vesszuk, ahogy eredetileg irtam. :]
    Mutasd a teljes hozzászólást!
  • Mondtam en, hogy valami buzlik


    Miert?
    Azert mert irnom kell par darab tizen soros makrot?

    Attol, hogy en irom a makrokat még lehet oop.
    Vagy szemely fuggo?
    Az ms-nel pl Ivan Kozirev irta a NEW valamit. Itt en magamnak. Nem latom a kulonbseget.

    Aki nem tudna megirni a makrokat az ugysem igazi programista. Annak az oop amugy is csak olyan mint trabantnak a bozotracs.
    Mutasd a teljes hozzászólást!
  • Mondtam en, hogy valami buzlik. Akkor ennyi erovel a C++ is assembly.
    Mutasd a teljes hozzászólást!
  • Igen, ilyen.
    miután a preprocessor kifejti KisJ makróit.
    Mutasd a teljes hozzászólást!
  • 1981 elott tenyleg ilyesmi volt.
    Bar normalis programistak mar akkor sem hasznaltak "hardwirednumber"-eket.

    Hanem fel vették konstansba:

    pl
    mov edx,[EBP-valami]


    Mutasd a teljes hozzászólást!
  • Marpedig az assembly akkor is valami ilyen borzalom barki barmit mond.

    MOV EDX,[EBP-16] MOV EAX,[EBP-20] MOV [EDX],EAX
    Mutasd a teljes hozzászólást!
  • KisJ megint aratott a makroival!
    Mutasd a teljes hozzászólást!
  • Amit irtam az assembly kod, amit az assembler fordit gepi kodra. De megoldhato a managelt es JIT forditas is.
    Mutasd a teljes hozzászólást!
  • Kozben rajottem, hogy hulye vagyok, mert compiler nem assembly-ve fordit, hanem gepi kodda.

    Na latjatok, en is muveletlen vagyok. Webkadernek azer elmegyek.
    Mutasd a teljes hozzászólást!
  • De akkor fordit assembly-ve nem? Mer akkor minden az.


    Ez a ket mondat nagyon oop-ra sikerult.
    Fuss neki legyszi ujra, mert nem ertem.
    Mutasd a teljes hozzászólást!
  • De akkor fordit assembly-ve nem? Mer akkor minden az. Vagy valahol nagyon reg lemaradtam.
    Mutasd a teljes hozzászólást!
  • Van egy olyan érzésem, hogy itt másról megy a háború.
    Mutasd a teljes hozzászólást!
  • Ez nem assembly.


    De bizony az!!!

    Mutasd a teljes hozzászólást!
  • C# 2.0 ban vhogy igy néz ki (fejből):
    class MyClass { int id; public int ID { get { return id;} set { id = value;} } } .. MyClass obj = new MyClass(); obj.ID = 666; Console.WriteLine(obj.ID); ..

    c# 3.0 ban meg még ennyi sem kell:
    class MyClass { public int ID { get;set;} } .. MyClass obj = new MyClass(){ID = 666}; Console.WriteLine(obj.ID); ..
    Mutasd a teljes hozzászólást!
  • Háde hélo!

    Ez nem assembly. E?
    Mutasd a teljes hozzászólást!

  • Például:

    class MyClass local id:dword classPublic setId,anId . . endPublic classPublic geId return id endPublic endClass classNew valami,MyClass class valami.setId,1
    Mutasd a teljes hozzászólást!
  • class MyClass { private int id; public void setId(int anId) { id = anId; } public int getId() { return id; } } MyClass obj = new MyClass(); obj.setId(1); System.out.println(obj.getId());

    ?
    Mutasd a teljes hozzászólást!
  • Ezt igy tudom.
    Nem csak a definiciot hanem implementalni is.

    De irj egy konkret peldat(kodot) aminek a lenyeget nem lehet szerinted asm-ben megvalositani.
    Nem szintaktikailag hanem szemleletileg.

    Mutasd a teljes hozzászólást!
  • Olyan biszbasz, amit lehet peldanyositani, kulonbozo lathatosagi szintju izei vannak, amik egy reszet csak peldanybol lehet bizgetni, mas reszuket meg nem csak. Jobb?
    Mutasd a teljes hozzászólást!
  • Szerintem ezek nincsenek meg assemblyben. Ha megis megmutatod mind, akkor pofamat befogom, es mea culpa.


    Tul tag voltal.
    Pl. osztaly.
    Az hogy mi az osztaly majdnem olyan mintha istent probalnank meg definialni.

    Csak a class cimszot hianyolod?

    Egy kicsit konkretabb peldat irj.
    Mutasd a teljes hozzászólást!
  • "managelt kodbol halalpontossan ket "utasitast" egyidoben vegrehajtani, plane 2 listbox kedveert."
    ha erre most reagalok, akkor az vegtelen ciklus lesz.
    Mindegy. Az olyan alapmuveltseg ide, vagy oda: hulye

    "Nyilvan ha valaki olyan nyelvet hasznal amirol meg csak azt sem kell tudnia mily platformon fog futni, ott nincs kozvetlen hozadeka a low level tudasnak."
    Ugymint kezdo programozo, vagy ceges droid. Kezdonek ott az alice.org. Amennyire hulyesegnek tunt eloszor, annyira nem az. Asszonynak (kezdo programozo) meg kifejezetten tetszett.

    "De a himnusz szovegere is viszonlag ritkan van szukseg, megis illik birni."
    Elgondolkodtattal. Tenyleg... Minek?
    Mutasd a teljes hozzászólást!
  • Maskepp fogalmazva mekkora a tudas hasznossaga adott, teljesen irrelevans teruleten a tudas megszerzesere forditott ido aranyaban? Amit mondjuk tolthettel volna harom ujabb J2EE design pattern tokeletes megertesevel, amire viszont mondjuk szukseged van?


    Nyilvan ha csak a fenti peldat nezzuk nincs ertelme az alapmuveltsegnek.
    De mint mar irtam azert kell minima hw/asm rendszer ismeret, hogy ne akarjon valaki (konkret pelda!) managelt kodbol halalpontossan ket "utasitast" egyidoben vegrehajtani, plane 2 listbox kedveert.

    Nyilvan ha valaki olyan nyelvet hasznal amirol meg csak azt sem kell tudnia mily platformon fog futni, ott nincs kozvetlen hozadeka a low level tudasnak.

    De a himnusz szovegere is viszonlag ritkan van szukseg, megis illik birni.



    Mutasd a teljes hozzászólást!
  • Címszavakban:

    Class
    Object
    Method
    Message passing
    Inheritance
    Encapsulation
    Abstraction
    Polymorphism

    Szerintem ezek nincsenek meg assemblyben. Ha megis megmutatod mind, akkor pofamat befogom, es mea culpa. :]
    Mutasd a teljes hozzászólást!
  • de komolyabb progtamot OOP-hez legalább hasonló rendezettség nélkül nem lehetett akkor se megírni, se QBasic-ben, se Turbo Pascal-ban, Assemblyben meg aztán főleg nem!


    Igaz.
    De forditva is.
    Csak azert mert oop ready fejlesztot, "szintaxist" hasznalunk, meg lehet takony a kod.

    Mutasd a teljes hozzászólást!
  • Egyebkent en meg nem lattam jo OOP programozot, aki ert az assembly-hez, sem pedig forditva


    Majd felveszlek emesenen...

    Az oop az csak szemlelet. Az hogy ezt tamogaja a fordito az ketsegkivul elonyt jelent.
    De nem igen tudsz nekem olyan oop "szerkezetett" mutatni, amit masm-ban ne tudnek elkovetni.


    Mutasd a teljes hozzászólást!
  • Ámen.
    Mutasd a teljes hozzászólást!
  • "Tudom, hogy nagyjabol hogyan van belul megvalositva az indexeles, mit lehet megoldani indexelessel, tudom, hogy hol fog valoszinuleg linearisan keresni az engine es hol fog logaritmikusan stb..."

    Na jo, de az le van irva a manualjukban is. :]

    "Ha sajnalod, ha nem, a piacnak 90%-ban altalanos programozokra van szuksege"
    Igy van. Digitalis segedmunkasok. Ezert sajnalom oket.

    "Nemhogy cache-hitekre fog optimalizalni... (Merthogy lehet, meg Java-ban is)"
    Optimalizalasnak kulon embernek illene lennie szerintem. Mindamellett, hogy bilibe log a kezem. :]

    "...egy emberelet alatt rengeteg mindent el lehet olvasni."
    Nyilvan szakmai, es azon belul is inkabb munkahelyi ertelemben hasznaltam a kidobott ido kifejezest. Ha erdekli az embert, mer ne? De a munkahelyi rabszolganak nem feltetele.

    "... hogy egy jo szakember nem tudja, hogy mi az a gepi kod"
    Helo! Ismerje a fogalmat! De nem kell megertenie a kodot. Bar igazi programozo, mint tudjuk, TUD memoriadumpot olvasni.

    "Ne ertsd felre, nem akarom azt mondani, hogy minden programozonak Leonardo stilusban kell nyomnia"
    Na ebben megegyezhetunk. Bar a vilagnak tobb szereny zsenire lenne szuksege. Olyan kevesen maradtunk...
    Mutasd a teljes hozzászólást!
abcd