Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
..abych si třeba uměl hravě doprogramovat konverzní pluginy? Takhle kolikrát jak idiot soubory ukládám, importuju, exportuju a zkouším co vyleze nejlíp. Mám takovou touhu - porozumět si s Pythonem. Čím to, že prozatím každý pokus skončil tím, že jsem se pokorně vrátil k shellu?
Koukal jsem se na dokumentaci k Pythonu - novinky oproti verzi 2.4 a tak nějak jsem si uvědomil že to bude nejspíš tím, že se ve spoustě vychytávek a možností už prostě ztrácím. Tím že v shellu pracuji prakticky neustále, mám zafixovánu řadu věcí, které bych musel v Pythonu kousat od píky. V syntaxi bashe se žádné revoluce nekonají - poslední "revoluční" změnou byla práce s poli - takže pohoda klídek. Někomu se možná bash jeví jako dinosaurus, ale pro mne je zatím přijatelnější a o chlup delší čekání na zpracování skriptu mě ještě neubíjí.
Python se prudce vyvíjí a především rozvíjí. No jo. Jenže nemám valné chuti neustále sledovat špici vývoje, podobně jako můj kámoš u PHP, CSS atp., abych mohl včas ošetřovat eventuální změny mezi verzemi.
Taky je takovým klackem na cestě fakt, že některé shodné či podobné věci se nazývají v Pythonu (a prakticky téměř v každém jazyku) terminologicky jinak. Do toho ještě kromě anglických pojmů české, ev. polské, ruské,.. Prostě udržovat pro jednu a tutéž věc několik zástupných pojmů je už na můj mozek asi trochu moc.
Tiskni
Sdílej:
Python je dost podobny jave, preto mne ako javistovi nieco spravit v pythone nerobi az taky problem. Len na objektove rysy pythonu si niekedy zanadavam.Můžeš to trochu rozvést? Nejlépe ukázat příklad, kde je Java podobná Pythonu? Případně, které objektové rysy Pythonu ti vadí.
1) riadenie prístupu k metódam a atribútom. private(__x) ostatne public.
nejake jemnejšie riadenie prístupu je proste v pytone problém
zoznam atribútov je v pythone nejaký slovník, do ktrého sa dá pridávať aj za behu
x = mojatrieda()
x.atribut = 3
x.atrtbut = 7
Čo je niekedy dosť blbé pri preklepoch.
2) preťažovanie metód - proste podľa typu argumentov je problém preťažovať. Všetky tutorály to potom riešili cez pridané vetvenia pomocou if a zisťovanie triedy objektov pomocou RTTI.
3) všetky metódy aj atribúty sa dajú používať v statickom kontexte. čo môže tiež viesť k srandovným chybám.
4)polymorfizmus - počul som, že aj v pythone ide využívať, len som doposiaľ na to neprišiel, ako.
Niečo na spôsob v jave:
Jidlo zvanec = Kobliha("s marmeládou");
Možno niektoré veci vyplývajú len z mojej neznalosti, ale musím podotknúť, že mám rád aj javu aj python. Aj spomínaný jython - keď mám možnosť za cenu rýchlosti používať v pzthone java api.
Inak, čo majú spoločné ? Oba sú to objektovo orientované jazyky. Keď si človek odmyslí niektoré kľučové slová z javoského kódu, pridá niektoré iné "fajnovosti" dostane pythonovský kód. Keď sa v jave používajú kolekcie, je to ako s pythonovskými listami a slovníkmi. Python nie je staticky typovaný. Oba jazyky su inšpirované rovnakými predchodcami. Javu kompilije človek do bytekodu pred spustením aplikácie, python sa kompiluje za chodu(alebo aspon po spusteni).
Proste, môže to byť len zdanie, ale python sa mi javí byť menej ukecanou trochu drevenejšou javou. Je to podľa mňa veľmi dobrý jazyk na prototypovanie javovských aplikácií. Javu som požíval zatiaľ štyri semestre v škole. Python sa učím doma na kolene.
Stačí takéto vysvetlenie ?1) riadenie prístupu k metódam a atribútom. private(__x) ostatne public.Tohle mě taky napadlo. Je fakt, že se mi to moc nelíbí. Třeba v Smalltalku je tohle vyřešené moc hezky. Zde se třeba Java se svými getXXX/setXXX vůbec nechytá a žádné properties se asi nechystají.
x = mojatrieda()No a to je důvod, proč obecně nemá cenu psát v dynamických jazycích nějaký kód, bez psaní testů
x.atribut = 3
x.atrtbut = 7
#setter def __setattr__(self, name, value): if not name in self.nejaky_seznam_atributu: raise AttributeException exec('self.__dict__[%s] = %s' % (name, value)) #getter def __getattr__(self, name): if not name in self.nejaky_seznam_atributu: raise AttributeException exec('return self.__dict__[%s]' % (name,))Komu se nelíbí podtržítka, nemůže mít rád Python
2) preťažovanie metód - proste podľa typu argumentov je problém preťažovať. Všetky tutorály to potom riešili cez pridané vetvenia pomocou if a zisťovanie triedy objektov pomocou RTTI.Ono to totiž podle typu nejde. Protože je to dynamicky typovaný jazyk, takže se bez ručního větvení člověk neobejde. Jenže v Pythonu se preferuje duck typing a pokud člověk musí zjišťovat instance, tak buďto píše nějaký wrapper, anebo spíš myslí pořád staticky.
3) všetky metódy aj atribúty sa dajú používať v statickom kontexte. čo môže tiež viesť k srandovným chybám.Opět, podle mého názoru se v dynamických jazycích bez unittestů nedá vážně programovat. Ovšem tohle je spíše důsledek toho, že je samotná třída objekt. Ne nadarmo Smalltalkeři vytvořili SUnit.
Jidlo zvanec = Kobliha("s marmeládou");
Tento kód nedává v dynamicky typovaných jazycích smysl, protože v nich jsou typové informace implicitní. Jsou součástí reference a nedají se změnit. Ovšem právě proto jsou objekty polymorfní už z principu, protože to, co je podstatné jsou metody (zprávy) a ne typy. V terminologii Javy, každá metoda implementuje vlastní rozhraní (otřesná představa) Keď sa v jave používajú kolekcie, je to ako s pythonovskými listami a slovníkmi. Python nie je staticky typovaný. Oba jazyky su inšpirované rovnakými predchodcami. Javu kompilije človek do bytekodu pred spustením aplikácie, python sa kompiluje za chodu(alebo aspon po spusteni).Až na to, že v Javě si nemůžu obsah pole, nebo seznamu deklarovat staticky
a, b = nejaka_funkce()
je paráda. Myslím, že Python není inspirován C++ jako Java, spíš C. Jeho kořeny jsou spíše v Module. A oddělení java
a javac
mi osobně dost vadí, protože také neposkytuje žádný exec
Stačí takéto vysvetlenie ?OK, díky
Napsal jsem to blbě. Třídní proměnné jsou ve Smalltalku vždy private, zatímco selektory zpráv (něco jako metody) jsou vždy public.1) riadenie prístupu k metódam a atribútom. private(__x) ostatne public.Tohle mě taky napadlo. Je fakt, že se mi to moc nelíbí. Třeba v Smalltalku je tohle vyřešené moc hezky. Zde se třeba Java se svými getXXX/setXXX vůbec nechytá a žádné properties se asi nechystají.
So smalltalkom (najobjektovejším jazykom na svete) ...Jistí lidé tvrdí, že to je self