<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Komentarze do: Setki standardów, tysiące problemów i tylko jeden JavaScript</title>
	<atom:link href="http://ferrante.pl/2009/03/05/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/</link>
	<description>Technologie internetowe, PHP5, Python, Javascript. Publicystyka i kursy w najlepszym wydaniu.</description>
	<lastBuildDate>Thu, 17 May 2012 16:46:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Autor: Mekk</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8893</link>
		<dc:creator>Mekk</dc:creator>
		<pubDate>Wed, 18 Mar 2009 17:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8893</guid>
		<description>Ja się zastanawiam, czemu zamiast języka, nie można by udokumentować API. Ot, ustalić jakiś model maszyny wirtualnej zintegrowanej w przeglądarką (i dodać uściślenie DOM). W rok-dwa mielibyśmy co najmniej pięć alternatywnych języków programowania, w tym może choć jeden porządny ;-)

To się zresztą dzieje, tylko w pokurczony sposób, przez generowanie JavaScriptu (GWT, Pyjamas, ...)</description>
		<content:encoded><![CDATA[<p>Ja się zastanawiam, czemu zamiast języka, nie można by udokumentować API. Ot, ustalić jakiś model maszyny wirtualnej zintegrowanej w przeglądarką (i dodać uściślenie DOM). W rok-dwa mielibyśmy co najmniej pięć alternatywnych języków programowania, w tym może choć jeden porządny ;-)</p>
<p>To się zresztą dzieje, tylko w pokurczony sposób, przez generowanie JavaScriptu (GWT, Pyjamas, &#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: yanoo</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8879</link>
		<dc:creator>yanoo</dc:creator>
		<pubDate>Fri, 13 Mar 2009 16:30:53 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8879</guid>
		<description>brak kompatybilności wstecz w tym wypadku to nie wada!! Programiści php klną ile wlezie, że nowe wersje są kompatybilne wstecz, przez co język rozwija się wolniej niż powinien i przypomina chorą kobyłę bez ładu i składu. JS sam w sobie jest chory, jeśli chce się uleczyć pacjenta to koniecznie należy zrezygnować z kompatybilności wstecz.

Taką drogą poszedł Python, który zresztą w wersji 2.x jest świetnym językiem. Mimo to developerzy (słusznie!) uznali, że zmiany są na tyle istotne, by wersja 3.0 była niekompatybilna wstecz. A zmiany między Pythonem 2.6 a 3.0 nie są AŻ TAK ogromne, jak należałoby to zrobić między JS 1.x, a 2.x</description>
		<content:encoded><![CDATA[<p>brak kompatybilności wstecz w tym wypadku to nie wada!! Programiści php klną ile wlezie, że nowe wersje są kompatybilne wstecz, przez co język rozwija się wolniej niż powinien i przypomina chorą kobyłę bez ładu i składu. JS sam w sobie jest chory, jeśli chce się uleczyć pacjenta to koniecznie należy zrezygnować z kompatybilności wstecz.</p>
<p>Taką drogą poszedł Python, który zresztą w wersji 2.x jest świetnym językiem. Mimo to developerzy (słusznie!) uznali, że zmiany są na tyle istotne, by wersja 3.0 była niekompatybilna wstecz. A zmiany między Pythonem 2.6 a 3.0 nie są AŻ TAK ogromne, jak należałoby to zrobić między JS 1.x, a 2.x</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Szafranek</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8868</link>
		<dc:creator>Szafranek</dc:creator>
		<pubDate>Tue, 10 Mar 2009 00:17:29 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8868</guid>
		<description>&lt;blockquote&gt;Co do kompilatora - to taka moja abstrakcja - nie musi to byc kompilator w sensie stricte, ale jakze fajnym udogodnieniem byloby, gdyby cos sprawdzalo za nas wszelkie odniesienia do DOM, niezgodnosc typow, brak return false/preventDefault w onclickach itd. Zastosowan bylaby cala masa, moze pokusze sie kiedys o jakis manifest przedstawiajacy funkcje takiego rzekomego kompilatora.&lt;/blockquote&gt;
Napisz, jestem ciekawy. Bo o ile zgadzam się z Rafałem, to fakt faktem, że JS nie jest doskonały :).

Zastanawiam się tylko, ile można wycisnąć z języka czy „kompilatora” w sytuacji, gdy strony są tak dynamiczne jak obecnie. DOM jest żywym tworem i można go np. przewrócić do góry nogami, wstawiając dowolny string za pomocą &lt;i&gt;innerHTML&lt;/i&gt;.

PS. Przydałoby się większe &lt;i&gt;textarea&lt;/i&gt; lub opcja do rozciągania go – obecna wersja nie zachęca do pisania dłuższych komentarzy :).</description>
		<content:encoded><![CDATA[<blockquote><p>Co do kompilatora &#8211; to taka moja abstrakcja &#8211; nie musi to byc kompilator w sensie stricte, ale jakze fajnym udogodnieniem byloby, gdyby cos sprawdzalo za nas wszelkie odniesienia do DOM, niezgodnosc typow, brak return false/preventDefault w onclickach itd. Zastosowan bylaby cala masa, moze pokusze sie kiedys o jakis manifest przedstawiajacy funkcje takiego rzekomego kompilatora.</p></blockquote>
<p>Napisz, jestem ciekawy. Bo o ile zgadzam się z Rafałem, to fakt faktem, że JS nie jest doskonały :).</p>
<p>Zastanawiam się tylko, ile można wycisnąć z języka czy „kompilatora” w sytuacji, gdy strony są tak dynamiczne jak obecnie. DOM jest żywym tworem i można go np. przewrócić do góry nogami, wstawiając dowolny string za pomocą <i>innerHTML</i>.</p>
<p>PS. Przydałoby się większe <i>textarea</i> lub opcja do rozciągania go – obecna wersja nie zachęca do pisania dłuższych komentarzy :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: ferrante</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8866</link>
		<dc:creator>ferrante</dc:creator>
		<pubDate>Mon, 09 Mar 2009 18:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8866</guid>
		<description>@&lt;strong&gt;Rafał Kukawski&lt;/strong&gt;

&lt;blockquote&gt;Tutaj nie zgadzam się o tyle, że JavaScript ma po prostu inne podejście do obiektowości. Wszystko jest oparte o prototypy. Ale większość patrzy na JavaScript przez pryzmat innych języków z obiektówką o składni zbliżonej do Javy. &lt;/blockquote&gt;

Tak, obiektowka jest inna, ale o wiele bardziej niewygodna. O to glownie sie rozchodzilo, acz zrecznie pominales argumenty o tym mowiace ;-)

&lt;blockquote&gt;JavaScript ma dynamiczną typizację, jak wiele innych języków skryptowych. Jedni programiści wolą języki ze ścisłą typizacją, inni z dynamiczną. Także, uważam, że nie można tutaj mówić o wadach takiego rozwiązania, bo fakt ten ściśle wiąże się ze specyfiką tego typu języków i wybór zależy wyłącznie od upodobań programisty. Obydwa rozwiązania mają swoje wady i zalety.&lt;/blockquote&gt;

Jesli chodzi o proste rozwiazania - dynamiczna typizacja to zbawienna cecha jezyka - szybko, prosto, latwo etc. Schody zaczynaja sie, kiedy trzeba utrzymywac duzy kod.

&lt;blockquote&gt;Tutaj bym nieco uważał. Nie zapominaj proszę, że JavaScript nie jest wyłącznie językiem związanym z HTMLem. Język ten znajduje wiele innych zastosowań - nawet coraz szerzej wkrada się na stronę serwera. Czy tam jest potrzebna aż tak ścisła współpraca z HTMLem? Czy tej koniecznej współpracy nie spełniałby sam model DOM?

Poza tym, czy JavaScript nie posiada klarownych reguł w postaci specyfikacji ECMA-Scriptu? Czy na prawdę musi stać się językiem w pełni obiektowym z wyższej konieczności? Czy to tylko - jak już pisałem - nasze przyzwyczajenia?&lt;/blockquote&gt;

Popatrzcie na jedno - najpierw byl JS w kontekscie webu, dopiero potem powstaly jego ewolucje, inne zastosowania (vide dodatki do Fx itd.). Podobnie bylo z PHP - np. PHP GTK. W obydwu przypadkach mamy do czynienia z jezykami niedopracowanymi, nadajacymi sie do szybkich i prostych zastosowan. Kiedy jednak przychodzi co do czego, w kwestii duzych projektow, wychodza wszelkie wady tych jezykow.

Nie nalezy jednak przesadzac w druga strone - nie robic z JS kombajnu, w ktorym nie napiszemy szybko 2 linijek kodu jak dotychczas. Chodzi raczej o to, by rozwinac ten jezyk na tyle, by utrzymanie i DEBUG kodu byl o wiele przyjemniejszy. Mnie gimnastyka z Firebugiem srednio odpowiada.

Co do kompilatora - to taka moja abstrakcja - nie musi to byc kompilator w sensie stricte, ale jakze fajnym udogodnieniem byloby, gdyby cos sprawdzalo za nas wszelkie odniesienia do DOM, niezgodnosc typow, brak return false/preventDefault w onclickach itd. Zastosowan bylaby cala masa, moze pokusze sie kiedys o jakis manifest przedstawiajacy funkcje takiego rzekomego kompilatora.

W kazdym razie JS, co chcialem wyrazic generalnie w artykule, jest bardzo ciezkim w utrzymaniu jezykiem, majacym wiele wspolnych cech z PHP - a glowna jest masa problemow i niezgodnosci, ktore z latwoscia moglyby byc naprawione na rzecz szybszego i skuteczniejszego developmentu.

Pozdrawiam i dziekuje za tresciwy komentarz!</description>
		<content:encoded><![CDATA[<p>@<strong>Rafał Kukawski</strong></p>
<blockquote><p>Tutaj nie zgadzam się o tyle, że JavaScript ma po prostu inne podejście do obiektowości. Wszystko jest oparte o prototypy. Ale większość patrzy na JavaScript przez pryzmat innych języków z obiektówką o składni zbliżonej do Javy. </p></blockquote>
<p>Tak, obiektowka jest inna, ale o wiele bardziej niewygodna. O to glownie sie rozchodzilo, acz zrecznie pominales argumenty o tym mowiace ;-)</p>
<blockquote><p>JavaScript ma dynamiczną typizację, jak wiele innych języków skryptowych. Jedni programiści wolą języki ze ścisłą typizacją, inni z dynamiczną. Także, uważam, że nie można tutaj mówić o wadach takiego rozwiązania, bo fakt ten ściśle wiąże się ze specyfiką tego typu języków i wybór zależy wyłącznie od upodobań programisty. Obydwa rozwiązania mają swoje wady i zalety.</p></blockquote>
<p>Jesli chodzi o proste rozwiazania &#8211; dynamiczna typizacja to zbawienna cecha jezyka &#8211; szybko, prosto, latwo etc. Schody zaczynaja sie, kiedy trzeba utrzymywac duzy kod.</p>
<blockquote><p>Tutaj bym nieco uważał. Nie zapominaj proszę, że JavaScript nie jest wyłącznie językiem związanym z HTMLem. Język ten znajduje wiele innych zastosowań &#8211; nawet coraz szerzej wkrada się na stronę serwera. Czy tam jest potrzebna aż tak ścisła współpraca z HTMLem? Czy tej koniecznej współpracy nie spełniałby sam model DOM?</p>
<p>Poza tym, czy JavaScript nie posiada klarownych reguł w postaci specyfikacji ECMA-Scriptu? Czy na prawdę musi stać się językiem w pełni obiektowym z wyższej konieczności? Czy to tylko &#8211; jak już pisałem &#8211; nasze przyzwyczajenia?</p></blockquote>
<p>Popatrzcie na jedno &#8211; najpierw byl JS w kontekscie webu, dopiero potem powstaly jego ewolucje, inne zastosowania (vide dodatki do Fx itd.). Podobnie bylo z PHP &#8211; np. PHP GTK. W obydwu przypadkach mamy do czynienia z jezykami niedopracowanymi, nadajacymi sie do szybkich i prostych zastosowan. Kiedy jednak przychodzi co do czego, w kwestii duzych projektow, wychodza wszelkie wady tych jezykow.</p>
<p>Nie nalezy jednak przesadzac w druga strone &#8211; nie robic z JS kombajnu, w ktorym nie napiszemy szybko 2 linijek kodu jak dotychczas. Chodzi raczej o to, by rozwinac ten jezyk na tyle, by utrzymanie i DEBUG kodu byl o wiele przyjemniejszy. Mnie gimnastyka z Firebugiem srednio odpowiada.</p>
<p>Co do kompilatora &#8211; to taka moja abstrakcja &#8211; nie musi to byc kompilator w sensie stricte, ale jakze fajnym udogodnieniem byloby, gdyby cos sprawdzalo za nas wszelkie odniesienia do DOM, niezgodnosc typow, brak return false/preventDefault w onclickach itd. Zastosowan bylaby cala masa, moze pokusze sie kiedys o jakis manifest przedstawiajacy funkcje takiego rzekomego kompilatora.</p>
<p>W kazdym razie JS, co chcialem wyrazic generalnie w artykule, jest bardzo ciezkim w utrzymaniu jezykiem, majacym wiele wspolnych cech z PHP &#8211; a glowna jest masa problemow i niezgodnosci, ktore z latwoscia moglyby byc naprawione na rzecz szybszego i skuteczniejszego developmentu.</p>
<p>Pozdrawiam i dziekuje za tresciwy komentarz!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: radex</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8865</link>
		<dc:creator>radex</dc:creator>
		<pubDate>Mon, 09 Mar 2009 18:13:27 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8865</guid>
		<description>Flex? IMHO zły pomysł. Z Flashem wbrew pozorom jest jeszcze spooro problemów. Telefony komórkowe, linux (nie u wszystkich, ale mi np. średnio raz na godzinę/dwie flash zawiesi przeglądarkę), etc. Jednak JavaScript tutaj wygrywa (AFAIK nawet Opera Mini ma prymitywną, ale zawsze obsługe JS).

A co do dynamiczna typizacja vs ścisła typizacja - jedno i drugie ma zalety. W PHP mam dynamiczną, w C++ ścisłą i nie narzekam.

To tysiące standardów, to setki problemów, to jeden JavaScript, więc ugryź suchara ;)

PS. Co Wy, ludzie macie z JAVA-mi, UNIX-ami, LINUX-ami? niedługo będzie MICROSOFT WINDOWS...</description>
		<content:encoded><![CDATA[<p>Flex? IMHO zły pomysł. Z Flashem wbrew pozorom jest jeszcze spooro problemów. Telefony komórkowe, linux (nie u wszystkich, ale mi np. średnio raz na godzinę/dwie flash zawiesi przeglądarkę), etc. Jednak JavaScript tutaj wygrywa (AFAIK nawet Opera Mini ma prymitywną, ale zawsze obsługe JS).</p>
<p>A co do dynamiczna typizacja vs ścisła typizacja &#8211; jedno i drugie ma zalety. W PHP mam dynamiczną, w C++ ścisłą i nie narzekam.</p>
<p>To tysiące standardów, to setki problemów, to jeden JavaScript, więc ugryź suchara ;)</p>
<p>PS. Co Wy, ludzie macie z JAVA-mi, UNIX-ami, LINUX-ami? niedługo będzie MICROSOFT WINDOWS&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: wowo</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8863</link>
		<dc:creator>wowo</dc:creator>
		<pubDate>Sat, 07 Mar 2009 14:56:30 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8863</guid>
		<description>@Gucman: na noki 3310 nie, ale na G1 tak :-)
Wiem, wiem, flex nie nadaje się do wszystkiego, ale zrobić w nim specjalizowany panel administracyjny, to moim zdaniem całkiem dobry pomysł.</description>
		<content:encoded><![CDATA[<p>@Gucman: na noki 3310 nie, ale na G1 tak :-)<br />
Wiem, wiem, flex nie nadaje się do wszystkiego, ale zrobić w nim specjalizowany panel administracyjny, to moim zdaniem całkiem dobry pomysł.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Gucman</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8862</link>
		<dc:creator>Gucman</dc:creator>
		<pubDate>Sat, 07 Mar 2009 14:35:51 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8862</guid>
		<description>@wowo: a czy na telefonie czy palmtopie też każdy ma Flash Playera? ;&gt;</description>
		<content:encoded><![CDATA[<p>@wowo: a czy na telefonie czy palmtopie też każdy ma Flash Playera? ;&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Rafał Kukawski</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8859</link>
		<dc:creator>Rafał Kukawski</dc:creator>
		<pubDate>Thu, 05 Mar 2009 23:31:34 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8859</guid>
		<description>Artykuł całkiem dobrze się czytało. Porusza sporo ważnych aspektów. Częściowo się z Tobą zgadzam, ale nie we wszystkich kwestiach.

&lt;blockquote&gt;O ile CSS i XHTML współpracują ze sobą dość dobrze, tak JavaScript sprawia wrażenie przyszywanego wujka. Przede wszystkim, w JS pokutuje prawie to samo, co w PHP – &lt;em&gt;naciągana obiektowość&lt;/em&gt;.&lt;/blockquote&gt;

Tutaj nie zgadzam się o tyle, że JavaScript ma po prostu inne podejście do obiektowości. Wszystko jest oparte o prototypy. &lt;em&gt;Ale większość patrzy na JavaScript przez pryzmat innych języków&lt;/em&gt; z obiektówką o składni zbliżonej do Javy. Także możemy tutaj &lt;em&gt;mówić tylko o pewnym przyzwyczajeniu&lt;/em&gt; i nawet nie staramy się zrozumieć specyfiki tego języka. Przez wiele lat nikomu to nie przeszkadzało i JavaScript zyskał swoją popularność.

&lt;blockquote&gt;Niedostatki obiektowości powodują, że nie mamy choćby kontroli typów, przez co mnożą się instrukcje warunkowe, wspomagane przez typeof.&lt;/blockquote&gt;
JavaScript ma dynamiczną typizację, jak wiele innych języków skryptowych. Jedni programiści wolą języki ze ścisłą typizacją, inni z dynamiczną. Także, uważam, że nie można tutaj mówić o wadach takiego rozwiązania, bo fakt ten ściśle wiąże się ze specyfiką tego typu języków i wybór zależy wyłącznie od upodobań programisty. Obydwa rozwiązania mają swoje wady i zalety.

Jak pisałeś, JavaScript 2 miał oferować pełną obiektowość znaną z innych języków. Nie twierdzę, że to złe, bo jednak przyzwyczajenia biorą górę i szkoda marnować czasu na niestandardowy w tym momencie model obiektowości. Uważam, że migracja na nową wersję języka miałaby szansę na szybkie zaistnienie, ale tylko pod warunkiem szybkiego wprowadzenia obsługi przez poszczególnych producentów przeglądarek. Oczywiście konieczna byłaby możliwość współistnienia obydwu wersji języka jednocześnie na stronie. Nie wszyscy przecież są programistami i będą korzystać z gotowych skryptów na swoich stronach. Raz trafią na skrypt &quot;starej generacji&quot;, drugi raz na skrypt napisany w JS2. A to znowu wiąże się z koniecznością utrzymywania dwóch silników JS w przeglądarkach... oj, kiepsko to wygląda. Rozsądnym rozwiązaniem wydaje się być ta wsteczna kompatybilność, ale jak sam napisałeś, nie wszyscy chcą się w to bawić.

&lt;blockquote&gt;By sen się ziścił, potrzeba klarownych reguł języka. JavaScript musi stać się w pełni obiektowy. Również relacje z HTML powinny być o wiele bardziej zacieśnione. Nie ukrywajmy tego, skoro w JavaScript istnieje obsługa DOM, dlaczego jeszcze bardziej nie popchnąć języka w tę stronę? Przecież większość skryptów odnosi się do struktury dokumentów HTML!&lt;/blockquote&gt;
Tutaj bym nieco uważał. Nie zapominaj proszę, że JavaScript nie jest wyłącznie językiem związanym z HTMLem. Język ten znajduje wiele innych zastosowań - nawet coraz szerzej wkrada się na stronę serwera. Czy tam jest potrzebna aż tak ścisła współpraca z HTMLem? Czy tej koniecznej współpracy nie spełniałby sam model DOM?

Poza tym,  czy JavaScript nie posiada klarownych reguł w postaci specyfikacji ECMA-Scriptu? Czy na prawdę &lt;em&gt;musi&lt;/em&gt; stać się językiem w pełni obiektowym z wyższej konieczności? Czy to tylko - jak już pisałem - nasze przyzwyczajenia?

&lt;blockquote&gt;&lt;em&gt;Kłania się potrzeba kompilatora lub czegoś w tym rodzaju.&lt;/em&gt; Najlepiej byłoby, gdyby tłumaczył on kod JS na inny, ściśle znany tylko przeglądarce. Tylko skompilowany program mógłby zostać użyty na stronach internetowych. W innym wypadku, dołączenie plików “przypominających” poprawny JS byłoby niemożliwe.&lt;/blockquote&gt;

Ta idea, moim zdaniem, odbiłaby się na dynamice i pewnej łatwości w tworzeniu aplikacji webowych. Obecnie wystarczy zasiąść za komputer, otworzyć notatnik i napisać skrypt. Wprowadzenie dodatkowego elementu wiązałoby się z koniecznością instalacji/posiadania dodatkowego oprogramowania. W tym momencie całe to oprogramowanie trzebaby nosić cały czas przy sobie, żeby cokolwiek napisać. Poza tym, co taki kompilator by dał? Byłby w zasadzie w stanie wyłapać błędy składniowe (co konsole błędów wbudowane w przeglądarki potrafią) i kontrolować typy danych (jeśli język stałby się ściśle typizowanym językiem). A reszta? Nie dałoby się wychwycić wielu rzeczy w procesie kompilacji, bo sam HTML, na którym nasze skrypty operują jest jedną wielką zmienną, która dynamicznie się zmienia. Tutaj uważam kompilator za całkiem zbyteczny element.

&lt;blockquote&gt;Mianowicie, czy JavaScript, CSS i XHTML noszą na swoich plecach pokaźny garb wyraźnych niedociągnięć i problemów, które programistę server-side po prostu irytują i przyprawiają o śmiech politowania?&lt;/blockquote&gt;
Może i jest to faktem, ale programiści serwerowi mają o tyle ułatwioną sprawę, że mają na serwerze jedno oprogramowanie i wiedzą, co i jak mają pisać. Programiści aplikacji klienckich mają sprawę o tyle utrudnioną, że muszą borykać się z kilkoma silnikami przeglądarek, których producenci przyzwyczaili nas do wprowadzania własnych autorskich rozszerzeń, a nie dbają o kompletną i &lt;em&gt;poprawną&lt;/em&gt; implementację tego co zostało zdefiniowane w standardach. Co więcej, większość z dzisiaj obowiązujących standardów nadawała się dobre kilka lat temu, dzisiaj niestety stają się powoli bezużyteczne. Świat idzie do przodu i te najważniejsze standardy powinny się rozwijać. A jak sam napisałeś, definiuje się coraz to nowsze standardy, które nie są implementowane i przez to są bezużyteczne. Za przykład weźmy XHTMLa. Tak, ma swoje zalety, ale po co to? Wystarczy przecież rozbudować i zaktualizować starego poczciwego HTMLa i wszystko będzie dobrze. Wydaje się, że częściowo deweloperzy to zrozumieli i opracowuje się obecnie &quot;coś&quot; zwane HTML5.

Najlepiej byłoby zacząć wszystko od nowa, ale łatwo się mówi, gorzej wykonać. Nowy standard dzisiaj zdefiniować to banał, ale czekanie na implementację standardu w nieskończoność skutecznie zniechęca. Z dnia na dzień nie zmieni się całej sieci, więc niestety muszą wystarczyć półśrodki w postaci drobnych zmian aktualnie obowiązujących standardów.

&lt;blockquote&gt;rzadko zdarza się (wcale?), że kod napisany w jednym miejscu, nadpisuje inny. Hermetyzacja robi swoje.&lt;/blockquote&gt;
Tak, tu się zgadzam. Wprowadzenie przestrzeni nazw skutecznie rozwiązałoby problem.

To chyba tyle chciałem przekazać. Jak sobie jeszcze coś przypomnę, to dopiszę.</description>
		<content:encoded><![CDATA[<p>Artykuł całkiem dobrze się czytało. Porusza sporo ważnych aspektów. Częściowo się z Tobą zgadzam, ale nie we wszystkich kwestiach.</p>
<blockquote><p>O ile CSS i XHTML współpracują ze sobą dość dobrze, tak JavaScript sprawia wrażenie przyszywanego wujka. Przede wszystkim, w JS pokutuje prawie to samo, co w PHP – <em>naciągana obiektowość</em>.</p></blockquote>
<p>Tutaj nie zgadzam się o tyle, że JavaScript ma po prostu inne podejście do obiektowości. Wszystko jest oparte o prototypy. <em>Ale większość patrzy na JavaScript przez pryzmat innych języków</em> z obiektówką o składni zbliżonej do Javy. Także możemy tutaj <em>mówić tylko o pewnym przyzwyczajeniu</em> i nawet nie staramy się zrozumieć specyfiki tego języka. Przez wiele lat nikomu to nie przeszkadzało i JavaScript zyskał swoją popularność.</p>
<blockquote><p>Niedostatki obiektowości powodują, że nie mamy choćby kontroli typów, przez co mnożą się instrukcje warunkowe, wspomagane przez typeof.</p></blockquote>
<p>JavaScript ma dynamiczną typizację, jak wiele innych języków skryptowych. Jedni programiści wolą języki ze ścisłą typizacją, inni z dynamiczną. Także, uważam, że nie można tutaj mówić o wadach takiego rozwiązania, bo fakt ten ściśle wiąże się ze specyfiką tego typu języków i wybór zależy wyłącznie od upodobań programisty. Obydwa rozwiązania mają swoje wady i zalety.</p>
<p>Jak pisałeś, JavaScript 2 miał oferować pełną obiektowość znaną z innych języków. Nie twierdzę, że to złe, bo jednak przyzwyczajenia biorą górę i szkoda marnować czasu na niestandardowy w tym momencie model obiektowości. Uważam, że migracja na nową wersję języka miałaby szansę na szybkie zaistnienie, ale tylko pod warunkiem szybkiego wprowadzenia obsługi przez poszczególnych producentów przeglądarek. Oczywiście konieczna byłaby możliwość współistnienia obydwu wersji języka jednocześnie na stronie. Nie wszyscy przecież są programistami i będą korzystać z gotowych skryptów na swoich stronach. Raz trafią na skrypt &#8222;starej generacji&#8221;, drugi raz na skrypt napisany w JS2. A to znowu wiąże się z koniecznością utrzymywania dwóch silników JS w przeglądarkach&#8230; oj, kiepsko to wygląda. Rozsądnym rozwiązaniem wydaje się być ta wsteczna kompatybilność, ale jak sam napisałeś, nie wszyscy chcą się w to bawić.</p>
<blockquote><p>By sen się ziścił, potrzeba klarownych reguł języka. JavaScript musi stać się w pełni obiektowy. Również relacje z HTML powinny być o wiele bardziej zacieśnione. Nie ukrywajmy tego, skoro w JavaScript istnieje obsługa DOM, dlaczego jeszcze bardziej nie popchnąć języka w tę stronę? Przecież większość skryptów odnosi się do struktury dokumentów HTML!</p></blockquote>
<p>Tutaj bym nieco uważał. Nie zapominaj proszę, że JavaScript nie jest wyłącznie językiem związanym z HTMLem. Język ten znajduje wiele innych zastosowań &#8211; nawet coraz szerzej wkrada się na stronę serwera. Czy tam jest potrzebna aż tak ścisła współpraca z HTMLem? Czy tej koniecznej współpracy nie spełniałby sam model DOM?</p>
<p>Poza tym,  czy JavaScript nie posiada klarownych reguł w postaci specyfikacji ECMA-Scriptu? Czy na prawdę <em>musi</em> stać się językiem w pełni obiektowym z wyższej konieczności? Czy to tylko &#8211; jak już pisałem &#8211; nasze przyzwyczajenia?</p>
<blockquote><p><em>Kłania się potrzeba kompilatora lub czegoś w tym rodzaju.</em> Najlepiej byłoby, gdyby tłumaczył on kod JS na inny, ściśle znany tylko przeglądarce. Tylko skompilowany program mógłby zostać użyty na stronach internetowych. W innym wypadku, dołączenie plików “przypominających” poprawny JS byłoby niemożliwe.</p></blockquote>
<p>Ta idea, moim zdaniem, odbiłaby się na dynamice i pewnej łatwości w tworzeniu aplikacji webowych. Obecnie wystarczy zasiąść za komputer, otworzyć notatnik i napisać skrypt. Wprowadzenie dodatkowego elementu wiązałoby się z koniecznością instalacji/posiadania dodatkowego oprogramowania. W tym momencie całe to oprogramowanie trzebaby nosić cały czas przy sobie, żeby cokolwiek napisać. Poza tym, co taki kompilator by dał? Byłby w zasadzie w stanie wyłapać błędy składniowe (co konsole błędów wbudowane w przeglądarki potrafią) i kontrolować typy danych (jeśli język stałby się ściśle typizowanym językiem). A reszta? Nie dałoby się wychwycić wielu rzeczy w procesie kompilacji, bo sam HTML, na którym nasze skrypty operują jest jedną wielką zmienną, która dynamicznie się zmienia. Tutaj uważam kompilator za całkiem zbyteczny element.</p>
<blockquote><p>Mianowicie, czy JavaScript, CSS i XHTML noszą na swoich plecach pokaźny garb wyraźnych niedociągnięć i problemów, które programistę server-side po prostu irytują i przyprawiają o śmiech politowania?</p></blockquote>
<p>Może i jest to faktem, ale programiści serwerowi mają o tyle ułatwioną sprawę, że mają na serwerze jedno oprogramowanie i wiedzą, co i jak mają pisać. Programiści aplikacji klienckich mają sprawę o tyle utrudnioną, że muszą borykać się z kilkoma silnikami przeglądarek, których producenci przyzwyczaili nas do wprowadzania własnych autorskich rozszerzeń, a nie dbają o kompletną i <em>poprawną</em> implementację tego co zostało zdefiniowane w standardach. Co więcej, większość z dzisiaj obowiązujących standardów nadawała się dobre kilka lat temu, dzisiaj niestety stają się powoli bezużyteczne. Świat idzie do przodu i te najważniejsze standardy powinny się rozwijać. A jak sam napisałeś, definiuje się coraz to nowsze standardy, które nie są implementowane i przez to są bezużyteczne. Za przykład weźmy XHTMLa. Tak, ma swoje zalety, ale po co to? Wystarczy przecież rozbudować i zaktualizować starego poczciwego HTMLa i wszystko będzie dobrze. Wydaje się, że częściowo deweloperzy to zrozumieli i opracowuje się obecnie &#8222;coś&#8221; zwane HTML5.</p>
<p>Najlepiej byłoby zacząć wszystko od nowa, ale łatwo się mówi, gorzej wykonać. Nowy standard dzisiaj zdefiniować to banał, ale czekanie na implementację standardu w nieskończoność skutecznie zniechęca. Z dnia na dzień nie zmieni się całej sieci, więc niestety muszą wystarczyć półśrodki w postaci drobnych zmian aktualnie obowiązujących standardów.</p>
<blockquote><p>rzadko zdarza się (wcale?), że kod napisany w jednym miejscu, nadpisuje inny. Hermetyzacja robi swoje.</p></blockquote>
<p>Tak, tu się zgadzam. Wprowadzenie przestrzeni nazw skutecznie rozwiązałoby problem.</p>
<p>To chyba tyle chciałem przekazać. Jak sobie jeszcze coś przypomnę, to dopiszę.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: wowo</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8856</link>
		<dc:creator>wowo</dc:creator>
		<pubDate>Thu, 05 Mar 2009 23:01:08 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8856</guid>
		<description>Wszystko co piszesz jest prawdą. Może alternatywą jest Flex? Nie trzeba się babrać z ie3, ie4, ie5, ie5.5, ie6, ie7, ie8, ff2, ff3, ff3@linux, opera, chrome, konqueror, safari itp. GUI jest jedno wszędzie te same, a w backendzie może być pełna dowolność. Flash playera, każdy już teraz ma.</description>
		<content:encoded><![CDATA[<p>Wszystko co piszesz jest prawdą. Może alternatywą jest Flex? Nie trzeba się babrać z ie3, ie4, ie5, ie5.5, ie6, ie7, ie8, ff2, ff3, ff3@linux, opera, chrome, konqueror, safari itp. GUI jest jedno wszędzie te same, a w backendzie może być pełna dowolność. Flash playera, każdy już teraz ma.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Kristofer</title>
		<link>http://ferrante.pl/frontend/javascript/setki-standardow-tysiace-problemow-i-tylko-jeden-javascript/comment-page-1/#comment-8855</link>
		<dc:creator>Kristofer</dc:creator>
		<pubDate>Thu, 05 Mar 2009 22:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://ferrante.pl/?p=173#comment-8855</guid>
		<description>Ciekawy wpis. Próbowałem kilka razy zabrać się za javascript, ale za każdym razem przestawałem i odkładałem go na &quot;półkę&quot;. Przydałby się do niego kompilator, łatwiejsze by było chociażby szukanie błędów i testowanie. Może jak JS 2 stanie się popularny to wrócę do nauki ;]</description>
		<content:encoded><![CDATA[<p>Ciekawy wpis. Próbowałem kilka razy zabrać się za javascript, ale za każdym razem przestawałem i odkładałem go na &#8222;półkę&#8221;. Przydałby się do niego kompilator, łatwiejsze by było chociażby szukanie błędów i testowanie. Może jak JS 2 stanie się popularny to wrócę do nauki ;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

