Avatar
alexneti
Člen
Avatar
alexneti:

Ahoj, jaký by jste mi doporučili programovací jazyk, který bych se měl naučit? Třeba aby to bylo co nejvýhodnější najít si povolání?
Umím HTML/CSS, a mám základy ostatního Javascript,jQu­ery,PHP,C,Pyt­hon a Ruby... Jenže webové aplikace a stránky mě už moc nebaví, tak se chci podívat po něčem jiném.
Java v té dělat nechci a PHP mě taky moc nechytá, Ruby nebo Python, považuju za super, ale nabídek práce je bohužel hodně málo, tak to taky ne.
Uvažuji hodně o C#.NET a ASP.NET bohužel s tím ale nemám žádné zkušenosti. Ale vypadáto že s tímto se dá práce najít. Tady na ITnetwork, je dokonce ve fóru nejvíc příspěvků co se týče C#.NET a to si myslím o něčem svědčí.
Co mi poradíte ohledně .NET? A který jazyk si tak zvolit.
Díky :)

 
Odpovědět 28.1.2015 6:30
Avatar
Luboš Běhounek (Satik):

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 :)

Nahoru Odpovědět  +7 28.1.2015 7:27
:)
Avatar
hanpari
Redaktor
Avatar
Odpovídá na alexneti
hanpari:

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á.

 
Nahoru Odpovědět  -5 28.1.2015 15:39
Avatar
alexneti
Člen
Avatar
alexneti:

Jsem se ptal na jazyk k výkonu povolaní ne na nějáký, co nikdo nepoužívá.

 
Nahoru Odpovědět  +1 29.1.2015 6:09
Avatar
hanpari
Redaktor
Avatar
Odpovídá na alexneti
hanpari:

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í! :)

 
Nahoru Odpovědět  -1 29.1.2015 6:44
Avatar
Odpovídá na alexneti
Michal Žůrek (misaz):

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é.

Nahoru Odpovědět 29.1.2015 7:47
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na alexneti
Michal Haňáček:

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.

Nahoru Odpovědět  +3 29.1.2015 8:09
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
alexneti
Člen
Avatar
Odpovídá na Michal Haňáček
alexneti:

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.

 
Nahoru Odpovědět 29.1.2015 9:40
Avatar
sorg
Člen
Avatar
sorg:

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.

 
Nahoru Odpovědět  +4 30.1.2015 11:00
Avatar
hanpari
Redaktor
Avatar
Odpovídá na sorg
hanpari:

Konečně mne někdo podpořil. Už jsem se začínal cítit jako exot :)

 
Nahoru Odpovědět  ±0 30.1.2015 11:35
Avatar
alexneti
Člen
Avatar
Odpovídá na sorg
alexneti:

A o čem je to funkcionální programování? Šlo by to nějak ve zkratce vysvětlit?

 
Nahoru Odpovědět  +2 30.1.2015 18:23
Avatar
Kafac
Člen
Avatar
Odpovídá na alexneti
Kafac:

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 :D

Nahoru Odpovědět 30.1.2015 18:44
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
hanpari
Redaktor
Avatar
Odpovídá na alexneti
hanpari:

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.

 
Nahoru Odpovědět  ±0 30.1.2015 19:59
Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

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.. :D
to je zatím jen pro exoty a uplatní se tam možná pár nejlepších..

Nahoru Odpovědět  ±0 4.2.2015 12:41
Chyba je mezi klávesnicí a židlí.
Avatar
alexneti
Člen
Avatar
Odpovídá na David Novák
alexneti:

Diky za odpoved.

C++ o tom jsem moc neuvazoval, tobe prijde popularni? Co se v nem da delat?

 
Nahoru Odpovědět 4.2.2015 15:40
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na alexneti
David Novák:

:D
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..

Nahoru Odpovědět  +2 4.2.2015 15:46
Chyba je mezi klávesnicí a židlí.
Avatar
Luboš Běhounek (Satik):

Seriózní hry se dají bez problémů psát i v C# ;)

Editováno 4.2.2015 15:50
Nahoru Odpovědět  +2 4.2.2015 15:50
:)
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

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#

Nahoru Odpovědět  +1 4.2.2015 16:06
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na alexneti
Sedmá z devíti:

Je v něm většina velkých her.
Je velmi výkonné protože je to kompilovaný jazyk.

Editováno 4.2.2015 16:23
Nahoru Odpovědět 4.2.2015 16:21
JÁ JSEM polo kyborg
Avatar
Odpovídá na David Novák
Luboš Běhounek (Satik):
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.

Nahoru Odpovědět  +4 4.2.2015 16:29
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Sedmá z devíti:

ZVB mi nepřijde jako AAA hra..
A ani se k ní moc neblíží

Editováno 4.2.2015 16:35
Nahoru Odpovědět 4.2.2015 16:35
JÁ JSEM polo kyborg
Avatar
Odpovídá na Luboš Běhounek (Satik)
Luboš Běhounek (Satik):

Překlep, mělo tam být "co ti třeba v C++ zabere řádků deset".

Nahoru Odpovědět 4.2.2015 16:36
:)
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

Hmm... :D
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 :D
.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ě :D ) 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

Nahoru Odpovědět 4.2.2015 16:45
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na Sedmá z devíti
Luboš Běhounek (Satik):
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í.

Nahoru Odpovědět 4.2.2015 16:46
:)
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

možnost editovat přímo příspěvek nefunguje? (ptám se vážně :) )

Nahoru Odpovědět 4.2.2015 16:46
Chyba je mezi klávesnicí a židlí.
Avatar
BlugW
Redaktor
Avatar
BlugW:

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 :D

Nahoru Odpovědět 4.2.2015 16:58
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na David Novák
Luboš Běhounek (Satik):

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 :D

Z těch známějších her je v Unity napsané třeba Hearthstone od Blizzardu.

Nahoru Odpovědět 4.2.2015 17:00
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Sedmá z devíti:

Důkaz, že Heartstone je v Unity? :D

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ě :)

Editováno 4.2.2015 17:04
Nahoru Odpovědět  ±0 4.2.2015 17:03
JÁ JSEM polo kyborg
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

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? :D
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 :D

Nahoru Odpovědět 4.2.2015 17:06
Chyba je mezi klávesnicí a židlí.
Avatar
vodacek
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
vodacek:

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!

 
Nahoru Odpovědět 4.2.2015 17:11
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na vodacek
David Novák:

a nevíš, kolik cca čistých hodin? :)

Nahoru Odpovědět 4.2.2015 17:12
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na Sedmá z devíti
Luboš Běhounek (Satik):

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é :D

Editováno 4.2.2015 17:16
Nahoru Odpovědět  +1 4.2.2015 17:13
:)
Avatar
vodacek
Redaktor
Avatar
Odpovídá na David Novák
vodacek:

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

 
Nahoru Odpovědět 4.2.2015 17:19
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

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é ;)

Nahoru Odpovědět 4.2.2015 17:20
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na David Novák
Neaktivní uživatel:

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)

Nahoru Odpovědět  +2 4.2.2015 17:21
Neaktivní uživatelský účet
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na vodacek
David Novák:

no mě to zajímalo čistě ze zvědavosti.. ;)
jako jak to tak cca v praxi dlouho trvá..

Nahoru Odpovědět 4.2.2015 17:22
Chyba je mezi klávesnicí a židlí.
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Novák:

To bude asi tím, že tvůrce a spousta lidí tu má C# rádo.. :D
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.. :)

Nahoru Odpovědět 4.2.2015 17:25
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na Neaktivní uživatel
Sedmá z devíti:

Za chvíli ti to Čápka smaže tak pozor. Tady je kritika zakázána

Nahoru Odpovědět  ±0 4.2.2015 17:26
JÁ JSEM polo kyborg
Avatar
Nahoru Odpovědět  +2 4.2.2015 17:33
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět  ±0 4.2.2015 17:35
JÁ JSEM polo kyborg
Avatar
Odpovídá na Sedmá z devíti
Neaktivní uživatel:

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é).

Nahoru Odpovědět  +2 4.2.2015 17:44
Neaktivní uživatelský účet
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
BlugW:

Však java a C# se od sebe moc neliší :D

  • java má taky profesionální IDE, ale pokud někdo bude použivat pspad nebo notepad++ je to jeho věc. :)
Editováno 4.2.2015 17:51
Nahoru Odpovědět 4.2.2015 17:50
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Nahoru Odpovědět 4.2.2015 17:52
Neaktivní uživatelský účet
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
BlugW:
aj taká **JavaFX** ponúka slušnú základňu na vytvorenie si vlastného enginu a hry.
Editováno 4.2.2015 18:04
Nahoru Odpovědět 4.2.2015 18:03
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na Neaktivní uživatel
Luboš Běhounek (Satik):

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á :)

Nahoru Odpovědět  +2 4.2.2015 18:20
:)
Avatar
Odpovídá na BlugW
Neaktivní uživatel:

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.

Nahoru Odpovědět  +1 4.2.2015 18:23
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Luboš Běhounek (Satik):
Na tejto stránke mi príde C# a .NET neskutočne propagovaný, až sa mi niekedy zdá, že je to reklama.

Většina programátorů, co znám a umí Javu i C#, tak se jim líp dělá v C#, tak je prostě možná oblíbenější :)

Nahoru Odpovědět  +1 4.2.2015 18:48
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Neaktivní uživatel:

Ja nevravím, že C# je zlý, len mi príde pre začiatok nevhodný, ale to je môj názor, nemusíš s ním súhlasiť. Iste je to jazyk v ktorom ide robiť skoro všetko, programuje sa v ňom pohodlnejšie ako v Jave, je o dosť modernejší(linq, async, await, struct, properties, EF,...). Mne osobne najviac sedí Java, pretože ma núti viac rozmýšľať nad tým čo píšem a ako to píšem, ale je to je čisto individuálne.

Nahoru Odpovědět 4.2.2015 19:18
Neaktivní uživatelský účet
Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

možná jsem stará škola, ale pro začátečníky C nebo Pascal.. ;)
takhle tu máme tunu "programátorů", co si přečetli tutoriál, nahážou za sebe pár funkcí v C#, PHP apod a mají hotový program.. ale většinou jim chybí základy, nemyslí jako programátoři a jsou pak v reálu na cokoliv složitějšího nebo kreativního nepoužitelní..
C# je moc jednoduchý a příjemný na používání (to zní vtipně :D ) pro začátečníky.. na všechno jsou funkce.. paměť to hlídá za tebe.. a hlavně je tam fakt hodně funkcí a postupů.. zkus se jako začátečník prolouskat dokumentací..
kdežto klasické C je malé, jednoduché a v porovnání s C# toho moc neumí.. ideální na naučení se myslet jako programátor.. když si musíš napsat na pokročilejší věci svoje funkce, donutí tě to přemýšlet jak to udělat... a jak to udělat dobře.. v těch vyšších jazycích prostě jen google a použiješ jednu fci, kterou ti ještě napoví IDE, takže si nepamatuješ syntax.. pak budeš chtít práci, tak ti dají fixu, postaví před tabuli a programuj.. a jsi v prdeli.
učením se vy vyšších jazycích a třeba rovnou v OOP znamená, že se ve většině případů zanedbají základy.. :/
takže pokud někdo chce IT brát vážně, ať začne ve svém zájmu s C.. a ideálně ASM.. pochopení základů a jak PC vlastně interně funguje změní jeho styl myšlení a jedině tak se stane ajťákem :)

Nahoru Odpovědět  +2 4.2.2015 19:32
Chyba je mezi klávesnicí a židlí.
Avatar
Kafac
Člen
Avatar
Kafac:

Já doporučuji c#,dá se v tom napsat rozumná hra.A ohledně multiplatformos­ti,tak asi 90% lidí používá windows a teď s Microsoft Visual Studio 2015 můžeš psát aplikace pro všechno android x iOS,protože myslím bude podporovat xamarin (teda myslím).C# je třeba méně výkonný než c++,ale na hry je oproti javě lepší c#.Vem si třeba minecraft,díky javě katastrofa s výkonem.

Nahoru Odpovědět 4.2.2015 19:33
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Odpovídá na Kafac
Neaktivní uživatel:

A toto je to čo sa mi nepáči, pchať jeden jazyk do všetkého nasilu... áno MS používa 90% užívateľov, ale v reálnom svete neexistuje iba Windows, jazyky sa pri vytváraní programov často kombinujú, pretože každý je vhodný na iný účel... a podľa toho by sa mali jazyky používať, proste neobmedzovať sa iba na jeden jediný.. A výkon Javy v hrách je podobný tomu v C#, keď teda vieš trochu čo píšeš.

Editováno 4.2.2015 20:14
Nahoru Odpovědět  +1 4.2.2015 20:13
Neaktivní uživatelský účet
Avatar
hanpari
Redaktor
Avatar
Odpovídá na David Novák
hanpari:

S tím si dovolím nesouhlasit. Programovací jazyk je jenom nástroj, a C/C++ jsou neobyčejně nepohodlné nástroje.
Je sice pravda, že většina lidí si plete programování s kódováním, ale pro programování je nejdůležitější znalost algoritmů. A pro začátečníky ještě nenechat se odradit. Algoritmy si lze osvojit pohodlněji než v C téměř kdekoliv jinde a co se týče míry odrazení, to nebudu komentovat.

 
Nahoru Odpovědět  ±0 4.2.2015 20:20
Avatar
sahlepik
Člen
Avatar
sahlepik:

Vím, že programovací prostředi DELPHI už je asi dneska mimo mísu (i když stále existuje a vyvíjí se), ale pokud si vzpomínám, tak právě Object Pascal mi v začátcích připadal docela jednoduchý na pochopení a přitom zde šly tvořit velmi zajímavé konzolové i okenní aplikace. Nutno dodat, že DELPHI jsem použil naposledy v době, kdy bylo ve verzi 7 a to už je dávno (někde kolem roku 2000 až 2003 tuším).

 
Nahoru Odpovědět  +2 4.2.2015 20:21
Avatar
Odpovídá na sahlepik
Neaktivní uživatel:

Podobne jednoduchý je aj Python napríklad, a súhlasím Delphi(Pascal) je fajn na učenie základov (naučiť a osvojiť si syntax jazyka je otázka pár dní)

Nahoru Odpovědět 4.2.2015 20:25
Neaktivní uživatelský účet
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na sahlepik
David Novák:

taky jsem začínal v Delphi..
a ty nové verze jsou teda už o něčem jiném.. ;)
dokonce je to multiplatformní.. :D Mac, iOS, Android a Win.. od 2011.. dlouho před C# ;) :D
a taky konečně vychytali spoustu bugů.. a přidali nové featury.. když potřebuju rychle naklikat nějakou aplikaci pro sebe, tak rozhodně ji udělám v delphi.. jednoduché, rychlé.. ideální pro RAD ;)

Nahoru Odpovědět 4.2.2015 20:27
Chyba je mezi klávesnicí a židlí.
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na hanpari
David Novák:

právě otázka odrazení je vcelku klíčová.. a když máš stovky a tisíce fcí na vše.. kdo se v tom má vyznat? a vědět, čím začít a co na co je..?
čím jednodušší a primitivnější jazyk, tím líp.. rozptylovat se nějakým GUI je ze začátku zbytečné.. hezky konzole a jede se ;)

Nahoru Odpovědět  +1 4.2.2015 20:30
Chyba je mezi klávesnicí a židlí.
Avatar
Odpovídá na sahlepik
Luboš Běhounek (Satik):

Delphi bylo super na okenní aplikace, protože tam to GUI šlo jednoduše naklikat.

Nahoru Odpovědět  +2 4.2.2015 20:35
:)
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Novák:

jj.. a na učení je super klasický Pascal.. resp. v Delphi se můžeš dobře naučit OOP ;)

Nahoru Odpovědět 4.2.2015 20:36
Chyba je mezi klávesnicí a židlí.
Avatar
Kafac
Člen
Avatar
Odpovídá na Neaktivní uživatel
Kafac:

Taky nemám rád,když každý obhajuje svůj jazyk,ale c# je aspoň na hry lepší,než java.Tak je mi jasný,že třeba java bude mít na androidu převahu.Ale programátoři i ve visual studiu budou moc hned programovat i pro android bez nějakýho toho mono developer atd.Nechci se dohadovat je to můj názor + pár lidí,jestli máš jiný názor,tak ho respektuji.

Nahoru Odpovědět 4.2.2015 20:37
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Odpovídá na Kafac
Neaktivní uživatel:

Ja neobhajujem žiadny jazyk, použijem ten, ktorý sa na daný problém hodí najviac a aj ja rešpektujem tvoj názor.

Nahoru Odpovědět 4.2.2015 20:44
Neaktivní uživatelský účet
Avatar
sorg
Člen
Avatar
Odpovídá na BlugW
sorg:

to, že se JAVA a C# moc neliší(oba jsou c-like jazyky, ale tady podbnost končí), to je pravda, až na to, že JAVA je jazyk interpretovaný, kdežto C# je JIT, JAVa je pomalý moloch, C# he rychlostně srovnatelné s C++ (v MS poslední léta moc pracovali na performance .NET). V C# není problém si sám sahnout do paměti (unsafe code), JAVA nic takového neumožňuje.
mimochodem .NET se používá bez nejmenších problémů na real time zpracování technologických dat. Jediné omezení se ktwerým jsem se setkal je rychlost procesoru, ale to není záležitost .NET.

 
Nahoru Odpovědět 6.2.2015 13:43
Avatar
Odpovídá na sorg
Neaktivní uživatel:
že JAVA je jazyk interpretovaný

ten bol dobrý ;) celkovo tvoj komentár nemá ani hlavu ani pätu a je plný nezmyslov

Editováno 6.2.2015 13:47
Nahoru Odpovědět  +3 6.2.2015 13:45
Neaktivní uživatelský účet
Avatar
sorg
Člen
Avatar
Odpovídá na Neaktivní uživatel
sorg:

V čem se pletu? Konkrétně. Také obecné kecy cos mi tu napsal, můžou posloužit leda tvému pošramocenému sebevědomi. Fakta, co jsem napsal špatně

 
Nahoru Odpovědět 6.2.2015 14:37
Avatar
Odpovídá na sorg
Martin Vejvoda:

