C++ nyelvről párszó!
2010-09-05T20:54:36+02:00
2010-09-06T11:11:20+02:00
2022-07-24T23:52:36+02:00
  • Jó, bocs, ez a kissé elbagatellizált hozzáállásom tán onnan ered, hogy valamennyire már belemásztam a Javaba (egyszer még az 1.1 megjelenésekor, meg most pár hónapja újra), így az oop talán már nem okoz nagy meglepetéseket.

    Ez a metaprogramming dolog, mint C++ része viszont meglepett. Feltéve, hogy nem értettem valamit totálisan félre a korábban hivatkozott wikis link szövegében, akkor úgy húsz-huszonöt éve az akkori főnököm és pár kollégánk valami hasonlókat művelt, csak épp assembly+COBOL körítéssel - természetesen az objektumorientált részletek nélkül. :)
    (ezt csak félve merem leírni, mert nem biztos, hogy mindent jól értettem)
    Mutasd a teljes hozzászólást!
  • Rosszul értelmezed. Abban igazad van, hogy kellő mennyiségű osztálykönyvtár megismerése a nagyobb meló még a C++ esetén is. Mondjuk ha valaki rendesen meg akarja ismerni az STL-t meg a Boost-ot meg mondjuk a DirectX 10-et (most viszonlag random pldákat hoztam), az jóval több idő, mint magának a nyelvnek a megsimerése.

    De ettől függetlenül a C++ esetén magának a nyelvnek a megismerése is elég nagy meló. A 'Csak osztályokat tesz a C-hez' azért nem trivi dolog. Egy kezdő igencsak elgondolkodhat hogy most a virtuális destruktoraim milyen sorrendben hívódnak meg ebben a többszörös elrendezéses elrendezésben. Meg a const kulcsszó, a pointerek és a referenciák együttes alkalmazásával könnyű olyan kódot leírni, amit egy kezdő igencsak nehezen értelmez: mit is jelent ez, most mi is 'const'? A template metaprogrammingról (ez a nyelv része!) nem is beszélve. A C++ olyan bonyolult, hogy hosszú évekig a szabvány elkészülte után egyetlen fordító sem támogatta 100%-osan.
    Mutasd a teljes hozzászólást!
  • A C++ sokkal összetettebb mint a C nyelv. Több programozási paradigmát támogat. Ha csak a template programozást nézem, a 24 óra bőven kevés hozzá, egyetemen 1 félév alatt is éppen csak a felszínt kapirgáltuk. Azt hiszem mindent elmond, hogy maga a C++ programozási nyelv könyv is 2 kötetes és 1200+ oldalas. Az első kötet csak a nyelvről szól szűk értelemben véve. A második kötet az STL-el, tervezéssel egyéb dolgokkal foglalkozik. Szerintem nyugodtan kijelenthető, hogy ezek nélkül hamar becsődöl a tudomány. Kivéve persze ha C-t programozol C++-ban, hiszen enyhe túlzással a C részhalmaza a C++-nak.
    Végül pedig van egy rakás dolog, ami szorosan fűződik a C++-hoz. Pl.: Objektum orientált ismeretek, könyvtárak közül pedig STL, Boost, hogy csak éppen említsek valamit. Illetve van egy rakás olyan apró dolog, amik jelentősen megkeseríthetik az életedet. Lehet elfogult vagyok, de szerintem C++-ban nagyon is figyelni kell, hogy mi történik a háttérben. Pl.: hány konstruktor, illetve melyik konstruktor fut le egy kifejezés kiértékelésekor.
    Meyers könyvei pont ilyen eseteket tárgyalnak, akárcsak Dov Bulka és David Mayhew Efficient C++ könyve.
    Mutasd a teljes hozzászólást!
  • Pont ezt mondta. Nem merül ki, lásd metapogramming.

    Template metaprogramming - Wikipedia, the free encyclopedia

    De persze ezt a legtöbb ember nem használja szerintem.
    Mutasd a teljes hozzászólást!
  • Az utolsó mondatodnak csak sejtem az értelmét, de az már nem egy nyelvfüggetlen dologról szól?
    Durva példával, ahogy írtad: a C++ kimerül abban, hogy osztályokat tesz a C-hez, minden egyéb független magától a nyelvtől, inkább a köré épülő API-k, algoritmusok stb. ismeretéről szól. Rosszul értelmezem?
    Mutasd a teljes hozzászólást!
  • A C++ az egyik legbonyolultabb mainstream nyelv. Jóval bonyolultabb mint a C. A C egy minimalista nyelv, a C++ meg egy komplex öszvér. Természetesen a dolog attól függ, hogy mit értünk az alatt, hogy valaki 'ismer egy nyelvet'. Elég nagy a skála az egyik végén azokkal, akik elprogramozgatnak benne úgy, hogy kb. annyit tudnak róla, hogy a C++-os class az olyan mint a C-s struct csak vannak tagfüggvényei, meg a másik végén azokkal, akik (már-már l'art pour l'art) template-metaprogramminggal művészkednek mint Alexandrescu.
    Mutasd a teljes hozzászólást!
  • Csak kíváncsiság: (szóval nem kötekedésnek szánom, mielőtt még valaki... :) )

    A C++ nyelv megtanulásához miért nem elég a 24 órás könyv? Amire te gondolsz, az nem a C++-hoz (és egyéb nyelvekhez is) kapcsolódó API-k tömege? Maga a nyelv ilyen terjedelmes?
    Én csak a C-vel foglalkoztam egy keveset, de önmagában a nyelv nem tűnt nagyon bonyolultnak, a C++ meg úgy tudtam, ennek az objektum orientált változata. Rosszul gondolom?
    Mutasd a teljes hozzászólást!
  • Köszi a pontot, de szerintem ez nem ér 50 zsetont. Igazából nem is vagyok benne biztos, hogy ez tudástárba való kérdés volt.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Először is, C++-ban mi készíthető? A kérdés inkább mi nem és mit nem érdemes? Mivel rengeteg könyvtár van hozzá, rengeteg platformon jelen van, ezért sok dolgot lehet benne mívelni. Más kérdés, hogy egyes területek az utóbbi években jelentősen visszaszorult.
    Javaslom, hogy először tájékozódj, hogy hogyan is történik a fordítás és a linkelés. Itt leírni hosszadalmas lenne, kugli a barátod.
    Könyvnek a 24 órásakat nem ajánlanám. 24 hét is kevés lesz hozzá. Szerintem a Bibliával érdemes kezdeni: Stroustrup A C++ programozási nyelv című klasszikusával. Aztán ami már haladóbbaknak szól: Meyers Effective C++ és a More Effective C++. Az első megtalálható magyar könyvesboltokban is. A második kettővel még nem volt szerencsém találkozni magyar nyelven. Ezek mellett természetesen van pár hasznos könyv, ha érdekel, sorolok még.
    Mutasd a teljes hozzászólást!
  • Félre értettük egymást. Abszolut nem kértem tanítást, pláne nem ingyért.

    Egyszerüen csak annyi érdekelne, hogy mi készíthető ezzel.

    Az első hozzászolónak köszi a tippet, megfogadom.

    És persze neked is, az értékesebb mondatokat.


    ui.: Van már könyvem, a 24 órás kiadást használom " Tanuljunk meg c++-ot írni 24 óra alatt " c. kötet. Ebből tanultam az elöző nyelveket is és tökéletesítettem gyarolatban, ugyh maradok a kiadónál. persze ha van jobb ötlet...
    Mutasd a teljes hozzászólást!
  • ha szereted a szado-mazot, akkor igen a notepad a barátod.
    szerintem kezd egy könyvel, lehet digitális is.
    most azt várod, hogy valaki tanítson? ingyért...

    írd be a "nyetre", hogy c++ oktatás, doksi, vagy tutorial stb... szavakat.
    Mutasd a teljes hozzászólást!
  • Hát kezdetnek szerintem a notepad++-t felejtsd is el, sokkal egyszerűbb dolgod van, hogyha a MS Visual Studio-t használod. Ezzel le tudod fordítani a programodat is. Létezik belőle Express kiadás, ez ingyenesen használható.
    Mutasd a teljes hozzászólást!
  • Üdv kedves idelátogató(k),

    Kérdésem egy egyszerü elmetágítás lenne.
    Korábban megtanultam, ~kb középfokon a html, php, js, sql és társ nyelvek rejtelmeit, most kedvet kaptam a c++-hoz.


    Viszont gyakorlatilag semmit se tudok róla. Valaki tágítana az elmémen 50 potya pontért, és elmondaná gyakorlatilag ezen nyelvezethez miaz ami ajánlott még, mármint nyelv, akkor miket is lehet vele pontosan készíteni, és hogy a kész kódot, miképp tudom futtatni. Pl exe-be kell konvertálni, és úgy. Ha ez a válasz, akkor mivel is fogok konvertálni?

    Az kodolást az általam nagyon szeretett NotePad++-ban végezném, az megfelel?

    na ennyi buta kérdés azthiszem elég is lesz.

    Köszi előre is!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd