Java vs C# oo programozás?
Melyik a hatékonyabb?
Melyik fut le gyorsabban?
Androidra melyik programozási nyelv illik jobban?
Melyikben lehet bonyolultabb programokat írni?
Melyiknek lesz kisebb a mérete ha kész a program?
Nem programoztam java ban, úgyhogy csak az utolsó két kérdésre válaszolok.
"Melyikben lehet bonyolultabb programokat írni? "
Többnyire bármelyik programnyelvben meg lehet írni bármit, nincs olyan, hogy egy nyelv jobb mindenben a többinél, mindegyiknek van előnye-hátránya egyaránt.
"Melyiknek lesz kisebb a mérete ha kész a program?"
Mindkettő kicsi lesz, a grafika\hangok foglalnak sok helyet, nem maga a kód(csak hogy érezhető legyen, egy bf4 sem lenne több néhány megánál ha csak és kizárólag a kódot tartalmazná).
Androidra Java természetesen. A C# inkább csak Windowsra jó.
Ha hatékonyabb programokat szeretnél, akkor tanulj C-t. Ezek közel egyformák, a C# eredetileg Javának készült.
"A C# inkább csak Windowsra jó. "
Gondolom ezt azért mondod, mert gyakorlatilag minden létező platformra lehet fordítani.
Technikailag szinte teljesen mindegy melyiket választod, de pár különbség azért mégis akad közöttük.
A Java platformfüggetlen. Android programozásra azt szokták használni, de ez önmagában hülye kérdés, mert nem tudjuk, hogy miket fejlesztenél rá. Játékokra a szokásos C/C++ a legjobb választás, de ha csak az 1000. "egyedi" arcade játékot akarod elkészíteni, akkor bármi megfelel a célra. Szinte mindent készen kapsz. Ez egy baromi jó dolog, ha mondjuk C-ről álsz át, ugyanis ott is sok eszközt a kezedbe adnak, itt az XML feldolgozástól a socket-kezelésen át a GUI építésig terjedően minden a standard library része. Természetesen nem kell a beépített dolgokra hagyatkozni.Open-source könyvtárak ezreit találod meg a neten, amik közül választani sem tudsz.
C#-ra is igaz a leírtak nagyrésze. Sajnos nem támogatja csak a Microsoft eszközöket (Mono-t hagyjuk), de már úgy fest, kezd kitörni ebből a ketrecéből. Ha Windows/Windows Phone az egyetlen célplatform, akkor az egyik legjobb választás hétköznapi alkalmazásokra, de kisebb játékokhoz is jó. Az egyik legnevesebb játékmotor, a Unity például ezt a nyelvet (szinte csak ezt) támogatja játékok gyártásához. Ezt a Microsoft fejleszti. A Java volt a múzsája, mikor jött az ötlet, hogy legyen a C#. Mostanra már jóval fejlettebb nyelvi elemeket tekintve és a standard könyvtár is hasonló szinten van. Lényegesen kevesebb open-source api/lib érhető el hozzá, mint Java esetében, de így is megtalálod, ami kell. Azt mondják C#-ban gyorsabb a fejlesztés, de nekem nem tűnt fel ebben semmi különbség.
Sebességben sincs semmi észrevehető. A méretéről nem tudok sokat mondani, de ez teljesen lényegtelen. TB-os adathordozók világában élünk. A kód még egy komplex program esetében sem lesz nagyobb pár megabájtnál nagyobb. A legnagyobb helyet a programhoz tartozó képet foglalják el. Játékoknál meg ehhez jönnek még a modellek, audió fájlok, cutscene-ek.
Egy lényeges szempont lehet még a fejlesztői környezet. A C#-nál (számomra) semmi sem érhet a Visual Studio nyomába. Az egyik legjobb. Több nyelvet is támogat. A Java-hoz számos kitűnő IDE érhető el. Legismertebb platformok a Netbeans, Eclipse és IntelliJ. Szerintem mind a 3 nagyon jó. Az, hogy melyik a legjobb, megint relatív. Ki kell próbálni mindet és eldönteni, hogy melyik tetszik a legjobban.
TL;DR
Lényeg a lényeg: egyikkel sem jársz rosszul. A Java-hoz rengeteg jó eszköz érhető el. Nem mellesleg hatalmas támogatottsága van. Android-os programokat általában ebben írják. Ha úgy gondolod viszont, hogy a C# irányába szeretnél haladni, akkor a legjobb eszközöket kapod meg a Microsoft-tól, amik a Windows (Phone) alkalmazások készítéséhez páratlanok lesznek.
Szépen kifejtette az előttem szóló, így én nem mennék bele annyira. Inkább a feltett kérdésekre válaszolok 1-1 szóval.
@@@ Melyik a hatékonyabb?
Hogy definiálod azt, hogy hatékony? Mire érted?
@@@ Melyik fut le gyorsabban?
Ha csak egy egyszerű "Hello world!" programot nézünk, azaz ugyanannyi utasítást tartalmaz, akkor azok a gyorsabbak amik "gépi kód"-ról futók. Pl.: C nyelv
Sokkalta lassabb a "byte kód"-ból futók, mint Pl.: Java, mert értelmező (interpreter) JVM gondoskodik a platform függetlenségéről.
DE!
Ez emberi mércével nézve a lassabbsága NEM észrevehető, már egy nagyobb rendszer esetén se. Pl.: A nagy vállalat hálózati Cisco switcheken és routereken Java fut.
@@@ Androidra melyik programozási nyelv illik jobban?
Elsősorban Java.
@@@ Melyikben lehet bonyolultabb programokat írni?
Mindennel.
@@@ Melyiknek lesz kisebb a mérete ha kész a program?
A mai tárkapacitásokból nézve, pont hogy ez a leglényegtelenebb szempont.
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!