Diskuze: Jaký programovací jazyk by jste mi doporučili?

Člen

Zobrazeno 50 zpráv z 79.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Pak se nauč ten C#, nabídek práce v něm je dostatek a přejít na Javu /
C++ už pak případně není takový problém
F# (.NET případně s Mono)
Může to sice vypadat jako naprostý nesmysl, ale můj osobní dojem je, že to je jazyk, který má skutečnou budoucnost.
Čistě podle mne bude po lidech, co umí funkcionální programování, brzy obrovská sháňka, protože stávající programátoři mají spoustu "zlozvyků" z OOP, kterých se budou těžko zbavovat.
Jako alternativu případně Scalu.
Ale samozřejmě ani jedno není mainstreamová volba, alespoň ne dnes. Za deset let může být situace jiná.
Tak to promin, v tom případě je to jasná volba.
ABAB
PS: Jak to že F# nikdo nepoužívá? Znám alespoň dva lidi na světě, co
ho používají!
tak se nauč nějaký objektově orientovaný, třeba ten C#. Funkcionální je sice možná budoucnost, ale v současnosti vidím, že v tom každý dělá v podstatě jen takové pokusy na 5 řádcích. Těžko říct, jestli třeba v tom F# někdo udělal nějaký redakční systém nebo tak, ale spíš mi přijde, že se na to moc nehodí.
Pokud hledáš jazyk na hraní, tak se ho nauč. Pokud jazyk na programování něčeho užitečného, tak vezmi třeba ten C#, Javu, VB, python, nebo i PHP a podobné.
Je v podstatě úplně jedno v čem se "začneš" učit, pokud programovat umíš "přeučení se" na jiný jazyk je otázkou chvíle než si osvojíš syntax. Tak že klidně sáhni po jakémkoli jazyce a začni ... jestli u toho jazyka zůstaneš, či nikoli je věc druhá. Každopádně věci které se jednou naučíš si s sebou obvykle neseš i dál. Tady na síti jsou moc dobré tutoriály = ideální odrazový můstek.
A trochu mimo tvůj dotaz. Osobně si myslím, že je nesmysl učit se "něco" protože je po tom teď zrovna poptávka. Alespoň mě to přijde, že to není dostatečný motiv pro to aby jsi se opravdu něco naučil a vydržel u toho. Pokud sám od sebe nechceš, raději se mrkni po něčem co by tě opravdu bavilo ...
A jen tak mimochodem. Trochu si protiřečíš, v jedné větě píšeš o tom že tě web. aplikace nebaví a věnovat se tomu nechceš a o jednu větu dál píšeš že by jsi šel do ASP.NET.
To protiřečení je skutečně pravda. Šlo mi ale také o to, že bych se na ASP.NET taky podíval, pokud začnu s C#.NET, abych viděl co se s tím dá dělat, ale o .NET zatím nevím téměř nic.
C#, já osobně v něm vidím budoucnost to jak se .NET vyvíjí mě v tom
utvrzuje.
.NET je nově open source a multiplatformní (pro apple a Linux včetně
Androidu). Není to intrepretovaný jazyk, takže je daleko rychlejší než
Java, navíc v C# není problém si sám sáhnout do paměti když to
potřebuješ. Minulý rok Microsoft představil třeba .NET native, kdy se
program nekompiluje do IL, ale přímo do strojového kodu. viděl jsem nějaké
testy a sám jsem si je dělal, je C# stejně rychlý jako C++ (nějaké
přesuny dat, násobení rozsáhlých matic a nějaka grafika).
Co se týká funkcionálního programování v něm vidím budoucnost taky. V
.NEt jsou jeho náznaky už od .NET 3.0 kdy se objevil LINQ. Ale moje zkušenost
je, že když do kódu napíšu nějakou lambdu, nebo predikát tak na to hodně
lidí kouká hodně nevěřícně. Ale zase místo třeba 15 řádku kódu
stačí jeden krátky predikát a je to vyřešeno.:)
V novějším je toho ještě víc. Ale hlavní paradigma zůstává pořád OOP. Přes funksionální programování je tu F#. Výhkledově se na funkcionální programování určitě podívej, protože se začíná cpát všude.
Konečně mne někdo podpořil. Už jsem se začínal cítit jako exot
A o čem je to funkcionální programování? Šlo by to nějak ve zkratce vysvětlit?
Taky by mě to docela zajímalo,ale asi to bude něco anti OOP,protože
někdo psal něco o zlozvicích z OOP,tak nevím
Nemyslím, že to jde ve zkratce. Pokud máte opravdu zájem a umíte anglicky, přečtěte si tento vynikající úvod do FP:
http://fsharpforfunandprofit.com/…ionally.html
Pokud by měl někdo nějaké otázky, můžu se pokusit odpovědět, ale myslím, že jsou tady větší experti.
Pro programátory v C#, popřípadě v Javě můžu doporučit tuto sérii,
pokud je někdo zvědavý na ty zmíněné "zlozvyky"
http://fsharpforfunandprofit.com/…nreasonable/
Uvědomte si, že pokud vám doporučuji zajímat se o FP, nedělám to svévolně, ale proto, že mnohem vlivnější lidé než jsem já, se snaží prvky FP prosadit do imperativních OOP jazyků jako Java nebo C#. LINQ, lambda funkce, delegáti - to všechno je FP.
Pokud chceš vydělávat, tak je nejžádanější asi Java a C++
C# taky celkem.. ale už ne tolik..
Pak taky hodně databázové systémy a vývoj informačních systémů..
na nějaký F# kašli..
to je zatím jen pro exoty a uplatní se tam možná pár nejlepších..
Diky za odpoved.
C++ o tom jsem moc neuvazoval, tobe prijde popularni? Co se v nem da delat?
Skoro všechno..
Tak je na něj hodně nabídek.. A třeba na seriózní vývoj her se ani nic
moc jiného nepoužívá..
Je to v podstatě C doplněné o spoustu užitečných věcí jako oop a
výjimky...
Trochu složitější na naučení, ale rozhodně fajn jazyk..
Seriózní hry se dají bez problémů psát i v C#
No.. Právě ani moc ne..
Použití C# ti nepřinese mnoho výhod.. Ale naopak přinese spoustu nevýhod
nižší výkon kvůli způsobu překladu c# -> kompilace na mezijazyk ->
interpretace pro HW... přímá kompilace C++ je celkem významná výhoda a
při dobrém programování je hra pak podstatně efektivnější a
výkonnější
další nevýhoda je nutnost .NET frameworku, který zdaleka není všude a v
poslední verzi.. a z toho vyplívající win-only
MS sice nedávno zveřejnil zdrojáky, takže v následujících letech můžeme
čekat příchod i na mac a linux (kde už teda je neofic. framework - ale na to
se herní studio nemůže spoléhat) a možná i využití C# ve hrách.. ale
moc to nevidím.. navíc XNA - nástroje pro vývoj her pod C# už není dále
vyvíjeno.. neexistuje žádný logický důvod proč vyvíjet hru v C#
a pokud vím, tak žádná AAA hra není v C#
Je v něm většina velkých her.
Je velmi výkonné protože je to kompilovaný jazyk.
Použití C# ti nepřinese mnoho výhod.. Ale naopak přinese spoustu nevýhod ;)
Viz níže
nižší výkon kvůli způsobu překladu c# -> kompilace na mezijazyk -> interpretace pro HW... přímá kompilace C++ je celkem významná výhoda a při dobrém programování je hra pak podstatně efektivnější a výkonnější ;)
C# se na cílovém počítači taky nakonec kompiluje do nativního kódu a dokonce přímo pro daný procesor, takže může být rychlejší než obecně zkompilované C++, které předem neví, na čem poběží.
další nevýhoda je nutnost .NET frameworku, který zdaleka není všude a v poslední verzi.. a z toho vyplívající win-only
MS sice nedávno zveřejnil zdrojáky, takže v následujících letech můžeme čekat příchod i na mac a linux (kde už teda je neofic. framework - ale na to se herní studio nemůže spoléhat)
Nutnost .NET je obdobný problém, jako nutnost DirectX, na kterém dnes
většina her běží, takže to asi nebude tak velký problém
Navíc dneska už je v každém Windows počítači .NET 4.5 nebo vyšší.
a možná i využití C# ve hrách.. ale moc to nevidím.. navíc XNA - nástroje pro vývoj her pod C# už není dále vyvíjeno.. neexistuje žádný logický důvod proč vyvíjet hru v C# ;)
XNA už není podporované, ale není problém použít třeba SharpDX
apod.
Psaní kódu v C# je mnohem rychlejší, můžeš využívat věci jako LINQ (s
kterým na jeden řádek napíšeš věc, co ti třeba v C# zabere řádků
deset), nemusíš řešit hlavičkové soubory, máš to o něco jednodušší s
pamětí...
a pokud vím, tak žádná AAA hra není v C#
Magicka, Miner Wars, hry v Unity a určitě je toho víc, na tyhle jsem si
teď vzpomněl. Navíc seriózní hra nemusí bejt hardwarově náročná
Pro ilustraci můžeš třeba kouknout na naši C# hru tady: http://zvb.cz/den/ - mě to běhá přes 1000 fps, ale mít pořádné modely a textury a trochu ten engine ještě vytunit (i optimalizovat), tak se s kvalitou grafiky přiblížíme k běžným AAA hrám s rozumnýma fps.
ZVB mi nepřijde jako AAA hra..
A ani se k ní moc neblíží
Překlep, mělo tam být "co ti třeba v C++ zabere řádků deset".
Hmm...
Proti pohodlnosti C# nic neříkám.. Zběžně jsem se na to kdysi koukal a
časem na to asi přejdu.. vypadá to fakt pěkně
ta kompilace na cílovém stroji - možná jsem to špatně pochopil.. možná
to tak bylo v dřívějších verzích.. ale četl jsem, že na cílovém stroji
se ten mezikód interpretuje při běhu.. i proto to může mít takové
vychytávky jako garbage collection atd. ne?
Takže díky předkompilaci do toho mezijazyka je to výkonnější než třeba
Java.. ale pořád pomalejší než třeba C++, které zkompiluješ přímo pro
Intel a hotovo.. Cenou za vyšší výkon a toho, že jsi blíž k HW je pak
víc práce..
Ale možná mám špatné informace.. rád se poučím
.NET zdaleka není všude.. a rozhodně ne v poslední verzi.. To tak udělali
až ve win 8.. na win 7 jsem musel doinstalovávat ručně (a že jsem to dělal
hodněhrát.. v základu je tam jen 3.5 a neupdatovalo se to automaticky.. to
jsou ale nějaké ty roky.. takže možná to změnili a .NET se aktualizuje
automaticky i na sedmičkách
- každopádně pc s win 7 je většina..)
magicka je fajn.. ale je to tak na pomezí normální hry a indie hry.. Miner
wars vůbec neznám (a to hraju hodně ) a hry v Unity.. no.. mluvil
jsem o seriózních hrách
na tu hru se mrknu.. pro ilustraci.. kolik cca hodin vám to zabralo?
jinak seriózní hry == Elder Scrolls, Witcher, Battlefield, Dragon Age, Civka
apod
ZVB mi nepřijde jako AAA hra..
A ani se k ní moc neblíží
To je tam uvedeno jen pro ukázku, že 3D hra v C# dokáže běžet hodně rychle když ta grafika je jednodušší, tak stovky nebo i tisíce fps. Samozřejmě s detailnějšími modely / texturami / efekty, kdy by se ta grafika blížila AAA hrám by, ty fps klesly někam pod úroveň C++, protože C# pomalejší je, ale není to tak hrozné, jak si většina lidí myslí.
možnost editovat přímo příspěvek nefunguje? (ptám se vážně )
Ono až bude Win10 tak na něj během roku přejde i ta většina s Win7 jelikož bude zdarma + 13. ledna 2015 skončila technická podpora(netuším jestli úplná) Win7.
Takže .NET bude u všech na nejnovější verzi
C++ ti po kompilaci vyplivne jeden exáč, kde máš ty instrukce už dané a
nic s nima neuděláš. Musí to nějak rozumně univerzálně zoptimalizovat
jak pro Intel, tak pro AMD.
.NET tuhle kompilaci dělá až při spouštění, ale taky kompiluje přímo do
strojáku, nic se neinterpretuje, to by bylo hodně pomalé
Před 2 roky jsem pracoval ve firmě na .NET programu a napsali jsme si funkčnost, co nám posílala, jakou verzi .NETu mají nainstalovanou a minimum všude bylo 3.5 a na spoustě počítačů 4.5 před těmi dvěma lety.
Kolik hodin to vodacek zabralo netuším, je to jeho engine, já jen
dělal pár věcí do tý hry a občas mu do něčeho kecal
Z těch známějších her je v Unity napsané třeba Hearthstone od Blizzardu.
Důkaz, že Heartstone je v Unity?
To je tam uvedeno jen pro ukázku, že 3D hra v C# dokáže běžet hodně rychle když ta grafika je jednodušší, tak stovky nebo i tisíce fps.
To jde i v Pascalu nebo Javě
takže při prvním spuštění .NET programu se na tom počítači
zkompiluje? netrvalo by to u větších softů strašně dlouho? třeba
kompilace www prohlížeče trvá třeba hodinu - používá se to jako
testovací metodika pro CPU..
No.. ale pokud máš funkci v .NET programu, která ti pošle verzi .NET.. tak
je jasné, že všude bude, ne?
jinak by ten program přeci nešel spustit.. ze zkušenosti vím, že hodně
lidí to tam prostě nemá.. takže žádný .NET soft nepoužívají
Hearthstone je indie hra
já to nepíšu kontinuálně, jen když mám chuť a čas a když mě to zas
popadne, ale můžu říct, že v C++ bych to dělat nechtěl, starat se o
paměť, šablonovat jak o život, ukazatel na ukazatel na ukazatel fakt ne
ta hra vypadá podle mě dost dobře na to, že je vše děláno "po domácku", vše sme si napsali sami a určitě jde jít i dál s kvalitou (SSAO, Deferred rendering, a další současný vychytátory co jen napadnou...) ale taky s tím jak engine pracuje, hlavní je ale vykreslení kde lze stále vymyslet optimálnější způsoby (batching, míň alokací paměti = "new" do pryč...)
A souhlasím s kolegou, dobře se mě s ním pracovalo, musíme zas něco rozjet!
Třeba tady, asi v půlce:
http://www.gamasutra.com/…n_mobile.php
Ano, i v Javě nebo Psacalu by to dokázalo běžet rychle - Pascal je obdobně rychlý jako C++ a Java jako C#.
David Novák: ano. Kompilace v C# je rychlá, protože se tam nedělají orgie jako v C++ (hlavně headery) a máš už kód předzpracovaný. Více o pomalosti C++ třeba tu: http://stackoverflow.com/…take-so-long
Ten program běžel na .NETu 2. Ono se ti tuším .NET 3.5 (dneska možná
už i 4.5?) stáhne s automatickýma aktualizacema, ale na upirátěných Win ty
aktualizace někdy bývají vypnuté
to je snad jedno, hlavní je výsledek, nicméně sem to psal spolu s článkama co sou tady a pak už sám ale pár měsíců to bude + si něco musíš přečíst o tom, jak to celý funguje
Díky za objasnění
Jj, všiml jsem si, že se mi to teď samo instaluje.. ale win7 před SP1 to
nejspíš nedělaly.. protože jsem to musel dělat na každém PC ručně..
upirátěné neupirátěné
Na tejto stránke mi príde C# a .NET neskutočne propagovaný, až sa mi niekedy zdá, že je to reklama. Keď už sme pri hrách, tak aj taká JavaFX ponúka slušnú základňu na vytvorenie si vlastného enginu a hry. (Pulse engine, multimedia)
no mě to zajímalo čistě ze zvědavosti..
jako jak to tak cca v praxi dlouho trvá..
To bude asi tím, že tvůrce a spousta lidí tu má C# rádo..
A já souhlasím s tím, že je to fakt pěkný.. Javu teda osobně nemám
rád.. ale taky má své uplatnění - především v mobilních aplikacích.
tam je prakticky nenahraditelná
stejně jako C/C++ v kombinaci s ASM při vývoji OS... nebo programů, kde jde
hodně o efektivitu..
Za chvíli ti to Čápka smaže tak pozor. Tady je kritika zakázána
Ja mám rád slobodu, a môj názor na C# je taký, že pre začiatok to nie je vhodný jazyk, obsahuje veľké množstvo "cukru" a kombinuje veľké množstvo prístupov, čo je zbytočne mätúce (+ robustné profesionálne IDE Visual Studio je pre začiatočníkov tiež nevhodné).
Však java a C# se od sebe moc neliší
aj taká **JavaFX** ponúka slušnú základňu na vytvorenie si vlastného enginu a hry.
Ono naštěstí ten cukr v tom C# nemusíš používat a v IDE taky tu
spoustu věcí používat nemusíš, podle mě je C# vhodný bez problémů i
pro začátečníky - to se mi právě na C# líbí, že se hodí skoro na
všechno a zároveň je efektivní a příjemně se používá
To je len ukážka toho, že aj v tom "strašnom pomalom" jazyku sa dajú písať jednoduché hry. Pre začiatočníkov si myslím, že je vhodný jednoduchý tkinter v pythone, kde sa dá vytvoriť jednoduchá 2D hra ovládaná myšou aj klávesami bez extra znalosti a enginov.
Zobrazeno 50 zpráv z 79.