Melyik a jobb és miért? Melyiket éri meg erőteljesebben tanulni, és mit lehet vele elérni? C# / C++?
"mit lehet vele elérni?"
A célt. A program célja pedig, hogy megoldja a feladatot.
Ha meg értelmesebb választ szeretnél kapni, próbálj meg értelmesebb kérdést feltenni.
Nincs jobb vagy rosszabb, picit meg kell változtatni a szemléleted. Én nagyon botcsinálta programozó vagyok tényleg egy fokkal vagyok magasabb tudásban a "Hello World" szintnél. Munkámból kifolyólag azonban néha muszáj apró programokat vagy szkripteket írni ( hogy támogassa a fő tevékenységem) és mindig az adott feladat, illetve környezet határozza meg, hogy éppen milyen nyelven fabrikálok. Van amikor elég egy bash szkriptet eszkábálnom, de van amikor perl-ben kellett - nem túl maradandót - alkotnom - mert adott helyzetben az volt elérhető, legutóbb c és c++ volt terítéken.
Kérdésedre visszatérve bármelyiket is választod a javadat fogja szolgálni. Talán annyi előnye van a C++-nak hogy több platformon is tudod használni, még a C sharp azért meghatároz egy alapot. (Hozzáteszem egyik nyelvnek sem vagyok szakértője, nyugodtan lehet korrigálni a hozzászólásom )
Hát aki szerint Google-ben utánakeresve triviális, hogy melyik nyelvet mire használják, azt ezúton is csókoltatom.
A C++ és a C# szintaktikailag hasonló, de a hasonlóságok nagyjából itt ki is fújnak.
A C# a Microsoft saját "mindent IS" nyelve, amit széleskörűen használnak webes és asztali alkalmazásokhoz, különböző vállalati rendszerekhez, mobilos alkalmazásokhoz, és igazából a legtöbb 'kommerszebb' területen jelen van. A Java nagy kompetitora. Előnye, hogy gyorsan és kényelmesen lehet benne fejleszteni, ami nem is igazán a nyelv erénye, hanem a nyelv mögött úszkáló zászlóshajó, a .NET keretrendszeré, ami mára már tényleg mindenre IS tartalmaz megoldásokat. Régen nagy gyengesége volt a technológiának, hogy Windows platformon kívül nem igazán létezett, de mostanra a .Net Core jelenlétével már a multiplatform fejlesztések is nyitottak előtte. Szóval, gyorsan, egyszerűen, és masszív technológiai támogatás mellett lehet benne fejleszteni, emiatt nagyon közkedvelt szinte minden területen.
És akkor a C++. A C++ az a nyelv, ami egy fokkal kényelmetlenebb mint egy C#, vagy Java, egy fokkal többet feltételez a fejlesztő képességeit illetően, és alapvetően egy fokkal nehezebb tanulási görbéje van, viszont cserébe bármit megcsinál. A C++ az a nyelv, aminél a fő szempont mindigis az volt, hogy a kész program gyors legyen, és hogy bármit, de tényleg bármit meg lehessen benne csinálni. Remek plda mondjuk a memóriakezelés terhe, ami alól a C# javarészt felment téged, és azt mondja, hogy ő majd foglalkozik a változók, tárolók mögötti memóriaterületek felszabadításáról, te ezzel ne foglalkozz. Szépsége, hogy nem kell ezzel foglalkoznod, csúfsága, hogy ha akarnál sem nagyon tudsz vele foglalkozni. A C++ nem foglalkozik ezzel, ha te a dinamikus memóriaterületen lefoglalsz egy változónak helyet, akkor a te sarad lesz azt idővel felszabadítani, sőt, ha nagyon akarod igazából bájtra pontosan managelheted mindennek a memóriafoglalását. Ez a példa jól mutatja, hogy a C++ kvázi "nehézsége" abból ered, hogy teljes szabadságot ad a fejelsztőnek, és egy magasszintű programozási nyelvhez képest meghökkentően alacsony szinten lehet benne programozni. Emiatt a C++ elsődlegesen olyan területeken van keményen használva, ahol a teljesítmény top prioritás, ahol minden megspórolt órajel számít (bár ahol tényleg ez a helyzet, ott még csak nem is C++, hanem mezei C van használva, pl beágyazott rendszereknél), és ahol a fejlesztési idő másodlagos a futási idővel szemben. Példának okáért a játékmotorok szinte kivétel nélkül C++-ban vannak írva, még ha te azt is hiszed, hogy nem. Példának okáért ott a Unity, amiben C# nyelven tudsz scripteket írni, és a felső rétege C# alapú, de a magja, ahol a kemény számítások zajlanak, az 100%-ban C++. Gyors, hatékony programok írhatóak benne, kicsit nehezebb, kíméletlenebb nyelv, de mindent meg lehet benne írni.
Mindkettőt csak erőteljesen éri meg tanulni, és mindkettővel sokat lehet elérni. A jobb-rosszabb kérdésre és különbségekre már kaptál választ.
Amúgy nem csak az alap nyelv ismerete számít, hanem az arra épülő (vagy akár attól független) különféle magasabb szintű szoftvertechnológiák ismerete. (Pl. ha valaki keni vágja a php nyelvet, nem biztos, hogy össze fog tudni dobni egy korszerű, robosztus, nemzetközi szinten is elfogadható autentikációs megoldást.)
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!