Zdravím, vím že už na to příspěvků bylo miliardy, ale potřeboval bych trošku pomoc s rozhodováním se..
(jak už to znám a na internetu bejvá>>Odpusťte si prosím příspěvky o tom, že bych se měl rozhodnout sám, nikdo netvrdí že se nerozhodnu sám, ale rád bych abych slyšel víc názorů)
Nemůžu se rozhodnout zda se učit C# / Javu / C++.. Nějaké znalosti mám z Assembleru, Pascalu co se vyučuje na škole + bych řekl, že tak cca z poloviny umím Pawn.
Přečetl jsem si snad 50 článků na fórech, ale všude jsou jiné názory o tom co je lepší a že každé má něco lepšího a pak zase na druhém fóru tvrdí někdo něco jiného, čím bych vás chtěl poprosit aby se tady vyjadřoval vážně jen ten kterej tomu rozumí.
Tudíž se chci zeptat co podle vás je lepší na pokračování v učení z těch 3. jazyků a nejlíp v čem je ten váš vyvolený jazyk lepší oproti ostatním.
#1vamvam
Nauč se nejprve Javu, je z nich nejjednodušší a nejčistější. Možná u ní zůstaneš. Další v řadě je C#, který se ti může hodit, pokud budeš programovat jen pro Windows. C++ si jako začátečník můžeš zatím odpustit.
Ještě před Javou je dobré se naučit alespoň základy OOP.
Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jen u Javy bacha na to, ze podporuje lepeni kodu. Pak pred tebe nekdo da problem, na ktery neni knihovna nebo funkce a nebudes schopnej dat to dohromady.
Co je zajimave, tak vsechny featury z C++, co pri tvorbe Javy jeji autor vynechal jako zbytecne, se postupne do jazyka pridavaji zpet. Napriklad Java uz umi i hlidani resourcu (nepametovych). Sice debilne ale umi. Generiky vypadaly mnohem zpatlaneji.
Ja bych klidne doporucil zkusit si par zakladnich programu ve vsech trech a uvidis. Z assembleru bys nemusel mit problem ani s C++, protoze uz budes znat pojmy jako pointer, coz je obvykle pro zacatecniky nepochopitelne tema. Naproti tomu prechazet z Pascalu a ASM do Javy nebo C# bude narocnejsi. Ostatne z Pascalu kamkoliv je to narocne, protoze ma uplne jinou syntaxi, nez naprosta vetsina jazyku, co jsou odvozene od C.
A pokud te zajimaji i jednocipy, tak pro ty se pouziva hlavne C (ale treba Arduino pouziva C++, ktere je samozrejme oklestene pro jednocipy, veci jako STL tam v zakladu nejsou - existuji ale i libky, jen mas pak problem vejit se do pameti, kterou mas k dispozici).
Nahlásit jako SPAM
IP: 93.91.151.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mě přijde logičtější opačný postup, než co píše Kit. Tedy základy C - C++ , pak C# a přitom se zdokonalovat v C++.
Podle mě je lepší zapomenout na to, že něco nemusím řešit, než zapomenout na něco na co zapomenout nesmím, navíc například v C# můžeš například importovat WinApi funkce a bez hrubé znalosti C++ budeš asi na dokumentaci hledět jak puk. Taky se rozhoduj podle toho, co chceš programovat. Nebo jak napsal KIIV, vyzkoušej si co ti sedne.
#3KIIV
Asi to tak udělám, zkusím si základy ve všech 3 a uvidím kterej se mi nejvíce líbí..
Podle grafů je Java jeden z nejpopulárnějších jazyků, ale popravdě mě nikdy moc nelákalo dělat něco pro android, nevím zda je dobré se rozhodovat podle grafů co dneska frčí a je na trhu pohledáváno.. Protože mi bylo řečeno že "programování není jen o psaní kódu, ale i o tom si najít dobré uplatnění."
Ono škola toho moc ohledně těchto jazyků nedá, tím pádem o pointerech toho moc nevím.
Tudíž řekněme že jsem takový pokročilejší začátečník.. Taktéž mě spousta lidí tlačila k pythonu nebo PHP, že se na něm naučím pokročilejší základy OOP a že nemá moc syntaxe a pak se pouštět na C# kde se naučím základy Javy a C++ a pak skočit na C++. Co si o tom myslíte?
Taktéž vím že v C++ se dá udělat hromada věcí, řekl bych že podle statistik i 95-98%, ale zase jsem byl tímhle odpálkován tím, že C++ je k ničemu, že existují jazyky s kterejma se těch 98% dá napsat rychleji a lépe.
#5vamvam
ohledně posledního odstavce. Jsi toho typu lidí, kteří když si staví závodní auto, poskládají motor šroubek po šroubku, nebo objednáš hotový složený, od firmy s dobrou pověstí? Myslím, že na programování v C++ je potřeba víc trpělivosti a učení bude trvat nejspíš déle.
#5vamvam
Vzdy zalezi, co chces programovat. A pak je rozdil mezi "naprogramovat neco rychleji" a "naprogramovat rychlejsi program". Takove C a C++ jsou hodne low level jazyky, takze te nijak zvlast nehlidaji a podle toho to taky vypada, kdyz si k tomu sedne zacatecnik (nebo javista). Ale neco takoveho uz z assembleru znat trochu musis.
Jinak pokud mam udelat nejakou jednoduchou aplikaci pro vycucavani dat z webu, zmenseni par tisic obrazku, tak urcite nezvolim ani C/C++ ani Javu, ale nejaky normalni interpretovany jazyk (ale furt ne Javu, ikdyz to je taky vesmes interpretovany jazyk). Pouziji treba Perl a za hodku je to uz i zmenseny. V C++ by clovek byl akorat nekde u nacitani adresare a hledani, jak rozjet libku na zmensovani obrazku (pokud ji uz nasel) :D
Zase pokud se dela platebni system, ktery ma zvladat desitky tisic transakci za sekundu, a nema to zabrat celou serverovou farmu a terabyty ramky, tak proste nemuzes pouzit Javu. Pripadne kdyz ti hodne vadi, ze ty garbage collectory obcas bud neuklizej poradne, nebo musi zablokovat cely proces, nez to procisti...
Nahlásit jako SPAM
IP: 94.113.99.–
Program vždy dělá to co naprogramujete, ne to co chcete...
#8vamvam
Podle mě bys dříve začít C#, pokud si vybíráš z těchto tří. Poučil se od Javy a má lepší syntaktické zkratky, navíc má bohatou základní knihovnu. Java je taková zaostalejší, protože dlouho trvá, než se do ní něco přidá. A C++ mi přijde hodně low level a trochu těžší na učení.
Záleží, co bys chtěl v budoucnu dělat a k čemu to chceš používat. A umět jich více se Ti může hodit, žádný jazyk se není nejlepší na všechno. Každý má své klady a zápory.
#10vamvam
bez toho abych se díval ne nějaké statistiky, tak často vídám v inzerci C# .NET, MySQL, SQL, ASP.NET, PHP, Java (hlavně pro mobilní aplikace) a i dost C/C++. Ale na druhou stranu, myslím že např. C# programátorů bude přibývat jako hub po dešti, takže C++ programátoři se možná stanou více ceněnými.
#11BDS
Na druhou stranu je v C++ dost velký odpad programátorů, protože zvládnutí C++ je docela obtížné. Je pak trapné C++ třeba po roce opustit kvůli tomu, že "na to nemám".
Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
(C# především proto, že většinou projekty co dělám potřebuji udělat rychle a na poctivé WinApi nemám čas a předražený C++ Builder kupovat nemíním. Většinou dělám formulářové nebo konzolové aplikace pro výpočty, práce se soubory, manažery, zpracování obrázků apd.)
#15vamvam
v podstatě dá, ale na některé věci, například náročný 3D software, ovladače, přímý přístup k hardwaru, nějaký nástroj pro komunikaci v síti (velké množství souborů a dat), antiviry, zpracování videa, nebo i audia (nemyslím přehrávání, ale editaci a efekty) je lépe zvolit C++ nebo jiný jazyk. V podstatě už to zmínil KIIV. (Ale vlastně mě nenapadá nic co by v C# napsat nešlo vůbec.) Navíc pokud je potřeba v C# můžeš importovat funkce z DLL, kterou napíšeš v C++.
Ale když se chceš jazyk učit sám, C# má jednu velkou výhodu (oproti asi všem jazykům), na internetu se dá najít moc materiálu.
A má taky (pro někoho) nevýhodu: sice se dá jaksi používat v linuxu, ale primárně je určen pro Windows.
- je zdarma i pro komerční použití (dokud na tom nevyděláš 1 000 000 dolarů) - pokud máš málo místa na disku, tak ti bohatě bude stačit i verze Express)
#17BDS
Ve stejném IDE můžeš dělat i s C++ za stejných podmínek, takže kupovat C++ Builder nemusíš. Navíc, C++ Builder je tak trošku popelkou, jeho aktualizace na nové normy probíhají velice pomalu. K tomu velký bordel v dokumentaci. To byly důvody, proč jsem ho před rokem opustil.
Jak už tu bylo psáno udělej si 3 uplně stejné aplikace ve všech jazycích a uvidíš co ti sedne líp ... Pokud bys chtěl aplikace hlavně na rychlost tak na javu zapomen, při větších projektech je to dost výrazné zpomalení ...
Pokud se rozhoduješ podle toho aby to bylo víc userfriendly tak Java je zase na to výborná.
Podle mě por začátečníka je výborný C#, je lehce naučitelná a docela rychlá. A hlavně přecházet mezi Javou a C# je pak docela lehký.... Já se v Javě orientoval do týdne když jsem se jí učil kvůli práci a to jsem přešel z C# ... Do C++ jsem ještě nezavítal víc jak pro konzolové aplikace takže nemůžu nějak extra soudit, ale určitě na rychlost vývoje aplikace mě vždy stačilo C# (a vše co jsem dělal v tom šlo napsat) popřípadě sem využil knihovny z C++...
A dodatek, dělal jsem totožnou aplikaci v C# (pro mě) a Javě (pro kámoše) ... Totožná aplikace mi v C# zabrala necelý 2 hodiny a v javě něco okolo 6 hodin. Takže za mě jednoznačně C# ... Ale pokud budeš chtít někdy dělat android aplikace tak se javě nevyhneš (a nebo jsem slyšel že existuje nějaký Xamarin který se píše C# a je to andorid vývoj)