История появления Delphi

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Re: История появления Delphi

Сообщение mirk » 11.10.2025 14:03:39

sts писал(а):оберон 2 и последующий компонентный паскаль - это возврат удаленного и наращивание сложности.

обычная работа над ошибками при работе над продуктом

sts писал(а):при этом когда смотришь на оберон тутже возникает вопрос - зачем

так можно сказать про любой язык
mirk
постоялец
 
Сообщения: 319
Зарегистрирован: 24.09.2007 10:03:39

Re: История появления Delphi

Сообщение sts » 11.10.2025 15:48:16

mirk писал(а):обычная работа над ошибками при работе над продуктом

работа над ошибками это когда есть цель ты не смог ее достичь потому что совершил ошибки, ты эти ошибки исправляешь и достигаешь поставленной цели. в данном случае цель была достигнута только она оказалась непригодной для работы и последующие языки это отказ от цели.
mirk писал(а):так можно сказать про любой язык

нет конечно, обычно их расширяют а не удаляют.
например, зачем удалять for? это самая востребованная конструкция из циклов, потом идет while, repeat же наименее востребованная, грубо говоря на 1 репит приходится 10000 вайлов, более того, из наблюдений, когда переписываешь репит на вайл, код становится более правильным. если уж удалять то репит. к томуже фор позволяет использовать легко реализуемые оптимизации которые в других случаях затруднительны так как для них неизвестно количество элементов.
ладно бы for to заменили бы на for in, т.е. где индекс опционален, ведь чаще всего он ненужен, более того вместо items[i] получается item, что тоже является серьезной оптимизацией, при этом конструкция была уже известна

Добавлено спустя 26 минут 46 секунд:
вон каким for должен быть
https://blogs.oracle.com/sql/post/bette ... s-in-plsql
sts
постоялец
 
Сообщения: 495
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: История появления Delphi

Сообщение Sharfik » 11.10.2025 17:30:27

sts писал(а):ладно бы for to заменили бы на for in, т.е. где индекс опционален, ведь чаще всего он ненужен

Ты про такое?
Код: Выделить всё
TargetDS.Edit;
        // Обновляем оставшиеся поля
        for Field in SourceDS.Fields do
        //for j:=0 to SourceDS.Fields.Count-1 do
        begin
          //Field:=SourceDS.Fields.Fields[j];
          if (Field.FieldName<>'')and(Field.FieldName <> KeyFieldName) then
            TargetDS.FieldByName(Field.FieldName).Value := Field.Value;
        end;
        TargetDS.Post;

Я тут попросил gigachat сделать код обновления DataSet. Он мне выдал с такой конструкцией. Прифигел, не знал такого. И до сих пор не понимаю, зачем козе баян? Зачем делать какую то дичь c for, когда есть While. Логика лучше читается, сразу понимаешь что там индексы.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 823
Зарегистрирован: 20.07.2013 01:04:30

Re: История появления Delphi

Сообщение sts » 11.10.2025 18:58:27

Sharfik писал(а):Ты про такое?

да
Sharfik писал(а):Зачем делать какую то дичь c for

нет в коде паразитной переменной i + доп оптимизация + визуально чище код
Sharfik писал(а):когда есть While

вот этого не понял, как вайл в приведенном примере использовать?
sts
постоялец
 
Сообщения: 495
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Пред.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1