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.

Proč vám model napíše Python, i když jste si řekli o Rust

AI
Komentáře: 0
Výkonnostní propast mezi Pythonem a ostatními jazyky se za poslední rok a půl skoro zavřela. Dnešní modely zvládají Rust i Go srovnatelně dobře. Když jim ale volbu necháte, sáhnou stejně po Pythonu. A u knihoven je to ještě výraznější: mezi funkčně srovnatelnými balíčky je až 84procentní rozdíl v kvalitě generovaného kódu. Proč to tak je a co s tím.

WP2Shell: Kritická hrozba pro samotné jádro WordPressu. Útočníci mohou získat kontrolu nad webem

Zranitelnost ve WordPressu není žádná novinka. Kdo provozuje weby postavené na této platformě, ví, že bezpečnostní záplaty chodí prakticky pořád. O to větší pozornost by měla vzbudit chyba, u které nic z toho neplatí. A přesně takový je případ zranitelnosti, která dostala přezdívku wp2shell. potřeb. Zranitelný kontaktní formulář, děravý e-shopový plugin, opomenutá kontrola oprávnění v nějaké obskurní rozšiřující knihovně – to je denní chleba každého, kdo sleduje bezpečnostní feedy. Zpráva „nová chyba ve WordPress pluginu“ má tak nízkou informační hodnotu, že ji většina lidí přejde bez mrknutí oka.

Mýtus jedné aplikace: proč PWA nenahradí vývoj pro každou platformu

PWA mohou webu přidat ikonu na ploše, fungování bez připojení, notifikace a některé systémové funkce. Nejsou ale cestou k jednomu klientu pro všechny platformy. Vyplatí se tam, kde se lidé k webu vracejí a ocení okamžitý vstup z odkazu. Jakmile aplikace musí spolehlivě běžet na pozadí nebo fungovat stejně na každém zařízení, bývá vhodnější nativní řešení.