Size: a a a

2020 December 15

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
я же говорю. что вот это - фактически куски нашего реального кода. который начинает тормозить на расчетах до такой степени, что сильно влияет на поведение программы:
юзерам работать невозможно. тестировщики начинают писать репорты

в коде тупо последовательный доступ к большим массивам. вот как в коде + расчет
не вижу противоречий ))

только берём профайлер и смотрим ))
а не оптимизируем "по привычке" ))))
источник

DB

Dmitry Belkevich in Delphi & Lazarus
kirillmaster4
Ещё небольшой вопрос. Не подскажете, какой флаг добавить для более строгого режима компилятора? Пример проблемы при обычной компиляции:

var a: array of Integer;
      i, n: Integer;


begin
 writeLn('Enter N');
 readLn(n);
 setlength(a, n);
 for i := 1 to n do
 begin
   readLn(a[i]);
   writeLn('a[i]= ', a[i]);
 end;
 readLn;
end.


 Ошибка: заполнение массива идёт от 1 до n, хотя n элемента в массиве не должно быть, однако же он заполняется и не выдает ошибку. Та же беда и со статическим массивом.
 Добиться выдачи ошибки можно только на FreePascal IDE на Windows, там выдаёт ошибку 201.
у тебя динамический массив с заранее неизвестной верхней границей массива. она будет определена только в рантайме. конечно, компилятор с этим ничего не сделает
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ты мог написать в коде:
setlength(a, n + 1);
и всё бы сработало

компилятор такое не 'потянет'. за разумное время. а замедление в несколько раз скорости, думаю, не потянут юзеры ) уже вижу массу желчи везде )
источник

DB

Dmitry Belkevich in Delphi & Lazarus
для таких вещей существуют т.н. статические анализаторы кода. которые, замечу, на плюсах и сях чуть ли не на порядок больше правил имеют, чем на паскалях
и это не от того, что плюсы такие хорошие, а наоборот. там можно наделать гору и тележку ошибок и ни один компилятор их не видит. в отличие вот от паскалей, которые такой код просто не соберут сами
источник

DB

Dmitry Belkevich in Delphi & Lazarus
за всё всегда везде приходится платить. скоростью, гибкостью, надежностью. не бывает, увы, одновременно максимально быстрых гибких и надежных языков и компиляторов. иначе бы просто именно только он бы и остался
источник

k

kirillmaster4 in Delphi & Lazarus
Dmitry Belkevich
ты мог написать в коде:
setlength(a, n + 1);
и всё бы сработало

компилятор такое не 'потянет'. за разумное время. а замедление в несколько раз скорости, думаю, не потянут юзеры ) уже вижу массу желчи везде )
У нас в тестах получилось всего в несколько процентов разница. Однако печально, что можно так легко допустить такую ошибку
источник

k

kirillmaster4 in Delphi & Lazarus
Dmitry Belkevich
за всё всегда везде приходится платить. скоростью, гибкостью, надежностью. не бывает, увы, одновременно максимально быстрых гибких и надежных языков и компиляторов. иначе бы просто именно только он бы и остался
Смотрели Oberon? По заявлениям он таким и является.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
kirillmaster4
Смотрели Oberon? По заявлениям он таким и является.
по заявлениям большая половина языков таких 😂😂😂
однако в жизни, увы, всё не так
источник

k

kirillmaster4 in Delphi & Lazarus
Минус FreePascal - монструозность (понимаю, в целях привлечения аудитории с Delphi и пр.) и развязанные руки. Огромнейший плюс - крутой IDE.
источник

RS

Renat Suleymanov in Delphi & Lazarus
kirillmaster4
Смотрели Oberon? По заявлениям он таким и является.
Был в англоязычной группе фанат Оберона. Он кодил на нем. Но это очень специфично
источник

DB

Dmitry Belkevich in Delphi & Lazarus
kirillmaster4
Минус FreePascal - монструозность (понимаю, в целях привлечения аудитории с Delphi и пр.) и развязанные руки. Огромнейший плюс - крутой IDE.
это ты плюсов не видел 😂😂😂
источник

k

kirillmaster4 in Delphi & Lazarus
Dmitry Belkevich
это ты плюсов не видел 😂😂😂
Видел
источник

k

kirillmaster4 in Delphi & Lazarus
Это полнейший ад. Как и Си
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну тогда просто глупо говорить о монструзности фрипаскаля или лазаря
источник

AS

Alexey Shumkin in Delphi & Lazarus
kirillmaster4
Минус FreePascal - монструозность (понимаю, в целях привлечения аудитории с Delphi и пр.) и развязанные руки. Огромнейший плюс - крутой IDE.
таак, про монструозность паскаля - поподробнее
источник

DB

Dmitry Belkevich in Delphi & Lazarus
_минимальная_ инсталляция плюсов 10-15 гиг
источник

SB

Sergey Bodrov in Delphi & Lazarus
kirillmaster4
Смотрели Oberon? По заявлениям он таким и является.
Пытался посмотреть, но ничего такого особенного не увидел. Упрощенный паскаль.
источник

AS

Alexey Shumkin in Delphi & Lazarus
kirillmaster4
Минус FreePascal - монструозность (понимаю, в целях привлечения аудитории с Delphi и пр.) и развязанные руки. Огромнейший плюс - крутой IDE.
и про крутую IDE - тоже ))))))))))
источник

DB

Dmitry Belkevich in Delphi & Lazarus
весь паскаль у меня занимает три гига
источник

k

kirillmaster4 in Delphi & Lazarus
Sergey Bodrov
Пытался посмотреть, но ничего такого особенного не увидел. Упрощенный паскаль.
С ООП и компонентной модульностью
источник