Portál AbcLinuxu, 29. prosince 2025 17:23


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

Vložit další komentář
Luboš Doležel (Doli) avatar 5.12.2006 16:53 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Odpovědět | Sbalit | Link | Blokovat | Admin
Mě fascinuje ten názor "C++ je těžké se naučit a používat". C++ jsem se naučil ve 12 letech, těžké to nebylo. Píšu v něm 5 let (už i komerčně), těžké to není.
5.12.2006 17:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Mluvíte nepochybně o podmnožině C++. :-D
5.12.2006 17:30 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Ono je hlavne velice tezke implementovat kompilator C++. Proto se z C++ pouziva nejmensi spolecny jmenovatel u ktereho se predpoklada, ze bude fungovat na vetsine kompilatoru
elviin avatar 5.12.2006 17:45 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Tohle tvrzeni uz prevazne neplati a u vyznamnych prekladacu jako je gcc nebo msvc uz vubec. Napr. se podivejte na tuto stranku, kde jsou reporty z prekladu cvska Boostu.
5.12.2006 18:24 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Tohle tvrzeni uz prevazne neplati
Což je přesně ten důvod, proč se v Mozille nesmějí používat šablony, STL, jmenné prostory, výjimky nebo RTTI :-)

Na druhou stranu, zajímalo by mne, jestli ta hláška updated and maintained by má něco společného s reálným stavem věcí…
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.12.2006 18:44 Abraxis
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Podle mne je Mozilla uz docela moloch a zaslouzila by vyrazne prepsat... Oddelit striktne Gecko (a to napsat v ciste C++ a vyuzivat prave uz sablony, vyjimky, jmenne prostory apod. - dneska uz to vazne ma kazdy slusny C++ kompiler bez problemu) a front-end (a ten napsat za pomoci nejlepe Qt, GTK nebo wxWidgets...). Nicmene to nevidim realne - to spis cekam, az bude KHTML nejak "nativne" i pro Windows ;-)

Bez urazky - Mozilla udelala pro OSS svet hroznej kus prace, sam jiny browser nepouzivam, ale je na 2.0 uz videt, ze proste by zase za chvili zaslouzila ocistnou kuru (1.5 mi snad nepadla, 2.0 uz nekolikrat).
elviin avatar 5.12.2006 18:50 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Tak jako tak jsou to jen guideline - voditka, ne pravidla:) Je to otazka, co je pro mozillu jednodussi, pokud to funguje od roku 1998, pak je lepsi nechat to tak byt. Pokud chci kompilovat vsude mozne, musi se drzet tohoto voditka. Videl jsem par diskuzi, kde se probira, jestli uz to neni striktni. Cekat na posledni prekladac, ktery implementuje standard c++ je nesmysl.
5.12.2006 18:52 Abraxis
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Z te stranky: "C++ portability guide... 27 March 1998"!!!! Tedy vec stara 8 (!) let! Tehdy existovaly cerstve existovaly Windows 98 a NT 4.0, Linux 2.2 a treba GCC 3.0 vzniklo az v roce 2002...
5.12.2006 22:51 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Z te stranky: "C++ portability guide... 27 March 1998"!!!!
Ano. Taky je tam napsáno updated and maintained, na což jsem se ve svém příspěvku snažil poukázat v naději, že to případného šťourala odradí od podobné reakce. Neodradilo.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
6.12.2006 00:51 Abraxis
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Ano, mas pochopitelne pravdu, ale kdyz se podivas dolu do revizi, tak uvidis:

Revision History. * 0.5 Initial Revision. 3-27-1998 David Williams * 0.6 Added "C++ Style casts" and "mutable" entries. 12-24-1998 Ramiro Estrugo * 0.7 Added "nsCOMPtr" entry and mozillaZine resource link. 12-02-1999 Ramiro Estrugo * 0.8 Added "reserved words" entry. 2-01-2001 Scott Collins

Tedy jen kosmeticke zmeny a i tak je posledni stara uz skoro 6 let (a to tam pribyly po 2 letech od 1999 jen asi 3 ostavce).

Proste - dneska uz je opravdu technologie nekde jinde. Ano - da se psat timto stylem C++ (Firefox funguje), ale zaplati se za to "znovuvymyslenim kola", vetsim poctem chyb, horsi optimalizacia apod. (tedy to, co nevidis na prvni pohled).
5.12.2006 19:37 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
No zrovna nedavno jsem resil u jednoho projektu co mame na sourceforge proc to pada na SIGABORT. Nejakej aktivista totiz pridal do projektu knihovnu loki. Loki je knihovna popsana v knizce "Modern C++ Design" uz tady o ni byla rec. Po tom co jsem to zkompiloval na 64/32bit RedHatu, na Debianu a na Gentoo a potom co jsem sachoval s ryznyma optionama pro kompilaci, jsem zjistil, ze s gcc 3.x to nepada jen kdyz to prelozim s -O0. Na gentoo s gcc 4.x to nepada ani s -O2. Na druhou stranu takovym silenostem jake jsou v te knize urcite patri budoucnost, porad je to lepsi nez mozilli:

#define NS_INTERFACE(a) class a: public interface {

Kdo ma porad zjistovat jesli muzu/musim napsat strednik za necim co nevim co je a co je #definovano jako makro v nejakym headeru (includovanym z headeru(includovanym z headeru,...)))
elviin avatar 5.12.2006 20:03 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Pochopil bych loki jako mozny zpusob, jak veci resit, inspiraci, ale primo ji likovat...:[
6.12.2006 14:04 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
My to vlastne nelinkujeme, jen z toho pouzivame par sablon (auto_ptr apod.) Na konci svyho snazeni jsem dospel k nazoru, ze chyba mozna vubec neni v kompilatoru ale v linkeru Loki si totiz registruje neco pomoci atexit podobne jako jina knihovna kterou pouzivame libclntsh a nas program pada az po ukonceni. Kod, kterej hodne pouziva sablony se bohuzel neda poradne krokovat a gdb, protoze se vsechno inlajnuje(fuj! to je slovo) a jakmile gdb nema stacktrace tak je ztraceny. Abych to ale moh overit tak bych se kvuli C++ musel naucit poradne assembler :(
elviin avatar 6.12.2006 15:48 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Myslim, ze Alexandrescu venuje atexit kapitolu v jeho knizce Modern C++ design. Pouziva define, kterym vyradi registrovani singletonu prave pomoci atexit nebo tak nejak. Zkuste hledat atexit vsude v kodu. Jestli pouzivate jen casti loki, zkuste vypustit singletony.

http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-issues.html#3
Luboš Doležel (Doli) avatar 5.12.2006 17:42 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Nevím moc přesně, co si představujete pod takovou podmnožinou.
5.12.2006 18:14 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Zeptal bych se Raymonda, ten by to určitě dokázal formulovat líp, když už o tom píše v té svojí knížce. ;-)
5.12.2006 18:14 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Předpokládám, že něco ve smyslu objekty, výjimky, možná nějaké triviální šablonky. Nepředpokládám, že ve 12 letech jste ovládal brutální vychytávky šablonového metaprogramování :-)

(Aby bylo jasno, já jsem v C++ nikdy nenapsal ani řádku kódu a nehodlám na tom nic měnit. Úplně mi stačí o tom jazyku něco málo vědět.)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Luboš Doležel (Doli) avatar 5.12.2006 18:20 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Šablony určitě, ale v odkazovaném extrémním použití šablon nevidím moc velké výhody - to je "hardcore", aby to "bylo hardcore" - tyhle šílenosti nemají moc velké využití, ukažte mi nějaké rozšířené open source knihovny, kde se tohle používá...
5.12.2006 18:29 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Argumentace autoritou nemá v tomhle případě valného smyslu, nikde se to nepoužívá pravděpodobně právě z toho důvodu, že to nikdo neumí.

I když, jeden příklad mi teď napadá: http://spirit.sourceforge.net/. A koukám, že to je dokonce součást Boostu. Právě ten ostatně sluje používáním podobných zvráceností…
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Luboš Doležel (Doli) avatar 5.12.2006 18:37 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
nikde se to nepoužívá pravděpodobně právě z toho důvodu, že to nikdo neumí.
Nebo protože je to prostě overkill.
5.12.2006 18:43 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Člověk si skoro říká, jestli by se interní DSL jazyk pro parser skrzevá makra nedělal o dost líp třeba v Lispu…
elviin avatar 5.12.2006 19:03 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
A koukám, že to je dokonce součást Boostu. Právě ten ostatně sluje používáním podobných zvráceností

Tak s tim nesouhlasim:) Tuhle knihovnu (Boost) jsem pouzival v komercnim prostredi a velmi uspesne. Konkretne boost-spirit je velmi dobre navrzeny. Pokud zvladate zakladni primitiva, pak neni tezke zvladnout slozitejsi konstrukce. V mem kodu jsem dosahl stavu, ze stacilo zmenit typedef a zmenil jsem velmi rychle chovani programu a to diky pristupu, ze se oddeli data od algoritmu, diky sablonam. Parser byl velmi rychly. Rozhodne je nesmysl rikat, ze spirit je zvracenost. Pokud mate neco konkretniho, sem s tim. Uznavam, ze na zacatek, v pripade, ze nemate zkusenosti se sablonama, politikama, atd. je to narocne. Ale nejdrive je lepsi si to vyzkouset, nez budete psat zvracenosti:))

5.12.2006 22:46 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
OK, dosaďte si na místo slova zvrácenost výraz značně pokročilá vlastnost, tak to totiž s mírnou nadsázkou bylo myšleno. Se spiritem žádnou vlastní zkušenost nemám, je dost dobře možné, že takto vygenerovaný parser je velmi rychlý, ale co jsem zaslechl, tak doba překladu se počítá v desítkách minut :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
elviin avatar 6.12.2006 07:26 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Je to tak, jak pisete. Co me vadilo, bylo to, ze doba prekladu byla nekolik minut. Proto bylo dulezite oddelit implementace do zdrojaku tak, aby to clovek nemusel prekladat. Na druhou stranu, nemel jsem problem s necim, co by se chovalo jinak nebo nefungovalo, pokud nebyla o tom poznamka v dokumentaci. Pokud jsem udelal chybu v zapisu, tak jsem ji relativne rychle nasel. Divat se na vypis kompilatoru nemelo smysl, protoze ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" nebylo neobvykle videt:).
5.12.2006 18:42 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
To asi taky. Ale mám pocit, že spousta lidí z každé části takového jazyka používá jen něco – těžko se dá hlavou a intuicí obsáhnout všechno. Třeba mi přijde značně obtížné spoléhat se na přiority operací a vynechávat všechny zbytečné závorky – radši je píšu všude s výjimkou nejtriviálnějších případů ( a+b/c, nebo několik operací téže priorioty a asociativity vedle sebe a podobně). Tedy „část jazyka“ znamená spíš „z každé části něco“, nikoliv „objekty kompletně včetně pointers to members, ale šablony už vůbec“. Proto si myslím, že nikdo C++ doopravdy neumí. :-D A pokud ano, byla to léta sebemrskačského učení – díky, stačí mi Smalltalk a podobné jazyky. ;-)
5.12.2006 20:40 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Teď se musím ozvat. Myslím si, že existuje značný počet lidí, kteří C++ skutečně umí. Ono to tak složité zase není. Umět nazpaměť dokonale priority operací nepovažuji za součást znalosti jakéhokoli jazyka. C++ má jednu vlastnost a to, že je dost logicky vystavěno. Pokud má vlastnost X, tato vlastnost funguje všude, kde je to smysluplné a kde to logicky čekáte (dosaďte libovolné X z množiny vlastností jazyka C++). Šablony také nejsou nezvládnutelné, a o co víc zase C++ má?

