Mi a különbség a C, a C++ és a C# között?
"Ugyanaz, mint a zsír, a zselé és a zsiráf között. Mindegyik zs betűvel kezdődik..."
Az nem különbség, hanem a hasonlóság. ;-)
Kérdésre a válasz pedig 11:31-nél.
A C a három közül a legrégebbi, amiből a többi lett. Alacsony szintű, egy réteg az assembly felett. A C++ eredetileg ennek egy objektumorientált bővítése, de mára egy kissé átdolgozták mindkettőt, úgyhogy ma már nem kompatibilis a C++ a C-vel.
A C# a C++ és a Java alapján készült, ahol a Java egy C-re emlékeztető szintaxisú, már magas szintű nyelv. Nem törekedtek kompatibilitásra a többivel, de szintaxisa hasonló. Ez szintén magas szintűnek számít.
A C egy strukturált, procedurális nyelv. Erősen tipizált, nem objektum orientált. Nagyon hardver közeli, ezért driverek, operációs rendszerek és alacsony szintű programokra használják. Szinte minden spéci platformon van C fordító, illetve gyakori, hogy van ahol csak az van.
A C++ egy általános célú, magas szintű programozási nyelv. Nagyon hasonlít a C-re, de ez objektum orientált. Sokakat megtéveszt hogy ugyan maga a fordító nem kötelez a OOP-re, ettől azonban a nyelv még az, mivel minden definíció a globális névtérbe kerül. Persze lehetnek olyan függvények is, amik nem tartoznak egy osztályhoz sem, de itt az OOP szemléletet a friend mechanizmus valósítja meg.
A C++ nyelvet a gyakorlatban, teljesítmény orientált rendszerek és szoftverek fejlesztésére használják. Nem ok nélkül, mert a fordítók performancia listájának első 3 helyén is C++ fordító áll.
A C# a .NET keretrendszer részeként kifejlesztett multi-paradigmás objektumorientált és komponens orientált programozási nyelv. Fontos tudni, hogy nincs külön C# fordító, a C# kódot egy intermedier nyelvre interpretáljuk, majd azt fordítjuk le. Mivel egy keretrendszer alatt fut, ezért menedzselt nyelvnek nevezzük. Sokan nevezik a C#-ot a Java és a C++ keverékének, legalább annyira merít a Java-ból, mint amennyire a Java merített a C++-ból. Igazából, mindegyik Simula stílusú, ebből a korai OOP nyelvből erednek. Szöges ellentétben a Objective-C és Ruby nyelvekkel, amik Smalltalk stílusúak. Olyan összevetni a C#-ot meg a Java-mint két testvért. Ugye nem meglepő, ha felfedezünk valami hasonlóságot?
Gondoltam, hogy sok ember lelkivilágába beletaposok a C# 'becsmérlésével'. Nem nézem le - kinek a pap, kinek a papné -, de sok egyszerű feladat megoldására nem célszerű. Sok nyelvet kell megismerni, mindegyiknek megvan a maga helye valahol, sőt.
De hát én nem értek hozzá mivel nem egyetemen tanultam programozni, hanem az életben :)
" Nem nézem le - kinek a pap, kinek a papné -, de sok egyszerű feladat megoldására nem célszerű. "
Ez nem pap és papné kérdése. Fát vágni sem mész kapával, ahogy hegeszteni sem gyertyával. Minden nyelvnek meg van a helye.
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!