Portál AbcLinuxu, 5. května 2025 16:01

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
6.12.2006 10:57 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
BTW: dávat vedle sebe nízkoúrovňové C, univerzální C++, současný Cobol a dva skriptovací jazyky svědčí spíš o tom, že by sis měl především ujasnit, co vlastně chceš programovat a tomu potom jazyk přizpůsobit.
When your hammer is C++, everything begins to look like a thumb.
cezz avatar 6.12.2006 12:32 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
Python je jazyk, který si neví rady sám se sebou (mám být objektový, funkcionální, nebo jiný?). Na druhou stranu má jednoduchou syntaxi a pyGtk vytváří přímo vývojáři Gtk. Problematická standardní knihovna (každý modul je jiná ves). Nevhodný pro aplikace náročné na výkon procesoru. Je multiplatformní.
Huh?! Osobne nepoznam objektovejsi jazyk ako python.. V uvode k objektom snad kazdej prirucky o pythone je veta "Vsetko je objekt." Nepleties si to nahodou s Perlom? ;-) Podla mna pokial GTK tak pygtk, pripadne pyglade (urcite velmi elegantne a casto pouzivane riesenie). "Problematická standardní knihovna" som bud nepochopil, alebo som si tu problematickost fakt nevsimol. A s tym vykonom je to skor teoria ako prax podla mna.. (samozrejme su miesta, kde je lepsie pouzit povedzme C, ale to je malokedy zalezitost GUI aplikacii)

Cize ja jednoznacne odporucam python, zvlast ak by slo o nejaku GNOME aplikaciu (v tom pripade uz rovno glade, ktory beztak vyzaduju dajsie aplikacie).

C ma podla mna prisernu implementaciu GTK, takze to je naopak jazyk ktory osobne neodporucam (v spojitosti s GTK), aj ked sa urcite najde vela ludi s opacnym nazorom..
Computers are not intelligent. They only think they are.
6.12.2006 13:41 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
A takové len(), nebo map() a reduce() je co? Já v Pythonu dělám, takže snad vím, že na tom není s konzistencí dvakrát dobře a souvisí to i s tím, že Guido nechtěl z počátku podporu objektů zavádět, takže se jednalo o čistě procedurální jazyk. A když mi nevěříš, co třeba new stylled class, textové výjimky a hromadu dalších dokladů o tom, že návrh Pythonu není tak bez chybičky, jak se obecně tvrdí.

Problematická standardní knihovna je to, že se každý modul ovládá jinak, mnoho z nich existuje jen díky zpětné kompatibilitě, protože je nahradili daleko lépe udělané nové. Není (anebo o něm nevím) žádné doporučení, jak dělat moduly.

C má mizernou implementaci gtk? Vždyť C je nativní jazyk pro gtk :-D a celé je to v C napsáno. Jinak souhlasím, většina práce s gtk je o tom, kterak do C dobastlit podporu pro objekty.
When your hammer is C++, everything begins to look like a thumb.
cezz avatar 6.12.2006 14:09 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
No ano najdu a chyby ako spominane len(), map() a podobne, ved kazdy jazyk ich ma.. (predpokladam, nie kazdy poznam :-D) Takze python nie je bez chyby, ale ak ho pouzivas, urcite suhlasis, ze je to velmi elegantny jazyk ;-)

To ze sa kazdy modul ovlada inak je ciastocne pravda.. (na druhej strane je to len vec dokumentacie a som doma IMHO a snad je kazdy pre dany ucel navrhnuty co mozno najoptimalnejsie) Mozno je trosku na skodu celeho jazyka, ze chybaju nejake guidelines ktore by sa dodrziavali. (minimalne nieco v style PHP pear) Suhlasim, ale netvrdim ze mi to doposial prekazalo.

No a ta implementacia.. C je veru native pre GTK, ale proste trpi neobjektovostou (myslim kombinaciu C a GTK, nie C samotne) a trpi treba povedat poriadne. :-) Python so svojou nadstavbou je potom uplny objektovy balzam na dusu. (aj ked aj tam sa najdu niektore vynimky) Kazdopadne lepsiu implementaciu GTK som nenasiel. (ale rad sa necham poucit)
Computers are not intelligent. They only think they are.
6.12.2006 14:25 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Souhlas. Akorát proč o GTK mluvíte jako o "dobastlení" objektů- objekty v GTK jsou mnohem lepší než v C++.
Táto, ty de byl? V práci, já debil.
cezz avatar 6.12.2006 14:32 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
Lebo su horsie ako kdekolvek inde? ;-)
Computers are not intelligent. They only think they are.
6.12.2006 14:40 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Ne, lepší- jednoduché, efektivní, a bez prznění jazyka.
Táto, ty de byl? V práci, já debil.
cezz avatar 6.12.2006 14:42 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
To je asi vec nazoru..
Computers are not intelligent. They only think they are.
6.12.2006 15:53 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Smím se zeptat, v čem jsou ty objekty z Gtk lepší jak v C++? Mají lepší zapouzdření, polymorfismus, vychytanější systém práv, lepší způsob dědění, umí za běhu měnit svoje třídy, lépe je podporuje překladač (tj. není náhodou většina kódu jen pro obcházení typové kontroly), daleko lépe přetěžují operátory? V čem konkrétně jsou lepší?
When your hammer is C++, everything begins to look like a thumb.
7.12.2006 10:53 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Lepší zapouzdření a systém práv: To samozřejmě v GTK nemají, protože "C" si na viditelnost identifikátorů nehraje, což je u slabě typovaných jazyků jako je C nebo C++ velmi rozumná volba. Když je něco privátního, dám na začátek pár podtržítek, jako nápovědu "nesahat". Je to stejně dobré a výrazně jeddnodušší řešení, ergo je LEPŠÍ.

Dědění, Polymorfismus: Jestli se nepletu (s GTK v C nedělám) tak tam je na rozdíl od C++ single-root hierarchie, která je pro implementaci dynamických technik mnohem vhodnější než MI z C++, například proto že nabízí bezproblémovou a fungující RTTI, a dynamické casty, vše pod kontrolou PROGRAMÁTORA, nikoliv překladače, který je každý pes jiná ves.

Změna tříd za běhu: To snad normálně není nikdy potřeba, a C++ to zcela jistě neumí. Myslím že objekty v GTK s tím také nepočítají, ale protože nad nimi má programátor plnou kontolu, není na rozdíl od C++ problém to doimplementovat.

"není náhodou většina kódu jen pro obcházení typové kontroly": V GTK máte možnost programovat způsobem jak uznáte za vhodné. Můžete psát generický kód se samými GtkWidget*, a typovou kontrolu použít až když je třeba (ručně). Toto ale není "obcházením", ale spíš "doplněním" typové kontroly. Nebo můžete typovat staticky- budete s tím mít sice víc práce, ale ušetříte si castovací makra, a kontrolu bude dělat už překladač. Bohužel v C++ to dělá překladač vždy, a navíc děsně blbě, takže to vede k problémům s interoperabilitou, protože každý překladač pro každé volby přepínačů mangluje jinak, používá jiný object nebo vtable layout, jiné member pointery, jiné volací konvence, atd.

Docela dobrý argument proč NEPOUŽÍVAT C++ je kouknout se na zdrojáky skutečných dynamických objektových systémů- Lisp, Smalltalk, Python, Perl, Lua.. Všechno je implementováno v C, nikoliv v C++. Kdyby objekty v C++ byly použitelné, proč by jednoduše autoři nenavrstvilit interpret kolem nich, a neušetřili si tak spoustu práce?

Dokonce i Linux kernel je vnitřně silně objektový (VFS, Device drivers, KObject, kontejnery...) Proč tedy není už dávno zmigrován do toho úžasného C++ ???
Táto, ty de byl? V práci, já debil.
7.12.2006 11:56 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Když Vás tak čtu, tak mě napadá, jestli C++ vůbec umíte. Ty argumenty jsou silně mimo. Například to, že v C++ je MI nic neznamená a sigle root hierarchii uděláte taky. Prostě když se Vám to nehodí, tak prostě nebudete dělat MI hierarchii. Jak prosté Watsone. To že tam ta možnost je neznamená, že jí musíte na sílu vždycky použít.

Chcete-li mít vše pod kontrolou programátora, můžete. Kompilátory už dnes dávno vyhovují standardu C++, nemám problémy s přechody mezi nimi, pokud nechcete ďábelsky trikovat v šablonách. C kompilátory jsou taky každej pes jiná ves, spoustu GPL softu máte problém přeložit pod jiným, než konkrétním kompilátorem, často gcc. Jinak nevím, co C++ dělá blbě, spíš se přikláním k názoru, že o C++ víte velký kulový. Strašně miluju lidi, kteří si neumějí poradit s možností volby, C++ Vám dává možnost použít buď přesně to co je v něm, a mimochodem je to v C++ dost dobře uděláno, a nebo si to ušít po svém. Jenže když kdejaký debil chce natvrdo používat naučené postupy bez trochu invence a bez zamýšlení se nad tím, co vlastně chce dělat, tak sorry, pro lidi bez mozku C++ fakt není. V C++ je přehršel dobrých možností, ale to neznamená, že to musíte všechno naráz použít.

Proč jsou zdrojáky dynamických jazyků v C, a ne v C++? Protože před cca deseti lety ještě neexistoval standard C++, tudíž napsat přenositelně v C++ byl docela problém. Dnes to problém není. A hlavní důvod, proč to nepsali v C++ je, že prostě C++ nezvládali sami autoři, tudíž si zvolili něco, co zvládají.

Linux kernel není zmigrován do C++, protože když se začínal psát, C++ použitelně neexistovalo. Druhý problém je ten, že Linus Torvalds naprosto nezvládá C++ a chová se podobně jako Vy, tudíž bezhlavě a bez přemýšlení se snaží použít ty konstrukce C++, které pro jeho účel nejsou vhodné a není schopen zvládnout C++ na úrovni použiji to, co je potřeba. Pak Linus píše argumenty o C++, které nedokazují nic jiného, než že C++ nezvládl ani na 5%, ale o C++ a jeho vhodnosti pro kernel neříkají naprosto nic.

Projekty v C je dobré v C nechat, pokud se v něm léta vyvíjejí. Ale nové projekty velmi často vznikají v C++, protože je to velmi výhodné. Jako člověk, který programoval v C asi osm let a pak dalších deset let v C++ píšu, že žádný projekt už jsem velmi dlouho nezačal v C. A pokud udržuji starší projekty, pomalu je měním na C++. Ta efektivita vývoje, a zrychlení a komfort, který mi dává C++ oproti C je prostě nesrovnatelný.

Jen tak mimochodem, existují velmi komerčně úspěšné operační systémy psané v C++, které běhají v mnoha miliónech exemplářích a pravděpodobně ho používá i řada Vašich známých aniž o tom ví. Virtuální mašina Javy je taky psaná v C++, a Sun dobře ví, proč nepoužívá C, když už jsem o těch dynamických jazycích. Microsoft by ani nenapadlo, že by pro svojí .NET technologii a virtuální mašinu použil něco jiného, než C++. Dnešní nové projekty Vám těžko bude začínat v C.
7.12.2006 12:20 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
+1 od začiatku, v poslednom odstavci pokles na -1 :-)
7.12.2006 12:33 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Proč to píšete tak složitě? Stačilo napsat Vy a Linus jste blbí, Microsoft a Sun je chytrej. Jo a dík za upozornění, na .NET jsem úplně zapoměl. Mono je samozřejmě celé napsáno v C, a pochybuji že jde o 10+ let starý projekt.
Táto, ty de byl? V práci, já debil.
7.12.2006 15:37 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Ne vše, co jsem napsal v C++ jde. Třeba změna třídy za běhu je něco, co jsem viděl (jenom viděl) ve Smalltalku :-)

Abych to shrnul, C je lepší, protože si v něm musíte (ne můžete, nic z toho, co jsi napsal není součástí standardu C, takže to každý bastlí sám a ve větším projektu dopadneš jako teď v C++ i stringy si každý implementuje sám) napsat všechno od píky.
Docela dobrý argument proč NEPOUŽÍVAT C++ je kouknout se na zdrojáky skutečných dynamických objektových systémů- Lisp, Smalltalk, Python, Perl, Lua.. Všechno je implementováno v C, nikoliv v C++. Kdyby objekty v C++ byly použitelné, proč by jednoduše autoři nenavrstvilit interpret kolem nich, a neušetřili si tak spoustu práce?
Argumentace autoritou není korektní argumentací :-). Navíc je i to důsledkem standardizovaného vývoje (nejdřív zasedá nějaká komise a potom vývojáři překladačů dlouze nadávají) C++. Ale pokud chceš, mrkni se na zdrojáky Strongtalku, který představuje současnou špičku ohledně technik dynamické kompilace. Oni ti vývojáři asi nebyli úplně blbí a věděli, proč to chtějí dělat v C++ .... proti tomu je takový Python spíše dětská hračka.
When your hammer is C++, everything begins to look like a thumb.
7.12.2006 16:08 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Díky za link, kouknu se na to. Zatím se mi nejvíc líbil CLOS, tak silné multimetody jsem jinde neviděl. Úplně se dají eliminovat tuny kódu z C++ ale i Pythonu, kde typicky spousta kódu připadá na konstruktory, kde se obvykle použije jeden argument, a ostatní se pošlou znovu konstruktoru supertřídy, což vede k O(N^2) bloatu. Co se týče jednoduchosti, tak v tom je zase geniální Lua, která má navíc malinkatý a skvěle psaný runtime.
Táto, ty de byl? V práci, já debil.
7.12.2006 16:45 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Jen praktický dotaz: Kolik, nejlépe větších systémů jste v životě naprogramoval? A hlavně kolik jste jich potom alespoň pět let udržoval a přidával do nich nové vlastnosti? Myslím opravdu větších programů.
8.12.2006 10:08 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Větších jen pár. Diplomka- asi 5kLOC x86 asm + 5kLOC C++. Spojovat C++ a asm dohromady bylo jako kdybyste se pokoušel mýt v paneláku schody a někdo vám vždy když se předkloníte vrážel rozžhavenou tyč do zadku. Pak jsem napsal a udržuju provozní systém v Pythonu, kde je asi 50kLOC jádro a řekněme 10-20kLOC v návazných aplikacích, náročnější věci jsou jako moduly v C. Nebýt toho že jsem na začátku udělal pár chyb (něco zapouzdřil moc a proto je to pomalé a něco zase příliš málo a proto to teď nejde předělat) je to na údržbu naprosto bezprobémové.
Táto, ty de byl? V práci, já debil.
8.12.2006 11:01 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Spojovat C++ a asm dohromady bylo jako kdybyste se pokoušel mýt v paneláku schody a někdo vám vždy když se předkloníte vrážel rozžhavenou tyč do zadku.

Tak to nemůžu posoudit, nemám takové životní zkušenosti jako vy… :-)

8.12.2006 12:32 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Zkušenosti možná, představivost určitě.
Táto, ty de byl? V práci, já debil.
7.12.2006 16:10 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
... Třeba změna třídy za běhu je něco, co jsem viděl (jenom viděl) ve Smalltalku :-) ...
Pche, změna metody za běhu, prkotina. Změnit třídu objektu uvnitř jeho metody? Prkotina. V čem? V PERLu! :-) Teda, ale udržovat takovej kód bych nechtěl, to se přiznám bez mučení.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
7.12.2006 16:16 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Jé, to je pěkný.. Ale ten paper o optimalizaci Selfu jsem četl už před víc než 10 lety, byl jsem z toho docela hotovej (inline cache v kódu který dělá dispatch). Akorát si myslím že tohle jsou věci který by měl optimalizovat CPU, ne software.
Táto, ty de byl? V práci, já debil.
7.12.2006 16:43 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Jo, to se dělalo v CPU (Dorado, Alto, Lisp Machine) … a pak přišla 8086 a dneska jsme v řiti. :-/
7.12.2006 16:49 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Vývoj jednoznačně směřuje směrem, kdy bude optimalizovat sw, ne cpu. Je to logičtější, optimalizace cpu je jednak náročná (na spotřebu energie, na počet tranzistorů) a už z principu méně účinnější, než optimalizace sw. Protože cpu nemůže znát tolik informací co sw, a nemůže brát zřetel na takové množství souvislostí jako zvládne sw.
7.12.2006 16:57 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Zčásti máte samozřejmě pravdu, CISC není cesta. Ale obávám se, že jakmile se shodneme na bajtkódu alespoň pro určitou třídu aplikací, může třebas i jen drobná specializace (jako to dělá Jazelle) přinést nezanedbatelné výhody. Principielně není důvod, proč by třeba typovou kontolu příjemce zprávy v objektovém jazyku nemohl dělat CPU paralelně s příslušným výpočtem (který se v případě neshody typu zahodí a vyvolá se obecný dispatch), zatímco teď v nejlepším případě i v monomorfním call site obětujeme minimálně jeden CMP. A takových věcí je tam víc. Třeba kontrola hranic pole. Netřeba předělávat celý procesor. Je to jako princip 80-20.
7.12.2006 17:47 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Ale to se přeci děje!!! Dnešní CPU jsou zcela viditelně optimalizovány pro konstrukce jazyka C, což byste poznal, pokud byste znal nějaké hodně staré procesory. Na bajtkódu už jsme se shodli, je to stroják.

Musíte si rozmyslet co chcete

1) buď rychlý kód (pak je nejlépe typová kontrola za kompilace, viz cesta C++)

2) a nebo bezpečný dynamický, ale pomalejší kód (pak se dělá hodně za běhu, cesta Smalltalku, Pythonu), pak je ale třeba vědět, že je to daň za tuto vymoženost, a neplakat na špatném hrobě a nezatěžovat cpu blbostma

3) a nebo super bezpečnost s maximální rychlostí (pak se maximum udělá při kompilaci, a jen nezbytné věci za běhu, casta Ady) - to je nejlepší možná cesta, pokud optimalizujeme na maximální rychlost i bezpečnost zároveň, ale naráží na vidlákovitost dnešních programátorů, kteří odmítají jazyk, co se musí naučit.

Ze stejného ranku jsou dřívější Forth procesory a Lisp procesory, ale prostě počítač s takových specializovaným cpu se prostě nemůže vyvíjet.
7.12.2006 18:23 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
„Dnešní CPU jsou zcela viditelně optimalizovány pro konstrukce jazyka C, což byste poznal, pokud byste znal nějaké hodně staré procesory.“
To mi povídejte, u nohou mi leží VAX. :-D
„2) a nebo bezpečný dynamický, ale pomalejší kód (pak se dělá hodně za běhu, cesta Smalltalku, Pythonu), pak je ale třeba vědět, že je to daň za tuto vymoženost, a neplakat na špatném hrobě a nezatěžovat cpu blbostma“
Já pořád doufám, že s tím pomalejším kódem to není nezbytně nutné, a Self 93, HPS (High Performance Smalltalk - jádro VisualWorks) a Strongtalk mě v tom tak nějak utvrzují. Je ale jasné, že ze všech tří cest je tahle absolutně nejnáročnější na kvalitu implementace a na množství práce a času do ní investované. Proto chápu, že na některé věci si budeme muset ještě počkat. :-/
7.12.2006 18:25 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Ze stejného ranku jsou dřívější Forth procesory a Lisp procesory, ale prostě počítač s takových specializovaným cpu se prostě nemůže vyvíjet.
Hmm, akcelerátor Lispu v FPGA ... že bych ještě změnil téma disertačky (a pravděpodobně i ústav?) :-)
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 01:26 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Jak efektivně Vám tedy na tom akcelerátoru Lispu běží Ada, Smalltalk, Python, Pascal, Prolog, Forth, C++, Java, C#, ... to je ta univerzálnost a možnost vývoje dalších jazyků. Pokud Vám tyto jazyky budou na Vašem akcelátoru efektivnější, než na běžném CPU, pak odvolávám.
8.12.2006 09:16 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
To byla čistě hypotetická otázka. Navíc by se stejně jednalo o vědecký výzkum a ten nemusí mít reálný přínos v podobě hotové desky :-D
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 10:25 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
optimalizace cpu je jednak náročná (na spotřebu energie, na počet tranzistorů) a už z principu méně účinnější, než optimalizace sw.

Optimalizace SW *není* zadarmo. Upgrade OS (říkejte tomu klidně VM) v korporátním prostředí je obvykle výrazně dražší než upgrade procesoru. Navíc riskujete nekompatibilitu s aplikační bází. O softwarové optimalizaci se sice hodně mluví, v praxi je tam ale ve srovnání s HW jen minimální vývoj.

Protože cpu nemůže znát tolik informací co sw, a nemůže brát zřetel na takové množství souvislostí jako zvládne sw.

Ano, ale nelokální optimalizace mají jen mizivý vliv. Dnes CPU optimalizuje základní bloky, a dělá to velmi dobře (řekl bych ne hůř než software). Tohle spolu s cachováním optimalizovaných bloků a dobrou predikcí skoků udělá takový kus práce, že na nějaké rozsáhlé globální optimalizace už zbývá (jen velmi teoretické) zrychlení v jednotkách procent. Proč dlouho přemýšlet jestli by náhodou nebylo lepší tady tohle držet v registru místo v paměti, když L1 cache má latenci pouze 1T?
Táto, ty de byl? V práci, já debil.
8.12.2006 11:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
„Proč dlouho přemýšlet jestli by náhodou nebylo lepší tady tohle držet v registru místo v paměti, když L1 cache má latenci pouze 1T?“

A ještě jednodušší je prostě mít třicet dva celočíselných registrů nebo rovnou registrová okna. :-D
8.12.2006 11:43 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Á pan zde je opět mimo. Optimalizace sw je naprosto běžná. Vězte, že až budete kompilovat Céčko, pak to co kompilátor dělá je mimo jiné dost brutální optimalizace pomocí sw.

I když vezmu optimalizaci intepreterů tak napsat, že je tam minimální vývoj může jen člověk, který chce dávat najevo, že se v problému neorientuje. Já naopak vidím výrazný vývoj a z hlediska cpu vidím naopak snahu rezignovat na optimalizace s tím, že optimalizovat má sw.

Poslední odstavec je taková hovadina, že to už raději nekomentuji. Jako člověk, který strávil nad optimalizováním asm (konkrétně x86 a ARM) obrovskou spoustu času musím říci, že cpu to dělá hodně špatně a rozdíl v rychlosti u stejného algoritmu může být i 300% a více. stačí přehozená instrukce, nebo jen maličko jinak zapsané totéž a cpu to klidně provede třeba pětkrát rychleji. cpu se prostě spoléhá na to, že mu předhodíte už optimální kód. neoptimální provede taky, ale s obrovskou rychlostní penalizací.

P.S.: Jedna z mých projektů je práce, kde se brutálně zabývám asm a opravdu o tom vím hodně, věřte mi.
8.12.2006 13:00 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Á pan zde je opět mimo.

Klidně podřimujte dál, a hlavně se nenechte rušit.

Vězte, že až budete kompilovat Céčko, pak to co kompilátor dělá je mimo jiné dost brutální optimalizace pomocí sw.

Dělá, ale téměř zbytečně. Neoptimalizující triviální jednoprůchodový generátor kódu z TCC je pro stejný zdroják téměř par s GCC -O2, a nepatrně horší než GCC -O3, viz http://permalink.gmane.org/gmane.linux.gentoo.devel/5838 Jistě, záleží na typu kódu, ale i při pečlivém výběru benchmarku se na rozdíly v desítkách procent dostanete docela těžko. Největší rozdíl jsem viděl u rekurzivního výpočtu fibonnaciho čísel, tam GCC udělá tail call místo rekurze, a kód je skoro o 50% rychlejší než TCC, ale to je už extrém. Není to tím že by TCC bylo tak dobré (codesize je skoro 2x větší), je to tím že moderním procesorům je to jedno, protože stejně dělají dynamickou kompilaci.

Jako člověk, který strávil nad optimalizováním asm (konkrétně x86 a ARM) obrovskou spoustu času

Já taky. Prakticky zbytečně. Život jde dál.

stačí přehozená instrukce, nebo jen maličko jinak zapsané totéž a cpu to klidně provede třeba pětkrát rychleji.

Blbost, věci jako přehozené instrukce jsou moderním outoforder CPU zcela šumafuk. O co dnes jde je minimalizovat cache misses, a na správná místa umístnit prefetch- to je záležitost DATOVÝCH STRUKTUR a ALGORITMU, nikoliv skládání správných instrukcí.
Táto, ty de byl? V práci, já debil.
8.12.2006 13:17 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Pokud mluvím o kompilátoru, který optimalizuje, je třeba vzít dobrý kompilátor, ne gcc, které optimalizuje velmi, ale velmi špatně.

Přehozené instrukce nejsou cpu zcela šumafuk, protože zvládne přehodit jen instrukce do určité vzdálenosti, a to velmi malé. Optimalizace cpu je mizerná, i když samozřejmě lepší, než bývala dříve. To co jsem napsal předtím platí stále.
8.12.2006 13:29 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
je třeba vzít dobrý kompilátor, ne gcc, které optimalizuje velmi, ale velmi špatně.

Nějak to připomíná diskusi s audiofilem který tvrdí že 256kbit VBR MP3 je neposlouchatelný shit a každý kdo tvrdí že ho nerozezná od FLACu se mýlí, neboť má velmi, ale opravdu velmi špatná sluchátka. :-)
Táto, ty de byl? V práci, já debil.
7.12.2006 16:40 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Změna třídy je obecně poměrně jednoduchá operace v dynamicky typovaných jazycích, kde třída objektu nehraje zdaleka ani takovou roli jako ve staticky typovaných jazycích. Čistě teoreticky OOP příliš nepočítá s dynamickou změnou třídy.

Divím se, že se vůbec ten člověk zahazuje s C, když prostě proměnná typu int zůstane jako int a může se rozkrájet, dynamicky typ proměnné nezmění. Je to úplně to samé. Je ptořeba vytvořit novou proměnnou jiného typu a přetypovat, tedy mechanismus, který funguje i s objekty.
7.12.2006 16:57 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Čistě teoreticky OOP příliš nepočítá s dynamickou změnou třídy.

Ano, nepočítají. Bohužel existují i silně úchylná řešení, například C++, která mimo jiné objektům třídu svévolně mění, takže při volání identické virtuální metody záleží na tom z kterého konstruktoru ji voláte.
Táto, ty de byl? V práci, já debil.
7.12.2006 17:22 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Je třeba si ujasnit, že z hlediska objektů existuje implementace a vnější rozhraní. Z hlediska vnějšího rozhraní C++ nikdy třídu nemění (což je to co je zajímavé především) a pro použití objektů je pro Vás právě rozhodující. Chování vnitřní implementace je věc druhá a podle mě v C++ zcela v pořádku a velmi dobře vyřešená. Není to jediný OOP jazyk, který to tak dělá.
8.12.2006 11:06 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Z hlediska vnějšího rozhraní C++ nikdy třídu nemění (což je to co je zajímavé především) Není to jediný OOP jazyk, který to tak dělá.

Proč myslíte že funkcionalita konstruktoru není součást kontraktu na vnější rozhraní? Jistě, odpálkujete mne s tím že ten kontrakt je chování přesně tak, jak jej C++ definuje, a nikoliv tak, jak myslící bytosti očekávají- ale to bude definice, nikoliv argument. Který další jazyk tuto zvrhlost dělá?
Táto, ty de byl? V práci, já debil.
8.12.2006 11:54 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Vy se prosím jako myslící bytost moc neprojevujete. Nejdříve začnete argumentovat tím, že C++ má něco co se vám _momentálně_ nehodí, ačkoli každá myslící bytost obyčejně používá to co se jí hodí. Prosím abyste se myslícími bytostmi neoháněl.

Funcionalita konstruktoru je naprosto v pořádku. Z vnějšího hlediska se nikdy třída nemění, z hlediska implementace je vše tak jak má být. Konstruktor a destruktor má za úkol ošetřit svojí vlastní třídu a reflektuje to stav jak instance postupně vzniká, nebo zaniká.

Prostě nemáte rád C++, tak ho prosím ignorujte.
7.12.2006 19:55 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: V cem programovat?
... takže při volání identické virtuální metody záleží na tom z kterého konstruktoru ji voláte.
Vy ste ale komik.
8.12.2006 09:42 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
$ more cee_flus_flus_sucks.cpp
#include <stdio.h>

struct Sracka {
        virtual void Blb() { printf("objekt je typu Sracka\n"); }
        Sracka() { Blb(); }
};

struct SrackaKvadrat : Sracka {
        virtual void Blb() { printf("objekt je typu SrackaKvadrat\n"); }
        SrackaKvadrat() { Blb(); }
};

int main() {
        SrackaKvadrat jedna_a_ta_sama_sracka;
        return 0;
}
$ g++ cee_flus_flus_sucks.cpp
$ ./a.out
objekt je typu Sracka
objekt je typu SrackaKvadrat
$
Jaký komik? Tak mění C++ objektům svévolně za běhu třídy nebo ne? A mimochodem, ta "vyřešená interoperabilita" a bezproblémová implementace překladače a knihoven- jak se to shoduje s tím že když uvedený příklad zkusím místo g++ přeložit jiným compiler driverem a sice gcc, dostanu toto úžasně užitečné a insajghtfulní chybové hlášení:
$ gcc cee_flus_flus_sucks.cpp
/tmp/ccSkOQw4.o:(.rodata._ZTI13SrackaKvadrat[typeinfo for SrackaKvadrat]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/tmp/ccSkOQw4.o:(.rodata._ZTI6Sracka[typeinfo for Sracka]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/tmp/ccSkOQw4.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Táto, ty de byl? V práci, já debil.
8.12.2006 09:56 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
8.12.2006 10:41 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
To rationale znám, jen mi přijde chybné. Obě řešení mají své výhody a nevýhody, oběma se lze přizpůsobit, ale osobně považuji kaskádovou inicializaci třídy za chybnou.

1) Je to neefektivní. I když máte jen defaultní inline konstruktory, překladač je obvykle tak hloupý že když instancujete desátou podtřídu, vygeneruje deset inicializací z nichž bude devět zbytečných.

2) Je to neočekávané. Není nic špatného na tom snažit se sdílet kód v konstruktorech, proto když dělám jen malou změnu a nechci v podtřídě psát nový konstruktor, je přeražení virtuální metody, kterou konstruktor na vhodném místě volá, rozumná věc.

3) Porušuje to základní pravidlo, že je vždy volána nejvíce specifická virtuální metoda.

4) Důvod že nemá být volána metoda třídy SUB, když probíhá inicializace třídy SUPER, je chybný. Když volám metodu třídy SUPER uvnitř konstruktoru, je zřejmé že kód tohoto konstruktoru ještě neskončil, takže identicky lze tvrdit že neexistuje ani instance třídy SUPER.
Táto, ty de byl? V práci, já debil.
8.12.2006 10:58 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
inicializácia predkov prebieha postupne, metóda potomka volaná s konštruktora skôr inicializovaného predka využívajúca (a spoliehajúca sa) na inicializované data neskorších predkov, či už viacnásobná dedičnosť, alebo viac úrovní dedenia ... hmm, chcem vás vidieť hľadať tieto chyby :-)
8.12.2006 11:13 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
To nelze považovat za chybu. Metoda URČENÁ k tomu že bude volána z konstruktoru nemůže nikdy očekávat že dostane plně inicializovaný objekt.
Táto, ty de byl? V práci, já debil.
8.12.2006 11:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Zavedeme tedy v novém C++ deklaraci virtual and for contructor use only? :-D
8.12.2006 11:44 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Podle mne je to zbytečné, ale pokud bychom skutečně chtěli rozlišovat objekty na "inicializované" a "napůl inicializované" (tak jak si na to hraje C++), tak je potřeba opravdu spočítat call graph, a udělat uzávěr z konstruktoru, a ověřit že všechny tyto metody jsou náležitě napsány a označeny. Proti tomu bych příliš nenamítal. To ale C++ přece nedělá (viz můj bod 4). Ono jen pomocí kaskádové inicializace (asi se tomu říká jinak, ale tenhle název mi přišel vhodný) ten call graph z každého konstruktoru lokalizuje do jeho třídy a do jejich supertříd. Nevím ale podle mého názoru mezi kontrolou kódu v hierarchii dědičnosti směrem nahoru nebo nahoru i dolu žádný kvalitativní rozdíl nevidím, proto ten přínos není dostatečný. Rozhodně nevyváží zkriplenou sémantiku virtuálních funkcí, a neoddiskutovatelně NEOČEKÁVANÉ chování (kdyby bylo očekávané, nebylo by to v cppfaq).
Táto, ty de byl? V práci, já debil.
8.12.2006 11:25 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
aha, vy akože vždy viete, aké všetky metódy (priamo či nepriamo) volajú všetky použité konštruktory?

ano, šlo by to ojekabátiť spomenutým for contructor

8.12.2006 10:35 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
To, že se volá konstruktor předka považuješ za změnu třídy? Navíc je to zcela logické, protože se nejprve provádí konstruktor třídy Sracka, takže se volá příslušná virtuální metoda a teprve potom vzniká instance třídy SrackaKvadrat, přičemž se volá zase její metoda. Nevím, jak si představuješ, že se v okamžiku, kdy ještě není vytvořena instance třídy SrackaKvadrat, bude volat právě její virtuální metoda ...

Myslím, že jsi právě ukázal, že C++ vůbec nerozumíš. Pořadí volání konstruktorů při vytváření objektů je specifikováno normou jazyka, takže pokud bys znal C++, věděl bys to.

BTW: jak souvisí chyby (při linkování) v jednom konkrétním překladači s C++ jako takovým?
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 10:52 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
1) Viz jiná odpověď.

2) Tento "jeden konkrétní překladač" je FC5, téměř defaultní a plně aktualizovaná instalace. Pan Ponkrác tvrdil že problémy s interoperabilitou C++ jsou "už 10 let minulostí". Domnívám se že minimálně tento příklad ukazuje že nemá pravdu.
Táto, ty de byl? V práci, já debil.
8.12.2006 11:08 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
No, pokud se ti nelíbí postupné volání konstruktorů při vytváření instance, tak jsi to měl napsat hned a ne nám tu tvrdit, že C++ svévolně mění třídu, když to není pravda :-)
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 11:14 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Jo, jsem demagog. Ale je to blízko a C++ OPRAVDU nemám rád.
Táto, ty de byl? V práci, já debil.
8.12.2006 11:41 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
:-D
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 11:15 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Ok, s/svévolně/nesmyslně_a_zbytečně/ :-)
Táto, ty de byl? V práci, já debil.
8.12.2006 13:03 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Pan Ponkrác tvrdil že problémy s interoperabilitou C++ jsou "už 10 let minulostí"

Já Vám zapomněl sdělit, že na pana zde má C++ pifku a tak mu schválně dělá naschvály. :-)
8.12.2006 13:05 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Pan Ponkrác tvrdil že problémy s interoperabilitou C++ jsou "už 10 let minulostí"

Já Vám zapomněl sdělit, že na pana zde má C++ pifku a tak mu schválně dělá naschvály. :-)
elviin avatar 8.12.2006 10:53 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Vzdyt je to logicke. Poradi vzniku objektu neni nic svevoleneho, ale znamy fakt. Co se tyka gcc, tak fortran tim taky jen tak neprelozite, ci ano?
gcc -x c++ main.cpp -lstdc++ -o zde_nema_zrovna_dobry_den
8.12.2006 11:06 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
On existuje nějaký seznam definovaných přípon, podle kterých gcc určuje typ souboru, takže v případě souboru main.cpp není -x nutný ...

Což mě přivedlo na nápad na anketu :-D
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 11:11 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Nebyla už tu jednou? :-)
8.12.2006 11:29 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Anketu Jaká přípona pro zdrojové kódy v C++ se vám líbí nejvíce? si tedy nevybavuji :-). Ale teď mi došlo, že pro některé kolegy mi tam chybí možnosti nemám rád C++, nebo .c :-D
When your hammer is C++, everything begins to look like a thumb.
8.12.2006 12:07 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Možná to byla jen anketa v blogu nebo se prostě jen někdo zeptal v diskusi. Rozhodně jsem to nemyslel tak, že bych byl proti takové anketě, naopak…
8.12.2006 13:53 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Však já to nepochopil, jako výhrady k anketě. Jenom že si na podobnou otázku (mimochodem je to blbost, co :-)) nevzpomínám.
When your hammer is C++, everything begins to look like a thumb.
elviin avatar 8.12.2006 11:15 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: V cem programovat?
No to je jen pro jistotu, kdyby nekdo chtel misto main.cpp pouzit main.sracka. Ja mam rad explicitni zapisy, pokud to je ku prospechu mych kolegu:)
8.12.2006 11:24 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Hmm, a proč gcc nemá ten -l stdc++ ve svém -dumpspecs? Jak má build tušit jak se ta pitomá knihovna na které architektuře jako jmenuje?
Táto, ty de byl? V práci, já debil.
8.12.2006 11:26 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
gcc ... C
g++ ... C++
jednoduché, ak kompilujem C, použijem gcc, ak C++, tak g++.
8.12.2006 11:53 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
gcc kompiluje .s, .c, .S, .C bez problémů, a zřejmě i .f nebo .java. Proč kvůli .cpp zavádět nový šmejd?
Táto, ty de byl? V práci, já debil.
8.12.2006 12:09 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Ale vždyť gcc správně kompiluje C++ - a bez problémů. Pouze má jinou sadu defaultně přilinkovaných knihoven, pokud ho spouštíte jako gcc, a jinou, pokud ho spouštíte jako g++.
8.12.2006 12:28 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Když je něco NEKOMPLETNÍ, tak je to CHYBNÉ, nikoliv jen JINÉ.
Táto, ty de byl? V práci, já debil.
8.12.2006 12:46 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
pripona pre C++ zdrojaky je .C, resp .cc, niekedy .c++

.cpp a .cxx su vymysly pre istu nahrazku os, ktora ma case insensitive nazvy suborov a ani nezvladala + v nazve suboru.

8.12.2006 13:03 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Já používám .cpp, kterou používal i Borland (výrobce prvního existujícího nativního kompilátoru pro C++) a kterou používá i boost (knihovna "opravdových" programátorů :-)). Příponu .C považuji za špatnou, protože pokud se přípona mezi C a C++ liší jen velikostí písmena, je to špatně zvolená věc.
8.12.2006 13:03 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Já používám .cpp, kterou používal i Borland (výrobce prvního existujícího nativního kompilátoru pro C++) a kterou používá i boost (knihovna "opravdových" programátorů :-)). Příponu .C považuji za špatnou, protože pokud se přípona mezi C a C++ liší jen velikostí písmena, je to špatně zvolená věc.
8.12.2006 13:06 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
.C se používá pro céčkové zdrojáky, které již byly zpracovány preprocesorem. Analogicky .s a .S
Táto, ty de byl? V práci, já debil.
8.12.2006 12:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Tak ještě jednou: příkaz gcc kompiluje C++ zdrojáky správně, ať mají příponu cc, C, cpp, cxx nebo c++. Pokud používáte gcc pro linkování, pak sada automaticky linkovaných knihoven závisí na tom, zda voláte gcc nebo g++.
8.12.2006 13:14 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Pokud používáte gcc pro linkování

To se nesmí? A kompilovat se může?

pak sada automaticky linkovaných knihoven závisí na tom, zda voláte gcc nebo g++.

Proč to raději nezávisí na aktuální hodnotě DST? V létě by se stdc++ přidávala, v zimě nikoliv- aspoň by programátor v C++ neztrácel kontakt s realitou. A co rovnou /dev/urandom, to by bylo zábavné!
Táto, ty de byl? V práci, já debil.
8.12.2006 13:39 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?

Linkovat pomocí gcc se samozřejmě může, sám to dělám (jen když chcete linkovat pomocí gcc C++ moduly, musíte přidat ručně -lstdc++). Nemělo by se ovšem tvrdit, že má gcc problémy s kompilováním C++ zdrojáků, protože to prostě není pravda.

Mimochodem, vím nejméně o jednom projektu, který k linkování C++ modulů záměrně používá gcc, protože i když je psaný v C++, standardní C++ knihovnu nepoužívá.

9.12.2006 19:21 Deleted [8409] | skóre: 14 | blog: darkblog
Rozbalit Rozbalit vše Re: V cem programovat?
Já bych něco takového potřeboval, můžete tu dát odkaz?

Jde mi o to, že i když nepoužívám std, RTTI a exceptions tak linker chce libstdc++
10.12.2006 13:41 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: V cem programovat?
10.12.2006 20:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Je potřeba přilinkovat knihovnu libsupc++, což je minimalistická podmnožina libstdc++, obsahující vše potřebné.
8.12.2006 11:47 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Člověče, jestli i v sexu hledáte stejným způsobem problémy jako v C++, tak asi zůstanete do smrti panic. :-)
8.12.2006 11:57 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Panic nejsem, ale Vy koukám souložíte potmě.
Táto, ty de byl? V práci, já debil.
8.12.2006 13:07 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Potmě je to taky dobrý! Je potřeba vyzkoušet všechno. :-)
7.12.2006 17:06 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Tohle ale maximálně elegantně řeší Self – „změna třídy“ není nic než „přepojení“ jedné reference, jako kdybych místo objekt.x = y mohl udělat objekt.předek = x. Ten parent slot (jak se tyhle speciální sloty (po C++kovsku membery) objektu nazývají v Selfu) má výsadní postavení pouze v tom, že když se na objekt volá metoda a nenajde se v samotném objektu, prohledávají se objekty odkazované parent sloty objektu (více parent slotů => „vícenásobná dědičnost“).

Typicky tedy většina objektů obsahuje „sloty s členskými daty“ a jeden parent slot na objekt s metodami společnými pro rozsáhlou skupinu objektů. A ten sám může odkazovat na „nadtřídu“ (resp. druhý prototyp v pořadí). Jinými slovy, svým způsobem máte pravdu – OOP s dynamickou změnou třídy opravdu „příliš nepočítá“, dalo by se říci, že v objektovém systému se to považuje za samozřejmost a není tomu tedy třeba věnovat nějakou zvláštní pozornost. ;-)
7.12.2006 17:10 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Smalltalk má samozřejmě také svoje #become:, v některých implementacích s tím počítají třídy využívající objekty proměnné délky (tj. typicky kolekce).
7.12.2006 17:43 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Jinak řečeno popisujete rozdíl mezi statickým a dynamickým pojetím implementace objektů. Problém je ten, že statické pojetí objektů je efektivní, rychlejší, atd. a dynamické pojetí je flexibilnější, ale pomalejší.

Dynamicky typované jazyky vlastně vůbec typ objektu nepotřebují, typ je pro ně velmi málo významný. Proto taky není pro ně až takový problém ho změnit.
7.12.2006 18:26 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Ano. Ale objektový systém z původní definice Alana Kaye přímo svádí k dynamické sémantice. Přeci jen C++ vzniklo až později ve snaze získat slušný výkon na hardwaru, který si smrtelník mohl dovolit. Což třeba takové Xerox Dorado očividně nebylo, přestože to byl jeden z nejkrásnějších počítačů své doby (nebo možná právě proto).
8.12.2006 01:26 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Dnešní programovací jazyk se taky liší od původní vize jazyka (tedy Fortranu), stejně tak jako dnešní dům se liší od vize domů původních pravěkých chatrčí. C++ není první objektově orientovaný jazyk statického typu, už samotné C++ hodně kopírovalo. Vždycky budou situace, kdy potřebujete vymačkat maximum, a C++ tam zastane dobrou práci. Žádná definice objektového systému neexistuje, a Alan Kay už je minulost, existují jen akademické debaty co je a není objektové, a nikdo se stejěn s nikým neshodne, maximálně si pár lidí dá v hospodě přes ústa a pár akademiků napíše nesmiřitelné obhajoby tu na Javu, tu na Smalltalk, tu na C++, tu na Python, kde vysvětlí proč toto je jediný _opravdový_ objektový jazyk. A pak se napíše spousta zbytečnch řečí i sem co jsou _ty správné_ objekty. A oni správné objekty jsou asi jako yeti, někde možná snad existují ale nikdo si není jistý co to je.
11.12.2006 10:47 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
C++ vzniklo ze zcela jiného důvodu. :)
Táto, ty de byl? V práci, já debil.
Daniel Kvasnička ml. avatar 6.12.2006 19:34 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: V cem programovat?
Zadny jazyk prece neni dokonaly. U programovaciho jazyka jde predevsim o prehlednost, obratnost a podporu v oblasti, ve ktere ho chce clovek pouzit. A Python je na tom velmi dobre.
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
6.12.2006 21:42 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Však to nebyla kritika Pythonu, ale reakce na Osobne nepoznam objektovejsi jazyk ako python. Python je objektovým dokonce na poměrně slušné úrovni (mimo jiné i díky new-stylled class), ale není dobré při tom zapomenout na fakt, že původní návrh jazyka s tím vůbec nepočítal. Myslím, že Ruby je o v tomto ohledu něco dotaženější.
When your hammer is C++, everything begins to look like a thumb.
cezz avatar 6.12.2006 23:37 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
Az teraz som si pozrel ruby a vcelku pekny jazyk to je veru :-) Napriek tomu este stale osobne nepoznam objektovejsi jazyk ;-) Niekedy si na to vyhradim par dni snad.. Kazdopadne GTK chlebik najlepsie natriet maslom z pythona ;-) IMHO
Computers are not intelligent. They only think they are.
7.12.2006 11:25 Marek
Rozbalit Rozbalit vše Re: V cem programovat?
Presne tak.

