Po měsících šuškandy a náznaků dnes společnost Sun Microsystems oficiálně prohlásila, že téměř všechen zdrojový kód Javy (s výjimkou proprietárních částí kódu, které nepatří Sunu) bude zveřejněn pod GNU GPL do března 2007.
Sun doufá, že se mu tím podaří prodloužit životnost Javy, která už je téměř 10 let stará a je používána m.j. v téměř 4 miliardách mobilních telefonů.
Osobně bych k tomu podotkl, že mi Java vždycky přišla jako podivný hybrid C a Smalltalku, přičemž si z C vzala eleganci a ze Smalltalku rychlost. Ale když je něco populární…
Jsem rád a Sun za tento krok chválím.
Škoda že to neudělali už dávno, mezitím Microsoft stihnul Javu okopírovat, nazval to C sharp a tvářil se jako že něco vymyslel.
Je to úplně stejné jenomže proprietární pro Windows. Vím že existuje Mono, ale to stále není plnohodnotná implementace.
A z čeho si JAVA vzala svou paměťovou nenažranost? Ostatně i s tou rychlostí jsem napochybách. Využití javy osobně vidím dnes už pouze na mobilech, což mě zároveň překvapuje jak výborné aplikace se dají v javě napsat na tak málo paměti, kterou mobily nabízejí. Proč to nejde i na pc?
Java je paskvil. Puvodne urceny pro male zarizeni. Pak to prekopali na webove aplikace. ...
A hlavne aby to bylo hodne podobne tehdy popularnimu C++. Za ty roky tak nejak dospela a ma nejspis par skutecne dobrych vlastnosti.
Ale jeji hlavni sila je jinde. Je to jazyk, v kterem muzou i opice psat kod bez toho, aby se nekde neco fatalne posralo.
Vsem doporucuji precist si esej Paula Gragama - Revenge of the Nerds (je dostupna na jeho webu).
"z C vzala eleganci a ze Smalltalku rychlost"
Nebylo to mysleno spise opacne?
"Sun doufá, že se mu tím podaří prodloužit životnost Javy"
Jestli zivotnost nevim, ale rozhodne byl pod tlakem hlavne kvuli nestihacce opravovat chyby a pak samozrejme kvuli samotne licenci.
Btw. prijde mi tenhle clanek uz trochu out of date. To o JDK se vi uz radu mesicu a kuprikladu uz o tom byla i prednaska na CZJUGu.
To r0b0t: To ty jses paskvil. Tenhle jazyk ma jeste hodne velkou budoucnost...
Abych sva tvrzeni jeste podporil odkazy, preferuji fakta ;-).
Open source Java pod GPL licencí:
http://www.sweb.cz/pichlik/archive/2006_11_12_archive.html#116340560286552897
"...Že bude Java open source, to se vědělo již dlouho. Otázkou zůstávalo, která z open source licencí bude použita...."
Tiskova zprava
http://itbiz.cz/java-je-o-krok-bliz-k-open-source
Prednaska na CZJUGu.
http://avc.sh.cvut.cz/archiv/index.php?id=1041&rid=356
No on smalltalk byl pomaly - zacatkem 80tych let, kdyz pocitace meli vykon asi jako dnesni kalkulacky. Dnes jsme ale ve vykonu pocitacu preci jen o trochu dal. No a s javou je to podobne, protoze pred temi 10ti lety byly pocitace take trochu jinde, nez dnes mobilni telefony, ze?
Čtyři miliardy telefonů asi nebudou pravda, že? Příště by možná stálo za to ten Slashdot číst pozorněji.
„Osobně bych k tomu podotkl, že mi Java vždycky přišla jako podivný hybrid C a Smalltalku“
Přijde mi, že jsi nikdy nedělal na větším projektu, na kterém musí spolupracovat nebo se vystřídat několik programátorů. Když člověk dělá one man show, výběr programovacího jazyka ho fakt brát nemusí.
Bylo by hezké, kdyby teď Java například nahradila C, které se používá pro vývoj mnoha linuxových desktopových aplikací.
4> Pak to prekopali na webove aplikace.
Můžeš naznačit, jak se takový jazyk překopává pro potřeby webových aplikací? Rozšíření platformy o knihovny a specifikace vhodné pro webové aplikace by se asi těžko dalo kvalifikovat jako „překopání“.
4> A hlavne aby to bylo hodne podobne tehdy popularnimu C++.
Člověk by skoro řekl, že podobnost s nějakým existujícím jazykem usnadní přechod programátorům.
4> Je to jazyk, v kterem muzou i opice psat kod bez toho, aby se nekde neco fatalne posralo.
Když jsem začal dělat v Javě, velice příjemně mě překvapilo, že prakticky zmizela odpoledne strávená hledáním nějaké hloupé chyby. Pokud nad tím někdo ohrnuje nos, budiž… Jestli si dobře pamatuju, Revenge of the Nerds se týká poměrně úzké skupiny lidí a poměrně úzkého zadání. Java je jazyk pro „běžné programování“, což většina lidí, kteří se do ní naváží, zkrátka nechápe.
Mne tedy prijde C velmi elegantni jazyk. A Java taky.
C# je dost okopirovana Java (pri cteni jeho dokumentace clovek casto zaziva deja-vu), nicmene ma nekolik docela dobrych vylepseni:
-properties
- vystupni parametry
- event typ
- odstranena schizofrenie vyplyvajici z toho, ze nektere datove typy nejsou objekt
Jasně, ale já pod výrazem „překopat“ chápu něco, co se dělo například s PHP, které podle aktuálních nálad vývojářů volně přecházelo mezi C, Perlem, Javou a bůhvíčímještě.
Applety, Web Start, správa bezpečnosti a další věci nijak nepřekáží jinému než webovému využití. Když někdo řekne „pak to prekopali na webove aplikace“, vypadá to, jako kdyby Java otočila o 180° a davy programátorů zůstaly s otevřenou pusou bez práce…
hmm... Alespon, ze tam dali tohle:
GPL licence, kterou Sun zvolil, bude obsahovat výjimku pro classpath, která zaručuje, že bude možné používat core java knihovny bez nutnosti uvolnit vlastní kód jako open source.
Pro vsechny ty java.io.* by asi byla lepsi LGPL, ale co. Osobne bych preferoval spise nejakou jinou licenci, ale co s tim nadelam.
S nazory na Javu jsem byl ohledne rychlosti na tom podobne jako vy a kamaradem, jenz pracuje pro NetBeans jsem o tom vedl dlouhe diskuse (rychlost virtual machine, virtualni metody atd...) tak me zacal zasobit ruznymi odkazy. Treba tenhle mi prisel zajimavy. Je to Jake2, predelavka Quake2 do Javy. Maji docela slusne vysledky.
http://internetgames.about.com/gi/dynamic/offsite.htm?site=http://www.bytonic.de/html/jake2.html
10> Prvotni impuls pro vznik Javy byl jazyk pro psani aplikaci pro telefony, televize, videa, organizery ... a podobne vecicky. Na zacatku 90. let ponekud predcasne. Takze se to pekne pretransformovalo na webovske applety. A dneska se v tom pisou obri serverove aplikace. Takhle nejak jsem to asi myslel.
Nebo te napada jiny duvod, proc je VM ve ktere bezi monstrozni super-duper enterprajs aplikace tak pekelne jednoduchy?
(Prosim nezamenovat VM - virtual machine = specifikaci virtualniho stroje a JVM - java virtual machine = implementace teto specifikace spolu s 10 let vyvijenymi hot spot optimalizatory a garbage collectory. Java byla prvnich deset let pomala proste proto, ze JVM melo byt - alespon zcasti - implementovano hardwareove.)
Co se tyce podobnosti s C++ a mensim mnozstvim chyb ... Ja nad tim nos neohrnuji. Je to proste logicky marketingovy tah. Mene svobody pro vetsi bezpecnost. Revenge of the Nerds neni o uzke skupine lidi s uzkym zadanim. ITA software pouziva LISP, C++, Javu, Perl + nejaka ta mala skriptova lepidla. Revenge of the Nerds je o pouzivani spravnych nastroju na ruzne typy uloh.
Maly priklad - chcete napsat konvertor vasich dat ulozenych ve vasem internim formatu do postscriptu. Budete to delat v C, C++, Jave, LISPu nebo Prologu?
No ale Java se pro psaní obřích serverových aplikací hodí, ne? Tak v čem je problém? Méně svobody za větší bezpečnost není marketing, je to úplně legitimní rozhodnutí při návrhu jazyka.
Revenge of the Nerds je… nebezpečné čtení. On v podstatě tvrdí, že když si vyberu lepší nástroj (například LISP místo Javy), dostanu tím konkurenční výhodu. To ovšem v žádném případě neplatí obecně, a právě proto jsem říkal, že se to týká úzké skupiny lidí a úzkého zadání. Rozhodně je docela faul říct, že Java je paskvil a dovolávat se Revenge of the Nerds.
Obecne plati, ze pokud si vyberu _vhodnejsi_ nastroj, dostanu tim konkurencni vyhodu. A to je taky to co Paul Graham v tom eseji tvrdi. A zminoval jsem ji tu jen proto, ze se tam take docela dost zaobira prave tim, proc jake vyhody cloveku prinese psani kodu v mainstreamovem jazyce a proc je casto dobre si ho vybrat.
To je Java je paskvil nemyslim nijak zle. Treba Python je taky paskvil. V podstate asi kazdy jazyk, ktery prosel (a prochazi) vyraznejsi evoluci.
Ja programator nejsem a tak si muzu dovolit kaslat na Javu, Python i C a mit radost z Haskellu. V praxi to tak samozrejme fungovat nemuze.
[1] Já právě jásám nad těmi Pythony a Ruby a říkám so proč tohle taky Java nemá? Proč Java nemá asi padesát dobrých věcí, které v těch jiných jazycích jsou?
Mimochodem naprosto nechápu, proč se Java pořád staví oproti C++, který je úplně jiným druhem jazyka, než Java. C++ je prostě jazyk na systémové programování, kde má mít programátor naprosto vše pod kontrolou a ten jazyk je tomu přizpůsoben. Až budete chtít opravdu rychlos
[1] Já právě jásám nad těmi Pythony a Ruby a říkám so proč tohle taky Java nemá? Proč Java nemá asi padesát dobrých věcí, které v těch jiných jazycích jsou?
Mimochodem naprosto nechápu, proč se Java pořád staví oproti C++, který je úplně jiným druhem jazyka, než Java. C++ je prostě jazyk na systémové programování, kde má mít programátor naprosto vše pod kontrolou a ten jazyk je tomu přizpůsoben. Až budete chtít opravdu rychlost a zároveň nenáročnost na prostředky počítače, není nic lepšího, než C++ a nebo příbuzný jazyk. Pokud se srovnává C++ s Javou, tak nechť se to dotáhne do konce a srovná se jak se píší jádra operačních systémů v Javě, jak se píší ovladače kernelu v Javě, jak se píší programy pro jednočipy s několika málo kilobajty paměti v Javě, apod.. Protože tohle vše je doména C/C++ a pokud tam Java nedosáhne, nechť se srovnává s jazykem na který má.
Pokud já osobně srovnávám Javu se srovnatelnými jazyky, to jest jazyky běžící na virtuální mašině, pak IMHO Java tak slavně nedopadá.
Co ovšem má Java dobré je marketink.
[9] "Bylo by hezké, kdyby teď Java například nahradila C, které se používá pro vývoj mnoha linuxových desktopových aplikací."
Teď se jenom ptám, je schopná Java běžet na těch několika desítkách procesorů a existují virtuální Javovské mašiny na všechny zařízení, počítače, procesory, kde běží Linux? Myslím od superpočítačů přes desktopy až na různá PDA všetně mnoha docela exotických prostředí?
Já třeba vím, že RedHat kdysi používal, nebo ještě používá Python, kde takováto přenositelnost v rámci Pythona skutečně existuje. Ale u Javy si nejsem jist. Nehledě na to, že Java na exotických platformách musí být ukrutně pomalá, neboť JIT kompilace asi nebude vyvíjena pro nic jiného, než pro mainstream.
Pokud je můj odhad situace správný, pak by použití Javy bylo spíš omezující.
[11] me to prijde jako docela caste nedorozumeni. c# je bliz c++ nez jave. pravda .NET runtimy se zase spis podobaji tem javovskym. java je svou koncepci porad bliz tomu smalltalku.
o tom co popisujete jako klady by se dalo polemizovat.
property, jsou hezka zalezitost, ale otazka je, je to objektove ciste... kdyz ctu property (ktera se v kodu jevi jako promenna), kdo mi zaruci, ze neudela side-effect (btw. pri kompilaci se property preklada na dvojici metod get a set jako v jave)
event-typ (asi delegat)... v jave se dosahuje stejneho vysledku pomoci objektu, nejcasteji pouzitim anon. trid... ale je pravda, ze to vyzaduje trosku vic kodu... za cenu elegentnejsiho runtimu.
schizofrenie mezi objektem a datovy typem nezmizela - primitivni typy tam jsou, jenom diky autoboxingu si tohu programator vsimat nemusi (vlastne je to dalsi syntakticky cukr), za co by si ale microsoft zaslouzil dostat na holou, je konstrukce "struct"... kdy jde vlastne o tridu, ktera se chova jako hodnotovy typ. na jednu stranu je vsechno objekt a na druhou stranu tady mame nastroj na tvorbu novych primitivnich typu
je to veci volby... c# je hezka kopie java a c++, ale nad nekterymi pozlatky bych tak moc nejasal...
[24] "Kdyz ale nazves Javu paskvilem, tak to trochu pejorativne zni. Imho je dneska Java ve srovnani s C++ vyssim programovacim jazykem."
Řekl bych, že Java a C++ jsou IMHO z ohledu "výšky" jazyka tak nastejno. Mají plus mínus ty stejné prostředky. Ale jak říkám, nesrovnával bych Javu a C++, ale srovnával bych Javu s jazykem běžícím na virtuální mašině.
C++ je jazyk, jehož prioritou je vytáhnout maximální rychlost a efektivitu za naprosto minimálního použití paměti a dalších prostředků počítače. Pro to je C++ vyvíjeno a proto C++ vznikl. Z toho vyplývá velmi bohatá syntaxe C++ a obrovské možnosti toho jazyka, byť v nepovolaných rukách trochu nebezpečné.
Java je jazyk, který rezignoval na mnohé možnosti, které poskytuje C++ a dát Vám je nemůže. Jejím cílem bylo poskytnout jednoduché virtuální prostředí. Proto bych Javy srovnával také s virtuálními jazyky, jako je Python, Ruby, Lisp, Smalltalk a podobně. Všechny tyto jazyky mají automaticky garbage collector, všechny mají objekty (s výjimkou Lispu, kde je můžete nadefinovat) a na rozdíl od Javy je v nich všechno objektem, tedy i čísla. Dokonce je v nich objektem i řada dalších věcí, která v Javě není, čímž je všechno jednodušší a průhlednější. Všechny tyto jazyky podporují řadu dalších věcí, které Java nemá.
Prosím nesrovnávejte Javu s C++, je to srovnání jablek s hruškami. Až Java bude vhodná pro stejný typ úloh jako C++, pak prosím, ale k tomu Java vhodná není.
Používejte prostě na věci pravé prostředky a pak nemá smysl srovnávat jedno s druhým.
[28] property, jsou hezka zalezitost, ale otazka je, je to objektove ciste... kdyz ctu property (ktera se v kodu jevi jako promenna), kdo mi zaruci, ze neudela side-effect (btw. pri kompilaci se property preklada na dvojici metod get a set jako v jave)
a kdo mi zaručí, že get/set neudělá side effect? vždyť je to přeci jedno, stejně slušný objektový návrh nikdy nedovolí zvenku zpřístupnit přímo datové členy, tudíž je tu prostor pro property. IMHO property jsou mnohem čistějším objektovým návrhem. cokoli zvenčí je prostě interface a co se děje s třídou uvnitř je jedno, pokud se chová podle popisu interfacu. veškeré side effecty řídí implementace třídy.
"event-typ (asi delegat)... v jave se dosahuje stejneho vysledku pomoci objektu, nejcasteji pouzitim anon. trid... ale je pravda, ze to vyzaduje trosku vic kodu... za cenu elegentnejsiho runtimu."
to se pletete - delegáta vyřídí kompilátor, stejně tak jako třeba operátory, nebo property. runtime o delegátech vůbec neví, protože nic takového se k němu vůbec nedostane. od toho totiž kompilátor je, aby ulehčoval programátorovi práci a zároveň aby odvedl optimalizační práci pro cílový runtime.
problém je, že v javě skoro všechno vyžaduje "trošku víc kódu" a stokrát nic umořilo osla. už jsem dokonce viděl, že javovské ide mají různé pomocníky pro generování toho kódu a tak vlastně suplují nedostatky javy. je to docela srandovní.
[29] Ja si myslim, ze se java srovnava s c++ ze dvou dulezitych duvodu.
1. oboje je to mainstream a hodne aplikaci se da stejne dobre napsat v obojim. To ze rozsirenost sebou nese mnoho vyhod je jasne.
2. Chcete porovnavat javu s ruby apod. protoze je pod tim VM a gc, ale to je skoro detail treba proti typovani. Jen malokdo zvoli na vetsi projekt jazyk, ktery je dynamicky typovany, takze nakonec ma java trochu jine urceni nez ty jazyky ktere zminujete.
Ostatne, krome pythonu se ty jazyky temer nepouzivaji, takze tezko rict, na co jsou vlastne urceny.
Na javu nebo c# hodne lidi prechazi proto, ze je nebavi porad dokola saskovat s pointerama ukazujicima kamsi atd., takze mi pripada, ze java asi bude mit podobne urceni jako c++ (aspon na aplikacni urovni, ne kazdy pise drivery a casti OS), mnohem podobnejsi nez ma treba ruby...
[30] dle meho nazoru, by se s objekty melo pracovat ciste jen pomoci zasilani zprav. v kodu, nejsem schopen odhadnout jestli je to co zrovna pouzivam promenna nebo property...
pardon, to s tim runtimem me ujelo... za cenu jednodussiho kompilatoru a standardnich knihoven.
souhlasim 100x nic a nakonec je to hafo kodu. polozim dalsi otazku, kdyz property je syntakticky cukr, foreach je dalsi syntakticky cukr a najde se spousta dalsich veci, ktere se predkompilovavaji do jednodussi verze c#. proc nema c# vlastni aparat na rozsirovani jazyka podobne jako LISP? (prosim, na to posledni radsi neragujte, protoze to smrdi flamem ;-])
[29] oboje je to mainstream a hodne aplikaci se da stejne dobre napsat v obojim. To ze rozsirenost sebou nese mnoho vyhod je jasne.
řekl bych, že prostě oboje je mainstream, protože to může existovat vedle sebe právě pro různá určení. čistě teoreticky v C++ se dá napsat všechno co v javě, ale je to rozumné to takto dělat? naproti tomu v javě nenapíšete všechno to co v C++, když budeme mluvit o detailech. ale o to nejde. vždy použiji prostředek, který je VHODNÝ pro dané cíle, a C++ a Java nejsou se shodným určením, prostě nejsou, nezlobte se na mě. Síla každého z nich je jinde a nedají se jeden nahradit druhým.
C++ je mainstream, protože se prosadil jako efektivní jazyk pro systémové programování a všude tak, kde je potřeba efektivita
java je mainstream, protože se prosadil v enterprise oblasti
prostě nedá se to srovnávat ani náhodu, jsou to dva různé jazyky určení na něco jiného a jejich síla je v něčem jiném
"Chcete porovnavat javu s ruby apod. protoze je pod tim VM a gc, ale to je skoro detail treba proti typovani. Jen malokdo zvoli na vetsi projekt jazyk, ktery je dynamicky typovany, takze nakonec ma java trochu jine urceni nez ty jazyky ktere zminujete."
Co to je větší projekt? Definujte ho spolu s oblastí o které chcete mluvit. Dokud nemluvíme konkrétně, nelze se bavit. Takže zbytek Vašich argumentů je prostě na vodě. Nevidím obecně problém v tom použít pro větší projekt dynamicky typovaný jazyk, ale protože jste mluvil dost virtuálně nemohu dál argumentovat.
Jinak neexistují pouze větší projekty, dokonce bych řekl, že jich je silná menšina.
"Ostatne, krome pythonu se ty jazyky temer nepouzivaji, takze tezko rict, na co jsou vlastne urceny."
a) byly doby, kdy šlo takto šmahem odvrhnout i javu
b) používá se hodně jazyků, akorát se to tolik neproklamuje a nejsou tak veřejností vidět
"Na javu nebo c# hodne lidi prechazi proto, ze je nebavi porad dokola saskovat s pointerama ukazujicima kamsi atd., takze mi pripada, ze java asi bude mit podobne urceni jako c++ (aspon na aplikacni urovni, ne kazdy pise drivery a casti OS), mnohem podobnejsi nez ma treba ruby..."
Pak si těch hodně lidí ale musí přiznat, že je problém v nich, ne v C++. Na každou práci je potřeba zvolit vhodný prostředek, a to někdy může být C++, někdy třeba Ruby, někdy PHP, někdy Javu, někdy Smalltalk, nměkdy Ada, atd.. Naprosto nesouhlasím, že Java má podobné určení jako C++, to je prostě lež. Proto nesouhlasím s tím, že se srovnává C++ s Javou, to je prostě jen marketinková blbost.
[32] kdyz property je syntakticky cukr, foreach je dalsi syntakticky cukr a najde se spousta dalsich veci, ktere se predkompilovavaji do jednodussi verze c#. proc nema c# vlastni aparat na rozsirovani jazyka podobne jako LISP? (prosim, na to posledni radsi neragujte, protoze to smrdi flamem ;-])
protože zaměňujete dvě věci - syntaxi programovacího jazyka a byte kód virtuální mašiny. jsou to dvě různé věci a nic vám nebrání si třeba nad javovskou virtuální mašinu vymyslet vlastní jazyk. Microsoft to takto dělá, má svou mašinu, nad kterou existují desítky jazyků - syntaxi jazyka tedy nechává na kompilátoru.
Microsoft prostě vymyslel svou mašinu tak, aby se dala univerzálně rozšiřovat různými jazyky, Sun zase vymyslel mašinu čistě jen aby vyhověla Javě a nic jiného. Proto je taky bytekód .NETu složitější, než bytekód JVM.
Takže klidně si můžete rozšiřovat co chcete, třeba C#, jen vymyslíte kompilátor. To také Microsoft hodně dělá v každé další verzi. Bohužel, nebo bohudík, jak kdy není C# tak flexibilní jako Lisp, ale zato se v tom dá rozumněji programovat.
Mimochodem, flexibilita Microsoftí .NET virtuální mašiny je taková, že nad ní běží kromě C# i C++ :-) Microsoft deklaruje jako nejefektivnější a nejrychlejší jazyk pro .NET C++. :-) A jedině C++ Vám opravdu umožňuje využít vše možností Windows i .NET opravdu do poslední kapky. Druhá možnost samozřejmě je programovat přímo v IL assembleru, ale to je docela nepříjemné, protože přijdete o spoustu toho syntaktického cukru.
Nevím, jestli jsem odpověděl na Vaší otázku, snad ano.
[28] Ad eventy: Jde mi o to, ze proste trida deklaruje nejaky event, treba "dataUpdated". A jiny objekt muze udelat:
instance.dataUpdate += MojeMetoda
A muze to udelat spousta dalsich objektu nezavisle na sebe a pokud trida zavola ten event, tak se zavolaji vsechny takhle navesene metody tech objektu. Samozrejme to jde udelat i v Jave, ale AFAIK ne takhle jednoduse. Proste prima implementace OOP patternu.
Na to property vs. promenna jste si odpovedel sam - objekty spravne komunikuji zpravami, proto zadne promenne nevystavuji, pouze metody a nebo property, ktere jsou vlastne take metody...
Na druhou stranu mi zase prijde, ze .NET je jeste obludnejsi (ve smyslu overdesigned) nez Java.
[29] "Řekl bych, že Java a C++ jsou IMHO z ohledu "výšky" jazyka tak nastejno."
Do jiste miry ano, ale Java poskytuje nekolik konceptu, ktere posouvaji dale od assembleru, jeste dale nez je C++.
[26] "Mimochodem naprosto nechápu, proč se Java pořád staví oproti C++, který je úplně jiným druhem jazyka, než Java."
[29] "Prosím nesrovnávejte Javu s C++, je to srovnání jablek s hruškami."
Srovnani Javy a C++ je samozrejme zcela na miste, protoze jsou to oba vyssi programovaci jazyky, ktere poskytuji priblizne stejnou miru abstrakce (az na tech nekolik prvku). Jinymi slovy jsou to oba objektove vyssi programovaci jazyky pro obecne uhlohy.
[29] "Proto bych Javy srovnával také s virtuálními jazyky, jako je Python, Ruby, Lisp, Smalltalk a podobně."
Ted jste tedy teprve dokonale promichal ovoce. Java je programovaci jazyk i pro narocenjsi ulohy, kdezto Python a Ruby jsou obecne skritpovaci jazyky, Lisp je sice obecny, ale pro svou povahu uzivany zejmena pro reseni uloh umele inteligence a Smalltalk je zase oproti Jave a C++ dusledne objektovy, takze ma od Javy a C++ dal nez Java od C++. Nemluve pochopitelne o knihovnach, komunite a podpore. Pokud uz chcete srovnavat Ruby a Python, pak tedy s JavaScriptem.
[26] "...a srovná se jak se píší jádra operačních systémů v Javě, jak se píší ovladače kernelu v Javě, jak se píší programy pro jednočipy s několika málo kilobajty paměti v Javě, apod.. Protože tohle vše je doména C/C++..."
To je vubec poprve, co pisete C/C++, do te doby jste uvadel pouze C++, takze by bylo dobre si uvedomit ten obrovsky rozdil mezi C a C++ a pripomenout si ho, kdyz mluvite o programech extremne citlivych na rychlost a nemate rad michani ovoce.
A jinak, z textu jsem to uplne nepochopil, ale nejsem si jisty, zda prikladate nejakou vahu tomu, ze programy psane v Java bezi obvykle na VM, kdezto programy psane v C++ obvykle ne. Ono to totiz k diskusi o jazycich jako takovych neni moc relevantni
[33] radsi nebudu citovat, at to moc nenatahujem.
Spolecnym urcenim c++ a javy jsem myslel aplikace v tom uzsim slova smyslu - bezne desktopove okynkove programy pro klikani vseho mozneho. Myslim si, ze zde maji tyto jazyky velky prunik, kde je temer jedno, jestli to bude napsano v jave nebo c++. Kazde prinese nejake vyhody a nevyhody. Pripada mi, ze se zde java zacina hodne prosazovat, prikladem budiz treba azureus nebo jedit. Urcite je zde co srovnavat a proto je to na miste.
Vetsim projektem jsem opet myslel nejakou okynkovou aplikaci, ktera bude obsahovat neco vic nez frontend ke knihovne... V jinych oblastech (drivery, web, ruzne skripty) je volba vetsinou jednodussi, protoze se vi, kde to pobezi, co se od toho ceka atd. Rekneme, ze tam bude >100 trid, >10k radku, jestli to chcete takto. V takovem pripade uz bych se bal pouzivat neco, kde mi prekladac nezaruci typy (nebo se o to aspon nebude snazit :-) ). Ja jsem clovek omylny a spousta ostatnich take...
Abych trochu podporil sve domnenky - dival jsem se ted na freshmeat, mezi java projekty je pomerne dost aplikaci, ktere jsou ciste v jave, u pythonu jsem nenarazil na zadnou, vetsinou jde o kombinaci c a python. Z toho mi pripada, ze v teto oblasti je skutecne rozhodovani mezi c/c++, java, pripadne c# - vse staticky typovane jazyky. Proto si myslim, ze k sobe maji bliz nez nektere dynamicke s vm.
[37] Já bych to shrnul takto. C++ se používalo a používá a používat bude pro jeho efektivitu. Dříve byly počítači slabší a Java prostě nemohla stačit. Proto dnes spousta jiných jazyků (nejenom Java) přebírají žezlo po C++ tam, kde prostě C++ nabízí hlavně efektivitu, která se dnes už nežádá. Proto dnes považuji srovnání C++ a Javy za blbost.
Jsem si naprosto jistý, že ať se stane co se stane, je prostě C/C++ pro své oblasti nenahraditelné a tento jazyk přežije velmi dlouho. Javu můžete nahradit, ale Céčko je ve své oblasti v nasazením kde jsou jeho vlastnosti potřeba prakticky bez náhrady. Třeba takový C# je rovnocenným jazykem vůči Javě a toto je srovnatelné. I když Java, nebo C# zanikne, bude C/C++ existovat dál. C/C++ je totiž soběstačné a neexistuje jazyk (ani Java, ani C#), který by v sobě neměl značnou část kódů z C/C++. Zatímco Sun i javisté proti C/C++ bojují, Microsoft to pochopil a postavil C++ a C# na roveň, protože se doplňují. Ani Java nebude existovat bez C/C++, protože je v něm ze značné části napsaná. Prostě i když C/C++ ustoupí, má budoucnost naprosto jistou a zaručenou a to dokonce více, než Java. Javu nahradíte, bez stopy C/C++ prostě neexistuje v sw prakticky nic. Prostě silnou stránkou C/C++ je jeho univerzalita, kterou žádný jiný mainstreamový jazyk (s výjimkou assembleru) nedosahuje. Tato univerzalita spolu s efektivností je nenahraditelná. Prostě mě fakt přijde docela hloupé srovnávat C/C++ s Javou.
Nejsem zastáncem C++ za každou cenu a určitě je hloupé v něm psát určité druhy projektů, i když to v zásadě je, což je důsledkem obrovské univerzality tohoto jazyka, kterou převyšuje i Javu a většinu jiných jazyků. Nechť se prostě pro každý účel používá vhodná technologie, ale určení je jiné.
"Vetsim projektem jsem opet myslel nejakou okynkovou aplikaci, ktera bude obsahovat neco vic nez frontend ke knihovne... V jinych oblastech (drivery, web, ruzne skripty) je volba vetsinou jednodussi, protoze se vi, kde to pobezi, co se od toho ceka atd. Rekneme, ze tam bude >100 trid, >10k radku, jestli to chcete takto. V takovem pripade uz bych se bal pouzivat neco, kde mi prekladac nezaruci typy (nebo se o to aspon nebude snazit :-) ). Ja jsem clovek omylny a spousta ostatnich take..."
Aha, takže vlastně myslíte docela malý projekt. Pokud bych opravdu chtěl záruku bezchybnosti, nepoužiju ani Javu, ani C++, ale Adu. To je podle mě záruka bezchybnosti. Jinak bych se dynamicky typovaných jazyků nebál, protože prostě statická typová konstola není a nikdy nebude záruka bezchybnosti. V dynamicky typovaných jazycích existují mnohem větší projekty, než uvádíte a problém s tím není.
"Abych trochu podporil sve domnenky - dival jsem se ted na freshmeat, mezi java projekty je pomerne dost aplikaci, ktere jsou ciste v jave, u pythonu jsem nenarazil na zadnou, vetsinou jde o kombinaci c a python. Z toho mi pripada, ze v teto oblasti je skutecne rozhodovani mezi c/c++, java, pripadne c# - vse staticky typovane jazyky. Proto si myslim, ze k sobe maji bliz nez nektere dynamicke s vm."
Já to podpořím jinak. Na svém počítači mám cca 10 programů, které aktivně používám, a která jsou programovány alespoň částečně v Pythonu. Donedávna jsem to nepoznal, protože se chovají přirozeně jako nativní aplikace. Javovské aplikace jsem se snažil používat tři, všechny jsem vyhodil buď pro jejich pomalost, nebo chyby. Navíc jsem okamžitě poznal, že je to Java, protože se prostěly chovaly a vypadaly jinak, než nativní aplikace.
[37] Já bych to shrnul takto. C++ se používalo a používá a používat bude pro jeho efektivitu. Dříve byly počítači slabší a Java prostě nemohla stačit. Proto dnes spousta jiných jazyků (nejenom Java) přebírají žezlo po C++ tam, kde prostě C++ nabízí hlavně efektivitu, která se dnes už nežádá. Proto dnes považuji srovnání C++ a Javy za blbost.
Jsem si naprosto jistý, že ať se stane co se stane, je prostě C/C++ pro své oblasti nenahraditelné a tento jazyk přežije velmi dlouho. Javu můžete nahradit, ale Céčko je ve své oblasti v nasazením kde jsou jeho vlastnosti potřeba prakticky bez náhrady. Třeba takový C# je rovnocenným jazykem vůči Javě a toto je srovnatelné. I když Java, nebo C# zanikne, bude C/C++ existovat dál. C/C++ je totiž soběstačné a neexistuje jazyk (ani Java, ani C#), který by v sobě neměl značnou část kódů z C/C++. Zatímco Sun i javisté proti C/C++ bojují, Microsoft to pochopil a postavil C++ a C# na roveň, protože se doplňují. Ani Java nebude existovat bez C/C++, protože je v něm ze značné části napsaná. Prostě i když C/C++ ustoupí, má budoucnost naprosto jistou a zaručenou a to dokonce více, než Java. Javu nahradíte, bez stopy C/C++ prostě neexistuje v sw prakticky nic. Prostě silnou stránkou C/C++ je jeho univerzalita, kterou žádný jiný mainstreamový jazyk (s výjimkou assembleru) nedosahuje. Tato univerzalita spolu s efektivností je nenahraditelná. Proto mě fakt přijde docela hloupé srovnávat C/C++ s Javou.
Nejsem zastáncem C++ za každou cenu a určitě je hloupé v něm psát určité druhy projektů, i když to v zásadě jde, což je důsledkem obrovské univerzality tohoto jazyka, kterou převyšuje i Javu a většinu jiných jazyků. Nechť se prostě pro každý účel používá vhodná technologie, ale určení C++ je jiné.
"Vetsim projektem jsem opet myslel nejakou okynkovou aplikaci, ktera bude obsahovat neco vic nez frontend ke knihovne... V jinych oblastech (drivery, web, ruzne skripty) je volba vetsinou jednodussi, protoze se vi, kde to pobezi, co se od toho ceka atd. Rekneme, ze tam bude >100 trid, >10k radku, jestli to chcete takto. V takovem pripade uz bych se bal pouzivat neco, kde mi prekladac nezaruci typy (nebo se o to aspon nebude snazit :-) ). Ja jsem clovek omylny a spousta ostatnich take..."
Aha, takže vlastně myslíte docela malý projekt. Pokud bych opravdu chtěl záruku bezchybnosti, nepoužiju ani Javu, ani C++, ale Adu. To je podle mě záruka bezchybnosti. Jinak bych se dynamicky typovaných jazyků nebál, protože prostě statická typová konstola není a nikdy nebude záruka bezchybnosti. V dynamicky typovaných jazycích existují mnohem větší projekty, než uvádíte a problém s tím není.
"Abych trochu podporil sve domnenky - dival jsem se ted na freshmeat, mezi java projekty je pomerne dost aplikaci, ktere jsou ciste v jave, u pythonu jsem nenarazil na zadnou, vetsinou jde o kombinaci c a python. Z toho mi pripada, ze v teto oblasti je skutecne rozhodovani mezi c/c++, java, pripadne c# - vse staticky typovane jazyky. Proto si myslim, ze k sobe maji bliz nez nektere dynamicke s vm."
Já to podpořím jinak. Na svém počítači mám cca 10 programů, které aktivně používám, a které jsou programovány alespoň částečně v Pythonu. Donedávna jsem to nepoznal, protože se chovají přirozeně jako nativní aplikace. Javovské aplikace jsem se snažil používat tři, všechny jsem vyhodil buď pro jejich pomalost, nebo chyby. Navíc jsem okamžitě poznal, že je to Java, protože se prostěly chovaly a vypadaly jinak, než nativní aplikace. Pro mě prostě kvantita není kvalita.
[32] "dle meho nazoru, by se s objekty melo pracovat ciste jen pomoci zasilani zprav. v kodu, nejsem schopen odhadnout jestli je to co zrovna pouzivam promenna nebo property..."
dotaz: k čemu to vlastně potřebujete vědět? není to jedno? prostě tohle je interface třídy a jak je to uvnitř je mi buřt.
"pardon, to s tim runtimem me ujelo... za cenu jednodussiho kompilatoru a standardnich knihoven."
a proč by mě jako programátora mělo zajímat jednoduchost kompilátoru? co mi to přinese? tedy kromě toho, že budu muset jednoduchost kompilátoru kompenzovat dnes a denně opisováním dalších konstrukcí.
[36] "Do jiste miry ano, ale Java poskytuje nekolik konceptu, ktere posouvaji dale od assembleru, jeste dale nez je C++."
Jakých? Já myslím, že to vyjde nastejno. Ale třeba taková typická assemblerovská konstrukce v Javě je:
if (string1.equals(string2))
protože neassemblerovské jazyky prostě umožňují čisté a jasné:
if (string1 == string2)
Nemožnost porovnávání řetězců pomocí operátoru porovnávání, ale nutnost volat equals beru jako krok zpět k assembleru. Prostě ono se to plus mínus vyrovná. Nic významnějšího kromě rozdílů, které vyplývají z faktu, že C++ je kompilátor a Java nad virtuální mašinou nevidím.
"Srovnani Javy a C++ je samozrejme zcela na miste, protoze jsou to oba vyssi programovaci jazyky, ktere poskytuji priblizne stejnou miru abstrakce (az na tech nekolik prvku). Jinymi slovy jsou to oba objektove vyssi programovaci jazyky pro obecne uhlohy."
Ne není. Protože každý z nich má jiné cíle a v souladu s těmito jinými cíly se také používají. C++ je daleko obecnější, než Java, a proto také složitější. Pokud mi chcete dokázat opak, tak nejlépe tím, až Javovská virtuální mašina nebude obsahovat ani řádek kódu v C/C++ a bude kompletně v Javě. Na druhé straně netvrdím, že se má psát všechno v C++, to by bylo velice nerozumné. Zatímco C++ nepotřebuje ke své funkci žádný Javovský kód.
"Ted jste tedy teprve dokonale promichal ovoce. Java je programovaci jazyk i pro narocenjsi ulohy, kdezto Python a Ruby jsou obecne skritpovaci jazyky, Lisp je sice obecny, ale pro svou povahu uzivany zejmena pro reseni uloh umele inteligence a Smalltalk je zase oproti Jave a C++ dusledne objektovy, takze ma od Javy a C++ dal nez Java od C++. Nemluve pochopitelne o knihovnach, komunite a podpore. Pokud uz chcete srovnavat Ruby a Python, pak tedy s JavaScriptem."
Pořád je toto srovnání rozhodně serióznější, než C++ a Javy. C++ je prostě omezeno tím, že za prvé MUSÍ už z principu umět využít všechny možnosti pro maximální rychlost a efektivitu běhu a za druhé musí to být soběstačný jazyk bez potřeby podpory jiného jazyka. Tyto dvě vlastnosti jsou prostě základ a na tom C/C++ stojí a padá. Pokud tedy chcete C++ seriózně srovnávat s jiným jazykem je potřeba aby i ten druhý jazyk měl tyto dvě vlastnosti. Protože tyto dvě vlastnosti dávají velkou efektivitu, ale zároveň omezení. Právě absence těchto dvou vlastností u jiných programovacích jazyků byla důvodem ke vzniku C a později C++. Proto není seriózní srovnávat C++ s Javou, neboť Java tyto dvě vlastnosti nemá.
Všechny výše uvedené jazyky tyto omezení dané jejich zaměřením na úplnost a efektivitu nemají, tudíž je to serióznější. Jinak Ruby je tak trochu klon Smalltalku, stejně tak jako třeba Objective C. Takže tyto tři jazyky patří k sobě trochu blíže, než byste je dal Vy. Lisp (a zjednodušená varianta Scheme) daleko více, než pro umělou inteligenci se používá jako univerzální skriptovací jazyk, nápověda: AutoCAD, emacs, gimp. A Python je prostě jazyk, který vznikl kdysi podobným způsobem jako Java - snaha umožnit normálním lidem vyhnout se problémům Céčka. Každopádně všechny jazyky mají společné to, že si nekladou nároky na úplnost (potřebují tedy všechny stejně jako Java na nižší úrovni pomoc C/C++), ani na efektivitu (což je zákon číslo jedna pro C/C++) a obětují ji pro pohodlí programátora a pro bezpečnost.
"To je vubec poprve, co pisete C/C++, do te doby jste uvadel pouze C++, takze by bylo dobre si uvedomit ten obrovsky rozdil mezi C a C++ a pripomenout si ho, kdyz mluvite o programech extremne citlivych na rychlost a nemate rad michani ovoce."
Protože určením jsou oba jazyky stejné, jen prostě C++ obsahuje mnohem komfortnější konstrukce.
"A jinak, z textu jsem to uplne nepochopil, ale nejsem si jisty, zda prikladate nejakou vahu tomu, ze programy psane v Java bezi obvykle na VM, kdezto programy psane v C++ obvykle ne. Ono to totiz k diskusi o jazycich jako takovych neni moc relevantni"
Ano, přikládám tomu váhu a to je jeden z důvodů proč srovnání C++ a Javy beru jako kardinální pitomost.
[39]: takze java (a jine) nekde nahrazuji c++ a proto je nesmysl je srovnavat? me to prijde trochu nelogicke. Prave proto, ze se pro nektere ucely prechazi na jiny jazyk se prirozene nabizi porovnat a zjistovat co ten prechod prinesl, ne?
To ze je c++ nenahraditelne snad nikdo nevyvraci, takt to neni potreba tak obhajovat :-)
Kdyz napisu >100 trid, tak tim vetsitkem (nebo mensitkem) myslim vice nez 100, cili treba 1000. Ja jsem netvrdil, ze mi staticke typy zaruci bezchybnost (ale porad lepsi nez nic). Muzete uvest priklad nejake vetsi aplikace ktera je cela psana treba v ruby nebo pythonu? Myslim nejakou tu klasickou desktopovou s gui atd. Kdyby k ni byly zdrojaky, bylo by to skvele.
Myslim si, ze jsem vam dal docela reprezentativni priklad v cem se dnes pisou aplikace, vy mi napisete jak to vypada u vas na pocitaci. Je tam neco castecne napsaneho v pythonu - ja dnes zkousel jake2 z vyse uvedenho linku, je to castecne v jave a behalo to jako blesk. Pouzivam nekolik programu psanych ciste v jave, je to svizne, chova se to prirozene. Asi uznate, ze to nedokazuje vubec nic.
Nakonec mi to pripada tak, ze bezni programatori se budou i nadale rozhodovat pri psani aplikaci mezi c/c++, javou a c# a vy i nadale budete rikat, ze to je cele spatne a neda se to porovnavat, protoze c++ je efektivnejsi a java se bez nej neobejde, hmm. Prominte, ale ta argumentace mi prijde ponekud mimo.
[34] na vase sahodlouhe prispevky budu kompletne reagovat mozna pozdeji.... ale co se tyce toho syntaktickeho cukru... sveho casu jsme zkoumali chovani prekladace c# (je to uz ale vic nez dva roky zpatky) a ten opravdu pravedel expanze property a foreach cyklu na urovni preprocesoru a ne kompilatoru a to ma do bytecodu sakra daleko...
btw. porovnavat flexibiltu jednotlivych VM je jako porovnavat flexibilitu jednotlivych turingovych stroju. nic ve zlem... ale tvrzenim, ze .NET bezi lip C++ nez C# malinko protireci tomu, ze staci napsat jen prekladac... protoze ve vnitr je to to same...
To: [8] nax
Mohu vas ujistit, ze kalkulacky z 80.let maji uplne stejny vykon jako maji kalkulacky dnesni. Kdyz vezmu svoji starou dobrou programovatelnou kalkulacku, starou 20 let, zajdu do obchodu a porovnam ji s tim, co se v te kategorii prodava dnes, nebude v tom temer zadny rozdil :-). Jeden snad mozna ano - ta moje, 20 let stara bude fungovat jeste v dobe, kdy tu novou dnesni budete nucen vyhodit, protoze prestane fungovat.
[45]:
ale kdepak,je to naprosta kopie, a to ze si k tomu ted prikradaji myslenky z funkcionalnich jazyku nezakryva ze jde o totalni kopii.
Nejde jen o samotny programovaci jazyk a syntaxi a objektovy runtime,
porovnejte si nasledujici dvojice
JUnit (Java) - NUnit (v dotnet o ctyri roky pozdeji)
Ant (Java) - NAnt (dotnet)
Hibernate - NHibernate (opet v dotnetu tak tri roky po Jave)
a bude vam jasne ze kopirovani dobrych napadu z Javy probihalo na vsech urovnich.
Mam pokracovat?
Kdyz chcete porovnavat Javu, tak s C# a platformou .NET respektive MONO. V MONu se toho v posledni dobe hodne udelalo. Prebirat dobre veci z jinych jazyku je preci spravne, delala to i Java! A to, ze je Java lepsi nez C/C++, Perl, nemluve o PHP, vzhledem k dobam jejich vzniku (v pripade PHP zase hralo roli zamereni jazyka na male projekty, jak uz vyplyva ze zkratky), to by uz mohlo byt taky celkem kazdymu jasny a nediskutovat. Jinak MSIL resp. CIL je standardizovany v ECMA a ISO, ma Java standardizovany bytecode?!
Cast dotnetu je "standardizovana" (coz znamena ze to Microsoft protlacil pres standardizacni komisi), tyka se to bytekodu a zakladni knihovny trid, ale to je jenom takovy reklamni vykrik. Vsechno co je na .netu zajimave (webove knihovny, knihovny pro uzivatelske rozhrani) samozrejme standardizovane neni a da se to pouzivat jen na windows.
Myslim, ze njvic bude na opensourcovani Javy bito prave Mono...
...ztrati znacnou cast z duvodu, proc vzniklo. Najednou bude na svete lepsi managovany runtime pod GPL.
Zajimalo by mne, jak to bude s JNode. GPLizovani suni implementace by mu mohlo vyrazne pomoci..
<a href= http://axweb2.org/duff-hair-hilary-sedu-style_0e3f6xe1.html duff hair hilary sedu style
></a> [url=http://axweb2.org/duff-hair-hilary-sedu-style_0e3f6xe1.html duff hair hilary sedu style
][/url] <a href= http://mapquest-canda_0e3f6xe1.axweb2.org mapquest canda
></a> [url=http://mapquest-canda_0e3f6xe1.axweb2.org mapquest canda
][/url] <a href= http://jenna-jameson-pic_0e3f6xe1.axweb2.org jenna jameson pic
></a> [url=http://jenna-jameson-pic_0e3f6xe1.axweb2.org jenna jameson pic
][/url] <a href= http://axweb2.org/mapquest-direction_0e3f6xe1.html mapquest direction
></a> [url=http://axweb2.org/mapquest-direction_0e3f6xe1.html mapquest direction
][/url] <a href= http://axweb2.org/mapquest-canada_0e3f6xe1.html mapquest canada
></a> [url=http://axweb2.org/mapquest-canada_0e3f6xe1.html mapquest canada
][/url] <a href= http://axweb2.org/jessica-romeo-simpson-tony_0e3f6xe1.html jessica romeo simpson tony
></a> [url=http://axweb2.org/jessica-romeo-simpson-tony_0e3f6xe1.html jessica romeo simpson tony
][/url] <a href= http://axweb2.org/dog-breed-picture_0e3f6xe1.html dog breed picture
></a> [url=http://axweb2.org/dog-breed-picture_0e3f6xe1.html dog breed picture
][/url] <a href= http://axweb2.org/mapquest-driving-direction-usa_0e3f6xe1.html mapquest driving direction usa
></a> [url=http://axweb2.org/mapquest-driving-direction-usa_0e3f6xe1.html mapquest driving direction usa
][/url] <a href= http://axweb2.org/hezbollah_0e3f6xe1.html hezbollah
></a> [url=http://axweb2.org/hezbollah_0e3f6xe1.html hezbollah
][/url] <a href= http://jessica-alba-pic_0e3f6xe1.axweb2.org jessica alba pic
></a> [url=http://jessica-alba-pic_0e3f6xe1.axweb2.org jessica alba pic
][/url] <a href= http://jessica-john-mayer-simpson_0e3f6xe1.axweb2.org jessica john mayer simpson
></a> [url=http://jessica-john-mayer-simpson_0e3f6xe1.axweb2.org jessica john mayer simpson
][/url] <a href= http://axweb2.org/mapquest-airport_0e3f6xe1.html mapquest airport
></a> [url=http://axweb2.org/mapquest-airport_0e3f6xe1.html mapquest airport
][/url] <a href= http://hilary-duff-naked_0e3f6xe1.axweb2.org hilary duff naked
></a> [url=http://hilary-duff-naked_0e3f6xe1.axweb2.org hilary duff naked
][/url] <a href= http://axweb2.org/direction-driving-mapquest-wisconsin-yahoo_0e3f6xe1.html direction driving mapquest wisconsin yahoo
></a> [url=http://axweb2.org/direction-driving-mapquest-wisconsin-yahoo_0e3f6xe1.html direction driving mapquest wisconsin yahoo
][/url] <a href= http://axweb2.org/shannen-doherty_0e3f6xe1.html shannen doherty
></a> [url=http://axweb2.org/shannen-doherty_0e3f6xe1.html shannen doherty
][/url]
<a href= http://axweb2.org/duff-hair-hilary-sedu-style_0e3f6xe1.html duff hair hilary sedu style
></a> [url=http://axweb2.org/duff-hair-hilary-sedu-style_0e3f6xe1.html duff hair hilary sedu style
][/url] <a href= http://mapquest-canda_0e3f6xe1.axweb2.org mapquest canda
></a> [url=http://mapquest-canda_0e3f6xe1.axweb2.org mapquest canda
][/url] <a href= http://jenna-jameson-pic_0e3f6xe1.axweb2.org jenna jameson pic
></a> [url=http://jenna-jameson-pic_0e3f6xe1.axweb2.org jenna jameson pic
][/url] <a href= http://axweb2.org/mapquest-direction_0e3f6xe1.html mapquest direction
></a> [url=http://axweb2.org/mapquest-direction_0e3f6xe1.html mapquest direction
][/url] <a href= http://axweb2.org/mapquest-canada_0e3f6xe1.html mapquest canada
></a> [url=http://axweb2.org/mapquest-canada_0e3f6xe1.html mapquest canada
][/url] <a href= http://axweb2.org/jessica-romeo-simpson-tony_0e3f6xe1.html jessica romeo simpson tony
></a> [url=http://axweb2.org/jessica-romeo-simpson-tony_0e3f6xe1.html jessica romeo simpson tony
][/url] <a href= http://axweb2.org/dog-breed-picture_0e3f6xe1.html dog breed picture
></a> [url=http://axweb2.org/dog-breed-picture_0e3f6xe1.html dog breed picture
][/url] <a href= http://axweb2.org/mapquest-driving-direction-usa_0e3f6xe1.html mapquest driving direction usa
></a> [url=http://axweb2.org/mapquest-driving-direction-usa_0e3f6xe1.html mapquest driving direction usa
][/url] <a href= http://axweb2.org/hezbollah_0e3f6xe1.html hezbollah
></a> [url=http://axweb2.org/hezbollah_0e3f6xe1.html hezbollah
][/url] <a href= http://jessica-alba-pic_0e3f6xe1.axweb2.org jessica alba pic
></a> [url=http://jessica-alba-pic_0e3f6xe1.axweb2.org jessica alba pic
][/url] <a href= http://jessica-john-mayer-simpson_0e3f6xe1.axweb2.org jessica john mayer simpson
></a> [url=http://jessica-john-mayer-simpson_0e3f6xe1.axweb2.org jessica john mayer simpson
][/url] <a href= http://axweb2.org/mapquest-airport_0e3f6xe1.html mapquest airport
></a> [url=http://axweb2.org/mapquest-airport_0e3f6xe1.html mapquest airport
][/url] <a href= http://hilary-duff-naked_0e3f6xe1.axweb2.org hilary duff naked
></a> [url=http://hilary-duff-naked_0e3f6xe1.axweb2.org hilary duff naked
][/url] <a href= http://axweb2.org/direction-driving-mapquest-wisconsin-yahoo_0e3f6xe1.html direction driving mapquest wisconsin yahoo
></a> [url=http://axweb2.org/direction-driving-mapquest-wisconsin-yahoo_0e3f6xe1.html direction driving mapquest wisconsin yahoo
][/url] <a href= http://axweb2.org/shannen-doherty_0e3f6xe1.html shannen doherty
></a> [url=http://axweb2.org/shannen-doherty_0e3f6xe1.html shannen doherty
][/url]
<a href= http://nina-mercedes.gratevideo.info nina mercedes
></a> [url=http://nina-mercedes.gratevideo.info nina mercedes
][/url] <a href= http://cole-and-dylan-sprouse.gratevideo.info cole and dylan sprouse
></a> [url=http://cole-and-dylan-sprouse.gratevideo.info cole and dylan sprouse
][/url] <a href= http://brooke-skye.gratevideo.info brooke skye
></a> [url=http://brooke-skye.gratevideo.info brooke skye
][/url] <a href= http://nina-mercedez.gratevideo.info nina mercedez
></a> [url=http://nina-mercedez.gratevideo.info nina mercedez
][/url] <a href= http://brooke-hogan.gratevideo.info brooke hogan
></a> [url=http://brooke-hogan.gratevideo.info brooke hogan
][/url] <a href= http://lyrics-fergalious-fergie.gratevideo.info lyrics fergalious fergie
></a> [url=http://lyrics-fergalious-fergie.gratevideo.info lyrics fergalious fergie
][/url] <a href= http://maria-ozawa.gratevideo.info maria ozawa
></a> [url=http://maria-ozawa.gratevideo.info maria ozawa
][/url] <a href= http://fergie-fergielicious-lyrics.gratevideo.info fergie fergielicious lyrics
></a> [url=http://fergie-fergielicious-lyrics.gratevideo.info fergie fergielicious lyrics
][/url] <a href= http://jasmine-byrne.gratevideo.info jasmine byrne
></a> [url=http://jasmine-byrne.gratevideo.info jasmine byrne
][/url] <a href= http://fergie-fergilious-lyrics.gratevideo.info fergie fergilious lyrics
></a> [url=http://fergie-fergilious-lyrics.gratevideo.info fergie fergilious lyrics
][/url]
Vše je řečeno na www.fuxoft.cz
Přečteno 92 983×
Přečteno 84 732×
Přečteno 42 469×
Přečteno 40 720×
Přečteno 37 779×