> -- Валерий Лаптев писал(а):
> В С++ мы просто работаем с контейнером vector - он это, естественно, позволяет.Я уж и забыл, когда последний раз работал со встроенными массивами.Может быть, просто стоит реализовать подобный контейнер?[...]Но зачем тащить в язык, если можно реализовать в библиотеке?
Всё же, первично то, что язык должен позволять реализовывать библиотеки. Вряд ли какой-то единственный vector может оказаться предельно общим, т.е. единственным решением для всех случаев в универсальном ЯВУ (если всё же эффективность не игнорировать). К примеру, если понадобится контейнер как "вектор векторов" (таблица), то некий стандартный vector может не удовлетворить потребности. Использование структур/записей в качестве хранимых элементов (строка таблицы) вектора/динамического массива может оказаться нерациональным для распределения памяти, неэффективным для применения определенных политик доступа. К тому же возможно определение структур только в runtime (состав столбцов задаётся динамически во время выполнения программы). Или же необходимо организовать постраничное управление памятью и т.д.
В итоге, необходимы разные реализации всякого разного, и реализации эффективные. Соответственно, и язык должен способствовать. Не в курсе, как такие вопросы решаемы в Оберон-е, ещё и во взаимодействии с мусорщиком (к слову, те же хаки над статическими массивами нулевой длины хоть как-то упрощают жизнь).