Mnohem hůře se mi učil třeba Pascal, který měl spoustu vlastností striktně a nelogicky omezenou. Jazyky s primitivními syntaxemi ála Lisp, nebo Java se zase učí velmi rychle, ale on Vám to ten jazyk dost tvrdě vrátí na nepohodlí při vlastním programování a při nutnosti neustále obcházet, respektive rozšiřovat jeho přilišnou jednoduchost.
5.12.2006 22:06 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Souhlasím s tím, že logiky je v C++ celkem dost. Java nemá primitivní syntaxi. V porovnání s tím, co nabízí, má ve skutečnosti IMHO syntaxi překomplikovanou. Hodně mě zaráží, že tam, kde C++ má jazyky dva („runtime“ a „compile time“), si Lisp vystačí s jazykem jedním. Hmm, nebo možná jsem ty dvě věty měl prohodit, nejdřív tu část s Lispem a pak tu s C++, že. :-D Nanejvýš v compile-time člověk více využije quasiquote, ale to je asi tak jediný rozdíl. Každopádně jakmile se pohneme k opravdu složitým věcem, přijde mi, že Lisp na dlouhou trať vyhraje, přestože C++ má zdánlivě větší arzenál. Já se to moc soudit neopovážuju, profesionální programátor jste tu Vy, ale já do C++ svůj poměrně cenný čas radši investovat nebudu, když mě to neživí. V opačném případě bych se toho možná i odvážil, i když by mi chyběl interaktivní příkazový řádek – jazyk bez něj z výjimkou Cčka už neberu.
5.12.2006 23:15 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Než se začne porovnávat je potřeba vzít v potaz k čemu ty jazyky slouží. C++ je jazyk zaměřený na to, aby bylo možné vymačkat maximum z prostředků počítače - a nevrtat se přitom ve strojáku, nebo v asm. Pokud budete porovnávat tuto vlastnost, lisp spolehlivě s C++ prohraje. Protože Lisp je zase jiného zaměření.

Všechno v C++ je podřízeno efektivitě a nenáročnosti programů z něj zkompilovaných. To je proirota číslo jedna, kterou ten jazyk ctí.

Lisp je zase tvořen jinak a za jiným účelem. Já se o Lisp hodně zajímám, ale na otázku ve stylu "existuje v Lispu normální aplikace, tedy ne jako skriptovací jazyk", nebo "jak se pracuje s databázemi v Lispu a jak se v něm tvoří informační systémy" dostávám mlčení. Vím, že to jde, je to jen otázka knihoven, ale prostě asi nejsou.

Z Lispu jsem vždycky uhnul, protože počet základních prostředků jazyka je už tak nízký, že to nutí člověka dost trikovat a hrát si, a to není úplně ten optimální stav. Ale nic proti Lispu, ten jazyk ctím a jako líheň mnoha nápadů je skvělý.
6.12.2006 00:15 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Lispovské knihovny pro databáze? Ty jsou popsány v dokumentaci Allegro CL a Lispworks. :-D Smutný fakt: Chcete Lisp, musíte zaplatit. Nicméně ty firmy žijí, ten software se prodává a vyvíjejí se v něm nové aplikace. Povětšinou velmi náročné, s inteligenční přidanou hodnotou – možná proto je mezi nimi tak málo databází, bylo by to plýtvání :-D Tak snad ta vývojová prostředí nebudou nepoužitelná. :-) Mám ale takové smutné tušení, že free (as in beer) verze Allegra ty knihovny ani na vyzkoušení prostě nemá. Fuj fuj, třeba ve smalltalkovských VisualWorks NC je úplně všechno, co v komerční verzi, včetně tvorby samostatných binárek. Blame Franz…
5.12.2006 22:51 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Rozhovor s Bjarnem Stroustrupem
Teď se musím ozvat. Myslím si, že existuje značný počet lidí, kteří C++ skutečně umí. Ono to tak složité zase není. Umět nazpaměť dokonale priority operací nepovažuji za součást znalosti jakéhokoli jazyka. C++ má jednu vlastnost a to, že je dost logicky vystavěno. Pokud má vlastnost X, tato vlastnost funguje všude, kde je to smysluplné a kde to logicky čekáte (dosaďte libovolné X z množiny vlastností jazyka C++). Šablony také nejsou nezvládnutelné, a o co víc zase C++ má?

Mnohem hůře se mi učil třeba Pascal, který měl spoustu vlastností striktně a nelogicky omezenou. Jazyky s primitivními syntaxemi ála Lisp, nebo Java se zase učí velmi rychle, ale on Vám to ten jazyk dost tvrdě vrátí na nepohodlí při vlastním programování a při nutnosti neustále obcházet, respektive rozšiřovat jeho přilišnou jednoduchost.

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.