Első programnyelvnek C++ vagy C# a jobb?
#8: Igen, akkora baromságot mondtam... Volna, ha igazad lenne. De nincs. :)
Egy JIT jobban tud optimalizálni, mint egy AOT compiler, így a sebességgel kapcsolatos, amúgy is teljesen értelmetlen szócséplést el is hagyhatjuk. A mai gépteljesítmények mellett sebességről vitatkozni amúgy sem vezet messzire.
A banki szoftveres érvelésed még hihetőnek is hangzik mindaddig, amíg az embernek nincs rálátása a szférára, de amint van, kiderül, hogy nem ismered a környezetet.
A banki szoftverek általában teljes mértékben .NET és Java platformra építkeznek. Hidd el, ezt sem a kisujjamból szívtam ki.
A grafikával sem sikerült maradéktalanul jót mondanod: A játékipar is elmozdult már pár éve a C# felé. Pedig ott nem hogy grafika, de realtime is van, meg elég komoly fizikai szimuláció.
Egy viszonylag valid dolgot azonban említettél: A driverek és a kernelek fejlesztésére valóban nem alkalmasak a magasszintű nyelvek. Itt, mivel közel kell lenni a hardverhez, ezért az alacsonyabb a jobb, illetve némely esetben kizárólagos opció. Ehhez azonban hozzá kell tenni, hogy a C, vagy C++ önmagában ugyanolyan alkalmatlan a kernelfejlesztésre, mint a magasabb szintű nyelv a driverekhez. Egyébként vajon a lelkes kezdők hány százaléka szegődik hivatásos kernel- vagy driverfejlesztőnek? Hmm... Hát lehet, hogy ez a napirendi pont annyira nem is releváns :)
Ha semmi mást nem is veszünk figyelembe, mivel a kérdező "ebben látja a jövőjét", a fő szempontok a tanulhatóság, és a munkalehetőség voltak, ezek pedig kétségkívül a C# javára billentik a mérleg nyelvét.
Nos, kérdező, azt hiszem, igen alaposan kivesézzük itt neked ezt a dolgot :)
Nem tudom, mikori JVM-ed lehet, de egy korrekt géppel és egy viszonylag friss Java verzióval annak a Java-nak sem kellene olyan borzasztó lassúnak lennie. Megpróbálkozhatsz esetleg egy szerver JVM-mel is, de annak meg kell a warmup time. Esetleg a memória volna kevéske a gépedben?
Ahogy látom, az, amit te elsőre körülményesnek éltél meg, az egyrészt abból fakad, hogy valószínűleg IDE nélkül próbálkozol - ami nem a legjobb megközelítés -, másrészt pedig magából az OO-ból. Egyébként maga a Swinges fejlesztés is egy érzékeny témakör, ahol nagyon könnyű borzalmas teljesítményű szoftvert írni, de ha beletanulsz, ott sem lesz gond.
Van Androidra is C# megoldás, de oda még mindig jobban jársz a Java-val.
Én mindenképpen azt javaslom neked, hogy vagy maradj meg a Java-nál, vagy ha váltasz, akkor C#-ra, mert ezzel a két nyelvvel jársz a lehető legjobban. Tanulás szempontjából nagyon korrekt nyelvek - ahogy időm engedi, segítek is, ha gondolod - a piacuk a legerősebb, fejlettebbek is, és elég dinamikusan is fejlődnek.
Persze, a végső döntés a tiéd, én mindenesetre sok szerencsét kívánok a pályádhoz!
# 12/12 Időpont ma 17:51
Érveléstechnikád jó, csak baromságokat beszélsz. Röviden, tömören, mert sietek és többet nem érsz meg, hogy rádszánjak:
Persze, "mai gépteljesítmények", ami egy tipikus idióta érv. Biztos azért van kismillió C/C++-os állásajánlat, mert a sebesség már nem fontos.
Banki szoftverek Javara már csak a biztonságkritikusság miatt sem építkezhetnek. Vannak Netbankos felületek ami Java (de ez is a fos "minden gépen fut ugyanaz, csak lassan" elv miatt), de az attól nem Javara van építve...
"A grafikával sem sikerült maradéktalanul jót mondanod: A játékipar is elmozdult már pár éve a C# felé. Pedig ott nem hogy grafika, de realtime is van, meg elég komoly fizikai szimuláció."
:-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
Te hoztad be, ezt a "C++ elavult szar, és senki nem használja semmire" érvet, a driver/kernel témakör csak arra reakció, nem a kérdezőnek szólt. Mint láthattad (azt nem merem mondani, hogy olvastad, azt meg pláne nem, hogy megértetted), én is a C#-pal való kezdést javasoltam, csak nem azért mert a "C++ elavult". De ez az információ gondolom a packet-loss áldozata lett :-(
Kérdező:
Így egészen más a kérdés.
CPP és a C# is egy-egy jelentős szelete az iparnak, megtanulni mindkettőt érdemes. Ha mobil irányba akarsz, akkor egyértelműen C#, ha asztali, akkor meg mindkettő jó.
Csak, hogy néhány dolgot említsek mit is írtak C++ -ban:
- C# compiler (ehhez azért még jó volt annak ellenére mennyire elavult)
- Microsoft Office (Word, Excel stb.)
- Mozilla Firefox, Internet Explorer
- Apple OS X: - Finder, IOKit device drivers
- Adobe: Photoshop & ImageReady, Acrobat stb.
- Autodesk: (A legtöbb CAD domain alatt szereplő programot)
- Mint ismertebb játék megemlítem a World of Warcraftot (ezen kívűl jópár játékuk)
Egyébként Eclipse-set használtam IDE-nek, de a körülményességét arra értem, hogy ha egy gépen nincs JVM, akkor nem fut a programom(iskolai gépekre írtam egy kis "viccet", aztán hopp, letöltöttem a felhőből és mit látok... a jart nem "ismerte" fel a rendszer)... Illetve írtam egy egyszerű szegély nélküli ablakból álló programot, amit nem lehet "bezárni", többek között a teljesítmény letesztelésére... Ötször annyi klónt csinált bezárásnál... 4GB RAM-mal 525 ablakig bírta a JVM.
Szerintem beletanulok a C#-ba... Egyébként még csak 15 leszek, úgyhogy az a sok sikert a "pályámhoz" kicsit túlzás. xD
...annyit azért elárulok, hogy jelenleg a világ egyik legnagyobb bankjának a szoftverét hegesztem főállásban. Pedig reméltem, hogy észreveszed magadtól, hogy nem vagy hiteles. Mindegy, nekem ez nem fáj, csak azt sajnálom, hogy szegény kérdezőnek ideszemeteltünk.
Csak hogy tanulj valamit: A kis zsebpénzedet körülbelül 80%-ban Java háttérrendszerek lapátolják ide-oda.
@Kérdező: Részemről a reagálással felhagytam, Vérpistike meg mond amit akar.
# 18/19 ma 18:35
Szerintem aki Javaban ír biztonságkritikus szoftvert, az ne beszéljen hitelességről :-)
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!