Srovnejte komplexnost programovacích jazyků CoffeeScript, Ruby a C++
Nálepky:
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.
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.
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.
jelikož se z něj nedá nic přečíst
Nečitelný obrázek a nálepka C#?? Kvalitní aktualita.
Obrázek je malý záměrně, není třeba z něj číst, slouží jen pro optické srovnání, (ostatně číst nejde ani z jeho originálu, který slouží ke stejnému účelu).
Tak nějak předpokládám schopnost čtenářů podívat se na odkazovaný článek, kde najdou i obrázky další, určené pro čtení. A kdo tímto testem inteligence neprojde, má prostě smůlu 8-)