STL (C++)
Biblioteka, która udowodniła, że kontenery i algorytmy można w pełni rozdzielić — i wprowadziła programowanie generyczne do głównego nurtu.
Alexander Stepanov od dwudziestu lat szukał sposobu, by napisać algorytm sortowania raz i uruchamiać go na czymkolwiek. Wraz z Meng Lee z HP przedstawił Standard Template Library komitetowi C++ w 1994 roku, a w 1998 weszła ona do standardu. Idea nośna: algorytmy nic nie wiedzą o kontenerach, kontenery nic nie wiedzą o algorytmach, a iteratory są cienkim interfejsem, który je łączy.
Dlatego std::sort działa na vector, na tablicy w stylu C i na każdej własnej strukturze udostępniającej właściwą kategorię iteratora — bez dziedziczenia, bez wywołań wirtualnych, wszystko rozstrzygane w czasie kompilacji. Rachunek przyszedł w komunikatach o błędach: jedna niezgodność typów potrafiła wygenerować kilka stron instancjacji szablonów, co dopiero koncepty (concepts) w C++20 realnie złagodziły.