Në konferencën CppCon 2019 që po zhvillohet këto ditë, kompania Microsoft njoftoi hapjen e kodit të implementimit të saj të bibliotekës standarde C++ (STL, C++ Standard Library), e cila bën pjesë në mjetin MSVC dhe ambientin e zhvillimit Visual Studio. Biblioteka implementon funksionalitetet e përshkruara në standardet aktuale C++14 dhe C++17, si dhe zhvillohet në drejtimin e mbështetjes për standardin e ardhshëm C++20, duke ndjekur ndryshimet në draftin aktual. Kodi nën licencën Apache 2.0 me përjashtime për skedarët binarë, të cilat zgjidhin problemin e përfshirjes së bibliotekave runtime në skedarët ekzekutivë të krijuar.
Zhvillimi i kësaj biblioteke planifikohet të vazhdojë si një projekt i hapur i zhvilluar në GitHub, që pranon kërkesa pull nga zhvillues të jashtëm për korrigjime dhe implementimin e mundësive të reja (për pjesëmarrjen në zhvillim kërkohet nënshkrimi i marrëveshjes CLA për transferimin e të drejtave pronësore për kodin e dorëzuar). Theksohet se kalimi i zhvillimit të STL në GitHub do t'u ndihmojë klientëve të Microsoft të ndjekin ecurinë e zhvillimit, të eksperimentohet me ndryshimet më të fundit dhe të ndihmojnë në rishikimin e kërkesave për shtimin e novacioneve.
Hapja e kodit gjithashtu do t'i lejojë komunitetit të përdorë realizime gati në projekte të tjera nga standardet e reja. Për shembull, licenca për kodin është zgjedhur në një mënyrë që ofron mundësinë e shkëmbimit të kodit me bibliotekën nga projekti LLVM. STL dhe libc++ ndryshojnë në përfaqësimin e brendshëm të strukturave të dhënash, por nëse zhvilluesit e libc++ e duan, ata mund të portohet funksionalitetin e interesit nga STL (për shembull, charconv) ose të dy projektet mund të zhvillojnë ndonjë risi së bashku. Shtesat e përfshira në licencën Apache anulojnë kërkesat për përmendjen e përdorimit të produktit burimor gjatë dorëzimit të skedarëve binarë përfundimtarë tek përdoruesit e fundit, të kompiluar me STL.
Një nga qëllimet kryesore të projektit është të përmbushë plotësisht kërkesat e specifikimeve, të garantojë performancë të lartë, lehtësinë e përdorimit (mjetet për debuggim, diagnostikim, identifikimin e gabimeve) dhe përputhshmërinë në nivelin e kodit burimor dhe ABI me lëshimet e kaluara të Visual Studio 2015/2017. Ndër fushat që Microsoft nuk është e interesuar të zhvillojë përfshihen portimi në platforma të tjera dhe shtimi i zgjerimeve jo standarde.
Burimi: opennet.ru
