Názory k článku
Co přináší nový ECMAScript 5?
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoJsem si vědom, že pojem "třída" je nesprávný, bohužel jsem ale nepřišel na to, jak lépe a bez krkolomného opisování označit dvojici (Rectangle, Rectangle.prototype), což je to, co onou třídou myslím. Pokud vás nějaké pojmenování napadá, rád ho uslyším.
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoOobně jsme z ES4 měl dost rozporuplné pocity. Na jednu stranu přibližoval JavaScript běžným jazykům a obsahoval velké množství zajímavých myšlenek (třeba poměrně sofistikovaný typový systém), na druhou stranu jazyk opravdu hodně zesložiťoval a nové funkce leckdy nebyly ortogonální a působily trochu dojmem "vezmeme všechno užitečné, co jsme kdy v jakém jazyku viděli, a přidáme to do ECMAScriptu".
Nedivím se tedy těm, kteří zavržení ES4 litují, ale ani těm, kdo s ním souhlasí. Možná je nakonec cesta postupného vylepšování nejrozumnější a ty opravdu důležité funkce ES4 se snad časem do ECMAScriptu dostanou.
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoJá nevím, co je na tom naivního. Stejně jako Silverlight je možné programovat v různých jazycích, i browsery by umožňovaly něco takového.
Naivní je předpokládat, že výrobci browserů budou ochotní něco takového udělat. Technicky to samozřejmě problém není, ale není k tomu (dle mého - myslím že docela informovaného - názoru) vůle. Jediný, kdo více interpretů v prohlížeči má, je Microsoft, který kromě JScriptu umožňuje používat i VBScript. Jenže u Microsoftu byla motivace usnadnit webový vývoj programátorům ve Visual Basicu, svůj skriptovací framework využili i jinde a je to velká firma. Pro ostatní výrobce prohlížečů nic z toho neplatí.
Spíše mi připadá naivní snaha shodnout se na jednom jediném jazyku, jde to trochu proti ekonomickým teoriím.
Proti jakým? Dokážete mi popsat, proč bych se jako vedoucí vývoje třeba Opery měl rozhodnout nějaký takový jazyk implementovat? Co mi to přinese za zisk?
Mimochodem, připadá vám také naivní, že se všichni shodli na HTTP, HTML a CSS jako jediných reálně používaných stadardech pro danou oblast?
Zkrátka Mozilla by přišla s ES3 a ES4 (už to měla skoro připravené)
"skoro připravené" je hodně nadsazený výraz
Jistě, tím pádem by některé aplikace fungovaly jen v některých browserech
Jinými slovy, nikdo by ony nové jazyky nepoužíval, protože by aplikace v nich napsané nebyly univerzálně použitelné (pokud by zas nějaký prohlížeč nezískal 90+ % trhu) a všichni by raději psali v "horším" ale všude fungujícím JavaScriptu (nebo do něj skripty kompilovali).
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoRovněž si myslím, že je to naivní. Protože s tím asi nebudete souhlasit, doporučuji podrobněji nastudovat historii prohlížečů a webových technologií a případných problémů. Jedině asi tak pochopíte.
RE: Co přináší nový ECMAScript 5?
celé vláknoPodotýkám, že rozhodně nezpochybňuju, že HTML a DOM standardizované být musí.
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoAle z ekonomického hlediska?
... Za Flash Playerem stojí Adobe a má ekonomický zájem na prodeji nástrojů pro tvorbu Flash aplikací - mimo jiné ... za Silverlightem je Microsoft ... kdo se podobným způsobem postaví za "JS-player" a proč?
RE: Co přináší nový ECMAScript 5?
celé vláknoRE: Co přináší nový ECMAScript 5?
celé vláknoNeberte tu otázku jako protiargument. Ta otázka prostě visí v luftě, ať si o tom my dva, nebo kdokoli jiný myslí co chce :o)
RE: Co přináší nový ECMAScript 5?
celé vláknoAle mě to je v podstatě jedno, mě živí a zajímají mě především RIA technologie, takže tady vlastně napovídám milovníkům tradičních webových technologií, jak jim pomoct konkurovat a přežít. I když si pan Hassman nejspíš myslí, že mi jde o to je pohřbít. ;-)
Re: RE: Co přináší nový ECMAScript 5?
celé vláknoNo, asi do toho zas tak nevidíte. JIT kompilace se nedělá do bytecode, ale do nativního kódu, protože jedině ten může běžet přímo na železe.
To co popisujete je opravdu .Net. Různé jazyky se kompilují do jednoho bytecode a ten se pak kompiluje (JIT) do nativního. Samozřejmě že by to tak fungovat mohlo, je to lety prověřený princip. Problém je, že je to nahony vzdálené současné situaci v prohlížečích. JS prohlížeče umí „od přírody“, Java, Silverlight, Flash jsou ty pluginy.
Upřesnění
celé vláknoNa základě právě přešteného článku Johna Resiga bych rád opravil několik menších nepřesností v popisu funkcí omezujících práci s pobjekty, které se dostaly do článku:
- Funkce
Object.sealkromě zákazu mazání vlastností objetu také zabraňuje změnit jejich charakter (např. implementovat obyčjnou vlastnost getterem/setterm, vyjmout ji z procházenífor..in-cyklem apod.) a navíc zabraňuje přidávání nových vlastností do objektu. - Funkce
Object.freezedělá totéž jakoObject.seal, ale navíc zabraňuje měnit hodnotu vlastností.
Za nepřesnosti se omlouvám.
Re: Co přináší nový ECMAScript 5?
celé vláknoPrototyp objektu nejde zjistit vůbec, pouze je možné se pomocí funkce Object.prototype.isPrototypeOf nebo operátoru instanceof dotázat na to, zda řetězec prototypů objektu obsahuje nějakou konkrétní hodnotu. Poznámka: Ve Firefoxu, Safari a Chrome je ke zjištění prototypu objektu možno použít speciální vlastnost __proto__, která obsahuje odkaz na něj. Tato vlastnost ale nemá oporu ve specifikaci ES3.
Na objekt prototypu sa dá odkazovať cez objekt.constructor.prototype čo funguje úplne rovnako ako neštandardná vlastnosť objekt.__proto__