Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.
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
Tiskni
Sdílej: