Mi a véleményetek a modern C++-ról? (C++11 és felette)
Arra lennék kíváncsi, hogy mi a véleményetek a modern C++-ról, 11-es és a felette lévő kiadásokról, egészen a legújabb C++20-ig.
Nem viszik túlzásba a hozzáadott dolgokat? C fejlesztőként látok olyan kódokat, főleg ahol a legújabb hozzáadott dolgokat használják (pl. template metaprogramming, stb. Itt egy példa:
[ [link] hogy ez már totál kínainak tűnik számomra.
Mennyire megfizetődő ilyen kódokat írni, főleg egy cégen belül? Ha egy személy megtanulja ilyen szinten és elmegy onnan, az úristen se fogja tudni tovább vinni azt a kódot. Legalábbis én így látom a dolgokat. Én mondjuk 3 évig embedded berendezéseket programoztam, lehet azért vagyok ennyire megijedve ezektől a dolgoktól.
Azért pakolnak bele ennyi mindent, mert bizonyos dolgokat nem, vagy csak nagyon csúnyán lehetett eddig megoldani. Még mindig könnyebb utánanézni az újdonságoknak, mintha egy alap dolgokból álló komplex kódot néznél.
Ennyi változás megtanulása szerintem elvárható. Viszont minél nagyobb egy cég, és minél több ügyfél számára gyárt szoftvert, annál kevésbé állnak át gyorsan az új technológiára.
Én pont fordítva vagyok a dologgal. Nem nevezném magam C++ fejlesztőnek, de szeretem a nyelvet, az egyik kedvencem, és pontosan azért, mert egyszerre biztosít nagyfokú szabadságot, széles eszközkészletet és még az értelmezhetőség határán belül mozog. Én a C-vel vagyok úgy, hogy a hátam közepére sem kívánnám, mivel rettentő limitált eszközkészlettel dolgozik, a legegyszerűbb dolgokat is viszonylag komplikáltan kell benne megoldani. Amíg a C++ biztosít mondjuk egy string típust, addig a C-ben megy az allokálgatás, ha neadjisten terminalból akarsz olvasni valamit, akkor megy a buffer mágiázás, nyolcféle ellenőrzés, scanf és társai ha neadjisten valami típusos értéket akarsz beolvasni. A C++ esetében meg ott a cin, és jónapot.
Amúgy szerintem kifizetődő. A C++ esetében értened kell a nyelvi tulajdonságokat, mi mit jelent nyelvi szinten, és onnantól rendben vagy. Ugyanakkor mondjuk C oldalról pont az a gond, hogy annyi ponton kell feltalálni a kereket, hogy ott hiába ismered a nyelv minden csínját-bínját, mert annyi ponton kell feltalálni benne a kereket, hogy a legalapvetőbb dolgok is mind valamelyik kollega kezéből származnak, és azokat nem fogod előre ismerni. Ott mindent helyben kell megértened, és ezt én elég időrablónak látom.
Azt szeretem a C++-ban, hogy semmit sem erőltet rád. Az újítások csak lehetőségek, és nem kötelezően használandó dolgok. Persze, ennek van hátránya is, több dologgal lehet állásinterjún szivatni a jelentkezőt, és kissé szétaprózza a fejlesztői szférát, de ez elhanyagolható az előnyökhöz képest. Ha neket nem tetszenek az új nyelvi elemek, akkor nem kell használnod. Ellenben ha tetszenek, akkor használhatod.
Szerintem is sok olyan dolog került a nyelvbe, ami igazából "jó, de tök jól megvagyunk nélküle", de mint mondtam, ezt nem gondolom rossz dolognak, én nem használom, aki meg akarha, az igen.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!