abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 2
    včera 23:11 | Bezpečnostní upozornění

    Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | IT novinky

    Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Bezpečnostní upozornění

    V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | IT novinky

    Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | Nová verze

    Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.5. 15:44 | Nová verze

    Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    14.5. 15:22 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    14.5. 14:55 | Nová verze

    Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 2
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 280 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dodatky k článku M. Vyskočila „Otevřená Java 1“

    1.1.2011 18:37 | Přečteno: 1159× | Výběrový blog | poslední úprava: 2.1.2011 16:33

    30. listopadu nyní již minulého roku zde na AbcLinuxu.cz vyšel článek Michala Vyskočila Otevřená Java 1: Přehled, je androidí Dalvik Java?, který vysvětloval některé pojmy z oblasti „Javy“. Tento můj text obsahuje několik dodatků, dovysvětlení a odkazů.

    Co je to vlastně Java? Pojem je to trochu nejednoznačný, jelikož se v dávných dobách, snad v záchvatu čirého nadšení nad šikovnou ochrannou známkou v laboratořích společnosti Sun rozhodli pojmenovat Java úplně vše.

    Jde např. o Sun Java System Application Server (SJSAS), Sun Java Desktop System (SJDS) nebo JavaScript.

    Zatímco některé zmíněné výrobky na slovo Java v názvu mají bezesporu nárok (SJSAS je prostě aplikačním serverem zaměřeným na prostředí Javy), jiné využívají toho, že se jich Java týká alespoň okrajově (SJDS je GNOME s několika přidanými komponentami, z nichž jsou některé založeny na Platformě Java), a u dalších jde vyloženě o obchodní strategii (JavaScript nemá s Javou téměř nic společného).

    Bez zajímavosti není, že SJSAS byl před nějakou dobou přejmenován a slovo Java již v názvu nemá…

    Java .class soubor … Binární soubor obsahující posloupnosti instrukcí pro virtuální stroj, který je vykonává. Programy v jazyce Java jsou nejčastěji překládány (ale ne nezbytně) právě do tohoto mezikódu.

    „Mezikódu“ se říká bajtový kód nebo jednoduše bajtkód, případně anglicky bytecode. Vzniká obvykle jako produkt kompilátoru, který jej vytváří ze zdrojových kódů napsaných v jazyce Java (ale i jiných jazycích).

    O bajtkódu si lze přečíst ve čtvrté kapitole knihy The Java Virtual Machine Specification.

    Další významnou úlohou stroje je automatická správa paměti – garbage collecting.

    To znamená, že programátor nemusí explicitně alokovat a uvolňovat paměť. Paměť je automaticky alokována virtuálním strojem, nejčastěji na základě určitých událostí, např. při žádosti o vytvoření nového objektu. Uvolnění paměti zajišťuje také virtuální stroj. Každá instance virtuálního stroje to může provádět jinak; obecně je ale paměť uvolňována tehdy, když už není potřeba — např. pokud na objekt nevede žádný odkaz (a nelze k němu z programu přistupovat, takže je prakticky zbytečný).

    (Upřesnění: garbage collecting jako takové se zabývá pouze uvolňováním paměti, nikoli alokací. Stará se tedy o vyhledávání „uvolnitelné“ paměti a její následné skutečné uvolnění.)

    Platforma Java je kombinace běhového či vývojového prostředí spolu se standardní knihovnou.

    Pěkné schéma Platformy Java lze nahlédnout v dokumentaci.

    Platforem existuje několik – od "klasické" Java Standard Edition, přes Java EE, což je v podstatě SE verze s obohacenou standardní knihovnou, po Java ME pro mobilní telefony, která používá jiný virtuální stroj, tak i dosti odlišnou standardní knihovnu.

    Tyto „platformy“ jsou ve skutečnosti „edice“ Platformy Java. Nejdůležitější edice jsou tři (existuje ještě několik dalších):

    (Poznámka: dodnes se lze setkat se staršími označeními: Java 2 Platform, Standard Edition neboli J2SE, Java 2 Platform, Enterprise Edition neboli J2EE a Java 2 Platform, Micro Edition neboli J2ME.)

    Prapůvodním cílem prapůvodních autorů dnešní „Javy“ byla tvorba programů, které by bylo možné „spouštět kdekoli“. To se nakonec ukázalo jako komplikované, zejména vzhledem k mimořádné rozličnosti zařízení, na nichž by tyto programy měly být provozovány, a rozličnosti účelů těchto programů. Např. je zbytečné, aby mobilní telefon mohl provozovat rozsáhlé serverové programy, stejně tak je zbytečné, aby server mohl přistupovat k vlastnostem malých osobních počítačů.

    Z tohoto důvodu vzniklo několik edic Platformy Java, které se liší především místem předpokládaného nasazení (z čehož plynou rozdílné nástroje, rozdílné standardní knihovny atd.). Např. JEE je určeno k tvorbě serverových řešení a naopak JME je určeno k nasazení na mobilní telefony a další „malá“ zařízení. JSE je jakýmsi pojítkem a zároveň nejobecnější technologií.

    (Teoreticky ale nic nebrání nasadit JEE na mobilní telefon nebo JME na server.)

    Obecně, mluví-li se o „Platformě Java“, míní se tím obvykle jen JSE. JSE je totiž základem všech ostatních edicí, což ilustruje toto schéma:

    Schéma edic Platformy Java

    (JEE je nadmnožinou JSE. JME je podmnožinou JSE a navíc obsahuje další komponenty.)

    Význam výrazu „spouštění kdekoli“ se tak změnil a dnes se obecně týká především kompatibility bajtkódu atd., respektive znamená „spouštění kdekoli v rámci edice“.

           

    Hodnocení: 92 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    2.1.2011 11:54 kolcon | skóre: 15 | blog: kolcon
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    pekne vysvetleni, sam jsem v tech edicich nemel jasno...
    2.1.2011 14:05 Trained.Monkey | skóre: 12 | blog: monkey
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Tohle rozdeleni neni zcela presne, napriklad existuje jeste realtime nebo embedded edice.

    Navic neni mozne pouzit JSE (napriklad OpenJDK nebo Harmony) v mobilnim telefonu, porusilo by to licenci k Technology Compatibility Kit. A bez nej vas Oracle muze zalovat o patenty.

    vulgární Nick avatar 2.1.2011 14:23 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Tohle rozdeleni neni zcela presne, napriklad existuje jeste realtime nebo embedded edice.
    Vždyť tam autor píše: "Nejdůležitější edice jsou tři (existuje ještě několik dalších)"
    JSEM PRASE A HOVADO.
    2.1.2011 15:32 maertien(notlogged)
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    A muze vas takto Oracle zalovat i v ramci EU (Ceska Republika)? Nebo se to tyka jen USA?
    2.1.2011 18:45 Trained.Monkey | skóre: 12 | blog: monkey
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Muze zazalovat tvoje zakazniky v USA, coz je dost podstatne omezeni.
    4.1.2011 10:45 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Navic neni mozne pouzit JSE (napriklad OpenJDK nebo Harmony) v mobilnim telefonu, porusilo by to licenci k Technology Compatibility Kit.
    Už jsem to vysvětlovat pod článkem, ale asi marně. Kde se prosím v OpenJDK Community TCK License Agreement (nebo jiném relevantním dokumenty) píše, že testy neplatí pro použití v mobilním telefonu?

    A patenty - viz bod 7 GPLv2. Oracle vás může zažalovat pouze za porušení copyrightu (to jest neoprávněné používání OpenJDK, Java, J2SE, ...), ale ne za patenty, protože by v tom případě porušil podmínky GPL a musel OpenJDK přestat distribuovat.
    When your hammer is C++, everything begins to look like a thumb.
    3.1.2011 08:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    JavaScript nemá s Javou téměř nic společného
    Pokud vím, JavaScript nemá s Javou ani Sunem společného kromě názvu vůbec nic. Je to jenom marketingové označení – asi jako když se po nástupu Windows XP najednou začalo pyšnit přívlastkem „XP“ kde co, od aplikací přes harddisky po slipy.
    vulgární Nick avatar 3.1.2011 09:30 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Lidi, čtete vůbec ty články? Vždyť je tam psáno, že "u dalších jde vyloženě o obchodní strategii", a jako příklad je zmíněn JS... Označení JavaScript je marketingový tah, ale JS zároveň přebral (byť třeba jen částečně) několik věcí z Javy, například pár tříd. Jinak se Sunem JS něco málo společného má - Sun ho spoluvyvíjel.
    JSEM PRASE A HOVADO.
    3.1.2011 13:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    V zápisku je momentálně toto:
    u dalších jde vyloženě o obchodní strategii (JavaScript nemá s Javou téměř nic společného)
    To znamená, že „Java“ v názvu „JavaScript“ je obchodní strategií, ale zároveň mají ještě něco společného (to „něco“ je rozdíl mezi „nic“ a „téměř nic“). Co tedy mají společného?
    Jinak se Sunem JS něco málo společného má - Sun ho spoluvyvíjel.
    Takhle překvapivou informaci by bylo dobré uvést i se zdrojem. Normálně se totiž člověk dočte jen to, že Sun JavaScript následně licencoval…
    vulgární Nick avatar 3.1.2011 13:31 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    To znamená, že „Java“ v názvu „JavaScript“ je obchodní strategií, ale zároveň mají ještě něco společného (to „něco“ je rozdíl mezi „nic“ a „téměř nic“). Co tedy mají společného?
    Jste natvrdlý? Vždyť to píšu výše - třeba některé classy byly částečně převzaty z tehdejšího J2SE.
    Takhle překvapivou informaci by bylo dobré uvést i se zdrojem. Normálně se totiž člověk dočte jen to, že Sun JavaScript následně licencoval…
    Předpokládám, že jsem to viděl v knížce JavaScript profesionálně (?) od Wroxu. Přesný název knihy dodám někdy večer. Tak či onak, Sun se na JS podílel, což sám přiznáváte, takže nechápu, o čem diskutujete.
    JSEM PRASE A HOVADO.
    3.1.2011 16:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Jste natvrdlý? Vždyť to píšu výše - třeba některé classy byly částečně převzaty z tehdejšího J2SE.
    Vzhledem k tomu, že počet tříd v JavaScriptu je 0, je vaše tvrzení formálně pravdivé. Normálně česky by se to ale řeklo tak, že se JavaScript – jako každý jiný programovací jazyk – inspiroval jazyky, které v té době existovaly.
    Tak či onak, Sun se na JS podílel, což sám přiznáváte, takže nechápu, o čem diskutujete.
    Kde jsem něco takového psal? Pokud vím, JavaScript byl do podoby JavaScriptu vyvinut pod křídly Netscape, Sun do toho vstoupil jenom tak, že se s Netscapem dohodli na tom, že bude možné do prohlížeče vkládat Javu v podobě appletů a bude možné s nimi komunikovat přes JavaScript, a Sun na oplátku umožní využít slovo „Java“ jako součást názvu skriptovacího jazyka.
    vulgární Nick avatar 3.1.2011 18:39 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Vzhledem k tomu, že počet tříd v JavaScriptu je 0, je vaše tvrzení formálně pravdivé.
    No jasně, když dojdou argumenty, tak se začne slovíčkařit. V tom případě ale JavaScript obsahuje nenulové množství tříd (a některé z nich, například Date, jsou založeny na třídách J2SE), protože třída není nutně definovaná pomocí klíčového slova class, jelikož se obecně jedná o šablonu objektů. A toto JS prostě má, i když se vám to třeba nelíbí, ale takový už je život.
    Kde jsem něco takového psal? Pokud vím, JavaScript byl do podoby JavaScriptu vyvinut pod křídly Netscape ...
    Vaše "pokud vím" mám někde. Ukončíme tedy spor... Psal jsem:
    Jinak se Sunem JS něco málo společného má - Sun ho spoluvyvíjel.
    Vy jste z toho byl celej vyjevenej, což jste vlastně doteď. Takže citace z knížky (slova krácena mnou):
    Pro včasné dokončení implementace jaz. LiveScript spojila spol. Netscape své vývojářské úsilí se spol. Sun Microsystems. Těsně před ofic. vydáním prohlížeče NN 2 změnila spol. Netscape název LiveScript na JavaScript, čímž chtěla těžit z pozornosti, které se dostávalo jaz. Java ze strany tisku.
    Jedná se o knížku "JavaScript pro webové vývojáře: Programujeme profesionálně", nakl. Wrox / Cpress.

    Doufám, že už je vám to jasné a přestanete otravovat nepodloženými nebo nevěcnými plky.
    JSEM PRASE A HOVADO.
    3.1.2011 20:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    JavaScript uses prototypes instead of classes for inheritance. It is possible to simulate many class-based features with prototypes in JavaScript.
    Wikipedia: JavaScript – History.
    K nejrozšířenějším chybným představám o JavaScriptu patří, že jde o „zjednodušenou verzi“ Javy, programovacího jazyka od firmy Sun Microsystems. Až na neúplnou syntaktickou podobnost a skutečnost, že jak Java, tak i JvaScript mohou doručovat po sítích „proveditelný obsah“, jsou si tyto dva jazyky dost vzdálené. Podobnost názvů je čistě marketingovým tahem. … Tyto jazyky mají odlišné sady schopností.
    David Flanagan: JavaScript – kompletní průvodce. O'Reilly, česky ComputerPress.
    JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, which was later renamed to LiveScript, and finally to JavaScript. LiveScript was the official name for the language when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed JavaScript in a joint announcement with Sun Microsystems on December 4, 1995 when it was deployed in the Netscape browser version 2.0B3.
    Wikipedia: JavaScript – History.

    Pokud chcete prezentovat něco, co je v rozporu s jakoukoli informací, kterou lze o dané věci zjistit jinde, bylo by asi dobré zakládat to na robustnějším základu, než jsou tři slova „spojila vývojářské úsilí“, která mohou znamenat cokoli.

    Buď máte velmi podrobné informace o historii JavaScriptu, takové, které se ani nedostanou na internet nebo do knížek; buď máte velmi rozsáhlé znalosti o programování, a rozdíl mezi objektovým modelem založeným na třídách a na prototypech je pro vás maličkost pod vaši rozlišovací schopnost. A nebo jste si o JavaScriptu právě přečetl pár vět, tak o tom hned musíte poučovat celý svět, a v tom fofru jste si zatím nestihl všimnout třeba toho, že prototypová dědičnost v JavaScriptu je dost odlišná od třídní dědičnosti používané v mainstreamových objektových jazycích nebo jejich rozšířeních jako C++, Java, C#, Python nebo PHP.
    vulgární Nick avatar 3.1.2011 20:28 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    JavaScript uses prototypes instead of classes for inheritance. It is possible to simulate many class-based features with prototypes in JavaScript.
    To nijak nevyvrací slova, která jsem řekl. Jestli skutečně umíte anglicky a nevložil jste sem cizojazyčnou citaci jen tak pro legraci, tak to pochopíte.
    K nejrozšířenějším chybným představám o JavaScriptu patří, že jde o „zjednodušenou verzi“ Javy, programovacího jazyka od firmy Sun Microsystems. Až na neúplnou syntaktickou podobnost a skutečnost, že jak Java, tak i JvaScript mohou doručovat po sítích „proveditelný obsah“, jsou si tyto dva jazyky dost vzdálené. Podobnost názvů je čistě marketingovým tahem. … Tyto jazyky mají odlišné sady schopností.
    Toto nejenže nevyvrací, co jsem řekl, to má tvrzení dokonce potvrzuje.
    JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, which was later renamed to LiveScript, and finally to JavaScript. LiveScript was the official name for the language when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed JavaScript in a joint announcement with Sun Microsystems on December 4, 1995 when it was deployed in the Netscape browser version 2.0B3.
    Vy jste masochista, že se vám líbí, když vás někdo ponižuje? Zjevně ano.

    Nezdáte se jako klasický blb, protože se dokonce svá slova snažíte podkládat zdroji, ale asi jste v tom začátečník, protože dát sem tři citáty, z nichž ani jeden nerozporuje to, co jsem řekl já, je fakt úlet. Sice se pokoušíte tahat za záchrannou brzdu pokusy o změnu tématu, ale to se vám taky moc nedaří. Musíte se holt zlepšit. Tímto diskuze z mé strany končí. Nechám historii, aby posoudila, kdo z nás měl pravdu, protože zalévat pařez opravdu nemá cenu.
    JSEM PRASE A HOVADO.
    3.1.2011 21:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    To nijak nevyvrací slova, která jsem řekl.
    Upozorňuje to na drobný fakt, že v JavaScriptu žádné třídy nejsou. Takže veškerá vaše tvrzení o tom, co dělají a nedělají třídy v JavaScriptu, jsou nesmysl.
    Toto nejenže nevyvrací, co jsem řekl, to má tvrzení dokonce potvrzuje.
    Opravdu? Podle vás se tvrzení „podobnost názvů není jen marketingovým tahem, ty jazyky mají společného něco víc“ a „podobnost názvů je čistě marketingovým tahem“ potvrzují? Podle mne jsou v rozporu.

    Zbytek je krásná ukázka, jak si někdo pečlivě připraví vidle a pak se na ně ještě s rozběhem sám napíchne. Čekat na rozsouzení historií je v tomto případě zbytečné. Teda pokud nečekáte, že se ukáže, že 3.1.2011 byl přesně ten den, kdy jsem se najednou z ničeho nic zbláznil, a vy jste to jako první poznal…
    vulgární Nick avatar 3.1.2011 22:41 vulgární Nick | blog: Takže já jsem jedinej, kdo čůrá do vany?
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Upozorňuje to na drobný fakt, že v JavaScriptu žádné třídy nejsou. Takže veškerá vaše tvrzení o tom, co dělají a nedělají třídy v JavaScriptu, jsou nesmysl.
    Co je třída je otázkou definice. Já výše uvedl definici ("šablona objektů" - tato definice není můj výmysl) a následně na jejím základě určil, že takové konstrukce v JS jsou. Mohl bych i citovat literaturu, ale protože vím, že pro vás to nic neznamená, nebudu to dělat. Melte si svou a tvařte se spokojeně.
    Opravdu? Podle vás se tvrzení „podobnost názvů není jen marketingovým tahem, ty jazyky mají společného něco víc“ a „podobnost názvů je čistě marketingovým tahem“ potvrzují? Podle mne jsou v rozporu.
    1. Název je obchodní strategie. 2. JS přesto obsahuje věci převzaté z Javy. => Převzatých věcí není tolik, aby si zasloužily odkaz v názvu, ale jsou.
    Zbytek je krásná ukázka, jak si někdo pečlivě připraví vidle a pak se na ně ještě s rozběhem sám napíchne.
    Souhlasím. A neměl byste si je sám vyndavat, zní rada lékařů.
    Teda pokud nečekáte, že se ukáže, že 3.1.2011 byl přesně ten den, kdy jsem se najednou z ničeho nic zbláznil
    Nemyslím. Podle mě to bylo o mnoho roků dřív. A rozhodně nejsem sám, kdo si to myslí.
    JSEM PRASE A HOVADO.
    4.1.2011 08:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    Co je třída je otázkou definice. Já výše uvedl definici ("šablona objektů" - tato definice není můj výmysl) a následně na jejím základě určil, že takové konstrukce v JS jsou.
    Za prvé je to vaše definice, za druhé takové konstrukce sice jsou v JS, ale nejsou v Javě.
    Mohl bych i citovat literaturu, ale protože vím, že pro vás to nic neznamená, nebudu to dělat.
    Víte houby, a citovat nechcete proto, protože nemáte co citovat. Vaše výmluva je ubohá.
    Převzatých věcí není tolik, aby si zasloužily odkaz v názvu, ale jsou.
    Dokonce jich není ani tolik, aby si zasloužily jedinou zmínku v diskusi. Je potřeba o tom pořád jenom mluvit, že jsou, ale je potřeba je pečlivě tajit. Teda vlastně ne úplně – lze odtajnit, že jsou převzaté takové objevy, jako třeba základní datové typy.
    3.1.2011 21:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Dodatky k článku M. Vyskočila „Otevřená Java 1“
    V zákulisí jsem se podivil nad „informační ‚řídkostí‘ a nepřesností“ tohoto výběrového zápisku. Jeho autor mne zprostředkovaně požádal, abych nějaké nepřesnosti uvedl, takže tady jsou.

    O tom, že JavaScript ne jen že nemá kromě názvu s Javou takřka nic společného, ale nemá s ní kromě názvu společného vůbec nic, jsem už psal v jiném komentáři. Samozřejmě, oba jsou to programovací jazyky, oba objektové, používají C-like syntaxi – ale to platí i pro mnoho dalších jazyků. Jenže ta závorka „JavaScript nemá s Javou téměř nic společného“ vyvolává dojem, že ty dva jazyky spolu mají společného víc než ten název a víc než jiné jazyky – třeba že vychází ze společného předka, oba implementují nějaký nový princip, který byl poprvé implementován v těchto dvou jazycích, nebo něco takového. Jenže nic takového v tom není, jsou jazyky, které jsou Javě nebo JavaScriptu mnohem bližší, než tyto dva jazyky navzájem. Bez nějakého dalšího dlouhého vysvětlování a porovnání se spoustou dalších jazyků se tedy o nich dá prohlásit opravdu jen to, že mají společné to jméno.
    Java .class soubor … Binární soubor obsahující posloupnosti instrukcí pro virtuální stroj, který je vykonává. Programy v jazyce Java jsou nejčastěji překládány (ale ne nezbytně) právě do tohoto mezikódu.
    „Mezikódu“ se říká bajtový kód nebo jednoduše bajtkód, případně anglicky bytecode. Vzniká obvykle jako produkt kompilátoru, který jej vytváří ze zdrojových kódů napsaných v jazyce Java (ale i jiných jazycích).
    „Mezikódu“ se říká (možná někdy) bajtový kód nebo jednoduše bajtkód, případně anglicky bytecode, nebo taky mezikód, zkompilovaný kód, class, binární kód… Pokud by ta synonyma byla uvedena v závorce u prvního použití termínu v rozsáhlém článku, proč ne. Ale stavět na tom výběrový zápisek? Druhá věta už je prakticky jen opis druhé citované věty z článku – pokud chtěl autor zdůraznit to, že to mezikódu lze přeložit i jiné jazyky, než Javu, měl škrtnout předchozí dvě zbytečné věty, a rozepsat se o těch čtyřech slovech v závorce.
    Další významnou úlohou stroje je automatická správa paměti – garbage collecting.
    To znamená, že programátor nemusí explicitně alokovat a uvolňovat paměť. Paměť je automaticky alokována virtuálním strojem, nejčastěji na základě určitých událostí, např. při žádosti o vytvoření nového objektu. Uvolnění paměti zajišťuje také virtuální stroj. Každá instance virtuálního stroje to může provádět jinak; obecně je ale paměť uvolňována tehdy, když už není potřeba — např. pokud na objekt nevede žádný odkaz (a nelze k němu z programu přistupovat, takže je prakticky zbytečný).
    Pokud někdo netuší, co znamená „automatická správa paměti / garbage collection“, nebude tušit ani co jsou „alokace / uvolnění paměti“, „instance virtuálního stroje“ nebo „odkaz na objekt“. Takže vysvětlení pojmů to asi nemělo být, tak možná upřesnění? Jenže „alokace paměti“ není pojem ze světa programování v Javě, jde o popis fungování části virtuálního stroje, v tomto případě správy objektů. Jenže pak je to zase velmi nepřesné – virtuální stroj nealokuje paměť pro každý nový objekt extra a s každým objektem, který přestane být odkazován, ji zase neuvolňuje. Navíc se najednou nepozorovaně přešlo od objektů k paměti, aniž by bylo jasné, jaký je mezi tím vztah. Prostě je to takový dodatek, který neznalému jenom zamotá hlavu dalšími termíny, a znalého jen napadne, že by se to se stejným počtem slov a pro stejný účel dalo popsat přesněji.

    Kombinace „spouštět kdekoli“ a jednotlivých edicí Javy v zápisku dohromady míchá věci, které spolu nijak nesouvisí. Ono „spouštět kdekoli“ nikdy nemělo znamenat, že by se serverová aplikace spouštěla na mobilním telefonu. Bylo to vymezení proti programování zejména jednoúčelových zařízení, která každá měla svůj jazyk nebo jeho variantu, vývojové nástroje, svou knihovnu… Java neměla přinést to, že všechno bude stejné a jednou napsaná aplikace poběží bezezměny na jakémkoli zařízení, ale že se budou používat společné základy. Poměrně brzy se tenhle princip zopakoval s Javou na mobilních telefonech – buď bylo možné vyvíjet aplikace skoro pro každý mobil zvlášť (a u většiny výrobců mohl být autorem softwaru jen výrobce mobilu), JME aplikace jsou univerzální napříč výrobci. To neznamená, že by každá JME aplikace byla spustitelná na každém telefonu – ale používají společný jazyk, společné nástroje, společnou základní knihovnu. Algoritmus napíšete jednou a pak jej obalíte černobílým zobrazením pro jeden typ mobilu, barevným zobrazením pro jiný a zvukovým výstupem pro třetí. Což je výrazný rozdíl proti tomu, když ten samý algoritmus musíte jednou napsat v C pro jeden mobil, v C ale s jinou knihovnou pro druhý, v assembleru pro třetí, v Objective C pro čtvrtý atd. V poslední době to znova zopakoval Google s Androidem – „spouštět kdekoli“ opět neznamená, že by každá androidí aplikace běžela na každém systému s Androidem, ale opět je zde jednotné základní prostředí – jazyk, vývojářské nástroje, knihovny.

    Edice Javy pak prakticky určují jen to, co bude v základní knihovně. Respektive Sun/Oracle určuje, že aby něco mohlo být nazýváno takovou a takovou edicí Javy, musí to splňovat určité požadavky (z pohledu programátora dané hlavně „velikostí“ standardní knihovny). Ve volnějším výkladu se pak ten termín využívá pro platformu, která poskytuje standardní knihovnu dané „velikosti“. Takže třeba Google App Engine odpovídá JavaSE, i když technicky vzato tam některé třídy ze standardní knihovny JavaSE nejsou a nebo nedělají, co by dle standardu měly. Takže „spouštět kdekoli“ ani tady neznamená, že jakýkoli „JavaSE“ kód spustím na desktopu pod JRE od Sunu/Oracle, IBM i OpenJDK, ten samý kód spustím v aplikačním serveru i na Google App Engine. Ne. Znamená to „jenom“ tolik, že pro programování pro všechna ty prostředí mohu použít stejný jazyk, stejné nástroje, stejné postupy a často mohu použít stejný kód.
    Jinak původně jsem zápisek nechtěl nijak kritizovat, jako obyčejný zápisek v blogu by mne nijak nepohoršil. Má výhrada se týkala pouze zařazení do výběru.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.