Byl zveřejněn seznam 44 osob přijatých do programu Outreachy od 14. května do 14. srpna 2018. Cílem programu Outreachy je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny.
Glen MacArthur vydal verzi 2018.4.2 na Debianu založené linuxové distribuce optimalizované pro tvůrce audio a video obsahu AV Linux (Wikipedie). Podrobnosti v oznámení o vydání a v stotřicetistránkovém manuálu (pdf).
Byla vydána nová stabilní verze 1.15 (1.15.1147.36) webového prohlížeče Vivaldi (Wikipedie). Z novinek lze zdůraznit možnost nastavení vlastního pozadí okna, přístup k záložkám z hlavního menu, lepší ovládatelnost v režimu celé obrazovky nebo vyřešení problémů se zvukem v HTML5. Nejnovější Vivaldi je postaveno na Chromiu 65.0.3325.183.
Node.js Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 10.0.0 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). Verze 10 se v říjnu stane novou aktivní LTS verzí. Podpora je plánována do dubna 2021.
Neal Cardwell ze společnosti Google oznámil zveřejnění verze 2.0 nástroje pro testování síťového stacku packetdrill. Jde o souhrnné vydání změn z interního vývoje od roku 2013.
Microsoft na svém blogu oznámil, že správce knihoven pro C++ Vcpkg (VC++ Packaging Tool) lze nově používat také na Linuxu a macOS. Aktuálně je pro Linux k dispozici více než 350 knihoven [reddit].
Byly zveřejněny exploity na Nintendo Switch a platformu Tegra X1: Fusée Gelée a ShofEL2. Jejich zneužití nelze zabránit softwarovou aktualizací. Na druhou stranu exploity umožní na Nintendo Switch snadno a rychle nainstalovat Linux, viz. ukázka na YouTube. Jenom je potřeba sáhnout na hardware.
Byla vydána verze 2.12.0 QEMU (Wikipedie). Přispělo 204 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn. Řešeny jsou také bezpečnostní chyby Meltdown a Spectre.
Google zveřejnil seznam 1 264 studentů přijatých do letošního Google Summer of Code. Přehled projektů, studentů, 212 organizací a mentorů je k dispozici na stránkách GSoC.
Oracle vydal verzi 1.0 univerzálního virtuálního stroje GraalVM, který umožňuje běh programů napsaných v jazycích založených na JVM, JavaScript, LLVM bitcode a experimentálně Ruby, R a Python.
1) schopnosti editorů jsou podobné, jde o zvyk uživatele
2) tato IDE se mi moc neosvědčila, upřednostňuji klasický postup — textový editor, komplilátor, linker, příp. make. Z propracovanějších editorů třeba Geany
3) mono je klon .net což je hloupý výmysl od M$, takže pokud opravdu požadujete takovéto prostředí, zkuste Javu, jinak doporučuji zůstat u C[++]
4) linux nemá jednotné API, to vyplývá z jeho filozofie. Pro GUI aplikace existují knihovy jako Gtk, Qt, wxWidgets, FLTK apod., osobně bych nejvíce doporučoval Gtk+ (příp. gtkmm pro C++), je to zcela svobodná GUI knihovna, má nejlepší podporu unicode a tím pádem i češtiny (tyto problémy zde defacto neexistují), vzhled lze libovolně měnit pomocí témat, má dobrou dokumentaci a GUI lze snadno vytvářet jako XML soubory pomocí Glade a dynamicky načítat za běhu aplikace, což např. usnadňuje překládání do jiných jazyků. A hlavně má Gtk přehledné a intuitivní API.
Add 1) Krome zvyku uzivatele bych zminil jeste vhodnost pouziti za danych podminek a dostupnost na cilovem systemu. Vi, ci nektery z jeho klonu najdete prakticky vsude, takze pokud budete nekdy muset neco delat napriklad na HP-UX ci jinem, neprilis v domacnostech rozsirenem systemu, a umite to s vi - urcite si vystacite. U Emacsu tomu tak neni. Stejne tak v pripade nutnosti editace vetsich souboru se vam muze stat, ze s Emacsem nepochodite. Jeden cas jsem pouzival stridave oba. Definitivnim impulzem k prechodu od Emacsu na Vi byly v mem pripade dve veci
Osobne bych seznameni se s editorem Vi bral jako dobrou investici do budoucna. Pokud tedy nezustanete u lokalni instalace Linuxu a GUI.
jj ale tak kdybych se ucil Qt, tak musim mit aplikace jako open source nebo koupit tu jejich predrazenou licenci (vztahuji to i do budoucna k zamestnani, sef asi kvuli mně nebude kupovat drahou licenci....)Tak pouzivej GTK. Jinak pokud vim tak by tvuj sef zadnou licenci kupovat nemusel. Ty klidne muzes prodavat ten program bez toho QT a to si muze uzivatel doinstaloval zadarmo je to opensource.
Java ee, nevoni miNo mě taky ne a proto zůstaň u C++ a nebo se nauč jython. Jinak Java mi tayk nevyhovuje ale asi se jí někdy naučit budu muset jelikož je to opravdu kvalitní jazyk.a neptejte se nehodlam to rozebirat :-P
mno ja je neznam do hloubky, ale zkuste juknout na Hello World GTK+ a QT, co Vam prijde intuitivnejsi ?No ano GTK+ se může zdát nepřehlednější jelikož je to toolkit v Céčku a ne v C++ jako QT, ale můžeš používat GTKmm. Já například používám kombinaci ruby + ruby/gtk a zde už to není tak nepřehledný.(samozrejme je to imho)
#!/usr/bin/python import gtk w = gtk.Window() w.set_title('Hello world') w.connect('destroy', gtk.main_quit) w.show() gtk.main()Je to v Pythonu (tj. high level jazyce) a bude to fungovat úplně stejně na linuxu jako na windows. Z tohoto důvodu mě nějaké C#/něco_Sharp/Mono/.NET nechávají chladným.
pretože má virtual-machine a bytecode?
Projekt parrot by mal vo finálnej fáze poskytovať obe vlastnosti aj pre php. Bude to znamenať, že PHP prestane byť skriptovacím jazykom?
a=1 print globals()["a"]• dynamické typování
a=1 a="xyz"• míchání typů
pole=[0, "pokus", 3.14, {1: "text", 2.1: (1, "a")}]• obecná volnání (to souvisí s dyn. typováním)
def secti(a,b): return a+b secti(1,1) #→2 secti("a","b") #→"ab" secti([1, "a"],[3.14]) #→[1,"a",3.14]• atributy a metody objektů nejsou na pevno dány třídou, lze je dynamicky vytvářet, měnit a odstraňovat. lze k nim získat přístup pomocí stringu s názvem
class A: pass #prázdná třída a=A() a.x=1 a.y="a" setattr(a,"x",3.1415926535) del a.y• a mnoho dalších... reflection je jen pokus o implementaci minimální části dynamičnosti do javy, a to ne jako součást jazyka, ale prostřednictvím složitých knihoven a nevím-čeho-všeho. V dynamických jazycích často (ne vždy) platí pravidlo, že každá proměnná je referencí na objekt a způsob zacházení s ní je dán typem objektu a ne typem proměnné (protože ta žádný typ nemá). Tak lze volat metody objektu uloženého v proměnné ať už je libovolného typu a není nutno nic přetypovávat atp. A z vlastní zkušenosti vím, kolikrát se mi to hodilo...
uvádzané príklady skôr ukazujú na nedostatočný návrh javy ako na to, či je alebo nie je dynamicka:
na sečti
postačuje, aby jazyk umožňoval overloadovanie operátorov
na dynamické typovanie
postačuje, aby (silne typový) jazyk buď podporoval implicitné pretypovanie (napr C++), alebo považoval aj primitívne datové typy za objekty (odvodené od base class)
bolo by asi vhodné zabudnúť na názov "skriptové jazyky" a uvažovať len on "kompilovaných" a "interpretovaných" jazykoch, kde "interpretované" jazyky potrebujú interpreter (vm), "kompilované" sú tie ostatné. Skripty sú interpretované jazyky.
2) Nahrada za Visual C++ KDevelop rozhodne neni, davam mu prednost pred Anjutou, protoze ma GUI uspornejsi co se tyce zabraneho prostoru a konfigurace projektu je prehlednejsi. KDevelop ma ale nektere nedotazenosti, treba neumi vytvorit pouzitelnou distribuci zdrojoveho kodu, nebo mu vubec nejde vytvaret rpm baliky. Na editaci zdrojoveho kodu je KDevelop dobre. Code::Blocks neznam
3) Mono je nehotove, ale pouzitelne
4) Vetsinu funkci os lze zpristupnit pomoci knihovny glibc, staci si najit v dokumentaci, co chcete delat a dozvite se jake hlavickove soubory jsou potreba. Dokumentace k teto knihovne se mi moc libi, protoze je tam mnozstvi praktickych rad a upozorneni na bezpecnostni rizika. Ja bych nehledal jednotne Linux API, ale hledal bych informace ke konkretnim problemum - zvuk, sokety atd. Protoze treba u soketu se proste dozvite, ze v Linuxu mate k dispozici BSD socket interface, tak si najdete dokumentaci primo k nemu. Hledal bych take POSIX, protoze Linux je z "vetsiny kompatibilni".
Linux samozrejmne neposkytuje zadne API pro tvorbu GUI aplikaci - tyhle funkce jsou vsechny v podobe dodatecnych knihoven (GTK+,QT,FLTK,EFLTK,FOX,MOTIF.....)
Tiskni
Sdílej: