Hlavní navigace

Programovací jazyky

Ukazatele v Rustu aneb temná strana Síly 2

V dalším článku o jazyce Rust budeme pokračovat v popisu vlastností ukazatelů (pointerů), které sice v Rustu existují, ale jsou používány s mnohem menší frekvencí než například v jazyku C.

Pavel Tišnovský

Dnes 0:00

Ukazatele v Rustu aneb temná strana Síly

V jazyku Rust nalezneme kromě referencí, jejichž použití je kontrolované překladačem, i ukazatele (pointer). S nimi lze realizovat některé „triky“ známé z jazyků C a C++, ale některé operace jsou potenciálně nebezpečné.

Pavel Tišnovský

18. 5. 2017 0:00

Programovací jazyk Rust: spouštění nových procesů a komunikace s nimi

V další části seriálu o jazyku Rust si ukážeme, jak je možné spustit nový proces, předat mu argumenty, upravit proměnné prostředí a také to, jak lze s tímto procesem komunikovat přes vstupně/výstupní proudy (streamy).

Pavel Tišnovský

11. 5. 2017 0:00

Jak zachránit princeznu v osmi programovacích jazycích

Nedávno jsem narazil na sice loňský, ale vtipný obrázek, jak zachránit princeznu v osmi programovacích jazycích. Jde zřejmě o variaci na známou klasifikaci metalu podle toho, jak zachrání princeznu.

Jan Fikar

9. 5. 2017 6:55

Programovací jazyk Rust: práce s binárními soubory, serializace a deserializace

V další části seriálu o jazyku Rust se seznámíme se základními a prozatím velmi jednoduchými koncepty práce s binárními soubory a taktéž s problematikou serializace a deserializace dat s projektem bincode.

Pavel Tišnovský

4. 5. 2017 0:00

Programovací jazyk Rust: práce se soubory a se standardními proudy

Většina běžných aplikací potřebuje pracovat se soubory popř. se standardními vstupními a výstupními proudy. Proto se dnes seznámíme s některými základními traity a funkcemi, které se pro vstupně-výstupní operace používají.

Pavel Tišnovský

27. 4. 2017 0:00
| 5

Programovací jazyk Rust: jednoduchý server a klient komunikující přes TCP

Jednou ze zajímavých domén použití jazyka Rust mohou být serverové aplikace. Proto si v dnešní části seriálu ukážeme základní použití knihovních funkcí pro práci s TCP sockety, a to jak při implementaci serveru, tak i klienta.

Pavel Tišnovský

20. 4. 2017 0:00

Programovací jazyk Rust: binární halda, použití TCP

Poslední datovou strukturou ve standardní knihovně jazyka Rust je takzvaná binární halda, kterou si dnes podrobněji popíšeme. V závěru článku se navíc zmíníme o podpoře TCP v základní knihovně Rustu.

Pavel Tišnovský

13. 4. 2017 0:00
| 6

Pravidelný měsíční žebříček popularity programovacích jazyků společnosti TIOBE

Společnost TIOBE na své stránce zveřejnila žebříček popularity programovacích jazyků, který je každý měsíc přepočten. I když se pořadí na prvních šesti místech v porovnání se situací před rokem nezměnilo, stále můžeme vidět pokračující pokles…

Pavel Tišnovský

10. 4. 2017 23:03
| 5

Referenční překladač jazyka D pod svobodnou licencí

V pátek 7. 3. 2017 byl backend referenčního kompilátoru jazyka D z původní nesvobodné licence přelicencován pod svobodnou licenci BSL (Boost Software License).Tato změna umožní snazší distribuci tohoto kompilátoru a programů v něm stvořených pro jednotlivé distribuce linuxu.

Daniel Kozák

10. 4. 2017 12:36

Programovací jazyk Rust: efektivní práce s prvky uloženými v kolekcích

Dnes dokončíme popis datových kolekcí ve standardní knihovně Rustu. Nejdříve si řekneme, jak efektivně pracovat s objekty uloženými v kolekcích a pak si popíšeme použití množin s uživatelsky definovanými strukturami.

Pavel Tišnovský

6. 4. 2017 0:00

Tor Browser se začne přepisovat do Rustu

Tor Browser se rozhodl následovat prohlížeč Firefox, ze kterého vychází, a začne více využívat programovací jazyk Rust. Jeho hlavní předností je, že je díky omezenému nakládání s pamětí bezpečnější. „Z části se o bezpečné jazyky jako Rust v Toru…

Roman Bořánek

3. 4. 2017 13:10

Datové kolekce v programovacím jazyku Rust: množiny

Třetí skupinou datových kolekcí, které lze nalézt ve standardní knihovně jazyka Rust, jsou množiny (set). Podobně jako tomu bylo u map, jsou i množiny implementované dvěma způsoby – s použitím hešovacích tabulek a B-stromů.

Pavel Tišnovský

30. 3. 2017 0:00
| 8

Datové kolekce v programovacím jazyku Rust: mapy

Druhou skupinou datových kolekcí, které můžeme nalézt ve standardní knihovně programovacího jazyka Rust, jsou mapy (asociativní pole). První implementace je založena na hešovacích tabulkách, druhá implementace na B-stromech.

Pavel Tišnovský

23. 3. 2017 0:00
| 7

PyPy pro Python 3 v první betaverzi

PyPy, alternativní implementace Pythonu napsaná v RPythonu, se pomalu ale jistě dostává na třetí generaci tohoto programovacího jazyka. Vývoj už probíhá několik let, ale zatím byly k dispozici pouze vývojové verze a alfa verze. Teď vyšla první…

