Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.
AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.
Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.
Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Tento zápisek byl redakcí smazán.
Tiskni
Sdílej:
).
Než C, tak bych doporučil Pascal a možná i Javu. Proč se máš jako začátečník zajímat o to, jak v C fungují řetězce, proč se porovnávají řetězce pomocí strcmp() a né normálně (aha, tak Javu taky nebrat
), jaký je rozdíl mezi const char* a const char[], proč se starat o malloc a free? To ti všechno vlastní výuku zatemňuje ...
Výuka programování (alespoň podle mě) není o znalosti toho kterého jazyka, ale o výuce správného způsobu myšlení. Vzhledem k tomu, že momentálně cvičím programátorské začátečníky v C a další ve Visual Basicu .NET, dovolil bych si ti doporučit cokoliv z trojice Python, Ruby, anebo můj černý kůň Logo (po tom, co jsem recenzoval Imagine Logo, tak mi ten jazyk přijde pro začátečníky jako úplně perfektní, přestože tam jsou želvičky a barvičky a není tak super hackerský, jako třeba C).
Ne, teď vážně...
S tím, že mi mohli radit i lidé, co o programování vědí ještě méně než moje babička, se musí počítat. Já nemůžu všem koukat přes rameno, jak moc jim to programování jde nebo nejde.
Je tu otázka, jestli začít u Pascalu a pak se přepytlíkovat na C (anebo jiným směrem: třeba Python atd.), nebo začít rovnou na tom těžším, tedy C.
"Výuka programování (alespoň podle mě) není o znalosti toho kterého jazyka, ale o výuce správného způsobu myšlení." -- s tím souhlasím a doufám, že mi toto céčko poskytne. Doufám, že mi C poskytne nadhled nad to všechno.
A za poslední: doufám, že se mi fakt, že jsem se kdysi učil céčko, nijak nepromítne do obličeje, takže v případě změny jazyka nebude problém...
"Výuka programování (alespoň podle mě) není o znalosti toho kterého jazyka, ale o výuce správného způsobu myšlení." -- s tím souhlasím a doufám, že mi toto céčko poskytne. Doufám, že mi C poskytne nadhled nad to všechno.Abych to ještě doplnil, hodně mě k C postrčil právě ten názor, že po C se naučím všechno. Řeklo mi to více lidí a mně nezbývá než doufat, že měli pravdu.
A za poslední: doufám, že se mi fakt, že jsem se kdysi učil céčko, nijak nepromítne do obličeje, takže v případě změny jazyka nebude problém...Ne, do obličeje se ti C nepromítne. Zato se promítne na tvém programátorském stylu. Až tě potká nějaký skutečný objektový jazyk (a teď zrovna nemyslím Smalltalk
) tak podle mého názoru spláčeš. Ale něčím se začínat musí. Moje volba by byl Python..
aha, tak Javu taky nebrat 
Já čekal, že s tím přijdeš
.
Výuka programování (alespoň podle mě) není o znalosti toho kterého jazyka, ale o výuce správného způsobu myšlení. Vzhledem k tomu, že momentálně cvičím programátorské začátečníky v C a další ve Visual Basicu .NET, dovolil bych si ti doporučit cokoliv z trojice Python, Ruby, anebo můj černý kůň Logo (po tom, co jsem recenzoval Imagine Logo, tak mi ten jazyk přijde pro začátečníky jako úplně perfektní, přestože tam jsou želvičky a barvičky a není tak super hackerský, jako třeba C).
Nemůžu soudit, co je vhodnější pro výuku, protože kromě Javy jsem jiný programovací jazyk neučil. Ale pro pochopení, jak to vlastně funguje "vevnitř" bych doporučil právě C (pokud ne rovnou assebler). Podle mě je prostě mimořádně důležité, aby člověk věděl, co se děje "pod pokličkou" a k tomu má C nejblíž. Pak může klidně programovat v něčem vyšším daleko efektivněji, když ví, co se vlastně nakonec musí všechno provést. Už to tu někdo kdysi psal, že i v C# jde poznat, jestli daný programátor někdy zakusil C. Je samozřejmně otázka, jestli je C vhodné na učení algoritmů apod. Na to je samozřejmně vhodnější jazyk, kde se člověk nemusí zabývat např takovými věcmi jako správa paměti a může se věnovat přímo algoritmu.
Na LOGO mám poněkud nostalgické vzpomínky, když jsem coby 8leté dítko chodil na kurs do domu dětí a mládeže na špičkovou technologii PMD80. Ach, krásná to revoluční doba
.
Nezlob se, ale pokaždé, když napíšuaha, tak Javu taky nebrat
Já čekal, že s tím přijdeš
.
str.equals(str2), mám pocit, že jsem v C. Navíc díky podobným featurkám není možné používat string (a ani cokoliv jiného) v konstrukci switch. Bohužel znám i jazyky, kde to jaksi není žádný problém, proto u Javy vždycky brblu, protože to beru jako nesmyslné omezení jazyka (je jich i víc, například pojmenované parametry, omezení jedna třída jeden soubor, ...). Proto jsem rád za verzi 1.5, která mi ovšem v podstatě dává za pravdu. Škoda, že není možné si vybrat mezi silnějším a slabším jazykem.
Ale pro pochopení, jak to vlastně funguje "vevnitř" bych doporučil právě C (pokud ne rovnou assebler). Podle mě je prostě mimořádně důležité, aby člověk věděl, co se děje "pod pokličkou" a k tomu má C nejblíž.Skutečně nevím, k čemu ti ve výuce programování bude znalost rozdílu mezi char* a char[], nebo se učit používat reentrantní funkce ze standardní knihovny. Navíc C nemá výjimky a správné ošetření chyb je v něm složité i pro profíky a co teprve pro začátečníky. Výuka v C (ale i v jiných jazycích) většinou znamená spoustu starostí s řetězci, formátovacími řetězci, překladem, ukazateli, malloc a free a samotná podstata - výuka programování se v tom ztratí. To stejné ve Visual Basic .NET (v Javě by to bylo vesměs podobné), přes všechny deklarace typů, inicializace, metody a rozvláčnou syntaxi se mi ztrácí ta hlavní myšlenka. V tomto souhlasím s Yettim, který zastával názor, že by první jazyk mohl být také ten, který potom člověk může reálně používat, pokud se další už učit nebude. C toto sice splňuje, ale pro tohoto člověka je takový jazyk defakto nepoužitelný.
Výuka programování je dost široký pojem. Zahrnuje to vše od pouhé syntax nějakého jazyka, přes algoritmy po složitou optimalizaci a přenositelnost. Zastávám názor, že C je jazyk vhodný pro výuku. Ano je možná složitý, resp. je nutné v něm vše ošetřit "ručně" (většinou znamená spoustu starostí s řetězci, formátovacími řetězci, překladem, ukazateli, malloc a free), ale přesně tohle jsem měl na mysli tím "ví, co je pod pokličkou". Myslím si, že pokud je člověk nucen se naučit sám pracovat s pamětí, pointerovou aritmetikou atd. tak nakonec bude schopen daleko lépe programovat ve kterémkoliv jiném jazyku, i když se o tito věci nakonec nebude muset starat.
.
Jaký je (z hlediska uvažování programátora) rozdíl mezi efektivní implementací iteračního algoritmu pro výpočet sin(x) v C, nebo v Pythonu? Jaký je rozdíl mezi efektivní a neefektivní implementací Fibonnaciho posloupnosti v C, nebo v Ruby? Kde je ta podstatná výhoda C jako výukového jazyka (tedy počet zabraných bytů v paměti ani počet instrukcí v tomto případě skutečně není argument), pro kterou ho všichni doporučujete?
Pro mě znamená výuka programování toto:
O parních mlátičkách si myslím své, dělá to z lidí idioty.Dr. Peringera náhodou neznáš, co
? Ale v tomto případě posouváš diskusi úplně jinam, než je. O RAD a IDE prostředích se tu nebavíme.
C je složitý jako sviňaa vzapati ho nazves makroassemblerom :) ty vtipkar, assembler je to najprimitivnejsie co moze byt...
Kde je ta podstatná výhoda C jako výukového jazykamat hlboke znalosti z C nie je programatorovi na skodu. je vela schopnych programatorov a stavil by som sa, ze vacsina (ak nie vsetci) maju bohate znalosti C a bol to jeden z ich prvych jazykov (samozrejme, ze tomu pomohla dostupnost a pod.). mas nejake informacie o velkom pocte ludi, ktori sa ucili programovat (dajme tomu) v pythone a potom sa ucili C (vo velkom rozsahu)?
začínající programátor se musí potýkat s (pro něj) nepodstatným balastem jako řetězce, správa paměti, kompilace, ... .sorry, ale ja podla mna to prehanas. praca s pamatou (vratane retazcov) ma velmi jednoduche pravidla, debugger je fajn vec a ja v tom vazne nevidim problem. aspon ho to nauci poriadku :) ale tiez mozno trosku inak vnimam slovo "zacinajici" - a to ako cloveka, ktory uz chape o com to je, len rozvija svoje znalosti implementaciou (a vtedy mu C da vela).
a vzapati ho nazves makroassemblerom :) ty vtipkar, assembler je to najprimitivnejsie co moze byt...Assembler je jednoduchý? Syntaxe možná, ale programovat v něm je teda pěkně složité!
mas nejake informacie o velkom pocte ludi, ktori sa ucili programovat (dajme tomu) v pythone a potom sa ucili C (vo velkom rozsahu)?Jenže tohle nemůžeš srovnávat. C je mainstreamový jazyk starý asi 30 let, kdežto Python je daleko mladší (a první verze příliš použitelné nebyly). Proto nemůžeš mít hromadu lidí, co se učili v Pythonu, protože ta prostě ani neměla kdy vzniknout
ale tiez mozno trosku inak vnimam slovo "zacinajici" - a to ako cloveka, ktory uz chape o com to je, len rozvija svoje znalosti implementaciou (a vtedy mu C da vela).Jenže člověka, co ví o co jde, už těžko nazývat začátečníkem. Já se naopak setkávám s lidmi, kteří většinou vůbec neví o co jde
Proto jsem taky sepsal 4 body, které považuji za výuku začátečníků.
A také jsi přešel moji otázku : Jaký je (z hlediska uvažování programátora) rozdíl mezi efektivní implementací dejme tomu iteračního algoritmu pro výpočet sin(x) v C, nebo v Pythonu?
V obou případech je základem to, že si člověk musí uvědomit, že implementace podle vzorce je neefektivní a daleko rozumnější je si hodnoty mocnin a faktoriálů z jednotlivých iterací pamatovat a snížit tak složitost algoritmu. Což je to podstatné a to, co funguje v úplně všech jazycích stejně. A navíc tě k tomu žádný jazyk nevede
Proto beru jako velké plus, když takový jazyk nezdržuje zbytečným balastem, ale umožňuje se soustředit právě na podstatu výuky.
Ad hluboké znalosti C: nevím, možná si to jenom neuvědomuji, ale podle mě jsou hluboké znalosti z C dobré jenom pro to C a to proto, že každý jazyk vyžaduje trochu jiný přístup. Navíc je C dost odlišné od zbývajících jazyků (v Javascriptu jsou closures, Python má silné builtin typy, v Javě prakticky nejdou dělat statické inicializace a vše je na haldě, ...), které používám a C přístup je v nich spíše na škodu.
Assembler je jednoduchý? Syntaxe možná, ale programovat v něm je teda pěkně složité!ano, je velmi primitivny. ako pises, je to len C rozlozene na instrukcie. len je tu vacsia sanca spravit chybu, tak ako je vacsia sanca spravit chybu v C oproti high-level jazykom...
Jenže člověka, co ví o co jde, už těžko nazývat začátečníkem.takemu staci aj robot karel
V obou případech je základem to, že si člověk musí uvědomit, že implementace podle vzorce je neefektivní a daleko rozumnější je si hodnoty mocnin a faktoriálů z jednotlivých iterací pamatovat a snížit tak složitost algoritmu.dolezite je to najprv napisat tak aby to fungovalo - co najjednoduchsie a nejprehladnejsie. az ked sa ukaze, ze je to velmi neefektivne, vtedy sa tym treba zaoberat.
C přístup je v nich spíše na škodu.nehovorim o pristupe, ale o tom co ta jazyk nauci. ja za seba mozem povedat, ze C ma na dalsie jazyky pripravilo dobre (ale mna to bavi, takze nejaky python by ma nezlakal ani dnes).
dolezite je to najprv napisat tak aby to fungovalo - co najjednoduchsie a nejprehladnejsie. az ked sa ukaze, ze je to velmi neefektivne, vtedy sa tym treba zaoberat.Bláznům se nemá odporovat