Uroven navrhu jazyka Python pro OOP jasne doklada syntaxe definic metod. Navic citelnost nekterych vyrazu neni zrovna nejlepsi.

S Ruby se to neda srovnavat. Jedinou vlastnosti, ktera muze byt za urcitych okolnosti vnimana negativne je aktualni rychlost Ruby. Zatim jsem osobne nenarazil na projekt, ve kterym bych s tim mel problem. Ale u specifickych veci se to resit musi. A i Rubiste pak prepisuji kod do C. A ze ma C API na velmi vysoke urovni je vseobecne znamo. Rychle v nem napisete, co chcete. Jednoduse vytvorite wrapper na binarni knihovny, udelate objekt optimalizovany pro rychlost atd. Super.
7.12.2006 11:26 Marek
Rozbalit Rozbalit vše Re: V cem programovat?
... a i ta rychlost se vyresi v nove verzi Ruby pouzitim VM (napr. od Sunu)
6.12.2006 23:45 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
A to já jo…Smalltalk a Self. :-D
7.12.2006 11:05 Botanicus2 | skóre: 2 | blog: Vyber_distra
Rozbalit Rozbalit vše Re: V cem programovat?
OMG, na tos' prisel jak? No jako Python je sice docela objektovy, ale ne az tak moc, a ze je vsecko objekt, to tvrdi snad kazdej jazyk (asi je to 'in'...), nicmene ne vsade je to pravda, minimalne vim, ze u Javy, to neplati a u Pythonu o tom tezce pochybuju. Zarucene je to pravda u Ruby, no ostatne vyzkousejte, a BTW Ruby je jeden z nejobjektovejsich jazyku, s naprosto genialnim navrhem, taky se mi libi mnohem vic jak Python. A co se tyce zminovaneho Perlu, mno, ten skoro ani objektovy neni, uvidime, co prinese 6ka, ale zatim je to asi jako PHP a objektovost, takze des bes...

A co se tyce Ruby a GTK (taky v tom pisu ;) ), tak ruby-gtk je fajn vec :) Navic Ruby disponuje jednim z nejlepich webovych frameworku vubec - alespon podle mne - Ruby on Rails, doporucuju. Jen s tim dovetkem, ze zatim to hostingy moc nenabizi, ale IMHO je to otazka casu.
7.12.2006 11:11 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
Perl je taký, akým si ho používateľ urobí. Perl nerozhoduje za teba, ako máš myslieť. A 6-tka? Tam je imho táto vlastnosť ešte výraznejšia ako doteraz.
7.12.2006 12:33 Botanicus2 | skóre: 2 | blog: Vyber_distra
Rozbalit Rozbalit vše Re: V cem programovat?
Nevim, sestku neznam, jen vim, ze se o ni uz snad deset let jen mluvi, nekdo se toho boji, nekdo jasa, proste magie, nicmene slysel jsem cosi o tom, ze by mela bejt objektovejsi, pry...

A ze je Perl jaky si ho clovek udela, mno to teda heh...A na GUI bych ho v zivote nepouzil (horsi uz je snad jen PHPGTK :P ).
22.1.2007 18:45 Pavel Tobiáš
Rozbalit Rozbalit vše Re: V cem programovat?
Tak co chceš teda programovat? Pokud hry, doporučuju Javu. Pokud programy, doporučuju Delphi. Pokud webové aplikace, doporučuju PHP. Pokud cokoliv, jen aby to bylo multiplatformní, doporučuju Python. A pokud všechno, tak pak C++ nebo C#. Stačí?
6.12.2006 10:58 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Všechno se tu už řešilo a těžko se dočkáte nějakých nových názorů než co už je tu nablogováno
hajma avatar 6.12.2006 11:00 hajma | skóre: 27 | blog: hajma | Říčany
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
proč ne PERL?
21 promarněných znaků
7.12.2006 11:05 Botanicus2 | skóre: 2 | blog: Vyber_distra
Rozbalit Rozbalit vše Re: V cem programovat?
Na GUI? Fuj..
6.12.2006 11:16 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Do té ankety by se více hodily checkboxy ;-)
6.12.2006 11:19 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
1)Psani grafickych aplikaci (moznost psat i textove ale HLAVNE GRAFICKE programy)

Qt - podporuje jak "ciste konzolove", tak GUI aplikace.

2)Zadna QT knihovna (preferuju GTK)

Proc? Dival ses na "vnitrnosti" a ukazkove programy Qt a GTK nebo to posuzujes podle aktualniho skinu a podle toho, co se "na internetu povida"?

3)Uvital bych moznost prenosu programu z gnu/linuxu na windows

Qt! Rozhodne! Psal jsem ne uplne trivialni program (asi 10.000 radku, 10 vlaken) a protoze jsem pouzival "ciste Qt", tak fungoval po obycejne rekompilaci hned na Apple a i na Windows.

4)Uvital bych jednoduchy zapis a snadnou vyuku jazyka (assembler zatim nechci ;-))

C++ a Qt je opravdu velmi hezky citelne, dobre udrzovatelne a najdes hromadu programatoru, co to podporuji.

Nic proti Perl/PHP/Ruby apod., ale proste se mi na C++ a Qt libi, ze proste zkompiluju binarku, pribalim k tomu knihovnu a muzu to sirit v podstate na libovolny stroj na Linux, Mac nebo Windows (pochopitelne po kompilaci na prislusne platforme).
6.12.2006 11:28 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: V cem programovat?
Důvodů proč někdo preferuje GTK+ před Qt může být spousta (i když mě napadají jen dva):

1. licence

2. licence (no jo, ehm)

2. chci psát aplikace pro GNOME

"Samotné C++" nijak nezaručí, že kód v něm napsaný je čitelný a udržovatelný. Prakticky v každém jazyce lze psát čitelný a udržovatelný kód...
6.12.2006 11:53 Christof | skóre: 22 | Havířov
Rozbalit Rozbalit vše Re: V cem programovat?
GPL je spatna?
6.12.2006 12:04 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Pokud píšete vlastní projekt, máte s Gtk větší svobodu než s Qt. S Qt musí být (nechcete-li platit nekřesťanské peníze) váš projekt pod GPL, s Gtk si můžete vybrat nejen GPL, ale i libovolnou svobodnější (třeba BSD) nebo naopak méně svobodnou (třeba i uzavřenou).
6.12.2006 12:47 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
3000 Euro nejsou nekrestanske penize za closed-source (a komercni) projekt. Kde zijes?

Nejsem si jist, jestli s Gtk muzes uverejnit projekt pro BSD (resp. muzes uverejnit svuj projekt, ale pri distribuci s knihovnou bude knihovna LGPL (myslim!)) - ostatne i projekt vyuzivajici Qt muze byt treba BSD!
6.12.2006 21:28 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Já se spíš divím, vždyť tady se propaguje OpenOffice, protože se nebudou dávat zbytečné peníze Microsoftu za jeho MS Office (tuším asi 10 tisíc). Propaguje se tu Linux mimo jiné i proto, že je zbytečné si kupovat Windows (2 a půl tisíce Kč). Ale bez problémů tu spousta lidí propaguje Qt (statisíce korun) jako to správné řešení a předchozí argumenty uplatňované třeba na Microsoft a další komerční firmy tu neplatí. Pokud komunita protlačuje řešení zdarma a souběžně s tím propaguje jako správné řešení za statitisíce je to nekonzistentní. Uznávám, že pro GPL je to za nula, ale to nelze vždy. Mě přijde Qt jako brzda pro vývoj Linux aplikací a vůbec významné postavení Qt na Linuxu (neříkám výlučné, jen významné aby bylo jasno) jako fakt, který Linuxu velmi škodí pro jeho další rozšíření.
Luk avatar 6.12.2006 22:04 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: V cem programovat?
Jenže problém spočívá v tom, že nic srovnatelného s Qt tu prostě není. Tedy aby to byl skutečně plnohodnotný GUI framework v C++. Tím "srovnatelným" rozhodně nemyslím GTKmm a podobné bastly (ani FoxToolkit atd.).

Nelze vinit Qt z významného postavení, když nemá žádnou konkurenci. Kdyby někdo vytvořil opravdu kvalitní framework, šlo by ho používat místo Qt. Ale zatím to prostě nejde.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
elviin avatar 6.12.2006 23:04 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: V cem programovat?

Moje uvaha je z oblasti skifi. Ale... ted byla do boostu prijata knihovna GIL(Adobe Generic Image Library), kterou navrhl Adobe a postupne v komunite Boostu dostava konkretni tvar, jak ji lidi pouzivaji. Momentalne Adobe pouziva Boost asi ve 30 aplikacich. Tim chci rict, ... jelikoz povazuju Adobe za firmu, co grafice rozumi, pak by vitr mohl vanout z techto koncin. Kdovi, jestli si Adobe timhle neklesti cesticku.

Iniciativa pro GUI framework by urcite byla: "GUI libraries will always have specialized widgets, arbitrary graphics, deep operating system dependencies, different architectures; no GUI framework is good for everyone, so a "Boost::GUI" would be at best a popular option for specific tastes and needs, not a standard."

Po prijmuti noveho std c++09 se zrejme diskuze orientuji na toto tema. Zatim je to tabu, cehoz Qt vyuziva.

7.12.2006 00:03 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Jenže problém spočívá v tom, že nic srovnatelného s Qt tu prostě není

A dokud se bude v komunitě mohutně protlačovat Qt tak ani jiného nebude. Ze stejného ranku můžete mohutně protlačovat MS Office, protože nic srovnatelného s ním opravdu neexistuje, například jakákoli náhrada MS Access, nebo MS Excel je jen ubohá náhražka. A tak bychom mohli pokračovat.

Qt má konkurence dostatek, ale lidé jí používají ze stejného důvodu jako dávají přednost Windows před Linuxem. Je to prostě pohodlné a user friendly a hlavně je to namláceno do hlavy spousty lidem. Myslím si, že Qt Linuxu víc škodí, než pomáhá.

Kdyby někdo vytvořil opravdu kvalitní framework, šlo by ho používat místo Qt. Ale zatím to prostě nejde.

Slovo kvalitní je subjektivní. Proč Linux nedává energii, kterou dává do podpory Qt do jiných frameworků? Záměrně nejmenuji.
Luk avatar 7.12.2006 15:26 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: V cem programovat?
Slovo kvalitní je subjektivní. Proč Linux nedává energii, kterou dává do podpory Qt do jiných frameworků? Záměrně nejmenuji.
Obrovská podpora směřuje do GTK+ a jeho bindingů. Bohužel.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
7.12.2006 17:28 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Nerad to píšu, ale mám pocit, že pokud se nepočítají hodiny, náklady, nebo úsilí nic většího vzniknout nemůže.
7.12.2006 17:29 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Nerad to píšu, ale mám pocit, že pokud se nepočítají hodiny, náklady, nebo úsilí nic většího vzniknout nemůže.
8.12.2006 00:35 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
Clovece, co tady odvadis pozornost? O zadnym officu se nebavime a nikdy jsem nerekl, ze komercni SW = zlo!

Proc si myslis, ze je Qt brzda aplikaci pro Linux? Podle mne prave naopak Qt je velkou hybnou silou GUI aplikaci. PRAVE proto, ze komercni licence umoznuje zaplatit vyvoj a poradne vyladeni Qt, z ktereho zase muzou benefitovat GPL uzivatele.
8.12.2006 01:27 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Kdo to tvrdí, že jste řekl, že komerční sw je zlo?

Qt je brzda pro Linux, protože základní grafická knihovna má být součást API a zdarma. Linux začne být rozšířenější, až pro něj komerční firmy budou běžně psát sw, a k tomu je potřeba aby Linux preferoval základní grafické knihovny a základní prostředky pro grafické prostředí zdarma. Srovnejte to s cenou za grafickou vrstvu pro vývoj Windows.

Je moc hezké, že benefitují GPL uživatelé, ale Linuxu by velmi pomohlo, kdyby benefitovali poněkud více i profi uživatelé komerčního sw. Protože z GPL benefitují i uživatelé Windows a dalších OS, tudíž tato taktika v konečném důsledku znevýhodňuje Linux.
8.12.2006 03:59 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
OK, tohle nikdo primo nerekl, ze jsem rekl, ale cituji: Pokud komunita protlačuje řešení zdarma a souběžně s tím propaguje jako správné řešení za statitisíce je to nekonzistentní.
Pokud komunita protlačuje řešení zdarma a souběžně s tím propaguje jako správné řešení za statitisíce je to nekonzistentní.
Nechapu, proc by to nemelo byt nekonzistentni - komunita propaguje OTEVRENE, tedy GPL reseni. VETSINA bezne distribuce Linuxu JE GPL!

Nechapu, jak licence Qt podle tebe nemotivuje komercni firmy. V tom si opravdu odporujes - jako komercni firma bych prave byl stastny, ze mam nekoho, kdo mi za moje penize poskytne support a konzistentni "balik". (at uz to je RedHat nebo Trolltech)

Dale:
Linux začne být rozšířenější, až pro něj komerční firmy budou běžně psát sw
Jako treba Oracle? IBM? SAP? ;-)
a k tomu je potřeba aby Linux preferoval základní grafické knihovny a základní prostředky pro grafické prostředí zdarma.
Jako treba Qt? (GPL je zdarma!) GTK? wxWidgets?
Srovnejte to s cenou za grafickou vrstvu pro vývoj Windows.
Nevsiml jsem si, ze by Visual Studio a MSDN bylo pro komercni aplikace zdarma - narozdil od Qt, GTK, wxWidgets. Jen pro srandu se podivej na: http://www.sws.cz/default.asp?cls=SPresentTrees&StrType=1&StrSort=J9QAT0DXT
8.12.2006 04:20 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Nechapu, proc by to nemelo byt nekonzistentni - komunita propaguje OTEVRENE, tedy GPL reseni. VETSINA bezne distribuce Linuxu JE GPL!

GPL není jediné otevřené řešení.

Nechapu, jak licence Qt podle tebe nemotivuje komercni firmy. V tom si opravdu odporujes - jako komercni firma bych prave byl stastny, ze mam nekoho, kdo mi za moje penize poskytne support a konzistentni "balik". (at uz to je RedHat nebo Trolltech)

Naplno: Firma vyvíjející pro Linux nemůže zpravidla očekávát příliš vysoké zisky (výjimky potvrzují pravidlo), nebo mírněji pro útočné a chytající za každé slovo to lze říct ne tak vysoké, jaké lze očekávat pro řešení na Windows. Zpravidla program pro Windows si koupí mnohem více uživatelů, než program pro Linux. Jakékoli další náklady, které tedy pro firmu prodražují vývoj pro Linux znamená jen odrazování od tohoto vývoje, protože logicky uvažující firma prostě udělá rovnici výnosy mínus náklady a pokud se nevyplatí, vývoj pro Linux se nekoná. A tento výsledek vychází pro Linux bohužel velmi velmi často. (Prosím toto není útok na Linux.)

Jako treba Oracle? IBM? SAP? ;-)

Jako pokus hezké.

Jako treba Qt? (GPL je zdarma!) GTK? wxWidgets?

Už vidím jak někdo na GPL vydělává slušné peníze (opět výjimky potvrzují pravidlo). GPL model jako komerční model pro sw firmy nemůže příliš fungovat a také by nefungoval, pokud by se měl rozšířit. Pokud Vám to uniká, hlavním účelem firem není propagovat GPL, ale vydělávat.

GTK a wxWidgets je řešení vhodné a nebýt toho, mnoho sw ze stran firem by vůbec na Linux nebylo.

Nevsiml jsem si, ze by Visual Studio a MSDN bylo pro komercni aplikace zdarma - narozdil od Qt, GTK, wxWidgets. Jen pro srandu se podivej na: http://www.sws.cz/default.asp?cls=SPresentTrees&StrType=1&StrSort=J9QAT0DXT

Tak si toho konečně račte všimnout. Zjistěte si fakta a pak argumentujte. A všimněte si, že Visual Studio je zdarma pro jakoukoli Vaši licenci!!!! Je jedno, jestli děláte GPL, BSD, public domain, nebo closed source, nebo co si vymyslíte za licenci. Windows je v tomhle napřed. Bohužel. Proti tomuhle Linux nemá co postavit, to je potřeba říct.

Qt je zdarma jen pro GPL, GTK je zase (nevím to jistě) LGPL, snad jediné wxWidgets jsou licenčně svobodné alespoň natolik jako programy dělané s Visual Studio.
8.12.2006 13:53 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
Ach jo - demagogie nad demagii.... Par bodu:

Qt je zdarma. TECKA. Je k dispozici i komercni variant. TECKA. Psat, ze je "zdarma JEN pro GPL" je psychologicky zavadejici, i kdyz technicky spravne.

GTK a wxWidgets na tom jsou licence IDENTICKE jako Visual Studio (muzes je do programu "natvrdo prilinkovat").

Nechapu toto: "Visual Studio je zdarma pro jakoukoli Vaši licenci" - takze kdyz chci za pomoci Visual Studia napsat GPL (nebo closed source komercni) program, tak si Visual Studio nemusim kupovat? SUPER!

"Jako treba Oracle? IBM? SAP? ;-) Jako pokus hezké." - znas v oblasti IT vetsi firmy? (krome MS).
8.12.2006 14:11 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Psat, ze je "zdarma JEN pro GPL" je psychologicky zavadejici, i kdyz technicky spravne.

Na tom není nic zavádějícího, to je prostě důležitá skutečnost, která omezuje její použitelnost. Např. pokud je nějaký produkt zdarma jen pro použití ve školství, pak není "zdarma tečka", ale je zdarma jen pro školy. Stejně tak Qt není "zdarma tečka" ale zdarma pouze pro použití v GPL projektech (tedy ani zdaleka ne všech open source).

8.12.2006 01:37 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?

Pro mne jsou to nekřesťanské peníze, vezmu-li v úvahu, že je dvojnásobek ceny C++ Builder Professional a skoro tolik, co stojí C++ Builder Enterprise. Srovnám-li, co nabízejí tyto produkty a co nabízí Qt, pak tu cenu musím považovat za naprosto neadekvátní.

Gtk je LGPL, takže program, který je proti ní dynamicky linkován, může mít licenci, jakou uznám za vhodné. Qt je GPL, takže program, který proti ní linkuji, lhostejno zda staticky nebo dynamicky, musí být GPL.

8.12.2006 02:06 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Srovnáváte nesrovnatelné. C++ Builder je jednak trochu méně rozšířený na Windows, než Qt na Linuxu, tudíž jeho význam není takový. Na druhé straně dnes na Windows letí spíš Visual Studio a to je v základní verzi zdarma. Samotné Borlandí produkty jsou už spíš minulost. K tomu si ale připočtěte, že C++ Builder je kompletní prostředí, které využívá skutečně možnosti C++, zatímco Qt Vás nutí jednak znásilňovat přes moc, a jednak C++ moc nevyužívá. Například C++ Builder Vás opravdu nenutí ošetřovat chyby bez výjimek apod..

Problém je ten, že MS rozumí, že pro zvýšení procenta rozšíření Windows musí dát k dispozici kvalitní vývojové nástroje nejlépe zdarma. Proto taky nejdříve nalil do Borlandu 150 mil. dolarů a později vydal celé vývojové prostředí Visual Studio zadarmo. Samozřejmě i pro komerční účely.

Linux naproti tomu nemá na tohle adekvátní odpověď. A navíc silně otravuje licenčními problémy. Nepropaguji Windows, jen vysvětluji, že prosazováním Qt se dělá Linuxu medvědí služba.
8.12.2006 02:17 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: V cem programovat?
Možná jste mne špatně pochopil. Snažil jsem se vysvětlit, proč jsem výše označil cenu komerční licence Qt termínem "nekřesťanské peníze".
8.12.2006 04:39 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Promiňte, omlouvám se.
8.12.2006 04:01 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
Tyhle produkty neznam, ale urcite se v nich daji vyvijet aplikace prenositelne pod Linux, UNIXy, Windows i Mac...
6.12.2006 12:07 jenda
Rozbalit Rozbalit vše Re: V cem programovat?
GPL je takova jaka je. Ale kdyz napisete uzavrene software pod Qt a zkusite to rozsirit po Internetu (napr. jako ukazku), tak Vas zcela urcite zacne obtezovat nejaky FSF-apostol s tim, ze chce ty zdrojaky.
6.12.2006 11:45 jenda
Rozbalit Rozbalit vše Re: V cem programovat?
jak to delate v Qt, kdyz chcete odchytit klik na Label?
andree avatar 6.12.2006 12:14 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: V cem programovat?
snad pomozie subclassovat to, nie?

trolltech mailinglist, google
6.12.2006 15:25 jenda
Rozbalit Rozbalit vše Re: V cem programovat?
jj. Moje otazka byla takova ta sokratovska, aby bylo videt, ze je treba uz i u takovych primitivnich veci se vydat do hlubin Qt. Vlastne je treba udelat od kazdeho widgetu odvozenou tridu, protoze u kazdeho neco chybi. Jak je to vlastne pak u tech PerlQt, PyQt a s tim sublassingem?

Chtel jsem jenom trochu zchladit ten zapal meho predrecnika. Protoze ve spojeni s tim moc-procesorem ma podle mych zkusenosti zacatecnik znacne problemy uz pri kompilaci.

Presto dik za ten link.

P.S. Proc jsme Qt opustili byl ten problem, kdy jsme meli vektory pointru na objekty a kdyz chtel clovek pak nastavit napr x-souradnici nejakeho objektu, tak to meslo obejit jinak nez s _cast_. Coz je samozrejme hloupe, kdyz se v aplikaci nastavuje vlastnost nejakeho objektu, tak se ptat jaka je to trida a napr. ve switchi pak volat tu metodu pro ten konkretni objekt. To se nam nepodarilo obejit ani odvozenymi tridami. Jine toolkity to resi tak, ze si interne napr. pres hash-tabulku k tomu pointru na ten objekt najdou tu spravnou metodu. Pro genericke GUI je proto pro nas Qt nepouzitelna.
Luboš Doležel (Doli) avatar 6.12.2006 16:02 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: V cem programovat?
Chtel jsem jenom trochu zchladit ten zapal meho predrecnika. Protoze ve spojeni s tim moc-procesorem ma podle mych zkusenosti zacatecnik znacne problemy uz pri kompilaci.
Co je na použití qmake tak složitého (qmake se postará o vše, i o moc)?
Proc jsme Qt opustili byl ten problem, kdy jsme meli vektory pointru na objekty a kdyz chtel clovek pak nastavit napr x-souradnici nejakeho objektu, tak to meslo obejit jinak nez s _cast_.
Můžete to nějak rozvést? Pod tím si dovedu představit jen vektor QWidgetů, u kterých X souřadnici nastavíte raz dva...
6.12.2006 16:31 jenda
Rozbalit Rozbalit vše Re: V cem programovat?
no asi takhle nejak;

funkce(int a, QWidget *p)

{

... bla bla

p->SetX(a) // to se myslim kompileru nelibi, rika neco takoveho, ze ta metoda neexistuje ...

...

}
Luboš Doležel (Doli) avatar 6.12.2006 16:37 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: V cem programovat?
A proč by nešlo p->move(novéX, p->y())?
6.12.2006 12:49 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
1, PROC? 2, PROC?? 3, PROC??? Vzdyt od toho je to GUI jako Graphic UI - a label rozhodne graficky "nevypada" jako klikaci! 4, Viz ostatni komentar
cezz avatar 6.12.2006 15:26 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: V cem programovat?
Aby sa zjavilo warning okno s textom "Na mna neklikaj, naco tu mas ten button?!!" :-D ;-)
Computers are not intelligent. They only think they are.
6.12.2006 15:27 jenda
Rozbalit Rozbalit vše Re: V cem programovat?
napr. protoze je na to uzivatel od predchozi aplikace zvykly ....
6.12.2006 20:12 Abraxis
Rozbalit Rozbalit vše Re: V cem programovat?
OK, a novi uzivatele si proste musi zvyknout, ze?
freshmouse avatar 6.12.2006 11:52 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Já jsem nedávno začal s C s tím, že (tak trochu) vím, do čeho jdu. Ani se v tom tak moc nechci naučit programovat, jako spíš v něm chci pochopit programování. Naučit se v tom programovat taky chci, ale to je až na druhém místě.

Neřeknu ti o tom podrobnosti, sám se to teprve učím, ale jsem rád, že jsem začal v právě v C. Ber to tak, že hned nenapíšeš něco, co se ti bude OPRAVDU hodit, to bude chvilku trvat. Budeš se učit nějaké základy typu cykly, podmínky, pak přijdou pointery a další věci, v těch místech tě C začne srát, ale pokud se nevzdáš, zvykneš si. :-)

Já se domnívám, že v jiných jazycích napíšeš velmi snadno špatný kód. Ale C: to buď umíš a napíšeš v něm cokoli -- anebo neumíš a nenapíšeš v něm nic. Nic mezi tím...

Mně by se pro výuku docela líbil i ten Python, bohužel jsem nenašel na internetu kvalitní návod, nebo tak něco. Má to hezkou syntaxi a brzo v tom "něco opravdového" napíšeš. Ale platí odstavec výše. (Ovšem byla by chyba srovnávat Python a C, jak někdo řekl výše...)

Po C bude následovat objektový jazyk a asi to bude Java. Třeba se mi v různých věcech nelíbí, ale beru ji jako věc, co v životě použiju. Je to progresivní technologie, řekl bych.

Co se Pythonu týče, hezkou větu o něm řekl Kyosuke: programátoři v Pythonu přepisují pomalé kusy kódu do C. :-D
6.12.2006 12:18 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: V cem programovat?

Já se domnívám, že v jiných jazycích napíšeš velmi snadno špatný kód. Ale C: to buď umíš a napíšeš v něm cokoli -- anebo neumíš a nenapíšeš v něm nic. Nic mezi tím...

Asi jsi jeste moc C zdrojaku programu nevidel co? Pravda je takova, ze v C je to uplne stejne jako vsude jinde: spatny kod se pise velice lehce.
6.12.2006 14:19 prOm3TheuS | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
pak přijdou pointery a další věci, v těch místech tě C začne srát, ale pokud se nevzdáš, zvykneš si.
He he, úplně přesně. Četl jsem nějakou knihu o Céčku. Do kapitoly ukazatelů jsem to bral docela rychle, neboť základní věci jako podmínky a cykly znám a potřeboval jsem znát pouze syntaxi. Dál už jsem začal docela nestíhat a vzdal jsem to. Takže říkáš, že když to nevzdám, tak z toho bude ovoce?
freshmouse avatar 6.12.2006 16:55 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: V cem programovat?
Já nevím, neovládám to tak moc, abych to mohl posoudit. Ovoce... Ovoce bude, že na to budeš moci navázat dalším učivem...

Já se C učil proto, že jsem chtěl pochopit programování, jak jsem řekl výše. Chci také pochopit počítač a nějakým způsobem se s ním sžít, poznat ho. Já se vlastně C učím hlavně kvůli ovládání paměti a všem těmhle věcem, které "skriptovači" a další neznají a / nebo nechtějí znát.

Jasně, mohl jsem si svoje tik ťak sesmolit někde v Pythonu třikrát tak rychleji než v C, ale jsem přesvědčen, že když budu znát C, tak potom třeba i v tom Pythonu budu psát efektivněji. (Ano, mohl jsem se naučit normální jazyk. A krásný. Ale já jsem řekl NE! :-))

... pokud tedy (po perfektně zvládnutém C) se ještě nějaký Python budu (chtít) učit. Když totiž porovnávám výkon aplikací v C / C++ vs. v Pythonu, tak je vítěz jasný, což není způsobeno tím, že by všichni programátoři v Py byli blbci, ale i (hlavně) podstatou zmíněných jazyků... Je otázkou, co člověk programuje.

No, a jinak: jak se to C učím, tak si dělám poznámky, takové taháky, kde si můžu cokoli rychle zopakovat. Jednou je zveřejním. :-)
6.12.2006 18:27 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: V cem programovat?
Chci také pochopit počítač a nějakým způsobem se s ním sžít, poznat ho.
Pak nelze jinak, než doporučit assembler ;-)
6.12.2006 18:12 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: V cem programovat?
pak přijdou pointery a další věci, v těch místech tě C začne srát, ale pokud se nevzdáš, zvykneš si.
He he, úplně přesně. Četl jsem nějakou knihu o Céčku. Do kapitoly ukazatelů jsem to bral docela rychle, neboť základní věci jako podmínky a cykly znám a potřeboval jsem znát pouze syntaxi. Dál už jsem začal docela nestíhat a vzdal jsem to. Takže říkáš, že když to nevzdám, tak z toho bude ovoce?
Vždyť tam vlastně nic jiného než ukazatele nejsou :-)

Možná by stálo za uvážení, zda by nebylo lepší nejprve se naužit assembler. Pak již není na ukazatelích nic těžkého.
6.12.2006 22:07 hibbit | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
...nejprve se naucit assembler ... nelze jinak, nez doporucit assembler ...
Rad bych nadsene pritakal, ale... Berte tohle jako dusledek moji osobni, obecne nijak relevantni zkusenosti.
Presne v duchu Svejkova "Voni jsou ty cesty Pane rozlicne" mne kdysi davno jako vubec prvni podrobnejsi setkani s nejakym pocitacem jakymsi omylem potrefilo skoleni na jistem vyvojovem systemu se Z80. Assembler jako takovy byl az nakonec, pokud se neco programovalo, tak to bylo datlovanim hexa strojovych kodu primo do pameti v (verte nebo ne) "debuggeru". Fascinujici, vzrusujici, uz jenom ta ztrata nijak neoduvodneho respektu pred tajemnou vypocetni technikou stala za to - co jineho je hardware nez velice rychly srotovnik?
Pak se dlouho nic nedelo, prisly PC, u pocitace ciste jako uzivatel. Po dlouhych letech me osobni zajem privedl k C. Jak se tak pomalu prokousavam Heroutem, napadlo me: Byl bych bez one predchozi zkusenosti schopen pochopit co je to pointer? A pokud ano,o kolik dele by to trvalo? Jak dlouho (pokud vubec) bych se vyrovnaval s faktem, ze jazyk mi dava jenom elementarni prostredky a dal uz je pytel knihoven? Nevim nevim. Odpovedi mi vychazeji "tezko, hodne dlouho, stezi". Na druhe strane - je tohle obecne efektivni cesta?
Neco mi rika ze neni a ze jista uroven abstrakce je nejenom prospesna ale nutna.
Nechval dne před fsck a neříkej hop dokud jsi ne sync.
6.12.2006 12:19 petr
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobrý den,

osobně si nemyslím, že správná cesta k tomu "stát se programátorem" je zeptat se pár lidí a podle toho, co řeknou, používat konkrétní kombinaci... Tak trochu si myslím, že byste k tomu měl dojít sám... Internet zjevně máte, tak si najděte příklady ve zmiňovaných jazycích, nějak si je seřaďte třeba podle sympatií, vymyslete si reálnou aplikaci a napište ji ve všech jazycích... A pak zjistíte, že když potřebujete XML, že to nekončí jen podporou UTF-8 ale např. podporou namespaců, když používáte schránku jak moc je to integrované do cílené platformy, jak budete psát client-server aplikace, jak budete vaše aplikace instalovat/distribuovat... Co třeba další knihovny; jen namátkou: generování reportů, grafů, tiskové sestavy... Na tyto otázky si musíte najít odpověď sám, bohužel...

Nezbývá než Vám popřát hodně štěstí!

PETR
6.12.2006 13:27 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
ak prechod na windos, tak sa pozri na C++ a wxwidgets
6.12.2006 22:34 bodo | skóre: 3
Rozbalit Rozbalit vše Re: V cem programovat?
Suhlasim wxWidgets je slusny framework. Uz verzia 2.4.2 je velmi slusna:). Btw ucit sa programovat s nejakym konkretnym jazykom je blbost, zakladom su podla mna pochopenie datovych struktur a algoritmov, potom uz na jazyku az tak nezalezi:), dokonca aj by si clovek vystacil s perom a papierom keby to slo skompilovat :).
6.12.2006 13:46 Pavel Kysilka
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Chybi mi zde policko "v nicem".

Protoze "graficke aplikace" je hodne siroky pojem. Myslite jako desktopove ? Nebo formulare ? Nejake reporty ?

Chcete jen aplikaci naklikat (nejaky RAD nastroj) nebo delat modely ?

Uz vidim nektere lidi, jak by bez zadani, programovali v jave nejake slozite vypocty s vizualizacemi v jave. Jako, ze jsem javista a delam ve Swingu.

Takze zpet na stromy a ujasnit si, co vlastne budete psat a potom, jaky se pouzije programovaci/jiny jazyk a interface. Ne -li v prvni rade hotove reseni. Temer prvni se pokud vim delat design aplikace (nemyslim ted vzhled).

bye gf
6.12.2006 14:07 Michael
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
(+) C++ neni az tak spatny, muzete si totiz vybrat jakou podmnozinu z neprebernych moznosti jazyka budete pouzivat. C++ se naucite rychle pouzivat, ale delsi cas bude trvat nez v nem zacnete myslet (tedy vyuzivat spravne moznosti jazyka na spravne veci)
(+) Davate-li prednsot GTK, tak bych vasi pozornosti doporucoval knihovny GTKmm, coz je rozhrani GTK+ pro jazyk C++, GTKmm programy lze prenest na Windows vcelku bez problemu (Inkscape je pouziva)
(+) Pro C a C++ existuji obrovske hromady knihoven
(-) Nevidel jsem poradne IDE pro GTK+, sam to patlam v GLADE a Kate
(-) Preklad C++ je oproti C pomaly a pametove narocny
6.12.2006 14:16 Lukoko | skóre: 8 | blog: Lukoko | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Rozhodne Python. Snadno prenositelnej mezi Linux / win / Mac. Muzes pouzit WxWindows, pomoci kterejch bude aplikace behat nativne vsude. Na linuxu se bude vykreslovat pomoci GTK a na win pomoci nativnich windowsich okynek, takze to bude pro uzivatele mnohem prehlednejsi. Navic je python podle me na graficky/wokeni aplikace mnohem rychlejsi nez java.

Proste python je bomba ;-)
Mac OS X je taky unix
freshmouse avatar 6.12.2006 16:29 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: V cem programovat?
Proč mi do toho nesedí / sedí až moc ta patička?
Hledá se PYTHONISTA (fulltime) !!!
:-D
6.12.2006 19:40 sorrow_soul
Rozbalit Rozbalit vše Re: V cem programovat?
Proč mi do toho nesedí / sedí až moc ta patička?
Hledá se PYTHONISTA (fulltime) !!!
:-D
Protože život je pes a dobrých programátorů není nikdy dost..
USE="brain google" || rftm -vv
6.12.2006 21:37 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
Python je skvělý jazyk, hodně v něm dělám a líbí se mi čím dál více.

Nevýhodou Pythonu je to, že jeho autor nehodlá držet zpětnou kompatibilitu, tedy Python 3000 až bude venku (zatím se o něm roky mluví) bude smutný den pro pythonisty. Navíc oproti Javě nemá Python ani stabilní bytekód ani nectí kompatibilitu, takže je otázkou jestli se hodí pro větší a aplikace. Enterprise věci rozhodně nemohou být programovány v takovém jazyku.

Jinak Python můžu celkem doporučit.
6.12.2006 23:50 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
…a Smalltalk-80 má téměř dokonale stabilní bajtkód už skoro třicet let… :-) Kdepak soudruzi pythonisté dělají chybu? :-D
7.12.2006 00:12 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: V cem programovat?
A kdepak soudruzi Smalltalkisté dělají chybu, že o Smalltalku není moc vidu. :-)

Python dělá rozhodnutí, které z něho dělají jen skriptovací jazyk, nikoli profi jazyk. Možná, že kdyby autor Pythonu musel udržovat, nejlépe sám velký projekt, jeho postoj by byl vyzrálejší a pochopil by co znamená ochrana investic do kódu.
7.12.2006 00:34 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: V cem programovat?
Guido je teď v Googlu (tedy spíš Gooido? :-D ;-)), tak uvidíme, jestli tam na něj nebudou někteří štěkat. ;-)
6.12.2006 14:32 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Jazyk, toolkit, ide: Python, pygtk, idle + ipython.
Táto, ty de byl? V práci, já debil.
6.12.2006 15:00 Karel
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
V Monu, GTK#, pojede vsady :)
6.12.2006 16:44 minority
Rozbalit Rozbalit vše Re: V cem programovat?
K Monu se jen přidávám. Přenositelnost směrem na Windows je i při použití Gtk bezproblémová a máte za sebou celkem silný a dnes i v Mono docela stabilní framework. Navíc Mono má dobrou integraci do Gnome. Možná bych se podíval i na Windows.Forms, které pod Gnome běží docela dobře a na Windows už to netřeba vůbec komentovat.
6.12.2006 17:35 Karel
Rozbalit Rozbalit vše Re: V cem programovat?
:) se divim, ze tu na nas jeste nekdo nevletel :), jj, sam teda windows.forms nepouzivam, ale ted v monu 1.2.1 vypada pouzitelnost velice slusne, jeste by me teda zajimaly nejaky testy vykonu mono/linux, mono/win32 MS .NET2.0/win32
David Watzke avatar 6.12.2006 15:13 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
C++ snad na vše, kromě složitějšího zpracování textu :-D

Perl je super jazyk, ale ne na GUI.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
6.12.2006 16:45 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
hmm, callbacky môže človek robiť v čomkoľvek. A GUI by rozhodne nemalo byť programované. Len definované s bindovaním callbackov. A to sa dostávame k tomu, že stačí jeden midlayer chrústajúci X(HT)ML s pár plugovateľnými elementami, so systémom bindovania callbackov a máme platformovo a implementačne nezávislé GUI. V konečnom dôsledku sa dostaneme k tomu, že každý callback v rámci jednej aplikácie by bol užívateľsky konfigurovateľný.
Cez vianočné voľno plánujem tlstnúť a spísať (bez prístupu k internetu) viac o takýchto predstávach :-)

btw, otázka GTK vs Qt ... čo je viac? sloboda programátora (voľba toolkitu) alebo sloboda užívateľa (voľba výzoru)

Josef Kufner avatar 6.12.2006 17:38 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: V cem programovat?
Jo, tohle jsou celkem sympatické myšlenky. Taky už mi (a hádám, že nejsem sám) delší dobu v hlavě straší něco jako API, které by se staralo o GUI a ne o widgety. A to až do té míry, kdy by neplatilo současné 1 okno = 1 program (nebrat doslova).

Filozofická otázka: Vadí něčemu, že si kus aplikace z jednoho okna vytrhnu a přilepím do jiné?
Hello world ! Segmentation fault (core dumped)
6.12.2006 17:51 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
hmm, myslím, že uvažujeme podobne :-))

Filozofická odpoveď: licencia :-)
v prípade, že by callbacky boli iba libky, ktoré samotný midlayer dynamicky ťahá (povedzme, že by mal loader aj pre javu, aj pre C/C++, aj pre perl, v núdzi aj pre python ...) odtiaľto sa dostávame k projektu parrot (veď aký je dôvod, že by sa napr C nemohlo interpertovať?)

6.12.2006 21:45 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
veď aký je dôvod, že by sa napr C nemohlo interpertovať?
Pokud vím, tak žádný takový důvod není ;-)
When your hammer is C++, everything begins to look like a thumb.
6.12.2006 15:41 thingie
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč programovat?
6.12.2006 17:07 petr
Rozbalit Rozbalit vše Re: V cem programovat?
Protože maštěním v PHP si člověk vydělá víc než prodáváním hotdogů... (můj případ) ;-)
6.12.2006 17:19 thingie
Rozbalit Rozbalit vše Re: V cem programovat?
O programování se přednáší, diskutuje i hádá (a ideálně si za to nechat platit). Dělat to je pod úroveň civilizovaného člověka.
6.12.2006 17:21 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
otázka sa týkala programovania, odpoveď je OT :-)
multi avatar 6.12.2006 17:18 multi | skóre: 38 | blog: JaNejsemOdsut
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
jazyk JAVA
vyvojove prostredi Eclipse
Fitness ajťák: kutilův web; bezdrátová čidla teploty vývoj softwaru linux server
6.12.2006 18:13 razor | skóre: 33
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
VisualWorks SmallTalk :) Grafické aplikace umí. Žádná QT knihovna. Přenos mezi platformami bezproblémový. No a je to jazyk s extrémně jednoduchým zápisem.
6.12.2006 18:15 petr
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Prolog
alblaho avatar 6.12.2006 18:26 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Cesta nejmenšího odporu je asi C++. Nejkrásnější jazyk z tvého výčtu je ale Ruby.

http://www.abclinuxu.cz/blog/paskma/2006/1/14/117127

C++ je mocný nástroj, kterým si ale můžeš ustřelit nohu.
6.12.2006 18:28 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Fortran.
6.12.2006 23:00 vend | skóre: 19
Rozbalit Rozbalit vše Re: V cem programovat?

Konečně pořádný hlas! Ale zásadně FOTRAN 68. Novější verze je pro sraby :-D

GUI taky, samozřejmě. Nejlepší vstupně/výstupní zařízení je ovšem dálnopis!

Slzu jsem již zatlačil...

Daniel Kvasnička ml. avatar 6.12.2006 19:26 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Ja doporucuju Python. Co se tyka GUI, mam s nim zkusenosti jen s wxPythonem (v pohode vsechny tri hlavni platformy) a o PyQt vim, ze je na Macu mrtvy, jinak asi v pohode.

Kdyby ses ale rozhodl pro web, pak urcite ten Python.
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
6.12.2006 19:29 xyz.007 | skóre: 2 | blog: kill_Bill_Gates
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak jsem se rozhodl pro P Y T H O N.
Doporucujete mi pouzit wxPython, PyGtk, Tkinter, PythonCard nebo Tix ?
6.12.2006 19:41 Stanislav Bohm
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Psal jsem ted projekt do skoly, jednoduchou deskovou hru a celkem dlouho jsem vybiral jazyk. Mel jsem velmi podobne pozadavky. Aby to bylo bylo v GTK, rychle napsane a abych mohl pro kamarady kdyz tak udelat binarku pod wokna. Ve vsech jazycich ktere jsou v ankete jsem uz napsal alespon par jednoduchych aplikaci. Nakonec jsem zvolil Python, ac jako k jazyku mam k nemu par vyhrad. Hlavni duvod bylo pyGTK v kterem se pise celkem dobre a ma dobrou dokumentaci. Navic jde vyrobit nativni binarku pro wokna. Nerikam ze Python je ten nejlepsi jazyk, ale na tve pozadavky to bude asi nejlepsi volba
6.12.2006 20:52 žabža
Rozbalit Rozbalit vše Re: V cem programovat?
Odpovědět | Sbalit | Link | Blokovat | Admin
Ač to tady vypadá, jakoby všichni programovali v Pythonu, situace "tam venku" (mimo ABC Linuxu) je poněkud jiná...

Tam letí věci jako Java, C#/.NET/Mono, C++ ...

Tím nechci říct, že python ( nebo perl či ruby ) i s nějakými bindings na grafické toolkity nemá své místo, ale pokud s programováním začínáte a nevíte co přesně chcete programovat, tak je python (resp. cokoliv mimo ty tři výše uvedené) _podle mě_ extrémně špatná volba...
6.12.2006 21:54 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Proč si vlastně tolik lidí myslí, že umět programovat == znát jeden jazyk?
When your hammer is C++, everything begins to look like a thumb.
6.12.2006 22:36 žabža
Rozbalit Rozbalit vše Re: V cem programovat?
Nejspíš proto, že aby se člověk mohl programováním živit, stačí právě znát jeden jazyk (a často ani ne moc dobře)... A když se tím uživím (programováním), tak to přeci umím, ne?
7.12.2006 08:24 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: V cem programovat?
a preto letí Java/C# :-) Jazyky, kde programátora netreba :-)
7.12.2006 15:19 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: V cem programovat?
Nejspíš proto, že aby se člověk mohl programováním živit, stačí právě znát jeden jazyk (a často ani ne moc dobře)... A když se tím uživím (programováním), tak to přeci umím, ne?
Á kolega bude také z VŠE :-D
When your hammer is C++, everything begins to look like a thumb.
7.12.2006 15:37 žabža
Rozbalit Rozbalit vše Re: V cem programovat?
Kolega je z FI MUNI, ale koukám se kolem sebe...
6.12.2006 22:58 Stanislav Bohm
Rozbalit Rozbalit vše Re: V cem programovat?
Ale Python neni odpoved na to jak se zivit programovanim (tim nerikam ze to nejde), ale je to odpoved na pozadavky jake si urcil autor blogu
6.12.2006 23:10 žabža
Rozbalit Rozbalit vše Re: V cem programovat?
No souhlasím s tím, že v Pythonu s GTK+ bindings (no po pravdě mám zkušenosti jen s Perlem + GTK+) jdou psát rychle a snadno jednoduché (a občas i složitější, no dobře) klikací aplikace, tedy to co tazatel chtěl ....

Ale stejně si myslím, že se i tak vyplatí použít Javu/C++/C# a investice do učení se Pythonu je taková ... no není tak úplně výhodná, jak by mohlo plynout z téhleté diskuse (kde téměř všichni vehementně prosazují Python).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.