Roman Bořánek

22. 3. 2017 12:33
| 4

Datové kolekce v programovacím jazyku Rust

Při popisu standardní knihovny jazyka Rust nemůžeme vynechat datové kolekce a moduly určené pro práci s nimi. Mezi datové kolekce se řadí sekvenční typy, množiny a mapy.

Pavel Tišnovský

16. 3. 2017 0:00

Užitečné funkce a makra ze standardní knihovny Rustu

V dnešním článku se budeme zabývat funkcemi a makry ze standardní knihovny Rustu. Popíšeme si formátování zpráv, práci s proměnnými prostředí a zpracováním argumentů předaných na příkazovém řádku.

Pavel Tišnovský

9. 3. 2017 0:00
| 8

Oblíbenost jazyka C v TIOBE stále klesá

Nedávno byly zveřejněny výsledky indexu oblíbenosti programovacích jazyků TIOBE za únor 2017. Pořadí na předních místech je v podstatě stejné jako loni, i když první tři stále výrazně klesají. První je Java (16,7 %), druhé C (8,4 %), pak C++…

Jan Fikar

7. 3. 2017 11:45

Reakce na chyby v programovacím jazyku Rust

V každém programu je nutné adekvátně reagovat na různé typy chyb. Programovací jazyk Rust nabízí dvě standardní metody reakcí na chyby: použití výjimek a oznámení o chybě s využitím návratové hodnoty.

Pavel Tišnovský

2. 3. 2017 0:00

Datový typ Option v programovacím jazyku Rust

V dalším článku o jazyku Rust si popíšeme práci s datovým typem Option, který se v programech poměrně často používá, protože zjednodušuje práci s „neexistujícími“ hodnotami, volitelnými parametry funkcí, volitelnými členy struktur atd.

Pavel Tišnovský

23. 2. 2017 0:00

Práce s makry v programovacím jazyku Rust

Důležitou součástí jazyka Rust je jeho systém maker umožňující zjednodušení zápisu některých konstrukcí. Oproti makrosystému známému z C či C++ je makrosystém v Rustu bezpečnější, což si ostatně ukážeme na několika příkladech.

Pavel Tišnovský

16. 2. 2017 0:00

Práce s vektory v programovacím jazyku Rust

Primitivní datový typ pole (array), s nímž jsme se seznámili minule, neumožňuje při běhu programu přidávat či ubírat prvky. Pokud je takové chování zapotřebí, lze namísto polí použít objekt typu Vec neboli vektor.

Pavel Tišnovský

9. 2. 2017 0:00
| 4

Práce s poli v programovacím jazyku Rust

V jedenácté části seriálu o programovacím jazyku Rust se budeme zabývat způsobem práce s poli, což je sice zdánlivě triviální téma, ovšem některé koncepty práce s poli jsou v Rustu specifické.

Pavel Tišnovský

2. 2. 2017 0:00

Je čas aktualizovat Python: TLS 1.2 bude brzy povinné

Python Software Foundation oznámila, že Python.org a všechny související služby začnou vypínat starší TLS verze nižší než 1.2. Tuto změnu vynucuje CDN Fastly, kterou PSF používá. Navazuje tím na změnu, kterou vynucuje [PDF] Payment Card Industry…

Petr Krčmář

1. 2. 2017 11:39
| 1

Práce s řetězci v programovacím jazyku Rust

V dnešním článku se budeme zabývat problematikou práce s řetězci. Nejedná se přitom o zcela triviální téma, protože práce s řetězci v Rustu se hned v několika ohledech odlišuje od ostatních céčkových programovacích jazyků.

Pavel Tišnovský

26. 1. 2017 0:00
| 5

Programovací jazyk Rust: vlákna a sdílení objektů mezi nimi

V deváté části seriálu o jazyku Rust se budeme zabývat prací s vlákny (threads), s čímž souvisí i sdílení objektů mezi vlákny. I v této oblasti programátorům pomáhá k tvorbě aplikací typový systém Rustu.

Pavel Tišnovský

17. 1. 2017 0:00
| 9

Blog: JSON pro C++11 s immuta­bilním DOMem

Tentokrát to bude něco z mé vlastní programátorské tvorby. Jde o knihovnu ImtJSON která je určena k práci s formátem JSON a je k dispozici zcela zdarma pod licencí MIT. Odkaz najdete na konci článku.

Redakce

12. 1. 2017 8:32

Správa paměti v programovacím jazyku Rust s počítáním referencí

Už jsme si ukázali alokaci objektů na haldě (heapu) s jejich automatickou dealokací ve chvíli, kdy objekt přestal být viditelný. Dnes si popíšeme další způsob, který spočívá v počítání referencí.

Pavel Tišnovský

10. 1. 2017 0:00
| 8

Automatická paralelizace kódu pomocí DawnCC

Výzkumníci z brazilské university představili nástroj DawnCC, který analyzuje zdrojový kód v C nebo C++ a automaticky do něj doplňuje OpenACC nebo OpenMP direktivy. K analýze kódu je použito LLVM IR (intermediate representation). Projekt je…

Jan Fikar

3. 1. 2017 9:28
| 1

Přetěžování operátorů a správa paměti v programovacím jazyku Rust

V sedmé části seriálu o Rustu nejprve dokončíme téma přetěžování operátorů. Následně se zaměříme na způsob alokace objektů na haldě (heapu), s čímž souvisí problematika řešení správy paměti v Rustu.

Pavel Tišnovský

3. 1. 2017 0:00