Bohužel je to hrozně pozdě. Na podobném principu export/import fungují moduly v Javascriptu a nejspíš i ve na spoustě dalších, C#, Java, Python ....
Ačkoli ani v tom JS nebyl ze začátku žádný standard, komunita to tím směrem tlačila, sice špatným - CommonJS a ještě pár dalších - ale pořád tam ty moduly byly. Když pak přišel ECMA standard tak se na něj postupně přešlo všude a nyní jsou dokonce i v prohlížečích.
V tom C++ to určitě bude trvat ještě spousty let, než to bude mainstream - jestli vůbec.
První by s tím měla snad začít STL a pokud to bude fungovat napříč celým ekosystémem a bude se to tlačit, tak se to možná pohne dál. Jinak o to ale asi nikoho extra zajímat nebude.
Další věc, co s moduly celkem úzce souvisí jsou balíčky - sdružit několik modulů do balíčku a exportovat jen interface celého balíčku. Tam je to v C++ také dost mizerné a rozstříštěné.
K STL - C++23 podporuje import std; ale podpora ze strany překladačů je zmatečná. Modul std je obyčejný modul, který buildsystém musí nechat připravit. Můj nástroj cairn to ještě nepodporuje, ale chystám se na to (nicméně lze stl modul nacpat do modules.yaml a měl by se přeložit, jen to není platformově nezávislé)
Ohledně balíčků, chápu to tak, že se jedná o dev balíčky třeba na debianu? Tak pořád je možnost rozdělit to na interface a implementace a dev balíček bude obsahovat jen interface + libku. Jen tam pak trochu mizí jedna z hlavních výhod modulů a to psát vše do jednoho souboru.
Hlavní potíž s C++ obecně je, že tu máme 3 velké hráče. V jiných jazycích máme jen jednoho, například hlavní vývojář, maintainer a vedle toho komunita, která se tedy vždy stejně přizpůsobí. U C++ máme standarizační komisi, která rozhoduje jen o jazyku, ale ne o ekosystému. A pak GNU, Clang a Microsoft, každý si jede vlastní konkurenční systém - po svém. Mohl bych se samozřejmě upnout na jednoho maintainera, ale problém je, že ani jeden není dobře multiplatformní
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 58 743×
Přečteno 28 057×
Přečteno 26 647×
Přečteno 24 479×
Přečteno 23 153×