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 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 16
    včera 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    včera 13:33 | IT novinky

    Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.

    Ladislav Hagara | Komentářů: 4
    včera 11:22 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po

    … více »
    Ladislav Hagara | Komentářů: 26
    včera 11:11 | Nová verze

    Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Komunita

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Byla vydána nová major verze 9.0 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.2. 13:55 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny klesla pod 70 000 dolarů (1,44 milionu korun).

    Ladislav Hagara | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (29%)
    Celkem 795 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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.