abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 0
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 5
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    16.7. 16:22 | IT novinky

    Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.

    Ladislav Hagara | Komentářů: 26
    16.7. 15:33 | Upozornění

    Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapyAI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.

    bindiff | Komentářů: 8
    16.7. 13:33 | Bezpečnostní upozornění

    Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).

    Ladislav Hagara | Komentářů: 6
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (25%)
     (25%)
     (13%)
     (0%)
     (0%)
     (0%)
     (0%)
     (38%)
    Celkem 8 hlasů
     Komentářů: 3, poslední dnes 17:26
    Rozcestník

    Google přibližuje světu jazyk Dart

    Google světu ukázal jazyk Dart, jehož účelem je nahradit JavaScript ve webových aplikacích. Veškeré informace a ukázky najdete na dartlang.org. Jazyk se dost podobá Javě, ale zachovává některé rysy JavaScriptu.

    10.10.2011 13:14 | Luboš Doležel (Doli) | Zajímavý projekt


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

    Komentáře

    Vložit další komentář

    Saljack avatar 10.10.2011 13:24 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Execute Dart code directly in a VM on the server side?
    Sex, Drugs & Rock´n Roll.
    Rezza avatar 10.10.2011 13:52 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Kolikaty je to jazyk od Google? :)))
    10.10.2011 14:02 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    tento pocin vitam daleko vic nez treba go, protoze resi konkretni problem... a to, ze javascript je jedno velke programatorske peklo a pokud se ho podari nahradit necim civilizovanejsim, mozna se bude dat rozumne programovat i na strane klienta... ale hodne zalezi na tom, jak se bude jazyk a jeho podpora dal vyvijet.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    10.10.2011 14:11 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    +1, aby se dal JavaScript rozumně použít, musí se hrozně znásilňovat. Viz jQuery... Ne, že by to nefungovalo, ale je to takové, no, je na tom vidět, že ten jazyk na to není stavěný.
    10.10.2011 14:33 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Rozšiřitelnost není znásilňování. JavaScript je šílený jazyk, ale má pár skvělých vlastností: událostní smyčku, funkce jako hodnoty (first-class functions, higher-order functions) a rozšiřitelnou syntaxi.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    10.10.2011 14:50 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Rozšiřitelnost není znásilňování.

    knihovna od zakladu prekopavajici cely jazyk za ucelem, aby se dal ten jazyk pouzivat k tomu, k cemu byl vubec navrzeny mi prijde opravdu trochu jako zvracenost a znasilneni
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    10.10.2011 14:53 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Jo, a největší prča na tom je, že ta knihovna nemění vůbec nic. Čekal bych, že zrovna ty budeš mít trochu pochopení, v JavaScriptu je pod pár vrstvami špíny a hnusu ukryté Scheme, které by mohly pochopit i masy :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    10.10.2011 15:10 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Jo, a největší prča na tom je, že ta knihovna nemění vůbec nic.
    to jo. mimochodem, osobne radsi preferuju dojo, prijde mi takove nejake civilizovanejsi.
    Čekal bych, že zrovna ty budeš mít trochu pochopení, v JavaScriptu je pod pár vrstvami špíny a hnusu ukryté Scheme, které by mohly pochopit i masy :-)
    ano, jedna cast meho ja ocenuje, ze tam je opravdu schovany scheme, a ze JS zpristupnuje funkcionalni zpusob programovani i sirokym masam. ale ta druha cast meho ja, ktera v tom obcas musi neco programovat by autory specifikace i s implementatory vymachala v dehtu a peri a hnala je pres cele silicon valley.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    10.10.2011 15:08 R
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    A ked sa ta kniznica parsuje pri kazdom nacitani stranky, to je parada...
    10.10.2011 15:09 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    To je věc konkrétní implementace.
    10.10.2011 14:11 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Co konkretne ti na JS vadi?
    Luboš Doležel (Doli) avatar 10.10.2011 14:17 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Z hlediska API je hrozně nízkoúrovňový.
    Bedňa avatar 10.10.2011 14:32 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Tak, tak s čím súvisia aj rozdielne implementácie DOMu.
    KERNEL ULTRAS video channel >>>
    10.10.2011 14:31 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    In love!
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    alblaho avatar 10.10.2011 19:32 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Proč? Má to pořádně udělanou kompozici objektů?
    11.10.2011 10:28 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Nemá, pořád je tam dědičnost (jednoduchá, plus možná v budoucnu přibudou traity), ale má to kromě normálních i factory konstruktory, což je zatím to nejlepší řešení konstruktorů, co jsem viděl. A i jinak je to docela hezké, rozhodně mne překvapili… no i když Gilad Bracha a Peter Ahé, ti mne vlastně mohli překvapit jenom příjemně :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    10.10.2011 14:46 __dark__
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Po fiasku s jazykem Go uvádí google Dart, jakákoliv podobnost s actionscriptem je čistě náhodná, pro jistotu byla změněna i standardní syntax deklarace funkcí, konstruktorů, a přejmenovány některé typy ;-)
    10.10.2011 15:47 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Těší mě možnost statického typování a zároveň doufám, že prohlížeče využijí typovou informaci ke zvýšení rychlosti.
    10.10.2011 20:38 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    To tu nikdo nezná/nepoužívá haxe?

    Jsem mimořádně obtížný případ
    10.10.2011 21:48 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Důležité IMO je, že za Dartem stojí Google a bude mít podporu přímo v Chrome.
    10.10.2011 22:14 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Jazyk, ze kterého se dá nageneroat JS, PHP a C++? Nic prot, ale to zní dost šíleně :-D
    Saljack avatar 10.10.2011 22:17 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Proč?
    Sex, Drugs & Rock´n Roll.
    10.10.2011 22:57 Juraj
    Rozbalit Rozbalit vše Pre pythonistov - CoffeeScript
    CoffeeScript - Velmi som v tom este nerobil ale kod sa dobre cita.

    11.10.2011 10:14 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Hello world v Dartu zkompilovaný do JavaScriptu: https://gist.github.com/1277224. :)
    11.10.2011 12:34 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Epic thread :D

    Inak ak ma byt dart->js docasna nahrada za GWT (ktore je tiez humus) pre prehliadace ktore nebudu podporovat dart (vsetky okrem chrome) tak to neni az take zle. Samozrejme pouzivat by som to nechcel, je to proste taka politicky korektnejsia nahrada za alert('Stranka je optimalizovana pre google chrome')
    11.10.2011 12:54 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart

    Hello world v haxe zkompilovaný do JavaScriptu:

    haxe
    import js.Lib;
    class Main 
    {
      static function main() 
      {
        Lib.alert("ahoj světe");
      }
    }
    
    javascript
    $estr = function() { return js.Boot.__string_rec(this,''); }
    Std = function() { }
    Std.__name__ = ["Std"];
    Std["is"] = function(v,t) {
    	$s.push("Std::is");
    	var $spos = $s.length;
    	var $tmp = js.Boot.__instanceof(v,t);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std.string = function(s) {
    	$s.push("Std::string");
    	var $spos = $s.length;
    	var $tmp = js.Boot.__string_rec(s,"");
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std["int"] = function(x) {
    	$s.push("Std::int");
    	var $spos = $s.length;
    	if(x < 0) {
    		var $tmp = Math.ceil(x);
    		$s.pop();
    		return $tmp;
    	}
    	var $tmp = Math.floor(x);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std.parseInt = function(x) {
    	$s.push("Std::parseInt");
    	var $spos = $s.length;
    	var v = parseInt(x,10);
    	if(v == 0 && x.charCodeAt(1) == 120) v = parseInt(x);
    	if(isNaN(v)) {
    		$s.pop();
    		return null;
    	}
    	var $tmp = v;
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std.parseFloat = function(x) {
    	$s.push("Std::parseFloat");
    	var $spos = $s.length;
    	var $tmp = parseFloat(x);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std.random = function(x) {
    	$s.push("Std::random");
    	var $spos = $s.length;
    	var $tmp = Math.floor(Math.random() * x);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    Std.prototype.__class__ = Std;
    IntIter = function(min,max) {
    	if( min === $_ ) return;
    	$s.push("IntIter::new");
    	var $spos = $s.length;
    	this.min = min;
    	this.max = max;
    	$s.pop();
    }
    IntIter.__name__ = ["IntIter"];
    IntIter.prototype.min = null;
    IntIter.prototype.max = null;
    IntIter.prototype.hasNext = function() {
    	$s.push("IntIter::hasNext");
    	var $spos = $s.length;
    	var $tmp = this.min < this.max;
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    IntIter.prototype.next = function() {
    	$s.push("IntIter::next");
    	var $spos = $s.length;
    	var $tmp = this.min++;
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    IntIter.prototype.__class__ = IntIter;
    Main = function() { }
    Main.__name__ = ["Main"];
    Main.main = function() {
    	$s.push("Main::main");
    	var $spos = $s.length;
    	js.Lib.alert("ahoj světe");
    	$s.pop();
    }
    Main.prototype.__class__ = Main;
    if(typeof js=='undefined') js = {}
    js.Lib = function() { }
    js.Lib.__name__ = ["js","Lib"];
    js.Lib.isIE = null;
    js.Lib.isOpera = null;
    js.Lib.document = null;
    js.Lib.window = null;
    js.Lib.alert = function(v) {
    	$s.push("js.Lib::alert");
    	var $spos = $s.length;
    	alert(js.Boot.__string_rec(v,""));
    	$s.pop();
    }
    js.Lib.eval = function(code) {
    	$s.push("js.Lib::eval");
    	var $spos = $s.length;
    	var $tmp = eval(code);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    js.Lib.setErrorHandler = function(f) {
    	$s.push("js.Lib::setErrorHandler");
    	var $spos = $s.length;
    	js.Lib.onerror = f;
    	$s.pop();
    }
    js.Lib.prototype.__class__ = js.Lib;
    js.Boot = function() { }
    js.Boot.__name__ = ["js","Boot"];
    js.Boot.__unhtml = function(s) {
    	$s.push("js.Boot::__unhtml");
    	var $spos = $s.length;
    	var $tmp = s.split("&").join("&").split("<").join("<").split(">").join(">");
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    js.Boot.__trace = function(v,i) {
    	$s.push("js.Boot::__trace");
    	var $spos = $s.length;
    	var msg = i != null?i.fileName + ":" + i.lineNumber + ": ":"";
    	msg += js.Boot.__unhtml(js.Boot.__string_rec(v,"")) + "<br/>";
    	var d = document.getElementById("haxe:trace");
    	if(d == null) alert("No haxe:trace element defined\n" + msg); else d.innerHTML += msg;
    	$s.pop();
    }
    js.Boot.__clear_trace = function() {
    	$s.push("js.Boot::__clear_trace");
    	var $spos = $s.length;
    	var d = document.getElementById("haxe:trace");
    	if(d != null) d.innerHTML = "";
    	$s.pop();
    }
    js.Boot.__closure = function(o,f) {
    	$s.push("js.Boot::__closure");
    	var $spos = $s.length;
    	var m = o[f];
    	if(m == null) {
    		$s.pop();
    		return null;
    	}
    	var f1 = function() {
    		$s.push("js.Boot::__closure@67");
    		var $spos = $s.length;
    		var $tmp = m.apply(o,arguments);
    		$s.pop();
    		return $tmp;
    		$s.pop();
    	};
    	f1.scope = o;
    	f1.method = m;
    	$s.pop();
    	return f1;
    	$s.pop();
    }
    js.Boot.__string_rec = function(o,s) {
    	$s.push("js.Boot::__string_rec");
    	var $spos = $s.length;
    	if(o == null) {
    		$s.pop();
    		return "null";
    	}
    	if(s.length >= 5) {
    		$s.pop();
    		return "<...>";
    	}
    	var t = typeof(o);
    	if(t == "function" && (o.__name__ != null || o.__ename__ != null)) t = "object";
    	switch(t) {
    	case "object":
    		if(o instanceof Array) {
    			if(o.__enum__ != null) {
    				if(o.length == 2) {
    					var $tmp = o[0];
    					$s.pop();
    					return $tmp;
    				}
    				var str = o[0] + "(";
    				s += "\t";
    				var _g1 = 2, _g = o.length;
    				while(_g1 < _g) {
    					var i = _g1++;
    					if(i != 2) str += "," + js.Boot.__string_rec(o[i],s); else str += js.Boot.__string_rec(o[i],s);
    				}
    				var $tmp = str + ")";
    				$s.pop();
    				return $tmp;
    			}
    			var l = o.length;
    			var i;
    			var str = "[";
    			s += "\t";
    			var _g = 0;
    			while(_g < l) {
    				var i1 = _g++;
    				str += (i1 > 0?",":"") + js.Boot.__string_rec(o[i1],s);
    			}
    			str += "]";
    			$s.pop();
    			return str;
    		}
    		var tostr;
    		try {
    			tostr = o.toString;
    		} catch( e ) {
    			$e = [];
    			while($s.length >= $spos) $e.unshift($s.pop());
    			$s.push($e[0]);
    			$s.pop();
    			return "???";
    		}
    		if(tostr != null && tostr != Object.toString) {
    			var s2 = o.toString();
    			if(s2 != "[object Object]") {
    				$s.pop();
    				return s2;
    			}
    		}
    		var k = null;
    		var str = "{\n";
    		s += "\t";
    		var hasp = o.hasOwnProperty != null;
    		for( var k in o ) { ;
    		if(hasp && !o.hasOwnProperty(k)) {
    			continue;
    		}
    		if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__") {
    			continue;
    		}
    		if(str.length != 2) str += ", \n";
    		str += s + k + " : " + js.Boot.__string_rec(o[k],s);
    		}
    		s = s.substring(1);
    		str += "\n" + s + "}";
    		$s.pop();
    		return str;
    	case "function":
    		$s.pop();
    		return "<function>";
    	case "string":
    		$s.pop();
    		return o;
    	default:
    		var $tmp = String(o);
    		$s.pop();
    		return $tmp;
    	}
    	$s.pop();
    }
    js.Boot.__interfLoop = function(cc,cl) {
    	$s.push("js.Boot::__interfLoop");
    	var $spos = $s.length;
    	if(cc == null) {
    		$s.pop();
    		return false;
    	}
    	if(cc == cl) {
    		$s.pop();
    		return true;
    	}
    	var intf = cc.__interfaces__;
    	if(intf != null) {
    		var _g1 = 0, _g = intf.length;
    		while(_g1 < _g) {
    			var i = _g1++;
    			var i1 = intf[i];
    			if(i1 == cl || js.Boot.__interfLoop(i1,cl)) {
    				$s.pop();
    				return true;
    			}
    		}
    	}
    	var $tmp = js.Boot.__interfLoop(cc.__super__,cl);
    	$s.pop();
    	return $tmp;
    	$s.pop();
    }
    js.Boot.__instanceof = function(o,cl) {
    	$s.push("js.Boot::__instanceof");
    	var $spos = $s.length;
    	try {
    		if(o instanceof cl) {
    			if(cl == Array) {
    				var $tmp = o.__enum__ == null;
    				$s.pop();
    				return $tmp;
    			}
    			$s.pop();
    			return true;
    		}
    		if(js.Boot.__interfLoop(o.__class__,cl)) {
    			$s.pop();
    			return true;
    		}
    	} catch( e ) {
    		$e = [];
    		while($s.length >= $spos) $e.unshift($s.pop());
    		$s.push($e[0]);
    		if(cl == null) {
    			$s.pop();
    			return false;
    		}
    	}
    	switch(cl) {
    	case Int:
    		var $tmp = Math.ceil(o%2147483648.0) === o;
    		$s.pop();
    		return $tmp;
    	case Float:
    		var $tmp = typeof(o) == "number";
    		$s.pop();
    		return $tmp;
    	case Bool:
    		var $tmp = o === true || o === false;
    		$s.pop();
    		return $tmp;
    	case String:
    		var $tmp = typeof(o) == "string";
    		$s.pop();
    		return $tmp;
    	case Dynamic:
    		$s.pop();
    		return true;
    	default:
    		if(o == null) {
    			$s.pop();
    			return false;
    		}
    		var $tmp = o.__enum__ == cl || cl == Class && o.__name__ != null || cl == Enum && o.__ename__ != null;
    		$s.pop();
    		return $tmp;
    	}
    	$s.pop();
    }
    js.Boot.__init = function() {
    	$s.push("js.Boot::__init");
    	var $spos = $s.length;
    	js.Lib.isIE = typeof document!='undefined' && document.all != null && typeof window!='undefined' && window.opera == null;
    	js.Lib.isOpera = typeof window!='undefined' && window.opera != null;
    	Array.prototype.copy = Array.prototype.slice;
    	Array.prototype.insert = function(i,x) {
    		$s.push("js.Boot::__init@205");
    		var $spos = $s.length;
    		this.splice(i,0,x);
    		$s.pop();
    	};
    	Array.prototype.remove = Array.prototype.indexOf?function(obj) {
    		$s.push("js.Boot::__init@208");
    		var $spos = $s.length;
    		var idx = this.indexOf(obj);
    		if(idx == -1) {
    			$s.pop();
    			return false;
    		}
    		this.splice(idx,1);
    		$s.pop();
    		return true;
    		$s.pop();
    	}:function(obj) {
    		$s.push("js.Boot::__init@213");
    		var $spos = $s.length;
    		var i = 0;
    		var l = this.length;
    		while(i < l) {
    			if(this[i] == obj) {
    				this.splice(i,1);
    				$s.pop();
    				return true;
    			}
    			i++;
    		}
    		$s.pop();
    		return false;
    		$s.pop();
    	};
    	Array.prototype.iterator = function() {
    		$s.push("js.Boot::__init@225");
    		var $spos = $s.length;
    		var $tmp = { cur : 0, arr : this, hasNext : function() {
    			$s.push("js.Boot::__init@225@229");
    			var $spos = $s.length;
    			var $tmp = this.cur < this.arr.length;
    			$s.pop();
    			return $tmp;
    			$s.pop();
    		}, next : function() {
    			$s.push("js.Boot::__init@225@232");
    			var $spos = $s.length;
    			var $tmp = this.arr[this.cur++];
    			$s.pop();
    			return $tmp;
    			$s.pop();
    		}};
    		$s.pop();
    		return $tmp;
    		$s.pop();
    	};
    	if(String.prototype.cca == null) String.prototype.cca = String.prototype.charCodeAt;
    	String.prototype.charCodeAt = function(i) {
    		$s.push("js.Boot::__init@239");
    		var $spos = $s.length;
    		var x = this.cca(i);
    		if(x != x) {
    			$s.pop();
    			return null;
    		}
    		$s.pop();
    		return x;
    		$s.pop();
    	};
    	var oldsub = String.prototype.substr;
    	String.prototype.substr = function(pos,len) {
    		$s.push("js.Boot::__init@246");
    		var $spos = $s.length;
    		if(pos != null && pos != 0 && len != null && len < 0) {
    			$s.pop();
    			return "";
    		}
    		if(len == null) len = this.length;
    		if(pos < 0) {
    			pos = this.length + pos;
    			if(pos < 0) pos = 0;
    		} else if(len < 0) len = this.length + len - pos;
    		var $tmp = oldsub.apply(this,[pos,len]);
    		$s.pop();
    		return $tmp;
    		$s.pop();
    	};
    	$closure = js.Boot.__closure;
    	$s.pop();
    }
    js.Boot.prototype.__class__ = js.Boot;
    $_ = {}
    js.Boot.__res = {}
    $s = [];
    $e = [];
    js.Boot.__init();
    {
    	String.prototype.__class__ = String;
    	String.__name__ = ["String"];
    	Array.prototype.__class__ = Array;
    	Array.__name__ = ["Array"];
    	Int = { __name__ : ["Int"]};
    	Dynamic = { __name__ : ["Dynamic"]};
    	Float = Number;
    	Float.__name__ = ["Float"];
    	Bool = { __ename__ : ["Bool"]};
    	Class = { __name__ : ["Class"]};
    	Enum = { };
    	Void = { __ename__ : ["Void"]};
    }
    {
    	Math.__name__ = ["Math"];
    	Math.NaN = Number["NaN"];
    	Math.NEGATIVE_INFINITY = Number["NEGATIVE_INFINITY"];
    	Math.POSITIVE_INFINITY = Number["POSITIVE_INFINITY"];
    	Math.isFinite = function(i) {
    		$s.push("js.Boot::__init");
    		var $spos = $s.length;
    		var $tmp = isFinite(i);
    		$s.pop();
    		return $tmp;
    		$s.pop();
    	};
    	Math.isNaN = function(i) {
    		$s.push("js.Boot::__init");
    		var $spos = $s.length;
    		var $tmp = isNaN(i);
    		$s.pop();
    		return $tmp;
    		$s.pop();
    	};
    }
    {
    	js.Lib.document = document;
    	js.Lib.window = window;
    	onerror = function(msg,url,line) {
    		var stack = $s.copy();
    		var f = js.Lib.onerror;
    		$s.splice(0,$s.length);
    		if( f == null ) {
    			var i = stack.length;
    			var s = "";
    			while( --i >= 0 )
    				s += "Called from "+stack[i]+"\n";
    			alert(msg+"\n\n"+s);
    			return false;
    		}
    		return f(msg,stack);
    	}
    }
    js.Lib.onerror = null;
    Main.main()
    Jsem mimořádně obtížný případ
    11.10.2011 12:59 Wizard
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Ono když to převáděl do JS tak tam zahrnul všechny knihovny. Samozřejmě že kdyby si nastavil správné parametry tak mu to vygeneruje daleko jednoduší kód. Nehledě toho že to do budoucna budou více toto řešení optimalizovat a vylepšovat.
    11.10.2011 17:01 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    12.10.2011 13:47 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Google přibližuje světu jazyk Dart
    Přiložím další polínko.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

    Založit nové vláknoNahoru


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