Sokan írtak mástmást de mi a jó?
Ha érted az angolt a C# könnyebb.
Azt mondják hogy a C nagyon könnyű.
Viszont a C++ Objektum Orientált központú és ez szerintem a legnehezebb....
Noh, akkor egy kis homályoszlatás.
A C-t azért találták ki, hogy ne Assemblyben kelljen operációs rendszert írni, olyan is lett. Hatékony, gépközeli, gányolós.
A C++-t azért találták ki, hogy ne kelljen C-ben kódolni minden mást is (mert az operációs rendszereket még mindig abban hegesztik, legalábbis sokat), raktak bele osztályokat, sablonokat, meg sok-sok szintaktikai és szemantikai javítást, amitől biztonságosabb és kényelmesebb lett a használat. A C++ NEM objektumorientált, csak támogatja azt.
A C# egy objektumorientált nyelv, a Java-t követi (csak sokkal jobb lett, mert tanult a hibáiból), azaz: virtuális gépen/géppel fut, bytekódra fordul (ami a virtuális gép gépi kódja), hatalmas könyvtár van mögötte.
A közös a három nyelvben a C betű. Az a közös bennük, hogy hasonló a szintaxis, és kb ennyi. A C++-ról aki azt állítja, hogy tartalmazza a C-t az próbáljon meg egyszer egy komolyabb C-ben írt projektet lefordítani C++ fordítóval. Kemény meló.
Mivel kezdjél? C++ vagy C#. Attól függ mennyire vagy "kemény". C++-ban több lesz a kezdeti sikertelenség, mivel a nyelvnek erős a kifejezőereje, ezért könnyű "félrefogalmazni". De ha a C++-al megszenvedsz, onnantól nagyjából semmi sem lesz túl nehéz, mivel megtanultál osztályokkal dolgozni, sablonokkal, függvényekkel, pointerekkel, megtanultad a hatékony és a szép kód közötti egyensúly megtalálását (és ebben nagyon jó a C++: a szép kód sokszor a hatékony is).
Ami hátránya kezdőknek: könnyű elrontani, jobban vigyáz rád, mint a C, de hagyja hogy hülyeséget csinálj, ha nagyon akarod. Úgy szoktak fogalmazni, hogy ha a C-vel könnyű lábonlőni magad, akkor a C++-al kicsit nehezebb, viszont akkor viszi az egész lábadat.
A másik hátránya, hogy a szabványos könyvtára az elég sovány, mivel eleve könyvtárkészítő nyelvnek is tervezték, ezért baromi sok kód érhető el hozzá, csak nem a fordítóval szállítják. Például grafikához mindenképpen kellenek külső könyvtárak (javaslom a Qt alkalmazását, nagyon jól végiggondolt).
A C# azért jó, mert hamarabb lesz sikerélményed, és eleve jobban vigyáz rád a nyelv. Ennek a hátránya, hogy ha valami speciális dolgot akarsz csinálni, azért meg kell szenvedni, no meg hogy szigorúan objektumorientált a nyelv, és ez sokszor azért zavaró. De nagyon jó kezdőnyelv ez is :)
A C meg olyan, hogy ha szerencséd van soha életedben nem kerülsz vele szembe, de ha nincs, akkor C++ után könnyű lesz megtanulni, csak el kell felejteni a nagy részét.
Amúgy ezzel a windowsonly-C# dologgal vigyázni kell...
Ott a Mono Project ( [link]
C++ -t vagy C#-ot tanulj, de én ezutóbbit választanám. Fényesebb jövő áll előtte, mint a C++ előtt. Főleg azért, mert egyre inkább nyomják mikrofosék a .netet, és nem kizárt hogy rendszerstabilitási okokból előbb-utóbb minden egy virt.környezetbe lesz szorítva. Lásd Singularity. Azonfelül mindenre képes amire a C++, mivel kiterjeszthető "egy kis munkával" a Windows API-ra.
Azért óvatosan bánnék az ilyen kijelentésekkel, hogy mi előtt áll fényesebb jövő :D
A C++-t is lehet virtuális környezetben futtatni (miért ne lehetne, az egész csak a fordítóprogramtól függ), ha nagyon az kell, de a nyelvnek hatalmas előnyei vannak. Az a legfontosabb különbség, hogy a C++-t a szükség szülte, míg a C#-t tervezés, ezért mindig az előbbi lesz a használhatóbb (persze attól függ, mire).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!