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í
×
    včera 17:11 | Nová verze

    Byl vydán Debian 13.1, tj. první opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.12, tj. dvanáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    5.9. 23:44 | IT novinky

    Evropská komise potrestala Google ze skupiny Alphabet pokutou 2,95 miliardy eur (71,9 miliardy Kč) za porušení antimonopolní legislativy. Podle EK, která mimo jiné plní funkci antimonopolního orgánu EU, se Google dopustil protisoutěžních praktik ve svém reklamním byznysu. Google v reakci uvedl, že rozhodnutí považuje za chybné a hodlá se proti němu odvolat. EK ve věci rozhodovala na základě stížnosti Evropské rady vydavatelů. Podle

    … více »
    Ladislav Hagara | Komentářů: 9
    5.9. 23:11 | Komunita

    Podpora 32bitového Firefoxu pro Linux skončí v roce 2026. Poslední podporované 32bitové verze budou Firefox 144 a Firefox 140 s rozšířenou podporou, jehož podpora skončí v září 2026.

    Ladislav Hagara | Komentářů: 2
    5.9. 19:33 | IT novinky

    Společnost Raspberry Pi nově nabízí Raspberry Pi SSD s kapacitou 1 TB za 70 dolarů.

    Ladislav Hagara | Komentářů: 7
    5.9. 15:55 | Zajímavý software

    Microsoft BASIC pro mikroprocesor 6502 byl uvolněn jako open source. Zdrojový kód je k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 5
    5.9. 15:33 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se připojil k dokumentu „A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity“, který vydala americká Agentura pro kybernetickou a infrastrukturní bezpečnost (CISA) s Národní bezpečnostní agenturou (NSA), spolu s dalšími mezinárodními partnery. Dokument vznikl v rámci globálního expertního fóra pro SBOM, které má za cíl motivovat k širšímu využívání … více »

    Ladislav Hagara | Komentářů: 3
    4.9. 21:22 | IT novinky

    Švýcarská AI centra EPFL, ETH Zurich a CSCS představila otevřený vícejazyčný velký jazykový model (LLM) s názvem Apertus. Vyzkoušet lze na stránce Public AI Inference Utility.

    Ladislav Hagara | Komentářů: 26
    4.9. 17:22 | Nová verze

    Byl vydán Linux Mint 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    4.9. 12:55 | IT novinky

    Čínská společnost Tencent uvolnila svůj AI model HunyuanWorld-Voyager pro generování videí 3D světů z jednoho obrázku a určené trajektorie kamery. Licence ale nedovoluje jeho používání na území Evropské unie, Spojeného království a Jižní Koreje.

    Ladislav Hagara | Komentářů: 1
    4.9. 12:11 | Komunita

    Blender Studio se spojilo s kapelou OK Go a výsledkem je videoklip k písni Impulse Purchase. Stejně jako samotný 3D software Blender je i ve videoklipu použitý animovaný chlápek open source. Kdokoli si jej může stáhnout a upravovat.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (3%)
     (2%)
    Celkem 150 hlasů
     Komentářů: 11, poslední 4.9. 16:12
    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.