Mi a különbség a C, C#, és a C++ között, és melyiket érdemes elkezdenem tanulni?
Mivel a C++ mindenre képes, amire a C, nem. A C kihagyásával megmondom mit mulasztasz: iszonyat sok anyázást. A C eszköztára kezdetleges (mivel kernel írására tervezték), nem kényelmes használni.
Az eredeti kérdésre: a C-t kernelírásra tervezték, tehát alacsonyszintű (azaz hatékony de nem kényelmes), a C++-t a C-s kódok felhasználásával ALKALMAZÁSFEJLESZTÉSRE és könyvtárírásra tervezték, sokkal könnyebben tanulható, a C hatékonyságából szinte semmit nem veszít, sokkal erősebb nyelv, a C# pedig egy Java utánzat, nem a hatékonyság volt az elsődleges szempont, hanem a _nagyon_ gyors alkalmazásfejlesztés, bizonyos kritériumok betartásával azért.
5 perc összekattogni egy ablakos alkalmazást a Visual Studioban, és általában ezt hasonlítják a mindenféle C++-os megoldásokhoz, csakhogy C++-hoz is vannak IDE-k amikben ez hasonló könnyedséggel megy.
Az alapvető különbség a C/C++ és a C# között, hogy az előbbieket az ipari szükség szülte, és nem áll mögötte egy konkrét társaság, az AT&T-ben kitalálták őket, aztán nagyon sokan implementálták a szabványt (már amikor már volt, a C-nek igen sokáig nem létezett szabványa), míg a C#-t a Microsoft akarata szülte, hogy a Java-t lenyomja egy kicsit (teszem hozzá sokkal jobb nyelvet sikerült csinálniuk), és ők nyomják, ők biztosítják hozzá a környezetet, ezért nőtt össze a C# a Visual Studioval és a .NET frameworkkel, és ezért nincs hivatalos IDE a C++-hoz.
Köszönöm a kimerítő választ :). Igaz az hogy Linux alatt jobb programozni mint Windows alól? A Linux-ot C-ben írták?
...és a Windows milyen nyelven íródott?
"Igaz az hogy Linux alatt jobb programozni mint Windows alól?"
Előszöris mit értesz az alatt hogy "jobb programozni"? Többnyire az összes programozási nyelv segítségével lehet windows és linux alatt is programozni, a C-re, C++-ra és a C#-ra is igaz. Ameddig csak alapszinten programozol semmilyen különbséget nem fogsz észrevenni.
"A Linux-ot C-ben írták?"
Igen, többnyire C-ben fejlesztették, de természetesen már programozási nyelveket is használtak/használnak.
"...és a Windows milyen nyelven íródott?"
Mivel a Windows zárt forráskódú, nem mondható meg egyértelműen, de feltehetőleg hasonló eszközökkel készült mint a Linux.
Ahogy az utolsó írta, amíg nincs konkrét platformcélod, csak programozgatsz, addig nincs semmi megkötés, hogy hol jobb, hol rosszabb, toolok mindkét platformra vannak (tool alatt értsd: fordítóprogram, fordítást segítő programok (make file kezelők pl), IDE-k, szövegszerkesztők), így az elsődleges szempont, hogy NEKED mi a kényelmesebb. C++-t mindkét platformon ugyanúgy érdemes elkezdeni, gcc-vel. Amíg nem tudod, mi merre hogy fordul, addig nem érdemes IDE-ket használni, legalábbis ennél a nyelvnél
A Linux KERNELJE C-ben íródott, az meg megállapodás kérdése, mit tekintünk még az oprendszer részének, de minél messzebb jutunk a kerneltől, annál valószínűbb, hogy más nyelvet találunk, mert mint fentebb említettem, a C nem kényelmes alkalmazásfejlesztésre.
A Windowsról nem tudjuk, de mivel a rendszerhívásai (azaz amiken keresztül egy program kommunikál az oprendszerrel) erősen C-re hajaznak, ezért jó eséllyel azt is nagyrészt C-ben rakták össze.
Ha most kezdesz, Windows alá C# (nem a nyelv, hanem a környezet teszi kiemelkedővé,
ha Linux, vagy multiplatform, akkor C++, de fontold meg a Javát is.
C-t érdemes megnézni - később - de először eredményeket akarsz gondolom és nagyszerű programokat.
Én '85-ben kezdtem C-vel, nagyon szerettem a C++ -t és két éve C# -al dolgozom, csak Windows alatt (és PLC-kkel).
A nyelv csak másodlagos szerintem, a fejlesztő környezet és a rendelkezésre álló könyvtárak az adott platformon határozzák meg, mit érdemes választani.
Sok sikert!
Eloszor is: NE a C#pal kezdd!
Aztan: Nalunk a VIKen ugy tanitjak, hogy egy felev C, aztan egy felev C++. Szerintem erdemes elobb megismerkedni a C-vel, aztan valtani az objektumorientalt szemleletre, es C++ra. Itt akar meg is allhatsz. A C# jo, de telleg ossze van nove a .NETtel, emellett magas szintu, es rengeteget elrejt eloled. (Ezert mondom, hogy elobb a fapados C-t tanuld meg, aztan a magasabb szintu nyelveket.
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!