V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).
Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).
Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.
Kit je nový maskot webového prohlížeče Firefox.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.
Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.
Po dvaceti letech skončil leader japonské SUMO (SUpport.MOzilla.org) komunity Marsf. Důvodem bylo nasazení sumobota, který nedodržuje nastavené postupy a hrubě zasahuje do překladů i archivů. Marsf zároveň zakázal použití svých příspěvků a dat k učení sumobota a AI a požádal o vyřazení svých dat ze všech učebních dat.
Úřad pro ochranu hospodářské soutěže zahajuje sektorové šetření v oblasti mobilních telekomunikačních služeb poskytovaných domácnostem v České republice. Z poznatků získaných na základě prvotní analýzy provedené ve spolupráci s Českým telekomunikačním úřadem (ČTÚ) ÚOHS zjistil, že vzájemné vztahy mezi operátory je zapotřebí detailněji prověřit kvůli možné nefunkčnosti některých aspektů konkurence na trzích, na nichž roste tržní podíl klíčových hráčů a naopak klesá význam nezávislých virtuálních operátorů.
Různé audity bezpečnostních systémů pařížského muzea Louvre odhalily závažné problémy v oblasti kybernetické bezpečnosti a tyto problémy přetrvávaly déle než deset let. Jeden z těchto auditů, který v roce 2014 provedla francouzská národní agentura pro kybernetickou bezpečnost, například ukázal, že heslo do kamerového systému muzea bylo „Louvre“. 😀
Z upstreamu GNOME Mutter byl zcela odstraněn backend X11. GNOME 50 tedy poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Nechtěl jsem to navrhnout jako zprávičku, jelikož se to podle mě nedotkne Linuxu až tak brzy (2011 / 2012).
Jenže má tohle vůbec v dnešní době smysl? V Delphi jsem kdysi pár věcí dělal a byl jsem nadšený. Borland / Inprise ale zaspal dobu, dost opožděná verze pro Linux byla nejen komerční, ale i dost okousaná a mezitím se objevil a vypracoval relativně dobrý projekt Lazarus, který je navíc celý open source (jeho aktuální stav ale neznám, v Pascalu už jsem delší dobu nic nedělal, přešel jsem na Python, což mi na to moje občasné skriptování vyhovuje daleko víc).
Originální zpráva tady.
Tiskni
Sdílej:
.
Schválně zda to dopadne jako Kylix, v době IDE jako Netbeans si budou muset máknout.
Pascal jsem měl rád a dodnes ho ovládám lépe než Python. Jsem holt "lama"
Myslím, že existuje i JVM napsaná v Javě (každopádně je to proveditelné).No to nejde. Leda by se to z Javy přeložilo přímo do strojáku, což je samozřejmě možné, ale už je to jiná situace, než běžné psaní programů v Javě, ačkoli jazyk je stejný...
1. Load joeq into a 'host' Java virtual machine. joeq is completely written in Java, which means a Java virtual machine can load and execute the code.
No veď tie staticky typované jazyky sú naozaj plnohodnotné jazyky lebo v nich môžeš naprogramovať akýkoľvek druh aplikácieA v těch ostatních nemůžu naprogramovat jakýkoli druh aplikace?
Python sa prekladá do bytecode a ten sa priamo interpretujeEhm…
nie.Například? Jinak s tím Pythonem - kdo říká, že se ten bytecode musí hned vykonávat a nemůže se uložit napotom jako u Javy?
no skús v pythone naprogramovať napr. rýchly 3D grafický engine, bez použitia knižníc napísaných v iných programovacích jazykoch. ... v jave áno v pythone v žiadnom prípade.
Teda ja uz jsem z toho jelen. Prece je nesmysl, ze by se v Jave dal napsat 3D engine (slovo "rychly" vynechejme, ted nejde o rychlost), aniz by byl pouzit jiny nez Java kod. Ty Java knihovny, ktere se tam pouziji, jsou treba napsane samy o sobe v Jave, ale samy pouzivaji opet dalsi knihovny, ktere uz v Jave nejsou, az se postupne takto dostaneme treba az k Assembleru. Vidim tam dost podobnosti s Pythonem.
(Jinak pojem skript vs. program je vec pohledu, ja to tak dramaticky nerozlisuju. Skript muzu taky zkompilovat a mam z toho program. Je to jen slovni hricka.)
programovať graficvký engine v pythone je odtrhnuté od reality, nikto to nerobí prečo asi?To už jsem říkal. Je to nepraktické.
Java nemusí být vždycky kompilovaná do bytecode, jsou i projekty pro překlad javy do nativního kódu, jaký je to pak jazyk podle tvoji definice?Navíc u mnoha mobilů nebo smart karet by se podle mě klidně dalo říct, že Java (ME) je jejich nativní kód. Protože J2ME JRE je tam v podstatě natvrdo vysmažené v hardware.
(ale tolik ho asi nebude).
x = 'y = 1 + 1' exec(x) print yvidno že si nikdy nevytvoril vlastný interpreter programovacieho jazyka :D
ako chceš skompilovať napr. totoKompilátor může být součástí zkompilovaného programu.
plus: mov ry,1 add ry,1 ret main: mov rx,&plus call rx mov rp,ry call print_val ;number in rp call exitJo to kdybys chtěl print x, tak by to bylo horší
. Ale nemyslím, že by byl takový problém udělat hardwarový interpreter i pro věci jako perl nebo python, koneckonců ani C nebo třeba brainfuck (ten by byl nemálo triviální
). Tuším, že i LISP měl hw. zpracování a takovej postscript je taky skvělá věc (emulace v tiskárně, emulace v prohlížeči).
Jediný problém je výpočetní síla, ale podle tohoto kritéria by se vyplatilo všude používat jen assembler popřípadě strojový kód. U postscriptu je naopak hw. provádění jedno z nejefektivnějších.
a = raw_input("zadaj hocijaký python kód na vykonanie")
exec(a)
python sa ale používa len ako doplnkový jazyk na tvorbu pluginov a rozširovanie aplikácie alebo ako prostriedok na tvorbu menších web aplikácií.Před pár hodinama to byl skriptovací jazyk na pár řádků
.
žiadna, veď práve preto nemá používanie dynamických jazykov žiadny podstatný prínos.Tak co ti brání, abys Python používal jako statický?
, v jiném významu tak v řádu jednotek až desítek. Ale ty projekty z tý wikipedie budou mít tisíce.
No ony ty jazyky nemaj jedinou výhodu spočívající ve schopnosti provádět vlastní zdroják...
žiadna, veď práve preto nemá používanie dynamických jazykov žiadny podstatný prínos.LOL. Osobně mám taky radši staticky typované jazyky, ale tato hláška je perla! Kdo nikdy nevytvořil kód v dynamicky typovaném jazyce, asi nikdy nepřijde na to, že ta dynamická povaha jazyka je strašně flexibilní, a někdy může práci naopak ušetřit. Dynamické typování se často pomocí pomocných tříd používá i ve staticky typovaných jazycích, je to všude - Qt, Glib, .NET, atd... A naopak někdy se zase zavádí statická kontrola do dynamicky typovaných jazyků. Meze se posunujou. Před 10 lety by mi nikdo nevěřil, že v tom pomalém javascriptu někdo napíše použitelný emulátor 8bitu nebo klon boulder dash. Nebo že někteří blázni začnou v tekovém jazyce psát UI pro mobilní zařízení.
Meze se posunujou. Před 10 lety by mi nikdo nevěřil, že v tom pomalém javascriptu někdo napíše použitelný emulátor 8bitu nebo klon boulder dash. Nebo že někteří blázni začnou v tekovém jazyce psát UI pro mobilní zařízení.Jj nebo třeba tuhle google a pacman
. A to nejsou ty nejvýkonější věci. Takovej wolf3D je taky dobrej
, myslím, ze jsem viděl i něco s 3D.
Jinak slyšel jsem, že stránky Expa 2010 maj 3D renderovanou prohlídku ve flashi.
jedine tak a niektoré časti sa budú kompilovať počas behu programu, čo samozrejme bude bude mať nemalú réžiu a spomalovať vykonávanie programu a vpodstate sa tým stratí výhoda kompilovaného jazyka.Kompilaci až za běhu používají třeba některé multimediální přehrávače – ne kvůli tomu, aby byly pomalejší, ale právě naopak. vaše úvahy o tom, co je rychlé a co pomalé svědčí akorát o tom, že toho o tom, jak fungují programy a procesory mnoho nevíte.
a okrem toho toto všetko sú len nezmyselné teoretické úvahy python je interpretovaný jazykTo nevadí, že vám to tady několik lidí vyvrátilo, stejně budete trvat na svém.
keby sa python dal skompilovaťOn se dá zkompilovat. Víte třeba o existenci Jythonu?
pravdepodobne by sa používal aj tam kde sa dnes používajú plnohodnotné jazyky, python sa ale používa len ako doplnkový jazyk na tvorbu pluginov a rozširovanie aplikácie alebo ako prostriedok na tvorbu menších web aplikácií.To, že vy nevíte o existenci velkých aplikací napsaných v Pythonu, ještě neznamená, že neexistují.
gcc nebo ld jsou napsané v C? Oba pracují tak, že načtou nějaký soubor na vstupu, zpracují jej a zapíší něco na výstup. Nebyl by problém z nich udělat knihovní funkce, které předáte pole bajtů a na výstupu dostanete jiné pole bajtů – dost možná, že takové knihovní funkce už někde existují – já si je pojmenuju gcc() a ld().
#include <stdio.h>
int main(void)
{
char x[] = "int y = 1 + 1";
void *o = gcc(x);
void *out = ld(o);
(*out)();
return 0;
}
V čem se liší tenhle program v C od toho vašeho v Pythonu (až na ty memoryleaky)?
.
.
ktorý sa kompiloval do strojového kódu procesora.Podporuje i LISPový stroj? Klidně snížím požadavky na ARM, ale i na ten by bylo potřeba něco jako QEMU, což je "interpreter".
Python je len primitívny skriptovací jazyk na pár riadkové skripty.Tohle nestačí? P.S. Heh asi bych neměl zmiňovat, že bych rád dodělal emulátor 486 procesoru v perlu a nabootoval na něm
to by pak byl třeba Windows 98 celej interpretovanej.
.
#include <stdio.h>
int main()
{
printf ("%s \n", "A string");
return 0;
}
Je v tom nějaký principiální rozdíl oproti vašemu kódu?
.
BTW já si imho myslím, že pokud se vyvine UI, tak že za nima budou stát minimálně dynamicky typovaný jazyky (asi ovládající nějakou databázi).
A co takhle zkusit Phyton v Delphi
http://www.atug.com/andypatterns/pythonDelphiTalk.htm
Existuje i komponenta interpretru (Object)Pascalu a možná i nějakých dalších jazyků.
Python je len primitívny skriptovací jazyk na pár riadkové skripty.Slunce se toci taky kolem Zeme, ze jo. Vyznas se v Delphi, tak pis komentare o Delphi a ne o necem, s cim jsi se delsi dobu nezabyval.
a různými Pascaly určenými pro normální programování, je dost velký rozdíl.jo, to vetsina lidi nechape. navic si neuvedomuji, ze v pascalech ala delphi se programuje uuuuuuplne, ale uplne jinak. typicky se pascalu vycita priserna prace s ukazately... v delphi jsou takove veci spis pro zpetnou kompatibilitu a diky pouzitemu objektovemu modelu nejsou potreba (stejne jako v jave). proti moznostem toho jazyka bych mel vyhrady... neni tak expresivni jako ostatni. ale u javy se to povazuje za killer feature. co se mi na delphi libilo, kdyz jsem v nem nekdy na prelomu tisicileti delal, byla standardni knihovna. bylo u ni videt, ze se nad ni premyslelo a ktera mela koncepci. a nebyl to zmet napadu slepena dohromady.
co se mi na delphi libilo, kdyz jsem v nem nekdy na prelomu tisicileti delal, byla standardni knihovna. bylo u ni videt, ze se nad ni premyslelo a ktera mela koncepci. a nebyl to zmet napadu slepena dohromady.K tomu dávám +1, to je pravda.
K tomu dávám +1, to je pravda. Na druhou stranu, ona ta standardní knihovna byla dost pověšená na win32 API. Vím, byly tam cross-platform-ready části, nicméně zdaleka ne všechno.Těžko zrovna toto vyčítat. Kód mezi Delphi a C++Builderem byl sdílený, a když jsem opravdu hodně dávno nainstaloval C++Builder 1.0 na Win95 desktop, byl jsem z toho nadšený. Form designer byl na tu dobu vymakaný, velice jednoduché bylo vytvořit si DIBSection a renderovat si vlastní widgety, prostě paráda;) Hodně aplikací, co vzniklo v té době používalo právě C++Builder.
co se mi na delphi libilo, kdyz jsem v nem nekdy na prelomu tisicileti delal, byla standardni knihovna. bylo u ni videt, ze se nad ni premyslelo a ktera mela koncepci. a nebyl to zmet napadu slepena dohromady.No, ona slavná knihovna byla možná dobrá, ale v rámci Delphi. Jakmile člověk chtěl trošku hlouběj (použít něco z Win32 API - psali jsme kdysi aplikaci, která používala sériové porty) tak to zase taková výhra nebyla. V principu to byla zplácanina mezi borlandím runtimem <-> MFC <-> Win32 API. A tuto zplácaninu rovněž používal Borland C++ Builder 5 a vyšší. Ale jinak v celku proti Delphi nic nemám, bylo v tom napsáno mnoho všelijakých aplikací a svého času bylo na výsluní a používalo se hodně.
Moderní Pascal je naprosto celý Wirthův Pascal (snad až na pár detailů) + něco navíc.
Jde o to, jestli se bavime o teorii Wirthova Pascalu nebo o hotovem kompilatoru.
Tvrdit, ze koncepce a vlastnosti Pascalu ze 70.let jsou stejne jako z 90. let a z tohoto tisicileti je silenost. To "+ neco navic" dokazuje jen to, ze jste se tim dostatecne nezabyval, ja delal v TurboPascalu 6, 7 a pak v nekolika verzich Delphi od 1 az asi po 4 a rozdily byly obrovske, ze se skoro nedalo mluvit o stejnem jazyku a vyvoj jazyka sel s kazdou verzi o kousek dal (samozrejme i zasluhou knihoven, ne jen koncepce jazyka). A to porovnavam jenom TurboPascal a ObjectPascal. Podobnost syntaxe nic nerika, Modula taky neni Pascal.
with beru, člověku to kolikrát ušetřilo zuřivé cvakání na klávesnici.'a'+'b' je opravdu drobnost...pote, co jsem nastudoval strukturu PE souboru me to nejak prestalo bavit.
+1
V tom jsem taky kdysi neco kutil, ale nikdy jsem nic nedokutil. Ted zkousim v lazarusu zbastlit kopii PE Exploreru (ten je tusim napsan v delphi) + podporu ELFu, ale jsem naprosto neschopny a pote, co jsem nastudoval strukturu PE souboru me to nejak prestalo bavit.To je tak složitý rozparsovat /etc/file/magic ?
).
), to ne.
Samozřejmě trochu chyběly makra a šablony a z moderních jazyků pokročilejší datové struktury jako seznamy, slovníky a operace nad nimi, ale dalo se to řešit a nikoli na úkor pracnosti, horší udržovatelnosti nebo znovupoužitelnosti kódu.
Co vim tak funkce v Pascalu nemohla mít jako návratový typ třeba soubor nebo datovou strukturu - ty se musely vracet přes výstupní parameterydobra otazka. co vim, tak v delphi toto by nemel byt problem. navic pri spravnem navrhu, nebudes vracet z funkce soubor, ale hodnotu typu myslim TFile (coz je vlastne ukazatel na instanci objektu). i.e., hezka ukazka, ze davat rovnost mezi pascal 70-let a delphi je blbost.
Root.Items.Add('item1').Items.Add('Item2').Items.Add('Item3');
ale hodnotu typu myslim TFileSpíš TFileStream
Ono se s tím pak líp pracuje v komponentách, co umí "jen" TStream. A to už je opravdu o něčem jiném než pascal ze 70.let.
Jaký je rozdíl mezi komponentou a knihovnou nebo třídou?Knihovna - knihovna kompomenent a tříd? Dynamická knihovna? Musíš se lépe vyjádřit.
file of blabla či textfile jsem nikdy nepoužil, jsou špatně použitelné, a tedy netuším, jestli to jde vrátit z funkce, spíš ne.
Dovolím si přidat svojí myšlenku. Delphi jsou především velmi pohodlný a rychlý vývojový nástroj. V době, kdy jsem s nimi začínal (tuším delphi 2 nebo 3), tak jsem chodil na přednášku programování pro windows na matfyzu (mimochodem na katedře numerické matematiky, nevím už proč). Po asi 5ti přednáškách by člověk dokázal sestrojit něco spustitelného s neprázdným oknem. Delphi jsem si pustil ve školní učebně místo jedné přednášky z programování a za hodinku jsem měl pěkný program na převod jednotek se skvělým GUI (na tehdejší poměry). A do dneška jsem neviděl tak přehledný a propracovaný systém na výrobu GUI. Je fakt, že v mnoha rysech zaspali u Borlandů dobu, ale i dnes v Delphi vyvíjíme a jsme naprosto spokojeni.
A co se týče Pascalu, tak ten mám poměrně rád, rozhodně mnohem více než hrozné C. Občas sice člověku chybí pokročilejší funkce, ale téměř vždy jde jen o delší zápis, který je ve finále přehlednější. Takže když pak na kód kouám, tak vidím, co dělá, a ne konstrukce typu vem pointer na pointer přetypuj na pointer na bžž, prvek kvák++ a přetypuj zpět na pointer na pointer, ten předej funkci xy, která očekává pointer, ale ve skrytu duše ví, že to je pointer na pointer na kvák
A to vše namačkané na jednom řádku. http://www.fi.muni.cz/usr/jkucera/pb071/obfuscated.htm.
int f,u=32,n[1024];s(v){if(u/=2)s(v),s(v|u),s
(v|u<<5);n[v]=u=u?u+u:1;};main(){for(f=~1,s(0
);f<1024;printf(n[++f]?f&31?"#":"\n#":" "));}
je krasa :)
Ne,ale ted vazne...programoval jsem v Pascalu(i Delphi) i v
C a nazor mam uplne opacny. C syntaxe je jednoducha, elegantni
kratka a prehledna...pokud clovek nepise jako prase. Ja teda kdyz
vidim Pascal tak je mi spatne...mozna proto ze nam i na VS tlacili
do hlavy "Kdo programuje v Pascalu tak mu patri obe ruce urezat... :)"
Btw, zkuste si ten kod prepsat do Pascalu...
begin/end a ceckovych {}, a to teprve pote, co jsem si to na par prikladech vyzkousel. Do te doby jsem preferoval begin/end (protoze se {} snadno da prehlednout) a na Python jsem se dival trochu skepticky. Clovek by mel vse zkusit a predem nic nezavrhovat.
Ale bez urážky, pokud vám na VS tlacili do hlavy "Kdo programuje v Pascalu tak mu patri obe ruce urezat... :)" , tak to byla špatná škola. Programuju v Delphi, Javě, C, PHP, Perlu, Pythonu,... (z prvních třech jsem na VŠ dosáhl v patřičných předmětěch maximálního hodnocení) a vždy platí, že jazyk se volí podle požadavků a potřeby. Už jste někdy viděli webaplikaci v Delphi? Ne že by to nešlo, jednu jsem kdysi dokonce tvořil, ale přiznejme si, nebylo to zrovna ono. GUI aplikaci v PHP? Operační systém v Pythonu? Kvalita programátora se pozná podle toho jak programuje a ne v čem. Mimochodem u nás na VŠ jsme u důležitých zkoušek dostávali fragmenty kódu v C i v Pascalu. A pokud se mělo v rámci odpovědi napsat nějaký kód, bylo možno použit C, pascal nebo Javu.
Pro ilustraci bych dodal, že kdysi jsem se při jedné souteži v programování setkal se zajimavým řešením problému "napište třídící alhoritmus". Bylo to mladší žáky (tedy asi do 13 let) a očekávalo se něco jako:
for i := 0 to max do for j := i to max-1 do if pole[j]>pole[j+1] then prehod;
a jeden účastník vyrobil něco ve stylu:
for (i=0;i<max;i++) if (pole[i]>pole[i+1]) {prehod; i=-2; }
možná to není úplně přešné, ale to není podstatné. Oboje to funguje, ale na první, když se člověk podívá, tak vcelku rychle pochopí, co to dělá. U toho druhého, to už tak jednoduché není a rozhodně není ani jednoduché dokázat, že složitost je stejně n^2 jako v prvním případě. A dokonce i fakt, že se to vůbec zastaví není triviální... Na té soutěži jsme mu za originální řešení dali bod navíc, ale přiznejme si, v pracovním procesu bych radši viděl řešení prvním způsobem...
i -= 2, předpokládám... (Nerejpu, jen poznámka
)
. Samozřejmě vtip je v přístupu odečteme dvě, protože cyklus nám za chvíli jedna přičte, takže se dostaneme o jeden doleva místo doprava...
A práveže není jedno, jestli Pascal nebo C. For x := 1 to 20 v Pascalu znamená projeď proměnou x od 1 do 20. To je naprsoto přehledné a jasné. Delphi vás už nenechají měnit řídící proměnou cyklu v cyklu, takže v Delphi už toto pomocí for nenapíšete. A to je právě ta pointa. V Pascalu budete muset použít while. A když na to někdo kouká, tak while je něco, co se opakuje, dokud platí podmínka, zatímco for je něco, co projede několik vstupních hodnot... Takže když v pascalu vidím něco for i := 0 to neco.count-1 do tak hned vím, co to dělá...
A práveže není jedno, jestli Pascal nebo C. For x := 1 to 20 v Pascalu znamená projeď proměnou x od 1 do 20. To je naprsoto přehledné a jasné. Delphi vás už nenechají měnit řídící proměnou cyklu v cyklu, takže v Delphi už toto pomocí for nenapíšete. A to je právě ta pointa.To právě není ta pointa, protože v tom příkladě jsou v Pascalu dva for cykly vnořené do sebe. A na tom na první pohled není vidět o nic víc, než v tom Céčkovém zápisu.
for má v Pascalu trochu jinou definici, v céčku to je v podsatě stejné jako while. Nadruhou stranu, zkus si v Pascalu (v Delphi) napsat ekvivalentanebofor (int i = 0; i < 20; i+=2) {}
V obou případech budeš muset použít dost nepřehlednou konstrukci použitímint i = 0, j = 20; for (;(i<20) && (j>0); i++,j--) {}
while.