Java je stejně jako C# jazyk s virtuálním strojem
(viz http://www.itnetwork.cz/…et-framework)

Nahoru Odpovědět 6.2.2015 14:48
while (!asleep()) sheep++;
Avatar
sorg
Člen
Avatar
Odpovídá na Martin Vejvoda
sorg:

Při kompilaci progamu napsaného v C# se program přeloží do IL. Při spuštění aplikace se při prvním zavolání metofy v IL kód přeloží do strojového kódu. Následně při dalším volání metody se metoda už nepřekládá do strojového kódu, ale už se bere již jednou přeložený úsek kódu.
Tomuto se dá vyhnou , kdež se použije prográmek ngen, který z kompilované assembly v C# udělá přímo nativní exe, nebo dll optimallizované pro daný procesor. S použitím .NET native (novinka z minulého roku) se kód napsan v C# hned kompiluje do strojového kódu.
Zdroj:
http://www.amazon.com/…p/0735667454
http://www.amazon.com/…p/0072224177
https://msdn.microsoft.com/…tnative.aspx
http://blogs.msdn.com/…preview.aspx

 
Nahoru Odpovědět 6.2.2015 15:49
Avatar
Odpovídá na sorg
Neaktivní uživatel:

Takže pekne po poriadku, podobnosť Javy a C# nekončí o podobnej syntaxe, oba jazyky využívajú na svoj beh virtuálny stroj (JVM alebo CLR). Java(Scala, clojure) je kompilovaná do bytekódu (podobne ako Python/Lua napríklad) a ten je následnej interpretovaný JIT-om. Podobne je to aj u C#, kde je kód compilovaný najskôr do IL a ten je následne interpretovaný JIT-om. Java nie je pomalý moloch (prečo by bol potom taký pomalý nepoužiteľný moloch jeden z najpoužívanejších jazykov toľké roky?) To, že je v C# možnosť unsafe kódu je síce pekné, ale povedz mi jedno reálne využitie v praxi, lebo mne žiadne nenapadá. Mimochodom pri JVM máš možnosť si ho nakonfigurovať ako len chceš (pomer veľkosti edenu a old generation v heape napríklad) neviem či sú také možnosť aj pri CLR.

Nahoru Odpovědět 6.2.2015 17:55
Neaktivní uživatelský účet
Avatar
sorg
Člen
Avatar
Odpovídá na Neaktivní uživatel
sorg:

Napíšu jen krátce, potom se trošku rozepíšu...skáčou tu po mně děti.
Unsafe kód používám celkem často při psaní algoritmů pro image processing, kdy obrázek musí být vyhodnocen do 5ms.
Já jsem nikde nepsla, že .NET nevyužívá virtuální stroj. Nakonec visrtuální stroje se využívají od doby prvního BASICu.
ano kód Javy a C# je překládán napřed do IL a potom do strojového kódu. Rozdíl je v tom jak je zpracován bytecode a jak IKL, ale o tom píšu výše. Kód u IL je přeložen do strojového kódu překládán v runtime MAXIMÁLNĚ jednou. Při prvním přeloženo, se do paměti uloží strojový kód a k při dalším volání dané metody se už z IL do strojového kódu nepřekládá. Toto značně urychluje běh aplikací. U JAVy je kód interpretován průběžně pořád znovu a znovu, což je jak sám uznáš trošku zbytečná práce pořád dokola. Ale budiž, prvni se objevila JAVA, při konstrukci CLR se využily zkušenosti z JVM a vylepšilo se to, to je přirozený proces. Vždy se určitý technologický, nebo vědecký pokrok staví na úspěších, nebo neúspěších z minulosti. i Isaac Newton, který posunul matematiku, fyziku i celý pohled na svět řekl, že na to nepřišel sám, ale "stál na ramenou obrů".
Je samozřejmě možné, že se někdy popletu, nejsem vševědoucí. Ale psát, že je C# podbný Javě, protože je C-like a používá virtuální stroj není nesprávné, ale trošku nepřesné. C-like jazyků znám (hlavně podle jména) kolem 30, interpretovaných jazyků je mnohem více než 30.
CLR jde zkonfigurovat také velmi přesně, jak samotný virtuální stroj, tak zdrojový kód na úrovní vykonávaní jednotlivých řádků. Sám jsem parkrát psal standartní kód v C# a na pár řádků jsem použil unsafe kód kvůlí rychlosti. Tj. nadefinaval jsem si ukazatale a pracovl jsem přímoc v paměti jako v C++.

Co se týká performance .NET, v posledních letech v Microsoftu tvrdé pracují na rychlosti CLR a jde to znát. KDysi se možna dalo říct, že C# je kopie JAVA, ale dnes už to neplatí.

S Javou jako pomalou, má pár hodně negatívních zkušebistí pár zákazníku firmy pro kterou jsem dělam (vlastně i v pár předchozích firmách kde jsem dělal) a ti kvůlli mnoha důvodům, a jedním z těchto důvodů je i rychlost nechtějí Javu, ale C#. Navíc sám jsem programoval pár čistě serverových systému v .NET.

Javě podle mně škodí taky velké množství ne vždy zpětně kompatibilních aktualizací. Tenhle problém v .NET není. Napíšu něco v .NET 2.0, tak to jede i na stroji kde je jen .NET 4.5. (u Silverlightu to až tak neplatilo, ale ten dal stejně MS k ledu).

 
Nahoru Odpovědět 6.2.2015 18:26
Avatar
Odpovídá na sorg
Neaktivní uživatel:

Len do toho, keď ma presvedčíš, rád zmením svoj názor, zatiaľ vyzerá, že vieš o čom píšeš, táto problematika ma zaujíma, rád sa dozviem nové veci. Dovolím si poznámku, že v JVM existuje niečo ako HotSpot Compilation.

Nahoru Odpovědět 6.2.2015 18:41
Neaktivní uživatelský účet
Avatar
Odpovídá na sorg
Luboš Běhounek (Satik):

Java používá JIT stejně jako .NET, takže IL je před spuštěním zkompilován do nativního kódu (i když to nemusí platit na všech OS a HW, ale obvykle ano), takže je rychlost srovnatelná s .NET.

Unsafe se pro běžné programování nehodí, ale jak už tu bylo zmíněno, je super třeba pro urychlení práce s jednotlivými pixely nebo někdy pokud se používá nějaká nativní knihovna, ke které třeba nemáš zdrojáky a posílá ti pointery.

Nahoru Odpovědět 6.2.2015 19:06
:)
Avatar
David.Landa
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
David.Landa:

Jestli se nepletu C# kompiluje do nativního kódu hned, Java ne:

– bajtkód každé metody je tedy nejdříve relativně pomalu interpretován a teprve poté, pokud se daná metoda volá často nebo pokud se některá smyčka v metodě opakuje po zadanou mez, se metoda či jen její často opakovaná smyčka přeloží

http://www.root.cz/…nych-v-jave/

 
Nahoru Odpovědět 6.2.2015 19:42
Avatar
David.Landa
Člen
Avatar
Odpovídá na alexneti
David.Landa:

K výkonu povolání se nauč angličtinu, ale nikdo ti nezaručí, že si s ní vystačíš celý život. Na rovinu, vybírat si jazyk podle momentálního množství nabídek práce je trochu krátkozraké. F# může být stejně tak dobrý jako C#. Nevím co se ti na tomto názoru nelíbí.

Editováno 6.2.2015 19:47
 
Nahoru Odpovědět  ±0 6.2.2015 19:46
Avatar
David.Landa
Člen
Avatar
Odpovídá na Neaktivní uživatel
David.Landa:

To že je Java interpretovaný jazyk je vpodstatě pravda, vůbec to neodporuje tomu, že je i kompilovaný -- do bytecode a pak interpretovaný -- druhá věc je JIT -- pak už jde interpret stranou.

 
Nahoru Odpovědět 6.2.2015 19:54
Avatar
alexneti
Člen
Avatar
 
Nahoru Odpovědět  -1 6.2.2015 20:03
Avatar
paja
Člen
Avatar
paja:

No co se mne tyka tak jsme ve skole zacinali s C/C++ , je to sice tezke /alespon pro mne / ale pokud se naucis alespon zaklady, a napises v tom neco , tak Ti nebude delat problemy se naucit jiny jazyk.

Ja jsem potom presel na Javu ve ktery chvili/par let/ delal, me se na ni libi prenositelnost a univerzalnost.Je dost zadana...

Ted jsem trosku kvuli praci donuceny se naucit C# protoze se proste pouziva :-), takze tutorialy zde jsem velmi ocenil.

Tzn S Javou si vydelas na 100% a s C# docela taky. Takze nejlepe oboji.

 
Nahoru Odpovědět 7.2.2015 0:06
Avatar
coells
Redaktor
Avatar
Odpovídá na sorg
coells:
  • Java je pomalá, protože si to myslí jeden zákazník (aka mají aplikaci, která neškáluje, takže Java musí být pomalá)
  • C# je rychlý, protože můžeš psát unsafe kód

Ale to jsou přece tak hrozné bláboly... ke zbytku se snad ani nebudu vyjadřovat, snad jen dodám, že při přechodu na vyšší verzi .NET jsem vždy musel řešit zpětnou kompatibilitu, která není až tak samozřejmá, viz https://msdn.microsoft.com/….110%29.aspx

Údajná "pomalost" C# a Javy přece není ve způsobu překladu, interpretaci ani provádění kódu, může za to garbage collector. Pokud bys mohl použít reference counting místo GC, bude výkonnost nerozpoznatelná. Jak .NET, tak Java běží sice běží na stack-based virtual machines, jenže potenciální overhead, který vzniká, řeší MIMD architektura moderních procesorů.

Před chvilkou jsem si napsal program pro výpočet 109 prvočísel, protože tam nemá GC nic práci a lepší zvýhodnění pro C bych stěží hledal. Výsledky:
C (gcc -O0) - 11.8s
C (gcc -O3 -m64) - 6.1s
C (gcc -O3 -m32) - 8.4s
Java (-Xmx=1024m) - 6.5s

Než začneš zase plácat nesmysly, dobře se nad těmi výsledky zamysli, říkají toho opravdu hodně. Ještě lépe, zkus si udělat vlastní testy, napsat DSP aplikaci s vyřazeným GC je práce na pár minut.

Také mě živí tvorba back-end systémů. Dělal jsem si řadu testů a C# mi v posledním roce vyšel o 10-30% pomalejší (v testech zvýhodňujících C++), než MS/VC++, což je skvělý výsledek. Navíc je C# rychlejší než GCC v řádech desítek procent.

Dále, unsafe kód v C# - psal jsem řadu testů, když jsem potřeboval vlastní BLAS knihovny a unsafe kód je stejně rychlý jako safe kód. Performance gain se získává přes cache-locality a minimalizaci výpadků stránek v L2 a L3. Správně navržený algoritmus s ohledem na lokalitu dat poběží v safe kódu řádově rychleji, než plain unsafe kód. Z toho důvodu se DSP algoritmy zpravidla píšou v C/C++, jenže nikoliv proto, že by bylo C rychlejší, ale aby bylo možné optimalizovat instrukční sadu. Intel, AMD, Apple a další mají vlastní knihovny specializované často na jedinou verzi z celé řady vlastních procesorů. Ale to už se dostáváme jinam.

Samotnou kapitolou je definice rychlosti. Jedna věc je aplikace běžící na řádově jednotkách CPU, druhá věc je škálovatelnost s ohledem na HW, třetí pohled nabízí rostoucí složitost aplikace. Také v oblasti cloud-computingu se Java s přehledem drží na předních příčkách.

Špatně napsaná aplikace poběží stejně pomalu v C, Javě i C#. Pokud si někdo vyvozuje rychlost platformy na základě nekoretního chování aplikace, je to ukazatelem nedostatku informací a nekorektních inferencí, ale jako matematik bys měl vědět, že to má daleko do rigorózní studie.

Na tohle téma bych mohl mluvit ještě dlouho, ale větší smysl by mělo, kdyby sis nastudoval relevantní a spolehlivé informace, místo aby "jedna bába povídala".

 
Nahoru Odpovědět  +7 7.2.2015 1:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 79 zpráv z 79.