Přejít k navigační liště

Zdroják » Zprávičky » Srovnejte komplexnost programovacích jazyků CoffeeScript, Ruby a C++

Srovnejte komplexnost programovacích jazyků CoffeeScript, Ruby a C++

Zprávičky Různé

Různé programovací jazyky jsou různě složité. O tom asi nikdo nepochybuje. Ale dokázali bychom nějak onu složitost vyjádřit a výsledek porovnat? Na Cpprocks.com se o to pokusili. Dali dohromady množinu konceptů jazyků CoffeeScript, Ruby a C++ (pojmem koncept je relativní a sami autoři srovnání to přiznávají a proto také zdůrazňují, že jejich srovnání může poskytnout jen hrubé výsledky).

A výsledek:

  • CofeeScript – 68 konceptů v celkem 8 skupinách
  • Ruby – 96 konceptů v celkem 11 skupinách
  • C++ – 186 konceptů v celkem 18 skupinách

Optické srovnání může získat z obrázku, jeho detailnější originál a podrobný popis celého srovnání najdete v původním článku C++, Ruby, CoffeeScript: a visual comparison of language complexity. Bylo by zajímavé mít takhle zobrazeny i další jazyky.

Komentáře

Odebírat
Upozornit na
guest
5 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
Tomáš Siegl

Za C++ tam chybí minimálně ještě u template SFINAE, bez čeho by nefungovalo spousta technik, které se používají při Meta programování, třeba v kombinaci s boost::enable_if z knihovny boost.

Jinak hezký, škoda že autor nezahrnul SCALU, protože bych si typl, že ta by měla konceptů taky málo a blížila by se k těm prvním dvou jazykům.

alancox

Hrubě jsem skouknul C++, a je to nekompletní (a pravděpodobně budou nekompletní i zbylé dva).

Ale nepotřebuji ani sekundu na to, abych i o půlnoci ve spánku vychrlil, že statické kompilované jazyky budou mít fakticky všechny více konceptů, než dynamické interpretované jazyky.

Nehledě na tom, že autor třechto tří grafů si vymýšlí navíc další. Například proč v C++ oddělil types a class jako samostatné koncepty? Co jiného je v C++ class než typ? Stejně tak zařazení operátorů new a delete nebo přetypování nikoli do operátorů ale do typů? Je to celé pomotané a nemá to hlavu ani patu.

ruda

jelikož se z něj nedá nic přečíst

lopata

Nečitelný obrázek a nálepka C#?? Kvalitní aktualita.

Cesta URL: co se děje, než se načte webová stránka

Když do adresního řádku prohlížeče napíšete webovou adresu a stisknete Enter, spustí se fascinující řetězec procesů, které propojují váš počítač s celým světem. Od překladu doménového jména na IP adresu, přes navázání šifrovaného spojení, až po vykreslení každého pixelu na obrazovce - to všechno se odehraje během zlomků sekundy. Pojďme se podívat, co se mezitím děje pod kapotou webu.

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 1
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku