Byl odhalen supply chain attack na Notepad++: útočníci kompromitovali hosting Notepad++ a vybrané dotazy na aktualizace přesměrovávali na servery pod jejich kontrolou. Doporučuje se stáhnout instalátor a přeinstalovat.
Francouzská veřejná správa má v rámci vládní iniciativy LaSuite Numérique ('Digitální sada') v plánu od roku 2027 přestat používat Microsoft Teams a Zoom a přejít na videokonferenční platformu Visio, hostovanou na vlastním hardwaru. Konkrétně se jedná o instance iniciativou vyvíjeného open-source nástroje LaSuite Meet, jehož centrální komponentou je LiveKit. Visio nebude dostupné pro veřejnost, nicméně LaSuite Meet je k dispozici pod licencí MIT.
Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.
Shellbeats je terminálový hudební přehrávač pro Linux a macOS, který umožňuje vyhledávat a streamovat hudbu z YouTube, stahovat odtud skladby a spravovat lokální playlisty. Pro stahování dat z YouTube využívá yt-dlp, pro práci s audiostreamy mpv. Je napsán v jazyce C a distribuován pod licencí GPL-3.0, rezpozitář projektu je na GitHubu.
Byla vydána nová verze 26.1.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. S podporou hardwarového dekódování videa. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl po deseti měsících od vydání verze 1.3 vydán ve verzi 2.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Guido van Rossum, tvůrce programovacího jazyka Python, oslavil 70. narozeniny. Narodil se 31. ledna 1956 v nizozemském Haarlemu.
OpenClaw je open-source AI asistent pro vykonávaní různých úkolů, ovládaný uživatelem prostřednictvím běžných chatovacích aplikací jako jsou například WhatsApp, Telegram nebo Discord. Asistent podporuje jak různé cloudové modely, tak i lokální, nicméně doporučován je pouze proprietární model Claude Opus 4.5 od firmy Anthropic v placené variantě. GitHubová stránka projektu OpenClaw.
Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.
Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.
).
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
Tiskni
Sdílej: