( persicsb | 2011. 12. 12., h – 11:05 )

"Azt nem látom, hogy az ABI miért szükséges a könytárakkal való együttműködéshez. Látod te is, hogy működik a dolog."
ABI azért kell, hogy egy Visual C++-szal lefordított, nem nyílt forrású libet is lehessen linkelni MinGW-vel fordított kódhoz. Vagy éppen Intel C++ fordítós kódhoz. Ez jelen pillanatban nem működik, kivéve ha gányolsz. Java-nal ott a jar, használhatod, linkelődni fog.

"Mitől inkonzisztensek az STL tárolói?"
Attól, hogy rossz absztrakciókat használnak. Például nincs általános Collection, ami elemek együttesét (nem halmazát!) írná le. Másrészt a lista előírás szerint kétszeresen láncolt listaként valósítandó meg. Ahelyett, hogy lenne X listaimplementáció a lista API-jával, és azt használod, ami éppen neked a teljesítmény miatt kell. Javaban ez így megy: List->LinkedList vagy ArrayList vagy amit akarsz. Minden kód, ami List-et vár paraméterül és List-et ad vissza, megfelelően működik, attól függetlenül, hogy mi a mögöttes implementáció, nem is érdekes.
A map előírás szerint rendezett kell legyen, annak ellenére, hogy ez csak azért érdekes, hogy bizonyos műveletek gyorsak legyenek. Az implementációnak semmi köze az absztrakt adattípushoz (asszociatív tömb).
A lényeg: összekeveredik az absztrakciós szint és az implementációs szint.