Sovereign Tech Agency (Wikipedie), tj. agentura zabezpečující financování svobodného a otevřeného softwaru německou vládou, podpoří GFortran částkou 360 000 eur.
Microsoft hodlá zrušit zhruba tři procenta pracovních míst. Microsoft na konci loňského června zaměstnával kolem 228.000 lidí. Tři procenta z tohoto počtu představují téměř 7000 pracovních míst.
V říjnu loňského roku provedl Úřad pro ochranu hospodářské soutěže (ÚOHS) místní šetření u společnosti Seznam.cz. Krajský soud v Brně tento týden konstatoval, že toto šetření bylo nezákonné.
Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).
Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.
V terminálovém multiplexoru GNU Screen byly nalezeny a v upstreamu ve verzi 5.0.1 už opraveny bezpečnostních chyby CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804 a CVE-2025-46805. Podrobnosti na blogu SUSE Security Teamu.
Training Solo (Paper, GitHub) je nejnovější bezpečnostní problém procesorů Intel s eIBRS a některých procesorů ARM. Intel vydal opravnou verzi 20250512 mikrokódů pro své procesory.
Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »Oracle se rozhodl rozdělit Java Virtual Machine. Horší varianta bude open source a bezplatná a ta lepší bude za peníze. Budoucí verze OpenJDK budou postavené nad výsledkem sloučení Sun JVM a JRockit VM. Zatím není známé, jaké funkce budou navíc v placené variantě.
Tiskni
Sdílej:
n June 2008, Red Hat announced that the packaged binaries for OpenJDK on Fedora 9, built using IcedTea 6, had passed the Technology Compatibility Kit tests and could claim to be a fully compatible Java 6 implementation.[50] In July 2009, an IcedTea 6 binary build for Ubuntu 9.04 passed all of the compatibility tests in the Java SE 6 JCK.[51]
and could claim to be a fully compatible Java 6 implementation:)
jasne, openoffice je vlastne taky propadak, zejoTo bych upřímně řečeno rád věděl. Zajímalo by mě, jak a kolik na tom kdo vydělává. Třeba to propadák skutečně je.
ja se ted rozmyslet, v cem delat projekt a mit pred sebou vizi, ze Oracle javu nejak zkripli (cti napr. v placene verzi si udela vlastni "standardy"), nebo ze tam nekomu hrabne a zacne uplatnovat patentove pozadavky proti free verzi,To je príma vtipná vize, a kdyby to byl film, jistě by to byl trhák. Do depresivního podzimu jako dělaný.
tak si to sakra rozmyslim.Jestli jste uvažoval o Javě, tak by mě zajímalo, k čemu byste přešel. Nejbližší (a možná i jediné blízké) řešení je .NET, které je ve všem "horší" než vaše katastrofická vize výše. Jasně, pokud je tím "projektem" systém pro váš blog, tak se můžete rozhodovat od Javy po BASH, ale pokud je ten projekt trochu větší a významnější, těžko někam utečete.
Všichni výrobci dávají upgrade BIOSu (OPB), servisních procesorů a firmware řadičů zdarma, protože ví, že to nelze použít u jiných serverů a tedy vystavené soubory slouží pouze jejich klientům. Jenom Oracle chce za všechno prachy. Jsem naštvaný a příště se budu spíš dívat po serverech od konkurence.Ostatním bych doporučil totéž. Oracle už prostě není Sun, jakákoli nostalgie nebo shovívavost není na místě. Software lze používat svobodný (LibreOffice, OpenJDK, OpenIndiana) a na poli hardwaru je celkem dobrá konkurence.
Netykejte mi, nikdy jsem vám to nenabídl.Ospravedlňujem sa. Prepáčte. Prosím, používajte iný nick.
A nick si změňte sám, jestli máte rád změny nicků.Nemám rád zmeny nickov. Ale občas chcem nejakú tunajšiu stránku odporučiť šéfovi alebo niekomu inému ... skrátka by som chcel, aby si tu ľudia všímali argumenty a nezatracovali server pre nejaký nick.
Ospravedlňujem sa. Prepáčte.Netřeba se omlouvat.
Ale občas chcem nejakú tunajšiu stránku odporučiť šéfovi alebo niekomu inému ... skrátka by som chcel, aby si tu ľudia všímali argumenty a nezatracovali server pre nejaký nick.Pokud někdo půjde jen po argumentech, pak mu jistě nebudou vadit neobvyklé přezdívky.
Pokud někdo půjde jen po argumentech, pak mu jistě nebudou vadit neobvyklé přezdívky.To je práve to, čo sa Vám snažím vysvetliť. Bude. Na diplomovku alebo obchodnú ponuku si tiež nedáte na titulnú stránku hard-core porno obrázky. Teda pokiaľ ten diplom/obchod chcete dostať.
A zadruhé OpenSolaris byl propadák už za dob Sunu, takže nechápu, čemu se divíte.V cem byl volny pristup k vyvojove vetvi Solarisu propadakem?
Obchodně to byl propadák.A to vite odkud?
Na volném přístupu nesejde.A take tohle vite odkud?
A to vite odkud?OpenSolaris prostě nenaplnil zveřejněná očekávání.
A take tohle vite odkud?Děláte ze sebe schválně blbce, nebo fakt nechápete, že "volnost" je pro danou diskuzi irelevantní?
Ktera ocekavani?A to vite odkud?OpenSolaris prostě nenaplnil zveřejněná očekávání.
Nevim, kdo tu dela ze sebe blbce, ale asi nic netusite o marketingu/prodeji/strategii. A o OpenSolarisu (at uz projektu ci distribuci) toho vim asi radove vice nez vy.A take tohle vite odkud?Děláte ze sebe schválně blbce, nebo fakt nechápete, že "volnost" je pro danou diskuzi irelevantní?
...vždyť ji sám Oracle implementuje a navíc na ní staví své produkty. ...Což ovšem neznamená, že pokud si do Javy něco doprogramují, že to dají komunitě zpět (a zdarma, dejme tomu). Dalším krokem, může být i tříštění různých JVM (tak jako kdysi Microsoft měl "svoji" JVM), z kteréhož vyplyne to, že (zejména) komerční produkty budou zároveň vyžadovat tu placenou verzi Javy (JVM).
doprogramují, že to dají komunitě zpětPokud něco někdo naprogramuje, těžko to může dát zpět někomu jinému.
To nemá cenu, já jdu domů
Monopol ničí konkurenci přece.
nic novyho se nevymejsli a opravuji bugy.Jsem rád, že to Oracle vzal za správný konec. ;)
jen nějaké enterprise věciOno dost záleží, co jsou to „nějaké enterprise věci“ – pokud by to byla část nebo dokonce celé JEE, tak by to byl celkem průšvih. JEE totiž není jen pro „enterprise“ zákazníky, ale používá se všude možně, navíc ani ti velcí zákazníci nechtějí zbytečně vyhazovat peníze. Otázka je, co bude s Glassfishem, jak se budou vyvíjet standardy kolem EE atd. Naštěstí tu jsou i nezávislé implementace (JBoss a pokud člověk nepotřebuje vyloženě aplikační server, je nabídka ještě širší). Asi největší riziko je, že půjde do háje standardizace – pak nebudeme programovat pro JEE, ale třeba pro JBoss… a časem se bude standardizovat někde mimo spáry Oraclu.
Asi největší riziko je, že půjde do háje standardizace – pak nebudeme programovat pro JEE, ale třeba pro JBoss… a časem se bude standardizovat někde mimo spáry Oraclu.No v době docela nedávné neexistovala pořádná open source implemementace kdejakého JSR a taky se nic moc nedělo. A standardizace může jít do háje spíše v důsledku posledních událostí ohledně IBMa OpenJDK, pokud se obě korporace dohodnou, ostatní s tím mnoho nenadělají.
na druhé straně čtu nářky na dohody o spolupráci...Já na spolupráci nenaříkám, na druhou stranu JCP Committee bude těžko o něčem jiném, než o čisté politice. A pokud se dosavadní poměr sil Sun/Oracle proti IBM+ASF mění na Oracle+IBM, může to se světem Javy (a to i té open source) zahýbat daleko víc, než nějaké komerční doplňky pro JVM od Oracle.
pak nebudeme programovat pro JEE, ale třeba pro JBoss… a časem se bude standardizovat někde mimo spáry Oraclu.Proberte se, tohle se dělá i teď. Některé servery prostě nabízejí technologie navíc (i třeba ten JBoss).
pak nebudeme programovat pro JEE, ale třeba pro JBoss…Tímto způsobem se v podstatě vyvíjelo už v dávných dobách za SUNu. Každý aplikáč má něco svýho navíc, a když to použiješ, tak se s tím aplikáčem svážeš. Platí to i o Glassfishi.
interface
(pravda, to je i v C#) a nemožnost přetěžovat operátory. A taky celková ukecanost knihoven...
Stejně tak mi nechybí třeba dědění od více tříd.To přesně jsem na mysli tou onanií s
iterface
.
Mít jazykovou konstrukci, ve které se dá skutečně vyjádřit jenom rozhraní (tedy vlastně typ) je k nezaplacení.Proč? Takhle, užitečné to být dejme tomu může, ale přijde mi blbost to po programátorovi vyžadovat. V C++ udělám prostě
pure virtual
třídu, ale nemusim, můžu klidně vícenásobně dědit, míchat pure virtual
prvky s jinejma, atd...
Podle mě je problém v tom, že kód v Javě obsahuje spoustu balastu a s takovým kódem se pak těžko pracuje.
Někomu vyhovuje psát méně typů konstrukcí za cenu více kódu, jinému ne.
Málo typů konstrukcí neznamená nutně více kódu. Jazyky Haskell, ML a různé Lispy jsou toho důkazem.
A definovani nove funkce (tedy v Jave spis metody) neni zavedeni nove konstrukce do jazyka?To záleží, čemu říkáme "nová kosntrukce". Já jsem schválně řekl "do jazyka jako takového", a tím jsem nemyslel vytvoření nové funkce (nebo třídy).
Problem je, ze vy jste udelal umele rozdeleni nekde, kde vlastne neni.V některých jazycích ta hranice je, v jiných není. V Javě programátor pracuje na úrovni tvorby tříd a nic moc na tom nezmění. Ale zase v Perlu jsem viděl, že tam si lidé programují skoro veškeré části jazyka - třeba systém výjimek.
A ze vam nove konstrukce nechybi - kdybychom vzali nejake z Javy, chybely by vam?Chápu, kam míříte. Já si ale myslím, že existuje víc přístupů, a jeden z nich zastáváte vy, druhý já. Oba přístupy mohou existovat vedle sebe s tím, že vy asi nepřijdete na chuť Javě a já Lispu.
Paradox je, ze mluvite o "jednotnem zpusobu", ale Lispova makra jsou super nastroj, jak te jednotnosti dosahnout.Proti makrům nic nemám.
Vas problem je neznalost, a chucpe, ze nic uz dalsiho vedet nepotrebujete.Nic takového jsem nikdy nikde netvrdil. Pouze jsem vyjádřil spokojenost s přístupem Javy.
Já myslím, že celé to srovnání s přirozeným jazykem není zrovna šťastné.Naprosto souhlasim, přirozený jazyk je něco úplně jiného a slouží na něco úplně jiného.
System.out.printf()
, různé ty getCosiKdesiJaksi
, různé ty import org.kdosi.cosi.cosi.cosi
atd., prostě když to nemá alespoň 3 slova, není to pořádný javovský identifikátor...
čímž mám na mysli třeba System.out.printf()
A jak bys to chtěl jinak napsat? Zavést nějakou globální funkci pro výpis na standardní vstup? Proč? Proč to neudělat obecně? Ten System.out
je instance PrintStream
a má nějaké metody – jednou můžeš vypisovat do souboru, jindy do TCP spojení nebo na standardní výstup – vždycky je to stejné, můžeš udělat univerzální program/metodu a podle toho, jaký PrintStream
mu podstrčíš, tam bude psát. Zavádět nějakou funkci print()
, která bude vypisovat jen na standardní výstup, mi přijde dost hloupé. Jednak je to redundantní, jednak když budu chtít vypisovat jinam, budu ten program muset překopat – nebude stačit změnit jednu proměnnou. Čistota jazyka mi přijde daleko důležitější než ušetřených pár znaků.
Pokud tě to tak strašně trápí, napiš si statickou metodu, která ten System.out.prinln()
bude obalovat.
různé ty import org.kdosi.cosi.cosi.cosi atd.Balíčky jsou skvělá věc. Doporučuje* se použít vlastní internetovou doménu a další členění si udělat podle sebe – tím je zaručena globální jedinečnost** identifikátorů – takže až v programu namícháš X knihoven, nebudeš mít konflikty s názvy (ne jako když nějaký chytrák pojmenuje třídu
Main
a dá ji do nějakého jednoslovného balíčku, nebo pro jistotu do žádného). Opět nevím, proč by mě tahle „ukecanost“ měla trápit – celou cestu člověk napíše jednou do importu a pak už používá jen název třídy.
*) nikdo ti ale nebrání udělat si balíček jsem.lama.*
std::cout
. Nebo takové Qt; v C++ buď namespace nepotřebuje, nebo tam jsou takové jako Qt::
QGL::
apod. V Javě com.nokia.qt.gui.
nebo něco podobného...
jenže člověku se líp pracuje se System.out.printfJak komu. Někomu (mně) takový kód připadá jako stránka z beletrie, čili takový kód se špatně čte jinak, než jako beletrie, což je nežádoucí.
x = f(y)
opravdu nepoznáte, že x
má problémy doma a špatně se soustředí, takže si na něj máte dát pozor, protože se snadno může splést a bude se rovnat f(y-1)
. V reálném světě jsou ale takovéhle doplňující informace důležité, a stejně důležité jsou i při programování. Možná ne v případě, kdy programujete nějaký abstraktní algoritmus a jste blízko té matematice, ale když programujete třeba nějakou část e-shopu, je dobré vědět i o kontextu a okolí, protože tak můžete snáz odhalit nedorozumění nebo chyby.
a pak stejně bez důkazu tvrdíte, že se lidem lépe pracuje s krátkým zápisem.No, tvrdím to o matematicích, a tam mám imho pravdu... Pak jsem tvrdil, že programování je tomu blíž, ale na to důkaz nemám, to uznávám.
V reálném světě jsou ale takovéhle doplňující informace důležité, a stejně důležité jsou i při programování. Možná ne v případě, kdy programujete nějaký abstraktní algoritmus a jste blízko té matematice, ale když programujete třeba nějakou část e-shopu, je dobré vědět i o kontextu a okolí, protože tak můžete snáz odhalit nedorozumění nebo chyby.Hm, nějak vůbec nevím, co si pod tím představit... Nějaký praktický příklad třeba?
123 + 14 = 231
a 7B + E = E7
. Matematicky ty zápisy znamenají to samé, ten druhý je méně ukecaný, ale pokud nejste zvyklý denně počítat v šestnáctkové soustavě, v tom prvním vás asi zarazí chyba jen při běžném pročítání, ten druhý byste nejspíš ponechal bez povšimnutí.
printf()
" než "použij System.out.printf()
". Stejně tak bude lepší faktrura.prijata()
než faktura.getIsPrijata()
, že...System.out
je zároveň standardní OutputStream
jako každý jiný, nepotřebuju znát nic nového. faktura.prijata()
může být metoda, která fakturu do stavu přijata změní, provede proces příjmu faktury atd. Ale faktura.isPrijata()
je podle konvence getter booleovské property.
Moje zkušenost je taková, že tam, kde jde o nějaký algoritmus, Java není moc vhodná – algoritmus je většinou buď jasný, nebo jej stejně musíte někde nastudovat, a sáhodlouhé popisy (nebo názvy) v programu nepomůžou. Pokud jde ale o různé informační systémy a aplikace, tam není nic moc zajímavého v algoritmu, ale potřebujete vědět, s čím ten kód souvisí, jak modeluje realitu apod. A tam se zase delší popisy hodí.
AFAIK v Javě si unless nezadefinuji.
Napsat priklad ceho? Common Lisp ma CLOS (Common Lisp Object System), bohuzel ho moc neumim, ale je vyrazne mocnejsi nez Javove OOP.Nechci vám vkládat do úst, co jste neřekl, ale zdá se mi, že tady jsem našel příklad problému s jazyky bohatými na konstrukce. Zdá se, že Lisp znáte poměrně dobře - a přece jste ještě nepochopil jeho objektový systém. Což o to, třeba se ho budete učit rok a pak budete produktivní. Ale spíš pochybuju o čitelnosti.
Co se tyce Design Patterns, mozna to pouzivat nemusite, je to jen "doporuceni". Stejne jako byste nemusel pouzivat OOP a programovat proceduralne. Co me fascinuje je, jak se (vy zastanci Javy) chlubite jeji jednoduchosti, a pak prinesete "Design Patterns".Na to ani nechci reagovat, je to nesmysl - děláte, jako kdyby pro jiné jazyky (styly programování) nebyly pospány některé "dobré postupy".
Jde mi o to, ze to vubec neni tak, ze je Java jednodussi na programovani nez Lisp - akorat jste, protoze ji znate, zapomnel, jak slozite to je.Ne. Naučit se Javu (jazyk) je otázkou pár dní. Druhá věc je naučit se OOP - ale to je využitelné i v jiných jazycích.
2. Funkce vyšších řádů jsou funkce, jejichž parametry jsou jiné funkce (anglicky higher-order function). Hodí se to třeba při práci s kolekcemi. Příklad v jazyce Haskell může vypadat takto:
take 15 $ filter ((==0) . (`mod` 7)) $ map (^2) [1..]
Vysvětlení: Napřed vezme všechna čísla od jedné a spočítá jejich druhou mocninu, pak odstraní druhé mocniny, co nejsou dělitelné 7, a nakonec vrátí patnáct takových druhých mocnin.
Domnívám se, že v Javě to takhle pěkně naprogramovat nejde. Tento příklad demonstruje funkce vyšších řádů (map
, filter
, .
), líné vyhodnocování (máme nekonečný seznam čísel [1..]
) a currying (funkci nepředám všechny argumenty, ale jen některé – výsledkem takového volání je funkce, která přijímá zbylé argumenty; příkladem je třeba (`mod` 7)
, která vrací zbytek po dělení 7).
Mj. v příkladě nepoužívám žádnou pomocnou proměnnou.
V Haskellu ty typy mohu také pojmenovat. V jednoduchých případech to však nedělám.
Až pak zjistíte, že ten samý nebo velmi podobný kód potřebujete i někde jinde, přirozeně to povede k znovupoužitelnosti kódu nebo k využití dědičnosti – ve vašem případě to přirozeně povede k okopírování části kódu.
K tomu mám dvě námitky:
lazyList(from: 1).map({ it ** 2 }).filter({ it % 7 == 0 }).takeFirst(15)Mimochodem, s trochou implementační snahy kolem toho líného vyhodnocování by tohle mohl být platný kód v Groovy.
Já bych se úplně spokojil s něčím takovým...
To já také. Například ve Scale to jde dost podobně jako v Groovy, akorát tam bohužel také chybí to líné vyhodnocování, které je někdy nesmírně užitečné (alespoň u kolekcí).
1. Souhlasím, že gettery a settery jsou svým způsobem balast, který si většina lidí nechává generovat... Na druhou stranu jde o docela užitečný balast. Mně se zapouzdření takovým způsobem líbí. Jaké jsou jiné alternativy v objektově orientovaném programování?
Self to řeší tak, že objekty jsou složeny ze slotů, kterými mohou být jak datové sloty, tak metody. K obsahu datový slot má jméno např. name
resp. name:
pro zápis do něj, což je stejný syntaktický zápis, který se používá pro volání funkce s jedním parametrem. Takže objekt je v podstatě zapouzdřený i sám před sebou. Pokud chcete změnit funkci slotu z pouhé datové položky na komplexní metodu, stačí změnit samotný slot a nemusí se nikde jinde nic přepisovat. Všechny sloty jsou veřejné.
Java? Šílený jazyk, ale alespoň funguje/fungovala všude.
Saying java is good because it runs on all platforms is like saying anal sex is great because it works on all genders [1]