История появления 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
постоялец
 
Сообщения: 497
Зарегистрирован: 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
постоялец
 
Сообщения: 497
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение Alexander » 12.10.2025 07:58:49

Ну, Вирт не только упрощал язык и выкидывал части, но кое-что и добавлял при этом. Например, автоматическое управление памятью, модули. И вопрос скорее о том можем ли мы найти в новых языках Вирта хоть что-то из полезного, что можно использовать в FPC. На самом деле некоторые языки переняли из Оберона автоматическое управление памятью.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 853
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

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

Сообщение sts » 12.10.2025 22:23:33

Alexander писал(а):Ну, Вирт не только упрощал язык и выкидывал части

Автоматическое управление памятью, это тоже упрощение языка, выкидываются деструкторы. Управление в виде сборщика мусора это плохо, потому что это у же некая среда исполнения, был самодостаточный код, а тут параллельно какая то штука конкурирует за ресурсы. Вот управление на уровне компиляции, чтоб компилятор сам определял где деструктор вызвать, это дело. В любом случае это сильно другой язык.
Глобальные модули, юниты в паскале либо тоже самое, либо сильно проще, там экспортировать надо все что хочешь показать снаружи. Локальные модули любопытно но зачем, проще и правильней на юниты разбить.
Вот еслиб модули состояли из нескольких файлов, но нет, самое забавное что заявляется - модула оберон для больших сложных программ - а на самом деле, борладовский объект паскаль с его dpr dpk гораздо ближе к этому.

Вот чего не хватает в паскале - return, все эти exitы, resultы, тем более присвоение возвращаемого значения имени функции, о чем он вообще думал (такто идея понятна), самая существенная ошибка в паскале.
sts
постоялец
 
Сообщения: 497
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение Alexander » 13.10.2025 08:38:05

Про return - интересное наблюдение. То есть вполне себе кандидат на включение в Паскаль?

Модули не одно и то же, что юниты. Это "Оберон как операционная система". То есть юнит это единица раздельной компиляции, а модуль не только это, но и наподобие системных утилит в GNU/Linux. По этому и требуется экспортирование - это как ключи командной строки. Единицы раздельной компиляции и раздельного выполнения.

Вирт вёз свой Лилит в Политехнический музей, но его детище не пропустили на таможне. Тогда бы можно было увидеть его в действии со всеми этими модулями. А сейчас наверное можно было бы написать эмулятор Лилит - пишут же эмуляторы Спектрумов.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 853
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

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

Сообщение sts » 13.10.2025 11:33:41

Alexander писал(а):Про return - интересное наблюдение. То есть вполне себе кандидат на включение в Паскаль?

чисто умозрительно, с ходу не получится, сильно неправы были когда разрешили вызывать функцию и не присваивать в переменную ее результат, если в функции f1 написать if then return и забыть указать значение и точку с запятой, if then return 0; то следующая строка станет частью return, и если второй строкой идет вызов функции f2 и ее тип такойже как у f1, вы эту ошибку замучаетесь искать.
Код: Выделить всё
{if true then return 0;}
if true then return
f2();

делать же return(0) бессмысленно так как уже есть exit(0) и семантически неверно, скобочки это костыль чтобы решить вышеописанную проблему

Добавлено спустя 13 минут 1 секунду:
Alexander писал(а):Модули не одно и то же, что юниты.

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

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

Сообщение Сквозняк » 13.10.2025 17:07:16

mirk писал(а):
Сквозняк писал(а):маразм Вирта

почему маразм?

Потому что он перекраивал хорошо работающее делая его хуже, но красивее с точки зрения менее интеллектуальной публики. Ну вот убрал он часть разметки из языка, якобы сделал его чище. А какая с этого польза, если это не для программ однострочников? Можно случайно зацепить клавиши рукавом, залепить в программу мусор кучей других способов, написать что-то в сонном невнимательном виде, а компилятор это возьмёт да и выполнит, и разобраться что там не так, тоже сложно будет, ведь из языка выброшено "всё ненужное". Что это плохо, можно объяснить тем, кто трезво соображает, но вот некоторым нельзя. У человеков быстрая память не резиновая, её нужно экономить, потому нужна некоторая дополнительная разметка, которая экономит эту память и помогает ориентироваться в коде. И если разработчик языков программирования перестаёт это понимать, как ему не объясняй, то наверно у него развился маразм.

Добавлено спустя 1 минуту 53 секунды:
Awkward писал(а):
mirk писал(а):
Сквозняк писал(а):маразм Вирта

почему маразм?

Потому что автор высказывания так считает. А что с ним не согласно большое количество людей, ему плевать.

Мало быть несогласным, надо ещё несогласие логически обосновать.
Сквозняк
энтузиаст
 
Сообщения: 1155
Зарегистрирован: 29.06.2006 22:08:32

Пред.

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

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

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