История изменений
Исправление abcq, (текущая версия) :
Названия функций встреоны? Встроены. Параметры функций встроены? Встроены. Вон, у C++ конструкторы самые разные можно задавать. А причина такой организации простая — выделение и высобождение данных в куче зависит от реализации динамической памяти, которая может быть разной. Можно было бы наружу высунуть только GetMem, ResizeMem, FreeMem, но высунули немного другие функции. И на то есть причина. например, WideString в винде выделяется функциями библиотеки ActiveX.
Так это вы говорите что там что-то встроено, а на самом деле там просто есть glue код для перехода от компилятора к pтл, встроенного там ничего нет. Если бы функционал pтл был вшит в сам язык, а не как либа сбоку, тогда о какой-то встройке можно было говорить.
По поводу выделения памяти это абсолютно та же самая ерунда и в паскале где вы там принципиальную разницу видите, показывайте код freepascal где там разница принципиальна. Там та же шляпа только в профиль тот же мемори менеджер, те же реализаци по типу malloc free в виде гет и фри мема, так же есть более высокоуровневая нашлепка в виде new и dispose как некий аналог new delete. Всякое МС-барахло всегда было специфичным и к языкам не имеет никакого отношения.
Нет, он это делает в стэке или в подсунутом ему объекте. Паскаль динамическую память выделяет, как правило, в куче.
В стеке он это сделает для определенных встроенных типов или типов на основе встроенных типов как было в примере с bounded array. А паскалек да, он настолько убогий что почти все делает через прибитый соплями ртл на динамической памяти, не могу назвать это каким-то существенным отличием или преимуществом.
В паскале конструктор и деструктор один, а вариантивность реализуется через RTTI.
Ну так о чем речь тут вообще нет никакого особо преимущества ну загнали паскалеписак в загон ограничений, как это мешает тому чтобы писать на С в таком же стиле и организовать себе такой же загон, rtti организуется и в с и в с++ есть уже, да вам не нравится система типов потому что там действительно вся система это примитивные типы стековые да указатели, ну и плюс всякие структуры, перечисления, объединения все это есть имеет свой аналог и в паскале, все что сложнее это попытка абстрагироваться от этого ну делают они это через вариант, как будто 50 лет назад тагед юниона не существовало.
Исправление abcq, :
Названия функций встреоны? Встроены. Параметры функций встроены? Встроены. Вон, у C++ конструкторы самые разные можно задавать. А причина такой организации простая — выделение и высобождение данных в куче зависит от реализации динамической памяти, которая может быть разной. Можно было бы наружу высунуть только GetMem, ResizeMem, FreeMem, но высунули немного другие функции. И на то есть причина. например, WideString в винде выделяется функциями библиотеки ActiveX.
Так это вы говорите что там что-то встроено, а на самом деле там просто есть glue код для перехода от компилятора к pтл, встроенного там ничего нет. Если бы функционал pтл был вшит в сам язык, а не как либа сбоку, тогда о какой-то встройке можно было говорить.
По поводу выделения памяти это абсолютно та же самая ерунда и в паскале где вы там принципиальную разницу видите, показывайте код freepascal где там разница принципиальна. Там та же шляпа только в профиль тот же мемори менеджер, те же реализаци по типу malloc free в виде гет и фри мема, так же есть более высокоуровневая нашлепка в виде new и dispose как некий аналог new delete. Всякое МС-барахло всегда было специфичным и к языкам не имеет никакого отношения.
Нет, он это делает в стэке или в подсунутом ему объекте. Паскаль динамическую память выделяет, как правило, в куче.
В стеке он это сделает для определенных встроенных типов или типов на основе встроенных типов как было в примере с bounded array. А паскалек да, он настолько убогий что почти все делает через прибитый соплями ртл на динамической памяти, не могу назвать это каким-то существенным отличием или преимуществом.
В паскале конструктор и деструктор один, а вариантивность реализуется через RTTI.
Ну так о чем речь тут вообще нет никакого особо преимущества ну загнали паскалеписак в загон ограничений, как это мешает тому чтобы писать на С в таком же стиле и организовать себе такой же загон, rtti организуется и в с и в с++ есть уже, да вам не нравится система типов потому что там действительно вся система это примитивные типы стековые да указатели, ну и плюс всякие структуры, перечисления, объединения все это есть имеет свой аналог и в паскале, все что сложнее это попытка абстрагироваться от этого ну делают они это через вариант, как будто 50 лет назад тагед юниона не существовало.
Исходная версия abcq, :
Названия функций встреоны? Встроены. Параметры функций встроены? Встроены. Вон, у C++ конструкторы самые разные можно задавать. А причина такой организации простая — выделение и высобождение данных в куче зависит от реализации динамической памяти, которая может быть разной. Можно было бы наружу высунуть только GetMem, ResizeMem, FreeMem, но высунули немного другие функции. И на то есть причина. например, WideString в винде выделяется функциями библиотеки ActiveX.
Так это вы говорите что там что-то встроено, а на самом деле там просто есть glue код для перехода от компилятора к pтл, встроенного там ничего нет. Если бы функционал pтл был вшит в сам язык, а не как либа сбоку, тогда о какой-то встройке можно было говорить.
По поводу выделения памяти это абсолютно та же самая ерунда и в паскале где вы там принципиальную разницу видите, показывайте код freepascal где там разница принципиальна. Там та же шляпа только в профиль тот же мемори менеджер, те же реализаци по типу malloc free в виде гет и фри мема, так же есть более высокоуровневая нашлепка в виде new и dispose как некий аналог new delete. Всякое МС-барахло всегда было специфичным и к языкам не имеет никакого отношения.
Нет, он это делает в стэке или в подсунутом ему объекте. Паскаль динамическую память выделяет, как правило, в куче.
В стеке он это сделает для определенных встроенных типов или типов на основе встроенных типов как было в примере с bounded array. А паскалек да, он настолько убогий что почти все делает через прибитый соплями ртл на динамической памяти, не могу назвать это каким-то существенным отличием или преимуществом.
В паскале конструктор и деструктор один, а вариантивность реализуется через RTTI.
Ну так о чем речь тут вообще нет никакого особо преимущества ну загнали паскалеписак в загон ограничений, как это мешает тому чтобы писать на С в таком же стиле и организовать себе такой же загон, rtti организуется и в с и в с++ есть уже, да вам не нравится система типов потому что там действительно вся система это примитивные типы стековые да указатели, ну и плюс всякие структуры, перечисления, объединения все это есть имеет свой аналог и в паскале, все что сложнее это попытка абстрагироваться от этого ну делают они это через вариант, как будто 50 лет назад тагед юниона не существовало.