.[ ČeskéHry.cz ].
Programovaci jazyk
Jdi na stránku Předchozí  1, 2, 3 ... , 9, 10, 11  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Fila



Založen: 31. 07. 2007
Příspěvky: 853

PříspěvekZaslal: 20. leden 2011, 23:10:27    Předmět: Odpovědět s citátem

Hm, vidim ze jsem byl ponekud nepochopen (u Augiho a OndraSeje me to ponekud prekvapuje, z cehoz usuzuji, ze jsem se mel vyjadrit ponekud obsahleji, nez sem jen prsknout ten odkaz).

Augi -- jasne ze je to vypocetne narocny problem a ne "realita vetsiny programatoru", ktera casto spociva v psani klikacich aplikaci, kde stejne nejvic cekas na uzivatele, vykresleni ikonky nebo odpoved databaze. Pokud ale chceme nejakym zpusobem srovnavat rychlost jazyku a programovacich stylu, je jasne, ze se musime zamerit na vypocetne narocne problemy a ne na neco, kde nam staci prakticky cokoliv... No a vzhledem k tomu, ze se ve hrach maji tendenci vypocetne narocne problemy objevovat, tak jsem to sem hodil. Nemam samozrejme jakoukoliv ambici tim argumentovat proti pouziti Flashe na 2D klikacku bez nejakeho vypocetne narocneho algoritmu.

OndraSej -- ta prezentace IMO nema za cil ukazovat, ze nejde neco implementovat v Jave rychle, ale ze pokud to implementujes tak jak to implementuje bezny Franta programator, co se rozhodne pouzit objekty, tak to podle toho taky bude behat.
Nevidim co se ti nezda na metodice mereni. Toto neni paper, ale prezentace, tam se s tim asi nebude treba moc stvat (ja taky ve slidech nevysvetluju, jak presne jsem zmeril, ze se me nejakou upravou zrychli implementace, kdyz je ucelem studentum ukazovat co ji zrychli a proc).
S tim tretim bodem se da souhlasit pouze castecne -- ano, ty optimalizace graduji a v urcitem bode prepnou do jineho jazyka, a ten bod by se dal posunout smerem dopredu i dozadu. Na druhou stranu nektere optimalizace jsou natolik "drobne", ze je musis provest az v momente, kdy mas dost rychly kod, ktery nebrzdi jine veci. Napr. vektorizace dost casto pomuze az v dobe, kdy zlepsis vyuziti cache a nebrzdi te pamet, jinak je ti k nicemu. No a stejne tak to muze byt s prechodem od Java k C, netvrdim ze musel nastat primo v tom momente kde v te prezentaci, ale v urcitem momente by se uz jemnejsi optimalizace nemusely vubec projevit pres jine brzdy.

Kazdopadne jeste jednou zduraznuji, ze ten priklad nemel slouzit k obecnemu porovnani C vs. Java, natoz pak k obecnemu argumentu co pouzivat na hry (tu jde opravdu primarne o to, co vsechno do hry musime naprogramovat). Ja jsem jej postoval, protoze obsahuje porovnani opravdu efektivni implementace s prebujelou super-obecnou implementaci ve vyssim jazyku. Jeho hlavni teziste je ale IMO v tom ze ukazuje i serioznejsi optimalizace kodu (tzn. az tech nekolik poslednich kroku, kde se ukazuji zakonitosti chovani algoritmu na modernich CPU a neodstranuje se programatorsky balast).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 20. leden 2011, 23:54:28    Předmět: Odpovědět s citátem

V zásadě souhlasím, ale ...
Fila napsal:
Pokud ale chceme nejakym zpusobem srovnavat rychlost jazyku a programovacich stylu, je jasne, ze se musime zamerit na vypocetne narocne problemy a ne na neco, kde nam staci prakticky cokoliv...
Já to tak jasně nevidím - programovací jazyky a styly jde srovnávat i dle jiných kritérií, např. produktivity pro daný problém.
Ale přijde mi jako nesmysl je srovnávat - každý se hodí na něco jiného. Je lepší Ferrari nebo Iveco? Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 20. leden 2011, 23:55:48    Předmět: Odpovědět s citátem

Fila> pokud jde o ten zacatek, tak opravdu ne, tohle neni kod v kategorii "bezny franta programator co ma rad objekty", ale v kategorii "pisu co mozna nejblbejsi kod". Pokud chtel autor rict, ze kdyz napise spatny kod, tak funguje spatne, pak OK (ale to neni nic prekvapiveho, takze si mohl usetrit cas). Pokud ale chce ukazat, ze nektere koncepty "nefunguji", resp. ze se pro danou ulohu nehodi, tak je mel pouzit nejlepsim moznym zpusobem a srovnavat to s nejlepsim moznym resenim.
No napada me jeste jedno vysvetleni - autor na prvnich cca 50 slidech moc netusi o cem mluvi, takze zamenuje pojmy jako "vyhozeni" immutability s "vyhozenim tuny naprosto zbytecnych a ucelove pridanych alokaci"... Ale popravde receno, i tak si myslim, ze ten prvni priklad je totalne mimo realitu.

K metodice reseni - u Javy je obvykle dat JITu cas na zahrati (resp. srovnat dva casy - cas hned po startu a cas po zahrati). Druha vec je, ze jestli meril ty casy jenom z jednoho behu, tak muzou byt kvuli nepresnostem mereni dost mimo.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Fila



Založen: 31. 07. 2007
Příspěvky: 853

PříspěvekZaslal: 21. leden 2011, 00:43:33    Předmět: Odpovědět s citátem

Augi napsal:
V zásadě souhlasím, ale ...
Fila napsal:
Pokud ale chceme nejakym zpusobem srovnavat rychlost jazyku a programovacich stylu, je jasne, ze se musime zamerit na vypocetne narocne problemy a ne na neco, kde nam staci prakticky cokoliv...
Já to tak jasně nevidím - programovací jazyky a styly jde srovnávat i dle jiných kritérií, např. produktivity pro daný problém.
Ale přijde mi jako nesmysl je srovnávat - každý se hodí na něco jiného. Je lepší Ferrari nebo Iveco? Wink

Vsak ja psal srovnavat rychlost (a myslel jsem rychlost provadeni kodu, ne jeho zapisu Smile. Srovnavat Ferrari a Iveco jde, specifikujes-li aplikaci -- v rychlosti prepravy jednoho pasazera to vyhraje Ferrari, v rychlosti/moznosti prepravy vetsiho nakladu Iveco, no a obecne je srovnavat nejde stejne jako ty jazyky...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
aimia



Založen: 20. 12. 2009
Příspěvky: 55

PříspěvekZaslal: 21. leden 2011, 19:28:59    Předmět: Odpovědět s citátem

Předně bych se rád uvedl na pravou míru můj první komentář. Jak uvedl Flash(mimochodem dík za obhajobu Smile ), reagoval jsem na původní autorovu otázku. Odpovídal jsem v práci, v rychlosti přečetl první stránku a nevšiml si že vlákno pokračuje dál. Proto má odpověd vyzněla trochu mimo mísu.

EOSIE
AS3, Python apod. jsem zmiňoval hlavně pro rychlost a jednoduchost psaní. Samozřejmě že pokud bych chtěl udělat super 3D akčí řežbu, použiju co nejrychlejší jazyk, takže např. C++. Ale pokud budu dělat hru logickou, použiju to nejrychlejší řešení - třeba Python. Myslím že začátečník by neměl být ze startu zaplaven spousty informacemi. Takže takový start s PyGame je dle mě optimální. Navíc si člověk hned vyzkouší, co vše to obnáší, jestli je to to co chce dělat apod. Stahováním různých knihoven, tvořením vlastních aby se mi psalo co nejjednodušeji mě jen zdrží od vlastní tvorby.

To že je C++ archaický je můj osobní názor. Když si to přeberu, výkon počítačů roste, jsou tlaky na rychlost vývoje(čím rychleji vyvinu, tím míň zaplatím vývojářům, tím větší šance na návratnost a výdělek...), tudíž roste používání skriptovacích jazyků (nebo když to trošku přeženu, i použití různých konfiguračních xml je jakési skriptování, a ty se teď používají snad všude), začínají se vyvíjet grafické tooly tvořící programy "bez programování"... Netvrdím že Java je nejlepší na světě, jen se mi líbí že píšu míň kódu(např. na C++ mě strašně sere, psát nějaké stupidní .h soubory), který je navíc oproti C++ bezpečnější apod.

Stálé používání C++ ve firmách mě taky zajímá. Mě osobně opravdu přijde programovat v C++ jako čirý masochismus. Tak jsem se na to ptal na jednom pohovoru 0a dostal jsem pěknou odpověď - že používají C++, protože v něm mají vyvinutý systém, který je už obrovský, starý 20 let, a přepsat jej by stálo desítky miliónů Wink

PS: Mimochodem jsem moc nepochopil jak píšeš že v C je OOP. Já myslel že C je neobjektový jazyk, že OOP přišlo až s C++. Jestli to tak není, rád se nechám poučit.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1827

PříspěvekZaslal: 21. leden 2011, 19:44:41    Předmět: Odpovědět s citátem

No LOL. Tak ja napriklad pracujem ako C++/DX/HLSL programator a je absolutne nepredstavitelne pouzivat cokolvek ine ako C++. To by bol cisty masochizmus Smile

EDIT: Tento prispevok mal asi 20 riadkov, ale kto by to cital Very Happy Tak som to po sebe zmazal a tu je vycuc:
Vykonne kompy -> jebme na to a pisme (len) nevykonny kod = PURE EVIL.
C++ ide aj bez ".h" Razz
PyGame na zaciatok - ma to vyhody aj velmi nebezpecne nevyhody.
OOP nemusi mat nic spolocne s akymkolvek konkretnym jazykom. Nemyl si pojmy.

Jo, btw, skoro denne tam robim aj s Pythonom a tym druhym jazykom v Autodesk Maya. A je mi z nich zle, ako som to tu uz par krat asi napisal Very Happy
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 21. leden 2011, 19:51:19    Předmět: Odpovědět s citátem

Ak spracovavas / vizualizujes kvanta dat - myslim terabajty / petabajty, tak zabudni na Javu.

Potrebujes C++ a server farmu s OpenCL a zopar Tesiel k tomu.

Ja som nedavno spravil kvantum optimalizacii do C++ kodu a usetrilo to kopec prachov, ktore by sa museli vrazit do nakupu / spravy vykonnejsich servrov.

A to ani ten povodny kod nemusi byt nejak extra spraseny, ale robit v C++ optimalizacie tiez nie je bezna zalezitost a de facto nic z toho by sa nedalo spravit v Jave (napr. cache-friendly array traversal), ktora navyse na rozdiel od C++ kontroluje kazdy jeden pristup do pamate.

Stale budu aplikacie ktore budu potrebovat vystavit vykon na doraz ciste z toho najzakladnejsieho principu - prachy - je proste lacnejsie spravit SW, ako HW.

Mozno to netvori 50% objemu prace v C++ na celom svete, ale to ma pravdupovediac ani nezaujima...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 21. leden 2011, 20:44:30    Předmět: Odpovědět s citátem

Já si C v OOP nevymyslel (i když je fakt, že jsem nad tím uvažoval už před X lety na tomto fóru). Prostě jsem přišel do existujího projektu a všichni to tam používali. Měli jasně daná pravidla, jak se objekty v tom projektu mají dělat. Tady je popsáno, jak to děláme:

http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/README.portability

Pozn.: Linux kernel je taky z větší části objektový. Na FI máme kernel development kurz a tam jsme třeba udělali virtuální network driver, co pravidelně posílal odpověď na ICMP echo. To celé jsme napsali za chvilku s méně jak 100 řádky kódu, kde od IP vrstvy nahoru všechno fungovalo samo (tzn. byl to fakt funkční network driver). Takže i tento typ projektu se dá dělat rychle a jednoduše. To jen tak pro příklad.


Hodně lidí taky tvrdí, že v jednom jazyku se píše líp než v druhém nebo že "jeden jazyk je lepší jak druhý". To jsou všechno jen osobní preference, protože, přiznejme si to, v jiném jazyku buď neumíte, nebo umíte, ale velkej projekt byste v tom stejně napsat nedokázali, takže vlastně neumíte. Cool Podle mě na gramatice a sémantice jazyka zas tak moc nezáleží, pokud ten jazyk používá zaběhnuté postupy (tzn. není to nějaký psycho jazyk).

Ve skutečnosti závisí na těchto věcech:
- Jestli je jazyk imperativní (případně jiný...).
- Jestli má garbage collector.
- Jak velké a propracované má knihovny v základním balíku (to má největší vliv na použitelnost jazyka).
- Jak rychlý je kód za běhu, případně na jakých zařízeních ten kód běží.

Teď si představte, že máte C#, kde není žádný .NET Framework, prostě máte jen ten jazyk a k němu pár knihoven, co jste si někde stáhli na netu. Psali byste v něm? Třeba jo, ale 99% firem by od něj uteklo. Bez ohledu na to, jak úžasný ten jazyk je. A to je právě problém jazyků jako C, C++, ale třeba taky Haskell a mnoho dalších. Běžný business software se v tom přestává dělat, protože tam nejsou zaběhnuté postupy vývoje a unifikovaný framework, každý si to dělá podle sebe a většinou sám.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Fila



Založen: 31. 07. 2007
Příspěvky: 853

PříspěvekZaslal: 21. leden 2011, 21:31:55    Předmět: Odpovědět s citátem

aimia -- k tomu ze je jednodussi zacit napr. s Flashem -- ja uz to tu zminoval vickrat, ano, pokud chces delat primarne hru, dle meho nazoru ne, pokud chces byt primarne programator. Abych to vysvetlil -- u me i u okoli dost jasne vidim, ze pokud se naucis nizkourovnovy jazyk, nebrani ti to nijak v uceni-se vysokourovnoveho (proste jen pises v necem "komfortnejsim"), zatimco kdyz se naucis ten vysokourovnovy, je strasne tezke naucit se psat v nizkourovnovem a nebyt v tom totalni prase, protoze uz si prave zvykly nepremyslet nad nekterymi detaily.
A k tomu o neustale rostouci rychlosti pocitacu -- zase zalezi na aplikaci, kdyz mas jednoduchou hru, ktera potrebuje 10 % vykonu dnesniho stroje, nemusi te moc zajimat, ze by mohla byt 10x uspornejsi. Ale kdyz se snazis udelat neco technicky na spici, tak nechces, aby tva hra mela na dnesnim HW stejne moznosti, jako mela poradne optimalizovana hra na HW starem 10 let... A to nemluvim o jinych odvetvich, kde je rychlost kodu vylozene veci penez (napr. servery online her nebo obecne HPC).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 22. leden 2011, 09:12:31    Předmět: Odpovědět s citátem

Eosie napsal:
přiznejme si to, v jiném jazyku buď neumíte, nebo umíte, ale velkej projekt byste v tom stejně napsat nedokázali, takže vlastně neumíte. Cool

To, že ty umíš jen jeden jazyk dobře, ještě neznamená, že nejsou lidé, kteří umí dobře víc jazyků současně, a mohou si z nich skutečně vybírat, a ne být jen nuceni okolnostmi jako ty Wink Takže takovéhle obecné soudy bych si fakt nechal od cesty
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 22. leden 2011, 09:30:51    Předmět: Odpovědět s citátem

Mem napsal:
Eosie napsal:
přiznejme si to, v jiném jazyku buď neumíte, nebo umíte, ale velkej projekt byste v tom stejně napsat nedokázali, takže vlastně neumíte. Cool

To, že ty umíš jen jeden jazyk dobře, ještě neznamená, že nejsou lidé, kteří umí dobře víc jazyků současně, a mohou si z nich skutečně vybírat, a ne být jen nuceni okolnostmi jako ty Wink Takže takovéhle obecné soudy bych si fakt nechal od cesty


Ty moc dobře víš, že těch jazyků umím dost. Pointa ale byla, že umět dobře jazyk taky znamená umět ho maximálně využít (tzn. mít i pořádnou dávku praxe), nikoliv jen znát syntaxi nebo dělat malinký programy. Pak se totiž obvykle zjistí, že člověk, který umí jen tyhle 2 věci, je absolutně nepoužitelnej ve větším projektu, takže neumí (vím, že přeháním, ale prostě to tak vidím).

Bohužel ani ty si nemůžeš jazyk moc vybírat a seš nucen okolnostmi. Jsou to ty věci, které jsem zmiňoval, kvůli kterým si vybíráš jazyky, tj. kvalita frameworku a dostupnost pomocných nástrojů, garbage collector, popř. rychlost kódu (no u tebe asi ne...).
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 22. leden 2011, 09:40:50    Předmět: Odpovědět s citátem

myslim ze to tu brzo locknu - protoze tenhle demagogickej pristup co tu prosazuji Fila a Eosie nikam nevede
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 22. leden 2011, 10:54:28    Předmět: Odpovědět s citátem

Čili uplatníš moc k vyjádření nesouhlasu s jejich názory? Jak ubohé Exclamation
PS: Doufám, že jsem tě nasral, neb to byl účel mého příspěvku. Už se těším na ban. Wink
PS2: Ale už mě fakt štve, že jakmile se rozjede jakákoli zajímavá diskuse, tak se hned hrozí lockem. Lock není nástroj pro fóra, která jsou téměř mrtvá. Tam je totiž může zabít úplně.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 23. leden 2011, 12:04:15    Předmět: Odpovědět s citátem

Eosie napsal:
Bohužel ani ty si nemůžeš jazyk moc vybírat a seš nucen okolnostmi. Jsou to ty věci, které jsem zmiňoval, kvůli kterým si vybíráš jazyky, tj. kvalita frameworku a dostupnost pomocných nástrojů, garbage collector, popř. rychlost kódu (no u tebe asi ne...).

No právěže ne, i v IS si vždycky vybíráme, v čem zrovna udělat klienty (na Win platformě ještě pořád Delphi, MFC, WinForms - tam je fakt celkem šumák, v čem se ty formuláře naklikají, a základní ORM uděláš v čemkoliv, a základní knihovny tě moc netankují), to samé pro webové věci (PHP vs. ASP.NET, i když tady už samozřejmě rozhoduje účel projektu víc). Ono kolikrát i ty věci v základních knihovnách (frameworku) jsou dotažené jen napůl (kryptografie, kódování, exporty, komponenty...) a člověk si to musí stejně upravit pro svůj projekt, aby to šlapalo, takže nějaký výchozí limit bych v tom taky neviděl.

Pro klienta z Kansasu jsme teď zvažovali pro jeho projekt širokou škálu možností (a všechny bych samozřejmě zastřešil, takže výběr tím fakt limitovaný není) - teď to má v Delphi 7, narážíme samozřejmě na problémy (unicode, styly z Vist/7, hires ikony apod.), nabízí se přejít na Delphi 2005+, nebo komplet přesat v .NET, nebo dokonce Flash (protože je tam dost custom painting a flash se už stejně používá pro embedované tutoriály), nebo přejít na webové řešení, mobilní webové klienty nebo porty pro Android a iOS (u toho už bych tedy musel znásilnit flashe a posilu Wink)

Prostě není jediné správné řešení ani pro konkrétní úkol, dá se pořád dobře vybírat z velké množiny na základě vlastních kritérií a není to vnuceno jen tím, co člověk zná, a co ty nástroje nabízí (protože prakticky každý už toho nabízí dost hodně na to, aby se to v praxi dalo použít). A výjimky jako psaní kernel driverů nebo high-performance computing pak jen potvrzují pravidlo Smile
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. leden 2011, 12:29:42    Předmět: Odpovědět s citátem

frca napsal:
Čili uplatníš moc k vyjádření nesouhlasu s jejich názory? Jak ubohé Exclamation
PS: Doufám, že jsem tě nasral, neb to byl účel mého příspěvku. Už se těším na ban. Wink
PS2: Ale už mě fakt štve, že jakmile se rozjede jakákoli zajímavá diskuse, tak se hned hrozí lockem. Lock není nástroj pro fóra, která jsou téměř mrtvá. Tam je totiž může zabít úplně.


WTF? - jaka zajimava diskuze? - tohle je cistej flamewar o tom ze fila a eosie umi C a je to nejlepsi jazyk na svete a vsichni ostatni nam polibte prdel
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3 ... , 9, 10, 11  Další
Strana 10 z 11

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna