Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.
Vítejte na stránkách které si kladou za cíl poskytovat v češtině informace o programovacím jazyku D.
az do momentu, ked ho ide vykonat.no to je jaksi vlastnost interpretovanych jazykov kolega. svojim sposobom silne typy a kompilacne chyby su implicitne unit testy, ktore nemusite robit.
Skor by som povedal, ze to je vlastnost iba urciteho (relativne maleho) poctu programov napisanych v dynamickom jazyku. Rozhodne to nie je vlastnost vsetkych programov, dokonca v realnom svete to nie je ani vlastnost vacsiny programov. To, ci program pre svoje fungovanie nutne potrebuje dynamicke crty Pythonu, je vlastnost toho konkretneho programu. Neprijemna zaludnost Pythonu z tohto pohladu je, ze Python dynamickost *vnucuje* aj programom, ktore tu dynamickost vobec nepotrebuju (a takych programov v Pythone, ktore to nepotrebuju, je vacsina).az do momentu, ked ho ide vykonat.no to je jaksi vlastnost interpretovanych jazykov kolega.
Neprijemna zaludnost Pythonu z tohto pohladu je, ze Python dynamickost *vnucuje* aj programom, ktore tu dynamickost vobec nepotrebuju (a takych programov v Pythone, ktore to nepotrebuju, je vacsina).Lol, vetsih hovadinu jsem letos necetl. Hned archivuju, at se mame nad cim s kolegy bavit :D Proste lol
Ocividne Ste sa ani len naznakom nesnazili pochopit, co som tym myslel. Gratulujem, len tak dalej.Neprijemna zaludnost Pythonu z tohto pohladu je, ze Python dynamickost *vnucuje* aj programom, ktore tu dynamickost vobec nepotrebuju (a takych programov v Pythone, ktore to nepotrebuju, je vacsina).Lol, vetsih hovadinu jsem letos necetl. Hned archivuju, at se mame nad cim s kolegy bavit :D Proste lol
... neviem, ako to popisat, tak aby to bolo zrozumitelne, ide mi len o to, ze python mi dovoluje "prasit", netlaci ma do prisnej povinne logickej struktury (ktora moze byt logicka pre designerov jazyka, ale nemusi byt logicka pre mna), ale mi ponechava slobodu...Zaujimalo by ma, kolko programovacich jazykov Ste sam osobne vytvorili alebo pomohli vytvorit, ked tych designerov tak kritizujete.
styri ;) z toho dva sa komercne vyuzivaju... takze tudy cesta nevede :(Zaujimave. Napriek tomu, myslim, ze by tadialto mohla ta cesta predsa len viest ... A su to vsetko interpretovane dynamicke jazyky bez typoveho systemu? A su to vsetko general-purpose jazyky, alebo special-purpose? Podla mojho nazoru (a skusenosti), staticky typovany general-purpose jazyk s kompilatorom si vyzaduje niekolko rokov prace. (Napriklad: jazyk Go je vo vyvoji cca 2-3 roky.) Aky algoritmus pre alokaciu CPU registrov Ste pouzivali?
Aky algoritmus pre alokaciu CPU registrov Ste pouzivali?Tohle bych vůbec neřešil a použil bych cizí backend.
[Python ma] netlaci do prisnej povinne logickej struktury (ktora moze byt logicka pre designerov jazyka, ale nemusi byt logicka pre mna)Tejto vete vobec nerozumiem. Napriklad Python neumoznuje programatorovi explicitne specifikovat rozmiestnenie dat v pamati pocitaca. V niektorych situaciach to moze byt na obtiaz, a moze to tlacit programatora do pozicie, v ktorej by sa radsej nenachadzal. Dali by sa najst aj dalsie obmedzujuce vlastnosti jazyka Python (nema double-dispatch pre binarne operacie, Python interpretere nie su (z dost dobreho dovodu) napisane v Pythone, atd). Zoznam veci, ktore Python programatorovi neumoznuje vyjadrit, a veci ktore z urciteho dovodu nie je vhodne implementovat v Pythone alebo pre Python, je dostatocne dlhy. Vyhlasenia ako "Python ma netlaci do prisnej povinne logickej struktury" sa mi zdaju prilis silne na to, aby som im uveril. PS: Preferujem staticky typovane jazyky, a mam silny odpor k redundandnemu vykonavaniu CPU instrukcii (je jedno ci z dovodu pomaleho algoritmu alebo pomaleho programovacieho jazyka).
Napriklad Python neumoznuje programatorovi explicitne specifikovat rozmiestnenie dat v pamati pocitaca. V niektorych situaciach to moze byt na obtiaz, a moze to tlacit programatora do pozicie, v ktorej by sa radsej nenachadzal.tak rekni rovnou, ze python je k nicemu, protoze to neni C++
Python interpretere nie su (z dost dobreho dovodu) napisane v Pythone, atd).pypy
PS: Preferujem staticky typovane jazyky, a mam silny odpor k redundandnemu vykonavaniu CPU instrukcii (je jedno ci z dovodu pomaleho algoritmu alebo pomaleho programovacieho jazyka).to musi byt pekne nudne programovani.
to musi byt pekne nudne programovani.Mno, spíš zodpovědné.
Tejto vete vobec nerozumiem. Napriklad Python neumoznuje programatorovi explicitne specifikovat rozmiestnenie dat v pamati pocitaca. V niektorych situaciach to moze byt na obtiaz, a moze to tlacit programatora do pozicie, v ktorej by sa radsej nenachadzal.Když je programátor idiot a neumí si pro danou úlohu správně zvolit jazyk, dobře mu tak.
Dali by sa najst aj dalsie obmedzujuce vlastnosti jazyka Python (nema double-dispatch pre binarne operacie, Python interpretere nie su (z dost dobreho dovodu) napisane v Pythone, atd).Double dispatch je v Pythonu možný, i když není součástí jazyka. Interpret Pythonu napsaný v Pythonu existuje. Nejdřív by sis měl o tématu něco nastudovat, než začneš plácat blbosti.
Zoznam veci, ktore Python programatorovi neumoznuje vyjadrit, a veci ktore z urciteho dovodu nie je vhodne implementovat v Pythone alebo pre Python, je dostatocne dlhy.To se dá prohlásit o libovolném programovacím jazyce.
Zabudli Ste poznamenat, ze transformacia PyPy (predpokladam, ze myslite PyPy) interpretera do C trva asi tak pol dna a zaberie viac pamate ako je adresny priestor 32-bitoveho CPU. Toto nie su dva "dost dobre dovody", preco Python interpreter NIE je vhodne implementovat v Pythone? Inac, proti implementovaniu Pythona v Pythone nemam vyhrady. Ked problem takehoto typu niekoho bavi a vidi v tom zmysel, tak mu nijako nebranim, aby sa tym zaoberal. Ja osobne by som take nieco nerobil, pretoze to je podla mna akosi bez zmyslu.Dali by sa najst aj dalsie obmedzujuce vlastnosti jazyka Python (nema double-dispatch pre binarne operacie, Python interpretere nie su (z dost dobreho dovodu) napisane v Pythone, atd).Double dispatch je v Pythonu možný, i když není součástí jazyka. Interpret Pythonu napsaný v Pythonu existuje. Nejdřív by sis měl o tématu něco nastudovat, než začneš plácat blbosti.
S tym suhlasim.Zoznam veci, ktore Python programatorovi neumoznuje vyjadrit, a veci ktore z urciteho dovodu nie je vhodne implementovat v Pythone alebo pre Python, je dostatocne dlhy.To se dá prohlásit o libovolném programovacím jazyce.
pokud budeš zároveň psát blbosti jako "interpretované dynamické jazyky bez typového systému", tak budeš akorát k smíchu.Asi Vam nedoslo, ze "interpreter vs. kompilator", "dynamicke crty" a "(compile-time) type checking" programovacieho jazyka su viacmenej ortogonalne vlastnosti - z coho zrejme vyplyva, ze je mozne ich pouzit v jedinom slovnom spojeni tak, aby toto slovne spojenie davalo zmysel.
To je pravda! Navrhuji udělat seznam nejběžnějších činností, jaké může procesor dělat a tento seznam zakódovat do co nejmenšího množství bitů. Jo počkat, ono už to existuje. Proč v tom případě existují jazyky jako asm, C, Pascal, Perl, Python, Java, ..., když můžeme psát instrukce i s operandy přímo na úrovni bitů?
Já nevím, co třeba abstrakce, aby se v tom mohl vyznat i tak primitivní tvor, jako je člověk? Proč psát závorky, když nejsou potřeba? Inu, zas to samý, člověk je bez závorek moc otevřenej a lítá sem a tam a pak se nesoustředí na práci. To je věda pane, fakt že jo. 
if bla bla:
neco 1
if abc:
neco 11
neco 12
sem budu přesouvat
neco 2
for xyz:
if ble ble:
tohle chci
tohle taky
neco 3
neco 4
A co se stane po přesunu toho kousku kódu, který nemá jen dva řádky, ale mnohem víc a ještě to psal někdo jiný?
if bla bla:
neco 1
if abc:
neco 11
neco 12
tohle chci
tohle taky
sem budu přesouvat
neco 2
for xyz:
if ble ble:
neco 3
neco 4
Tak a teď mi řekni, jak to má editor poznat… ?
Přitom by to mohlo vypadat takto:
if bla bla {
neco 1
if abc {
neco 11
neco 12
}
tohle chci
tohle taky
sem budu přesouvat
neco 2
}
for xyz {
if ble ble {
neco 3
}
neco 4
}
Rozdíl? Otevírací závorka místo dvojtečky a navíc jen uzavírací závorka, která funguje podobně jako tečka za větou.
Výsledek: Na první pohled je vidět, kde je chyba. Není potřeba vůbec nic číst, prostě to je vidět. Na první pohled a klidně i během scrollování.
Navíc ta chyba tam ani není, takže je možné kód ihned vyzkoušet a teprve potom řešit formátování (což se hodí např. při zjišťování, kde je chyba).
]x, kde x je příkaz vložení, typicky je to ]P (vložení před kurzor) nebo ]p (vložení za kurzor) a vim automaticky přizpůsobí vkládaného bloku řádku, na kterém vkládám. Takže:
x - vyjmu řádky
]P - vložím řádky nad "neco2" (odsazení bude stejné jako u neco2)Navíc ta chyba tam ani není, takže je možné kód ihned vyzkoušet a teprve potom řešit formátování (což se hodí např. při zjišťování, kde je chyba).Vložit to správně a mít tím formátování vyřešené hned, má taky něco do sebe
Dokonalosti není dosaženo tehdy, když už není co přidat, ale tehdy, když už nemůžete nic odebrat.
— Antoine de Saint-Exupéry
.
Jediné, co mě trochu mrzí je, že místo diskuze o jazyce Go, která by mohla být zajímavá, se v komentářích rozběhla diskuze o Pythonu...tedy spíš flamewar.
Takže pokud byste měli třeba nějaký (konstruktivní) návrh, čemu se v příštím díle seriálu o Google Go věnovat, nebo se chcete na něco (konstruktivně) zeptat, tak máte ještě chvíli čas než začneme na dalším díle pracovat. Honza Mercl (primární autor článku) vám jistě rád vyhoví nebo rovnou odpoví.
Díky,
Ondřej Surý
$ goinstall bitbucket.org/dethe/gocairo/
Tiskni
Sdílej: