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ší Nejvíce hlasů
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.

WebSocket: Jak dostat webovou aplikaci do reálného času

Chat, živé notifikace, společná úprava dokumentu nebo průběžně aktualizované kurzy. Uživatelé dnes čekají, že se webová aplikace změní ve chvíli, kdy se změní data, a ne až po stisknutí klávesy F5. Protokol WebSocket je nejrozšířenější způsob, jak mezi prohlížečem a serverem vytvořit trvalý obousměrný kanál. V článku se podíváme, jak funguje pod kapotou, jak ho použít v prohlížeči i na serveru a na co si dát pozor při nasazení do produkce.

Zahoďte knihovny: dropdowny, tooltipy a přechody stránek jen s HTML a CSS

Rozbalovací menu, tooltip, modální okno a plynulý přechod mezi stránkami. Ještě nedávno čtyři důvody, proč do projektu přidat několik knihoven a desítky kilobajtů JavaScriptu. V roce 2026 už to všechno zvládne prohlížeč sám. Ukážeme si, jak na to s Popover API, CSS anchor positioningem a View Transitions, a také kde mají své limity.

Rok po Shai-Hulud: co se změnilo na npm a co musíte udělat do ledna

Před rokem začal registrem npm procházet samošířící červ Shai-Hulud. Od té doby se útoky na dodavatelský řetězec JavaScriptu staly pravidelnou záležitostí a npm postupně přepisuje pravidla publikování. Projdeme, co se za ten rok stalo, jak dnes bezpečně publikovat balíček, co musíte stihnout do ledna 2027 a jak se bránit jako uživatel balíčků.