Osobně si myslím, že ani .NET ani Java se už moc dlouho na výsluní ohřívat nebudou. Obě jsou nepříliš podařené technologie, které jsou dobré akorát pro to, aby bylo proč získávat drahé diplomy (samozřejmě pouze od Sunu a Microsoftu). Podle mě budoucnost zůstává Céčku a C++ s doplněním od Pythonu (hlavně jako výukového a prototypovacího jazyka, místo dnes stále ještě používaných Pascalu a Basicu).
Nebo si myslíte, že je jiný důvod, proč jsou Windows a Solaris napsány v Céčku?
Vlákno názorů k článku
Red Hat nechce Mono v RHEL
matej (neregistrovaný)
23. 11. 2006 6:53
Re: Ani .NET ani Java
No je to presne naopak myslim, ze C++ nebo ?! C se budou pouzivat uz jen pro nejake low level aplikace apod. ale vetsina ostatnich veci bude naprogramovan v necem takovem .
Ma to nesporne vyhody o kterych vi kazdy kdo o nich chce vedet (multiplatformost, garbage collector atd...) .
My programuje na obouch platformach a mono je pro nas v podstate spasou a uplne se v tom rochnime .
Ma to nesporne vyhody o kterych vi kazdy kdo o nich chce vedet (multiplatformost, garbage collector atd...) .
My programuje na obouch platformach a mono je pro nas v podstate spasou a uplne se v tom rochnime .
glx (neregistrovaný)
23. 11. 2006 15:51
Re: Ani .NET ani Java
Hele mateji, vy v Microsoftu delate v Monu ? :-)
Nebo jsi jinej matej ?
Nebo jsi jinej matej ?
Qaxi (neregistrovaný)
23. 11. 2006 6:53
Re: Ani .NET ani Java
:-)
Ja bych to videl spis na kombinaci Java + (Python/Ruby)
Pokud chcete rozšiřitelnou/přenositelnou applikaci tak jedině Java (jo a ObjectiveC).
Proč jsou Win, Solaris, Linux psany v C ?
- musí tahat za nožičky švábům na MB ...
- a musí to dělat zatraceně efektivně
Ja bych to videl spis na kombinaci Java + (Python/Ruby)
Pokud chcete rozšiřitelnou/přenositelnou applikaci tak jedině Java (jo a ObjectiveC).
Proč jsou Win, Solaris, Linux psany v C ?
- musí tahat za nožičky švábům na MB ...
- a musí to dělat zatraceně efektivně
23. 11. 2006 7:50
Re: Ani .NET ani Java
Neco na tom bude :)
Podle mich zkusenosti a toho je jasnym favoritem Python. Napsal jsem uz par radek a patri jednoduse k spicce. Osobne neznam nic lepsiho (mozna se milim, nekteri, kteri maji na konte 100x vice aplikaci a upgradu jiste prominou), ale Python je podle me nejuniverzalnejsi programovaci jazyk (alespon pod Linuxem urcite).
Podle mich zkusenosti a toho je jasnym favoritem Python. Napsal jsem uz par radek a patri jednoduse k spicce. Osobne neznam nic lepsiho (mozna se milim, nekteri, kteri maji na konte 100x vice aplikaci a upgradu jiste prominou), ale Python je podle me nejuniverzalnejsi programovaci jazyk (alespon pod Linuxem urcite).
uživatel si přál zůstat v anonymitě
23. 11. 2006 9:10
Re: Ani .NET ani Java
pridavam sa k nazoru, pracujem v Pythone 3 roky, pouzivam ho v nasej firme na spravovanie buildov, a robim v tom klient-server aplikaciu s gui vo wxPythone. Nic lepsie som zatial nenasiel, jednoducho si doma na notebooku pod linuxom napisem kod, poslem do prace a pokracujem pod windows v pohode dalej. Dokonca aj ked v praci primarne pouzivam C# viem volat kod zo C# v pythone a naopak. Mozte si teoretozovat kolko chcete ale ja to mam v praxi vyskusane :-)
me (neregistrovaný)
23. 11. 2006 9:40
Re: Ani .NET ani Java
Python je asi fajn, ale s principu je to interpreter. V momente ze potrebujete aplikaci pro PDA zacinate mit problem a skoncite u C++ anebo Javy. Zalezi kam se pozene vyvoj, zda stolni PC/notebook bude stale nosnou platformou. Obecne, na PC udelate vse, ale pokud potrebujete neco specialnejsiho (vestavene systemy, prenosne pocitace, mobilni telefony) tak zjistite ze mate jen omezenou moznost volby co muzete pouzit.
Keny (neregistrovaný)
23. 11. 2006 9:47
Re: Ani .NET ani Java
Sice interpreter, ale něco podobného lze říci i o aplikacích v javě nebo .NET Ovšem ať tak nebo tak, asi není náhodou, že moje oblíbené (multiplatformní) aplikace,jsou postavené na pythonu a glade a jedou podstatně svižněji a s menším množstvím problémů než ty co používají výše zmíněné technologie.
martin (neregistrovaný)
23. 11. 2006 11:10
Re: Ani .NET ani Java
Jo, taky jsem zaregistroval, že Pythoní aplikace jedou tak nějak rychleji než ty v céčku, o Javě ani nemluvě. Btw. nevím jak .NET, ale Java je určitě interpretovaný jazyk - to k tomu příspěvku nad Vámi.
23. 11. 2006 11:22
Re: Ani .NET ani Java
Podle me je nekolik duvodu, proc pouzivat Python:
- ZMINOVANA RYCHLOST (VIZ SEZNAM.CZ - BLESKOVE ODPOVIDANI NA DOTAZY Z DB - SAMOZREJME HRAJE KLICOVOU ROLI DB SAMA)
- SPOLEHLIVOST (JESTE JSEM NEZAREGISTROVAL APLIKACI, KTERA BY PRI ODLADENI NEJAK ZLOBILA - NAROZDIL OD JAVY)
- INTERPRETER A VSECHNO JE POD GPL A TUDIS SE NIKDO NEMUSI BAT LICENCI (JAVA ZAPLAT PANBUH PO 10-TI LETECH TAKY, NO UVIDIME CO TO PRINESE)
- PRI NAROCNYCH APLIKACI (MYSLIM TIM VYHLEDAVACI A KATALOGIZACNI DB, SPOLEHLIVOST)
Je mozne ze jsem na neco zapomnel, kdyztak mne opravte.
- ZMINOVANA RYCHLOST (VIZ SEZNAM.CZ - BLESKOVE ODPOVIDANI NA DOTAZY Z DB - SAMOZREJME HRAJE KLICOVOU ROLI DB SAMA)
- SPOLEHLIVOST (JESTE JSEM NEZAREGISTROVAL APLIKACI, KTERA BY PRI ODLADENI NEJAK ZLOBILA - NAROZDIL OD JAVY)
- INTERPRETER A VSECHNO JE POD GPL A TUDIS SE NIKDO NEMUSI BAT LICENCI (JAVA ZAPLAT PANBUH PO 10-TI LETECH TAKY, NO UVIDIME CO TO PRINESE)
- PRI NAROCNYCH APLIKACI (MYSLIM TIM VYHLEDAVACI A KATALOGIZACNI DB, SPOLEHLIVOST)
Je mozne ze jsem na neco zapomnel, kdyztak mne opravte.
Ripper (neregistrovaný)
23. 11. 2006 12:13
Re: Ani .NET ani Java
skoda ze se ty kapitalky nedaji cist
martin (neregistrovaný)
23. 11. 2006 12:18
Re: Ani .NET ani Java
[rejp]Číst se dají, ale dost blbě, a navíc to nejsou kapitálky, ale velká písmena; kapitálky se čtou o něco lépe ;-) [/rejp]
Stefan (neregistrovaný)
23. 11. 2006 13:35
Re: Ani .NET ani Java
prosím o doplnění
- máte nějaká srovnání s něčím podobného ražení jako seznam ale v javě, ať si můžu udělat obrázek o rychlosti.
- nějaký příklad ? "zlobí" JAVA jakožto jazyk a runtime, nebo applikace napsaná člověkem který ji prostě napsal špatně ??? Např. znám spoustu aplikací napsaných v C++ pro linux a fungují perfektně a znám v tomto jazyku applikace pro Windows které stále padají. Také je to ale i naopak. Kdo za to může ?? Programovací jazyk nebo vývojář ??
- on se někdo bál licencí na javu ?? nic takového jsem nikde nezaznamenal
- poslední připomínku bych prosil přeložit do češtiny protože jí nechápu
- máte nějaká srovnání s něčím podobného ražení jako seznam ale v javě, ať si můžu udělat obrázek o rychlosti.
- nějaký příklad ? "zlobí" JAVA jakožto jazyk a runtime, nebo applikace napsaná člověkem který ji prostě napsal špatně ??? Např. znám spoustu aplikací napsaných v C++ pro linux a fungují perfektně a znám v tomto jazyku applikace pro Windows které stále padají. Také je to ale i naopak. Kdo za to může ?? Programovací jazyk nebo vývojář ??
- on se někdo bál licencí na javu ?? nic takového jsem nikde nezaznamenal
- poslední připomínku bych prosil přeložit do češtiny protože jí nechápu
neurol23 (neregistrovaný)
23. 11. 2006 16:15
Re: Ani .NET ani Java
python ma problem v tom, ze nedokaze bezet opravdu paralelne - i kdyz ma program v pythonu vice vlaken, tak vzdy bezi pouze jedno (i na vice procesorovych strojich a i v pripade, ze pouziva funce napsane v cecku). coz je v dobe core2duo atd. dost blby omezeni.
existuje sice stackless python, kterej tohle omezeni nema, ale vzhledem k tomu, ze u nej neexistuji ani balicky pro nejrozsirenejsi linuxovy distra, tak je jeho pouzitelnost (snad jen zatim) dost omezena
existuje sice stackless python, kterej tohle omezeni nema, ale vzhledem k tomu, ze u nej neexistuji ani balicky pro nejrozsirenejsi linuxovy distra, tak je jeho pouzitelnost (snad jen zatim) dost omezena
mys elf (neregistrovaný)
24. 11. 2006 20:46
Re: Ani .NET ani Java
Tohle není tak docela pravda. CPython má tzv. global interpreter lock (GIL) a ten rozhodně neblokuje funkce psané v C, aspoň teda do té doby, než vstoupí do interakce s interpreterem. Takže ano, GIL brzdí, ale pokud funkce v C většinu času běží samostatně, tak to nějak zvlášť nevadí. Další možnost je samozřejmě namístu threadů forkovat (samozřejmě to není možné vždy, ale často je to dobré řešení) a v tom případě GIL nevadí ani čistě pythonovským rutinám, protože mají celý interpreter pro sebe. O GIL se poměrně často a bouřlivě diskutuje, ale zatím se vývojáři CPythonu nemají k tomu, aby ho odstranili.
LK (neregistrovaný)
23. 11. 2006 18:29
Re: Ani .NET ani Java
Je mozne ze jsem na neco zapomnel, kdyztak mne opravte.
Ano, zapomněl jste si vypnout Caps Lock.
Ano, zapomněl jste si vypnout Caps Lock.
thingwath (neregistrovaný)
23. 11. 2006 21:54
Re: Ani .NET ani Java
Kolik svého času stráví program v Pythonu v built-in funkcích napsaných v céčku a kolik v opravdu pythoním kódu? Jaký je ten poměr u Javy? Zhruba.
(to není flame, ale skutečná otázka)
(to není flame, ale skutečná otázka)
grendel (neregistrovaný)
23. 11. 2006 23:51
Re: Ani .NET ani Java
Na to pochopitelně nelze odpovědět, protože to záleží čistě na aplikaci co dělá a jaké funkce používá.
thingwath (neregistrovaný)
24. 11. 2006 1:21
Re: Ani .NET ani Java
Ale tak, dá se udělat nějaký vzorek obdobných aplikací a podle toho to porovnat. Jde mi o to, nakolik je rychlost Pythonu dána tím, že samotného pythoního kódu mnoho není a okamžitě se jde do nativního céčkového kódu. Na to se dají udělat nějaká měření a odhady.
hx (neregistrovaný)
23. 11. 2006 13:53
Re: Ani .NET ani Java
Nesmysl, python je mnohem pomalejsi nez Java (o C ani nemluve...) Viz
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=java&lang2=python
Java ma velice propracovany JIT kompilator (preklada dynamicky kod do nativniho kodu a provadi ruzne runtime optimalizaci, takze to zrovna interpretovany jazyk neni - navic kdyz uz, tak se nemuze prinejhorsim interpretovat jenom bytecode), coz je neco, s cim se nemuze rovnat ani python, ani Mono (ovsem nativni C# implementace od MS s tim samozrejme srovnatelna je, tusim byla i o neco rychlejsi).
Navic skalovatelnost Javy je trochu nekde jinde, opravdu netusim, s cim by se v Pythonu dal nahradit treba takovy Sun Application Server a technologie jako EJB.
Ale nic proti pythonu, je to velice dobry skriptovaci jazyk, konec koncu ho obcas taky pouzivam :-) Ale neoznacil bych ho zrovna za konkurenta Javy, jeho pouziti je jinde a mohou velice dobre koexistovat.
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=java&lang2=python
Java ma velice propracovany JIT kompilator (preklada dynamicky kod do nativniho kodu a provadi ruzne runtime optimalizaci, takze to zrovna interpretovany jazyk neni - navic kdyz uz, tak se nemuze prinejhorsim interpretovat jenom bytecode), coz je neco, s cim se nemuze rovnat ani python, ani Mono (ovsem nativni C# implementace od MS s tim samozrejme srovnatelna je, tusim byla i o neco rychlejsi).
Navic skalovatelnost Javy je trochu nekde jinde, opravdu netusim, s cim by se v Pythonu dal nahradit treba takovy Sun Application Server a technologie jako EJB.
Ale nic proti pythonu, je to velice dobry skriptovaci jazyk, konec koncu ho obcas taky pouzivam :-) Ale neoznacil bych ho zrovna za konkurenta Javy, jeho pouziti je jinde a mohou velice dobre koexistovat.
grendel (neregistrovaný)
23. 11. 2006 23:48
Re: Ani .NET ani Java
Java pomaleji startuje, má větší paměťové nároky a pomalejší GUI. Ná výkonově náročné věci se v Pythonu používají knihovny napsané v C. Výsledkem je aplikace, která má svižnější odezvu než aplikace napsaná v javě, přestože JVM je rychlejší než interpret Pythonu, což jediné porovnává váš test. Proto je Python vhodnější na malé desktopové aplikace typu konfigurační nástroje nebo třeba skripty, než Java.
23. 11. 2006 18:05
Re: Ani .NET ani Java
Tak to je ovšem odvážné tvrzení. Nedovedu si představit, jak zprasené programy v C++ musíte mít na mysli, aby byly pomalejší než ty v Pythonu.
Nebude to třeba tím, že v Pythonu se píší hlavně jednodušší programy?
Nebude to třeba tím, že v Pythonu se píší hlavně jednodušší programy?
23. 11. 2006 13:00
Re: Ani .NET ani Java
http://www.strongtalk.org - stačí si na vhodný runtime počkat nebo k němu přispět. ;-)
Bilbo (neregistrovaný)
23. 11. 2006 13:48
Re: Ani .NET ani Java
Python? Dyt nema ani klasicky for cyklus!
Pokud chci neco jako
for(i=0;i<1000000000;i++) {
...
}
tak to musim opisovat pres while cyklus.
Pokud chci neco jako
for(i=0;i<1000000000;i++) {
...
}
tak to musim opisovat pres while cyklus.
23. 11. 2006 14:00
Re: Ani .NET ani Java
Neco jako:
for i in range(1000000000):
...
ale pak tam nejak nevidim to "while". Zamerne tam nepouzivam xrange, ono brzo i "range" zacne vracet iterator.
Bilbo (neregistrovaný)
23. 11. 2006 14:20
Re: Ani .NET ani Java
Jo, ale to behem toho naalokuje pole 1000000000 integeru a to skonci na nedostatku pameti (na vetsine dnesnich pocitacu)
Michal Vyskočil (neregistrovaný)
23. 11. 2006 14:41
Re: Ani .NET ani Java
A tu poznamku o xrange jsi prehledl schvalne? :-D I z tohoto duvodu obsahuje Python generatory.
thingwath (neregistrovaný)
23. 11. 2006 21:51
Re: Ani .NET ani Java
A céčko zase nemá normální for, jenom tu napodobeninu co označuješ za klasickou. I ta pitomá Java už to má.
uživatel si přál zůstat v anonymitě
23. 11. 2006 15:41
Re: Ani .NET ani Java
A zkousel jsi Ruby? Prijde mi jeste lepsi nez Python...ale kazdopadne oboji patri k naproste spicce :) J
Palo (neregistrovaný)
23. 11. 2006 20:10
Re: Ani .NET ani Java
Existuje najaky rebricek jazykov? Prosim poslite link kde je Ruby a Python na spicke. Som velmi zvedavy.
Michal Vyskočil (neregistrovaný)
23. 11. 2006 20:26
Re: Ani .NET ani Java
Zajimavy napad, ovsem domnivam se, ze takovy zebricek neni mozne udelat. min i proto, ze statici nebudou dobre hodnotit dynamicke jazyky a opacne. A koneckoncu jaky zebricek, vsechno je to jenom TS :-D
Jinak by tam pravdepodobne byl Lisp, Haskel, Ocaml, Smalltalk, Self a podobne vecicky
Jinak by tam pravdepodobne byl Lisp, Haskel, Ocaml, Smalltalk, Self a podobne vecicky
deda.jabko (neregistrovaný)
23. 11. 2006 23:34
Re: Ani .NET ani Java
nesouhlasim! vsechno je to jen lambda kalkul! ;-]
25. 11. 2006 18:42
Re: Ani .NET ani Java
Muj nazor na Python: Proc museli tak nadejny jazyk od zacatku zabyt tak pitomym napadem jako je 2D layout. Nesnasim, kdyz mi nekdo vnucuje odsazeni.
(A BTW, pokud chce nekdo porovnat rychlost pythonu a C, at porovna klasickou a C verzi portage toolu v Gentoo).
(A BTW, pokud chce nekdo porovnat rychlost pythonu a C, at porovna klasickou a C verzi portage toolu v Gentoo).
Petr Mach (neregistrovaný)
25. 11. 2006 23:31
Re: Ani .NET ani Java
Ono to ma sve vyhody a predevsim je to velmi logicke. Taky se mi to z pocatku nelibilo, protoze je to nezvykle, ale prisel jsem tomu na chut a ted to vnimam pozitivne.
uživatel si přál zůstat v anonymitě
23. 11. 2006 8:22
Re: Ani .NET ani Java
ano, podme sa vyjadrovat k veciam o ktorych prd vieme... to celu diskusiu iba skvalitni!
xSpiky (neregistrovaný)
23. 11. 2006 8:34
Re: Ani .NET ani Java
Zkousels nekdy napsat neco vetsiho, udrzovatelneho a bezpecneho v C++ nebo C?
Asi ne, protoze jinak bys takovou blbost nevypustil z prstu.
Vetsiho nemyslim 100 radek ale dejme tomu 10 000 radek (nebo 100 000)
(i kdyz tohle je velmi smesny argument, protoze 10 000 radek
v Delphi, Jave, C# je velmi slusny program, narozdil od 10 000
radek v C je par oken (napr. protoze 70% kodu je testovani volani misto pouziti vyjimek, atd.).
Priklad: proc jsou vsude exploidy na buffer overrun? Protoze C(+)!
V soucasnosti uznavam tyto jazyky pro APLIKACNI PROGRAMOVANI: C#, Object Pascal, Java, a asi i Python, Ruby.
Pro low level nebo specialni ulohy muze byt pouzito C
Mimochodem pletes si platformy (.NET) a jazyky (Java, C, C++).
Treba Microsoft ma IronPython (implementace Pythonu pod .NET) (http://www.ironpython.com/).
Nema se cenu rozcilovat, teoretiku je spousta.
Asi ne, protoze jinak bys takovou blbost nevypustil z prstu.
Vetsiho nemyslim 100 radek ale dejme tomu 10 000 radek (nebo 100 000)
(i kdyz tohle je velmi smesny argument, protoze 10 000 radek
v Delphi, Jave, C# je velmi slusny program, narozdil od 10 000
radek v C je par oken (napr. protoze 70% kodu je testovani volani misto pouziti vyjimek, atd.).
Priklad: proc jsou vsude exploidy na buffer overrun? Protoze C(+)!
V soucasnosti uznavam tyto jazyky pro APLIKACNI PROGRAMOVANI: C#, Object Pascal, Java, a asi i Python, Ruby.
Pro low level nebo specialni ulohy muze byt pouzito C
Mimochodem pletes si platformy (.NET) a jazyky (Java, C, C++).
Treba Microsoft ma IronPython (implementace Pythonu pod .NET) (http://www.ironpython.com/).
Nema se cenu rozcilovat, teoretiku je spousta.
hwsoft (neregistrovaný)
23. 11. 2006 9:28
Re: Ani .NET ani Java
Exploity nejsou protoze C, ale protoze programator udelal chybu. Jestli veris tomu, ze te .NET zachrani, tak se mylis.
me (neregistrovaný)
23. 11. 2006 9:44
Re: Ani .NET ani Java
V nekterych jazycih se ale podobne chyby delaji hure. Stejne tak problemy se spravou pameti, progaramator udela mene chyb, pokud nepotrebuje pouzivat pointry a nemusi se starat o spravu pameti. Ale kazdy luxus ma svou cenu... ;-)
msk (neregistrovaný)
23. 11. 2006 11:05
Re: Ani .NET ani Java
Programujem pod C++ roky a pointery skoro vobec nepouzivam. Nestaram sa ani nijak extra o spravu pamati. Pokial planujem nieco alokovat dynamicky, je jasne, ze si to v destruktore skontrolujem a pripadne dealokujem. Zacinam mat pocit, ako keby garbage collector sluzil primarne pre programatorov s kratkou pamatou, alebo co ...
me (neregistrovaný)
24. 11. 2006 11:00
Re: Ani .NET ani Java
Teorie je krasna. Ale proc je tolik programu v Linuxu (treba aplikace pro Gnome), ktere maji problemy s alokaci pameti (neuvolnena pamet). Anebo Firefox, nechte jej par dni bezet a budete hledat volnou pamet. Proc stale tolik aplikaci pada na poruseni ochrany pameti, kdyz je to tak snadne a primocare??
Pokud zvadnete ukazatele a alokaci pameti, pak uz vas muze zaskocit jedine zaludnosti asynchronniho programovani, synchronizace vlaken, sdileni zdroju.
Pokud zvadnete ukazatele a alokaci pameti, pak uz vas muze zaskocit jedine zaludnosti asynchronniho programovani, synchronizace vlaken, sdileni zdroju.
24. 11. 2006 16:07
Re: Ani .NET ani Java
To je jednoduchy. Prectete si na strankach mozilly tohle.
Mozilla je napsana v nejakem speudo jazyce, ktery sice pripomina C++, ale neni to C++. Duvodem je strach z chyb a z nekompatibilit v kompilatorech. U C++ se nabizi otazka proc vlastne porad pouzivame programovaci jazyk ke kteremu
ani po tolika letech neexistuje plnohodnotny a bezchybny kompilator?
Nehodlam resit jestli budoucnost patri Perlu, Pythonu nebo Ryby, jsem si ale jistej, ze budoucnost patri multivlaknovym aplikacim. Podivejte se jake problemy maji s multithreadingem PHP nebo Perl. Scriptovaci jazyky, ktere zavisi na knihovnach napsanych v Ccku budou mit problemy s multitreadingem vzdycky. Jave a .NET maji tu vyhodu, ze jejich knihovny jsou napsane v Jave nebo .NETu, je to mozna pomalejsi, ale urcite bezpecnejsi a lepe se v tom hledaji chyby.
Nehodlam resit jestli budoucnost patri Perlu, Pythonu nebo Ryby, jsem si ale jistej, ze budoucnost patri multivlaknovym aplikacim. Podivejte se jake problemy maji s multithreadingem PHP nebo Perl. Scriptovaci jazyky, ktere zavisi na knihovnach napsanych v Ccku budou mit problemy s multitreadingem vzdycky. Jave a .NET maji tu vyhodu, ze jejich knihovny jsou napsane v Jave nebo .NETu, je to mozna pomalejsi, ale urcite bezpecnejsi a lepe se v tom hledaji chyby.
__dark__ (neregistrovaný)
26. 11. 2006 20:04
Re: Ani .NET ani Java
To je absolutní nesmysl.
Ten článek je o tom jak psát kód pro mozillu/firefox tak, aby šel zkompilovat na všech podporovaných platformách. Je to C++, nic víc.
Ten článek je o tom jak psát kód pro mozillu/firefox tak, aby šel zkompilovat na všech podporovaných platformách. Je to C++, nic víc.
Karel (neregistrovaný)
23. 11. 2006 11:59
Re: Ani .NET ani Java
Letecký průmysl, armádní zařízení, chemické technologie, jaderná zařízení, lékařské přístroje, ... všude tam je drtivá většina havárií způsobená tím, že někdo udělal chybu. Investují se závratné částky do technologií a postupů, které minimalizují možnost lidské chyby.
Vy ale zřejmě patříte k lidem, kteří nevěřícně kroutí hlavou nad dělníkem co nosí helmu - vždyť by mu musel někdo něco hodit na hlavu a to je chyba lidí, stejně tak jako nad automobilovými crash testy - vždyť bouračka je výsledkem chyby člověka. Aneb pokud vás budu parafrázovat pak "jestli věříš tomu, že tě pak lépe stavěné auto zachrání, tak se mýlíš".
Každý střípek, který omezí možnost vzniku lidské chyby nebo alespoň její dopad je přínosem.
Vy ale zřejmě patříte k lidem, kteří nevěřícně kroutí hlavou nad dělníkem co nosí helmu - vždyť by mu musel někdo něco hodit na hlavu a to je chyba lidí, stejně tak jako nad automobilovými crash testy - vždyť bouračka je výsledkem chyby člověka. Aneb pokud vás budu parafrázovat pak "jestli věříš tomu, že tě pak lépe stavěné auto zachrání, tak se mýlíš".
Každý střípek, který omezí možnost vzniku lidské chyby nebo alespoň její dopad je přínosem.
martin (neregistrovaný)
23. 11. 2006 11:18
Re: Ani .NET ani Java
Ano .NET je platforma a přináší plus pouze do Windows. Pod ostatními operačními systémy máme kvalitnější platformy... A co se týče C# - jaké má přednosti před C++? Btw. kolik řádků má jádro linuxu? V čem je napsané? Je udržovatelné? Je bezpečné? V čem je napsána většina FOSS aplikací, běžících na linuxu/unixu/bsd? Jsou udržovatelné a bezpečné? Myslím, že si dokážete odpovědět sám. Sice se rozčilujete nad teoretizováním, ale sám v praxi vidíte pouze špičku ledovce!
uživatel si přál zůstat v anonymitě
23. 11. 2006 14:12
Re: Ani .NET ani Java
nikto netvrdi ze v c sa neda napisat nieco velke a udrziavatelne (bohuzial niektory ludia nevedia alebo nechcu citat), ale to, ze java je robustnejsia ako c je proste FAKT! uz len to ze napr. seg fault sa v nej ani len neda urobit o tom svedci
23. 11. 2006 18:08
Re: Ani .NET ani Java
S tím souhlasím. Ale Java mi ve srovnání s C++ připadá hodně omezená (hodně omezené možnosti "vyjadřování").
Abraxis (neregistrovaný)
23. 11. 2006 18:17
Re: Ani .NET ani Java
Coz je presne to, co je pro vyvoj podnikovych aplikaci super - nepotrebuji "rocket science", jedna se o naprosto nudne programovani, ale potrebuji stabilni a dobre udrzovatelny system, ktery naprogramuji prumerni programatori.
Michal Vyskočil (neregistrovaný)
23. 11. 2006 20:28
Re: Ani .NET ani Java
S cimz naprosto souhlasim, ale zkus to rict nejakemu Java rulez chlapikovi a se zlou se potazes, dyk je Java to neelepsi :-D
K2 (neregistrovaný)
24. 11. 2006 17:31
Re: Ani .NET ani Java
Java je krásný jazyk, ale mizerná platforma. Proto mám raději .NET, ve kterém se dá napsat více věcí. Například v Managed C++ lze kombinovat .NET a "klasické" C++. Pro běžné aplikace je ale lepší C#.
mm (neregistrovaný)
23. 11. 2006 13:39
Re: Ani .NET ani Java
argumenty nejsou az tak spatne, btw. ja "par" radku kodu v C napsal a rikam, ze kdyz clovek dodrzuje zasady, napise snadno udrzovatelnou a bezpecnou aplikaci... pouzivat C na psani okenni aplikace je BLBOST, prave kvuli tomu, ze vetsina kodu je jen obsluha oken, na druhou stranu, v prostredi salovych pocitacu, kde se pohybuji, si nedokazu predstavit napr. .net, vzhledem k povaze aplikaci bezicich na pozadi si vyhodnejsi jazyk nez C nedokazu predstavit
cxl (neregistrovaný)
24. 11. 2006 11:32
Re: Ani .NET ani Java
> Zkousels nekdy napsat neco vetsiho, udrzovatelneho a bezpecneho v C++ nebo C?
> Asi ne, protoze jinak bys takovou blbost nevypustil z prstu.
> Vetsiho nemyslim 100 radek ale dejme tomu 10 000 radek (nebo 100 000)
No ja pisu v U++ (C++ platforma) aplikace ktere maji kolem 210 000 radek (coz odpovida cca 500 000 radku v jave, viz. zde:
http://www.ultimatepp.org/www$uppweb$vsswing$en-us.html)
a nemenil bych. Koho zajima starat se o uvolnovani zdroju jako v Jave (ci C#)?
> Asi ne, protoze jinak bys takovou blbost nevypustil z prstu.
> Vetsiho nemyslim 100 radek ale dejme tomu 10 000 radek (nebo 100 000)
No ja pisu v U++ (C++ platforma) aplikace ktere maji kolem 210 000 radek (coz odpovida cca 500 000 radku v jave, viz. zde:
http://www.ultimatepp.org/www$uppweb$vsswing$en-us.html)
a nemenil bych. Koho zajima starat se o uvolnovani zdroju jako v Jave (ci C#)?
Sten (neregistrovaný)
26. 11. 2006 9:29
Re: Ani .NET ani Java
Zkoušel, jsem za to dobře placený, napsáno mám několik milionů řáděk, možná i desítky milionů.
Exploity na buffer overrun jsou ty samé exploity, jako jsou v Javě a Pythonu exploity na neošetřené vstupní hodnoty (případně na buffer overrun jejich interpretů). Žádný jazyk nedokáže zabránit chybám programátora.
Také to srovnání počtu řádek je dost nepřesné, až budeš používat toolkity (GTK, Qt, ICE, …), tak zjistíš, že potom v C++ napíšeš sto řádky to, co v Javě napíšeš na řádků tisíc (nehledě na to, že to bude mnohem rychlejší). Tím také padají argumenty mnohých, že Java a .NET jsou portabilnější.
Z toho také plyne to, že není pravda, že by Céčko nebo C++ byly těžko udržovatelné. Stačí psát dokumentaci. Ono je celkem jedno, jestli napíšeš deset tisíc řádků v Céčku nebo Javě, bez komentářů a dokumentace se to bude oboje špatně udržovat. To je možná taky důvod, proč existují věci jako Doxygen a Javadoc.
Pokud se ale chceme bavit o kráse jazyka, tak bych na první místo dosadil SmallTalk. Bohužel většinou platí, že čím hezčí jazyk, tím méně je reálně použitelný (snad jedinou výjimkou je ten Python).
Mimochodem, asi ti uniklo, že jak .NET, tak JVM jsou napsány v C++, takže podle tvého tvrzení jsou obě tyto platformy nebezpečné, tudíž by se neměly používat. :)
Samozřejmě vím, že .NET není jazyk, ale platforma; myslel jsem tím jazyky na této platformě běžně používané (např. C#, J#, Visual Basic .NET, popř. i ten IronPython).
A samozřejmě o IronPython vím, mimochodem existuje i JPython. A také existuje PyPy, které by mělo odstranit tvoje námitky na buffer overruny, bohužel se tak neděje.
Mimochodem: proč chce po mě Windows Vista tolik systémových zdrojů? Protože .NET. To je také jeden z důvodů, proč si myslím, že se vývojáří vrátí k C++. Nenažranost .NETu a Javy je neuvěřitelná (samozřejmě Python na tom není o mnoho lépe, ale ten bych bral jako jazyk na jednoduché úlohy a na prototypování, na což se ani Java ani C# nehodí).
Exploity na buffer overrun jsou ty samé exploity, jako jsou v Javě a Pythonu exploity na neošetřené vstupní hodnoty (případně na buffer overrun jejich interpretů). Žádný jazyk nedokáže zabránit chybám programátora.
Také to srovnání počtu řádek je dost nepřesné, až budeš používat toolkity (GTK, Qt, ICE, …), tak zjistíš, že potom v C++ napíšeš sto řádky to, co v Javě napíšeš na řádků tisíc (nehledě na to, že to bude mnohem rychlejší). Tím také padají argumenty mnohých, že Java a .NET jsou portabilnější.
Z toho také plyne to, že není pravda, že by Céčko nebo C++ byly těžko udržovatelné. Stačí psát dokumentaci. Ono je celkem jedno, jestli napíšeš deset tisíc řádků v Céčku nebo Javě, bez komentářů a dokumentace se to bude oboje špatně udržovat. To je možná taky důvod, proč existují věci jako Doxygen a Javadoc.
Pokud se ale chceme bavit o kráse jazyka, tak bych na první místo dosadil SmallTalk. Bohužel většinou platí, že čím hezčí jazyk, tím méně je reálně použitelný (snad jedinou výjimkou je ten Python).
Mimochodem, asi ti uniklo, že jak .NET, tak JVM jsou napsány v C++, takže podle tvého tvrzení jsou obě tyto platformy nebezpečné, tudíž by se neměly používat. :)
Samozřejmě vím, že .NET není jazyk, ale platforma; myslel jsem tím jazyky na této platformě běžně používané (např. C#, J#, Visual Basic .NET, popř. i ten IronPython).
A samozřejmě o IronPython vím, mimochodem existuje i JPython. A také existuje PyPy, které by mělo odstranit tvoje námitky na buffer overruny, bohužel se tak neděje.
Mimochodem: proč chce po mě Windows Vista tolik systémových zdrojů? Protože .NET. To je také jeden z důvodů, proč si myslím, že se vývojáří vrátí k C++. Nenažranost .NETu a Javy je neuvěřitelná (samozřejmě Python na tom není o mnoho lépe, ale ten bych bral jako jazyk na jednoduché úlohy a na prototypování, na což se ani Java ani C# nehodí).
23. 11. 2006 12:27
Re: Ani .NET ani Java
Jaderna zarizeni jsou vyvijena v Ade, ktera je pro tyto ucely navrzena a odladena. Napr. ridici system pro Temelin je v Ade (vyvijel to myslim Westinghouse). Nevyhodou je, ze Ada compiler pro kriticke aplikace je sakra drahy, ale jinak je to zajimava technologie.
petr (neregistrovaný)
23. 11. 2006 22:18
Re: Ani .NET ani Java
ja to myslel tak, ze by se nam nekdo mohl vyjadrit i k jadernym reaktorum, kvantove mechanice a podobne, urcite se tady najde dost 'odborniku'
25. 11. 2006 18:48
Re: Ani .NET ani Java
A hlavne: kdyz uz se nekdo dokaze naucit Adu, tak je schopen psat programy inteligentne. IMHO slusna cast spolehlivosti tehle obskurnich jazyku spociva v tom, ze v nich nepisou "prumerny programatori" (natoz aby mluvili do jejich vyvoje).
ehm (neregistrovaný)
23. 11. 2006 9:36
Re: Ani .NET ani Java
Neco si o tech jazycich (a hlavne o jejich nasazeni a (ne)vyhodach) precti nez z Tebe priste vypadne takovy blabol...
Sten (neregistrovaný)
26. 11. 2006 10:00
Re: Ani .NET ani Java
Ani nemusím, jsou to zkušenosti. Céčko, C++, C#, J#, Javu, Python, Pascal (Borland Pascal, Object Pascal aka Delphi) a Visual Basic (vč. .NET) jsem používal a s C++ a Pythonem se pracovalo nejlépe. Dneska používám Python na menší úlohy a na prototypování, C++ na vlastní implementaci.
Pokud budete dělat nějaké pořádné projekty (typu databáze, velká aplikace, nebo 3D-akcelerovaná počítačová hra), brzo narazíte na pomalost a nenažranost jiného řešení, než je Céčko nebo C++.
Pokud budete dělat nějaké pořádné projekty (typu databáze, velká aplikace, nebo 3D-akcelerovaná počítačová hra), brzo narazíte na pomalost a nenažranost jiného řešení, než je Céčko nebo C++.
martin (neregistrovaný)
23. 11. 2006 11:06
Re: Ani .NET ani Java
Tak zrovna s Pascalem bych nesouhlasil. Podle mě je to jeden z nejvhodnějších jazyků pro výuku a to proto, že je jednak snadno čitelný, má velmi striktní kompilátor a také má poměrně kvalitní vývojové prostředí - ve win Delphi, jinde je celkem dobrý FreePascal, nebo Lazarus. Python si myslím není dobrý na učení - je dost volný a umožnuje kdejaké prasárny, díky nimž se pak může hůře hledat chyba v programu. Ale pořád je to lepší než Basic... Podle mého názoru na výuku programování je jednoznačně nejlepší Pascal, na reálné nasazení pak C(++) a Python a v některých oborech Fortran. .NET podle mého nepřináší žádná významná plus no a Java je děsně pomalá a většina aplikací naprogramovaných v Jave mi příjde, že jsou buďto odfláknuté nebo nedodělané ... Uvidíme, co přinese GPL Java...
25. 11. 2006 18:53
Re: Ani .NET ani Java
Rozhodne souhlasim ze vyuka je to jedine k cemu je Pascal dobry. Je jen otazka, jestli by nebylo vhodnejsi ucit na jazyku, ktery by mel tyto vyhody pascalu ale nebyl tak vzdaleny praxi ... samozrejme by takovy musel existovat, protoze C,C++,C#,Java,Python nebo treba PHP (o Perlu nemluve) takovymi jazyky zcela urcite nejsou.
Java trpi v mensi mire stejnym problemem jako PHP: pri vyvoji jejich zakladu se udelali nejake chyby a ted uz neni mozne je opravit (tedy, v PHP to bohuzel zkousi). Obavam se, ze ani GPL Java to nedokaze.
Java trpi v mensi mire stejnym problemem jako PHP: pri vyvoji jejich zakladu se udelali nejake chyby a ted uz neni mozne je opravit (tedy, v PHP to bohuzel zkousi). Obavam se, ze ani GPL Java to nedokaze.
Sten (neregistrovaný)
26. 11. 2006 10:08
Re: Ani .NET ani Java
Právě díky možnostem Pythonu odnést programátora do říše chyb a omylů a díky relativně snadnému zápisu se podle mě hodně hodí na výuku teorie programování. Na praktickou výuku programování je pravda ten Pascal lepší, nicméně pokud se někdo naučí teorii, tak může rovnou z Pythonu přejít na C++ nebo třeba Erlang nebo Haskell (což bych programátorům, co se učili v Pascalu, moc nedoporučoval).
mys elf (neregistrovaný)
26. 11. 2006 11:15
Re: Ani .NET ani Java
Co znamená "odnést programátora do říše chyb a omylů"?
Jinak plně souhlasím s tím, že Python je mimořádně výhodný pro výuku základů a pro výuku programování pro neprogramátory, tedy pro lidi, kteří si občas chtějí nebo potřebují naprogramovat nějaký výpočet, vizualizovat si průběh funkce nebo já nevím co. Od Pythonu se dá odrazit směrem k C nebo C++, Lispu, Smalltalku apod. Učit začátečníka programovat spojové seznamy v Pascalu pomocí ukazatelů, to mi přijde jako maximální zhovadilost.
Jinak plně souhlasím s tím, že Python je mimořádně výhodný pro výuku základů a pro výuku programování pro neprogramátory, tedy pro lidi, kteří si občas chtějí nebo potřebují naprogramovat nějaký výpočet, vizualizovat si průběh funkce nebo já nevím co. Od Pythonu se dá odrazit směrem k C nebo C++, Lispu, Smalltalku apod. Učit začátečníka programovat spojové seznamy v Pascalu pomocí ukazatelů, to mi přijde jako maximální zhovadilost.

