Debian dnes slaví 32 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních
… více »Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.
Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.
VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.
Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).
Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Když jsem si volil předměty na tento semestr, rozhodl jsem se, že samotné C++ není dostačující a že by bylo vhodné naučit se i Javu. Předminulý semestr jsem na áčko ukončil C++ (ze kterého tento semestr cvičím jednu skupinu) a celou dobu jsem si bez problémů vystačil se svým Celeronem 366MHz a 128 MB RAM. Ale koukám, že časy se mění.
Abych "ušetřil čas", rozhodl jsem se psát úkoly do Javy v BlueJ (které je napsané v Javě) místo ve vimu, kde bych si musel nastavit nějaké šablony, klávesové zkratky pro kompilátor. Nicméně se ukázalo, že jsem místo toho už u prvních dvou úloh ztratil vírazně víc času, než kdybych to psal ve vimu. Proč? Protože JRE (a tedy i BlueJ) a kompilátor jsou tak nehorázně nenažrané aplikace, že když jsem k nim spustil ještě prohlížeč, málem mi shořel disk při swapování . Z čistě osobního zájmu jsem si schválně zkusil, jak je na tom Java v porovnání s C++ s náročností na paměť. Očekával jsem, že C++ vyhraje (proto jsem to taky zkoušel
), ale posuďte sami. Napsal jsem rekurzivně se v konstruktoru volající třídu (s jedním stringem), která zároveň počítá počet vytvořených instancí před Segmentation fault nebo StackOverFlowError.
Kód v C++:
/*********************************** * StackTest.cc * ***********************************/ #include <string> #include <iostream> using namespace std; /// Door -- testing class class Door { private: string number; //door number bool opened; //"state" open static int count; public: Door(string num) { number = num; cout<<"Number of classes: "<< getCountPP() <<endl; new Door("HAHA"); //let's go to cycling} static void setCountZero() {count=0;}; static int getCountPP() {return count++;}; }; int Door::count; // MAIN FUNCTION int main() { Door::setCountZero(); new Door("FIRST"); return 0; //realy not necessary
}
Kód v Javě:
/** * Testing class Door * * @author Lukas Rydlo * @version 1.0 */ public class Door { private String number; private boolean open; private static int count; /** * Constructor * * @param number string "number" of the door */ public Door(String number) { this.number=number; System.out.println("Object count: "+(count++)); new Door("HAHA"); //let's go cycling} /** * Main function. */ public static void main(String args[]) { new Door("FIRST"); } }
Po zkompilování a spuštění dokázal program v C++ (zkompilovaný g++ bez optimalizací) vytvořit 104818 instancí. Program v javě, spuštěný "java -jar Door.jar" (tedy ne z BlueJ) spadl už po alokování 29057 instancí. Imho je to dost výrazný rozdíl a překvapuje mě, že tento aspekt nemá vliv na nasazení Javy ve webových aplikacích, kde by paměťová náročnost měla hrát nemalou roli. Nicmnéně chápu, že psát webovou aplikaci v C++ je tak trochu divné .
Každopádně jsem rád, že si vystačím z větší části s aplikacemi v C/C++, protože se nechystám kupovat další paměť a swapování na disk v takové míře, jakou si vynucuje spuštěné JRE jen na pouhé domácí úkoly (zdaleka ne tak výpočetně náročné jako ty z C++) na mém "stroji" je zdraví disku škodlivé .
Update: Teď mě napadá, že javovská virtuální mašina může mít nastavený menší zásobník a že by bylo asi objektivnější použít příkazy z shellu, abych zjistil opravdu obsazený prostor, ale to by nebylo tak zábavné .
Tiskni
Sdílej:
protože dokáže vytvořit víc instancí zvolené třídy než Java
Ovšem za jiných podmínek, takže nedokazuje vlastně nic.
binary-trees
, hned na začátku) a vychází mi to takto:
time java -server binarytrees 16 > /dev/null real 0m3.490s user 0m3.148s sys 0m0.184s time java binarytrees 16 > /dev/null real 0m4.519s user 0m4.384s sys 0m0.092s time ./binarytrees 16 > /dev/null real 0m2.962s user 0m2.948s sys 0m0.008sRozdíl je mezi Javou a C je sice docela značný, ale tady už to tak významné není:
time java -server binarytrees 18 > /dev/null real 0m14.188s user 0m13.977s sys 0m0.188s time java binarytrees 18 > /dev/null real 0m16.140s user 0m15.745s sys 0m0.156s time ./binarytrees 18 > /dev/null real 0m13.936s user 0m13.545s sys 0m0.088sKaždopádně je zajímavý hlavně ten podstatný rozdíl mezi verzí JVM client (default) a server.
To UPDATE: ano je to tak. JRE je defaultně omezeno a nemá k disposici celou paměť.
Předminulý semestr jsem na áčko ukončil C++ (ze kterého tento semestr cvičím jednu skupinu)
Můžu se zeptat co je to za školu, kde člověk po vystudování jednoho kursu tento kurs může učit? Každopádně doufám, že neučíš podobná zvěrstva jako tento ukázkový kód.
Rád udělám reklamu svému ústavu . Vítej na FI MUNI. A taková zvěrstva se opravdu snažím neučit, ale tady nejsme ve škole
.
Já se ptal proto, abych se té škole mohl vyhnout...
Když tak nad tím kódem přemýšlím, tak se vlastně nevytvoří ani jeden objekt, protože žádný konstruktor se vlastně nedokončí. Tomu říkám test .
Já se ptal proto, abych se té škole mohl vyhnout...Patrně nutná podmínka pro vedení cvičení z C/C++ je dosažení 80 bodů u zkoušky, na jedničku stačí, tuším, šedesát. Jde o součet bodů za domácí úlohy do cvičení, zkouškový program řešený doma a za připitomělý test nimrající se v normách ANSI/ISO C/C++ a chytácích, které při běžném programování zcela jistě nepotkáte. :) Ani jednou jsem se bohužel nepřehoupl přes tuto hranici, takže jsem přišel o snadný a bezpracný příjem peněz. Škoda. :( Na druhou stranu C/C++ prý není na FI zase tak moc rozšířené, takže je lepší tuto školu hodnotit na základě jiných věcí.
S pravidly pro bodování mnohdy nesouhlasímNahlédl jsem do těch pravidel, a je to tedy síla. Když si vzpomenu na zlaté časy na FEL ČVUT (ne, že by to nebylo přísné, ale co je moc, to je moc)...
absence: cvic1: cvic2: 9.3. ok, *2 cvic3: 13.3. nefunguji locale, jinak ok *3 cvic4: 20.3. spatna prava k souborum, *-3 22.3. ok, autodetekce *1 cvic5: 25.3. ok, vcasne odevzdani, kratke, *4 cvic6: 2.4. ok, vcas, nepovine, *3 cvic7: 10.4. vyzaduje IP adresu, ne nazev, nepouzite promenne, jinak dobre, *-3, opravit do 2.5. 25.4. ok, udp *1, dynamicka rychlost *1 cvic8: 17.4. ok, *3 cvic9: 24.4. ok, vcas *2 cvic10: 27.4. ok, vcas *2 cvic11: 9.5. ok zapocet: ANO 11.5.2005 M.Šárfy zaver: 16/5 Zpracuje MI 28/5 OK, obě rozšíření *35 test: 3/6 80% *24Pokud bych já bodoval cvičení, asi bych se na pravidla, která se nám oběma nelíbí, jednoduše vysral.
překvapuje mě, že tento aspekt nemá vliv na nasazení Javy ve webových aplikacích, kde by paměťová náročnost měla hrát nemalou roli.Spočítej si cenu programátorů v C++, připočti k tomu fakt, že nemáš za zadkem nic jako jboss, nebo Apache, Sun případně Eclipse a potom to porovnej s cenou jednoho serveru, který má dost výkonu, aby deficit Javy utáhl. Z ekonomického hlediska by se takové nasazení C++ rovnalo sebevraždě ... předpokládaný nárůst efektivity aplikace by se pravděpodobně nikdy nezaplatil.
import java.util.Hashtable; public class Door { private String number; private boolean open; private static int count; /** * Constructor * * @param number * string "number" of the door */ public Door(String number) { this.number = number; System.out.println("Object count: " + number); // new Door("HAHA"); // let's go cycling} /** * Main function. */ public static void main(String args[]) { int count=1; Door d; Hashtable h = new Hashtable(); while(true){ System.out.println("Object count: " + (count++)); d = new Door(Integer.toString(count)); // let's go cycling : h.put(new Integer(count),d); count++; } } }
Anketa
Losnu nebo Mažňáka?
Ále, třeba Bahňáka! (31 %)
Java RULEZZ! (30 %)
C++ RULEZZ! (35 %)
Co kecáš, Java paměť vůbec nepotřebuje! (17 %)
C++ na programování a na Jávu na dovolenou. (36 %)
Džáva, jedině džáva! (13 %)
Lama, seš LAMA! (27 %)
Já programuju v BASICu. (12 %)
Všichni jste divní. Jenom já jsem Smalltalk! (18 %)
Celkem 83 hlasů.
219% je na 83 hlasů celkem dost :)