1. Domů
  2. Články
  3. Nejmocnější programovací jazyk aneb C++ is NOT dead

Nejmocnější programovací jazyk aneb C++ is NOT dead

smitio

Je C++ mrtvý? Nebo alespoň skoro mrtvý? (Při jeho stáří by se nebylo co divit…) Ani omylem. Alespoň to vyplývá z TALK PANELU SMITIA. Ti, kdo nejen s ním pracují, si k němu řekli své. I k tomu, v čem je dobrý a v čem naopak lehce problematický. Také k jeho kompatibilitě, možnostem alternativ, budoucnosti… Pusťte si diskuzi – a uvidíte sami.

Máme pro vás ty nejdůležitější postřehy z diskuze.

Vše se točí kolem programovacího jazyka C++, jeho využití a vyhlídkách. Jakub Jůza z Roboauta, nezávislý programátor Pavel Šimerda, Pavel Beran z Honeywell a Pavel Geiger z Jablotronu se vyjadřují k přednostem a slabinám C++, jeho komptabilitě, výhledům apod.

Co z jejich postřehů plyne? Céčko“ stále považují za relevantní a užitečné. Přestože už tu jsou nové jazyky jako Rust či Python. V herním průmyslu, robotice, letectví či v oblasti cloudových služeb je C++ stále nejjistější volbou. (To znamená v projektech, které vyžadují maximální optimalizaci a kontrolu nad pamětí. Zkrátka tam, kde musíme rychle a kvalitně zpracovat velké množství dat. Například u audia moc jiných možností není.)

Jaké benefity přinášejí další verze C++17 a C++20?

Moderní funkce a zlepšení správy paměti. Doporučení diskutujících expertů vybízí k přechodu na novější verze, protože jejich přínosy převažují nad případnými hnidami“. Upozorňují ale, že to nejde tam, kde je daná verze spojená s nějakou certifikací či normou, které garantují perfektní funkčnost (např. v letectví). V oborech a systémech, kde není 100% funkčnost otázkou života a smrti apod., však mohou nové verze významně posílit konkurenceschopnost.

Jeví se jako perspektivní kombinování C++ s jinými jazyky?

Například s Pythonem, který je častým komplementem díky své flexibilitě a jednoduchosti, určitě ano. Rust je zase mnohými vnímán jako možný nástupce C++ v určitých oblastech, a to zejména pro své bezpečnostní prvky. Úplné nahrazení C++ Rustem nebo jiným jazykem je ovšem v současnosti nereálné. C++ má totiž rozsáhlé legacy projekty a poskytuje kontrolu a výkon, které jiné jazyky nenabízejí.

Kombinace Rustu a C++ významně posiluje momentální tlak na růst bezpečnosti jazyků. Je tak silný, že se mu globální komunita programátorů snaží vycházet vstříc a vyvíjet co nejbezpečnější řešení. I kvůli tomu je přes určitou krkolomnost kombinování jazyků stále běžnější. C++ je obecně vnímán jako jazyk, k němuž se dá ledacos přifařit“. Paradoxně však jeho vývoj zpomaluje právě jeho komplexnost. (Jakákoli změna se musí promítnout takřka do všeho…)

Jak si C++ stojí z pohledu vzdělávání a sdílení know-how?

I o tom se debatovalo. A jako obvykle zaznělo, že za moderními standardy poněkud pokulhávají. Takže se není co divit, že absolventi většinou neodpovídají potřebám trhu. Naštěstí působení škol suplují různé meetup akce a komunity (např. C++ Brno kooperující s Roboautem). Čili: Chceš-li se něco naučit, nauč se to sám, tam nebo s námi.

Proč je kombinace C++ s Pythonem dobrá?

Je efektivní z hlediska workflow a softwarové architektury. Python pomůže k rychlejší iteraci a práci, C++ si poradí s výkonově náročnějšími úkoly.

Rostoucí role Rustu jako spolupracovníka C++

Rust je užitečný nástroj ke zvýšení bezpečnosti paměti. Je stále běžnější kombinovat C++ a Rust v jednom projektu. Migrace starších kódů napsaných v C++ do Rustu je ovšem zatím jistou výzvou. I tak ale tato cesta potvrzuje současný trend hledání bezpečnějších a zároveň co nejvýkonnějších jazyků pro systémy náročné na paměť.

Moderní standardy C++

Zkušenosti potvrzují, že C++ je díky moderním funkcím, jako jsou chytré pointery nebo move sémantiky, výkonnější a bezpečnější.
Což je argument pro vývojáře, kteří se rozhodují, zda investovat do aktualizace nástrojů a codebase.

Komplexita a náročnost správy C++ projektů

Využívejte dependency management, nástroje pro continuous integration a statické analýzy. Pomůžou vám udržovat a škálovat projekty v jazyce, který může být někdy na údržbu složitý.

Závěr

C++ zůstává i přes konkurenci ve hře. Je to díky jeho výkonnosti, bezpečnosti a možnostem. Jako všechno na světě ale vyžaduje inovace, které ho budou průběžně slaďovat s dobou a jejími potřebami. Což se – jak je patrné z panelu – děje.

Mohlo by vás také zajímat

Nejmocnější programovací jazyk aneb C++ is NOT dead