Сообщение Re[4]: Delphi и велосипедирование от 24.06.2024 19:08
Изменено 24.06.2024 19:09 swame
Re[4]: Delphi и велосипедирование
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, rudzuk, Вы писали:
R>>Это, конечно, глупость несусветная. Особенно про перегрузку операторов (запахло костыльным дженерик-мафом ).
S>При чём тут женерик-маф? Я на Delphi оттрубил своё по полной программе, так что пишу с полной ответственностью.
S>Банально никаких коллекций на Delpgi не было, кроме TList.
S>Сделать простую штуку типа "отсортировать список по пользовательскому критерию" — боль, ужас, унижение.
тут жопа только в бестолковом примере, писанном кем — то не знающим языка.
Нужно применять адекватные классы, в данном случае есть класс TStringList, любимый формоклепателями.
Это если говорить о додженериковом языке.
S>Ага. Расскажите мне, во сколько строк кода запишется на Object Pascal какая-нибудь банальщина типа "обойти граф, заданный моей объектной моделью, в глубину, отфильтровав по параметру, частично заданному пользователем, и собрать некую агрегатную величину". Ну там — берём AST программы, ищем узлы-референсы, заимпортированные из модуля X, для них считаем сумму условной вычислительной сложности.
Ненавижу такое написание.
1. Не поддается отладке отладчиком.
2. сложно профилировать. сложно найти "бутылочное горлышко" производительности.
3. сложно рефакторить, сложно определяется на каждом этапе какая там структура данных на выходе.
4. нереально повторно использовать код, записать похожие алгоритмы.
5. перегружает компилятор.
S>На более-менее любом современном языке это будет весьма простой генератор/итератор, за которым .filter(...).map(...).reduce(...).
S>На Delphi остаётся только пердолиться с "процедурными типами" и/или Visitor Pattern.
R>>
S>Возможно, на современном Delphi ситуация как-то поменялась; в том, который был актуален во времена расцвета его популярности, всё это суровая правда.
S>Здравствуйте, rudzuk, Вы писали:
R>>Это, конечно, глупость несусветная. Особенно про перегрузку операторов (запахло костыльным дженерик-мафом ).
S>При чём тут женерик-маф? Я на Delphi оттрубил своё по полной программе, так что пишу с полной ответственностью.
S>Банально никаких коллекций на Delpgi не было, кроме TList.
S>Сделать простую штуку типа "отсортировать список по пользовательскому критерию" — боль, ужас, унижение.
тут жопа только в бестолковом примере, писанном кем — то не знающим языка.
Нужно применять адекватные классы, в данном случае есть класс TStringList, любимый формоклепателями.
Это если говорить о додженериковом языке.
S>Ага. Расскажите мне, во сколько строк кода запишется на Object Pascal какая-нибудь банальщина типа "обойти граф, заданный моей объектной моделью, в глубину, отфильтровав по параметру, частично заданному пользователем, и собрать некую агрегатную величину". Ну там — берём AST программы, ищем узлы-референсы, заимпортированные из модуля X, для них считаем сумму условной вычислительной сложности.
типа такого (код из нашего комплекса)? | |
| |
Ненавижу такое написание.
1. Не поддается отладке отладчиком.
2. сложно профилировать. сложно найти "бутылочное горлышко" производительности.
3. сложно рефакторить, сложно определяется на каждом этапе какая там структура данных на выходе.
4. нереально повторно использовать код, записать похожие алгоритмы.
5. перегружает компилятор.
S>На более-менее любом современном языке это будет весьма простой генератор/итератор, за которым .filter(...).map(...).reduce(...).
S>На Delphi остаётся только пердолиться с "процедурными типами" и/или Visitor Pattern.
R>>
S>Возможно, на современном Delphi ситуация как-то поменялась; в том, который был актуален во времена расцвета его популярности, всё это суровая правда.
Re[4]: Delphi и велосипедирование
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, rudzuk, Вы писали:
R>>Это, конечно, глупость несусветная. Особенно про перегрузку операторов (запахло костыльным дженерик-мафом ).
S>При чём тут женерик-маф? Я на Delphi оттрубил своё по полной программе, так что пишу с полной ответственностью.
S>Банально никаких коллекций на Delpgi не было, кроме TList.
S>Сделать простую штуку типа "отсортировать список по пользовательскому критерию" — боль, ужас, унижение.
тут жопа только в бестолковом примере, писанном кем — то не знающим языка.
Нужно применять адекватные классы, в данном случае есть класс TStringList, любимый формоклепателями.
Там сортировка вызывается 1 строчкой.
Это если говорить о додженериковом языке.
S>Ага. Расскажите мне, во сколько строк кода запишется на Object Pascal какая-нибудь банальщина типа "обойти граф, заданный моей объектной моделью, в глубину, отфильтровав по параметру, частично заданному пользователем, и собрать некую агрегатную величину". Ну там — берём AST программы, ищем узлы-референсы, заимпортированные из модуля X, для них считаем сумму условной вычислительной сложности.
Ненавижу такое написание.
1. Не поддается отладке отладчиком.
2. сложно профилировать. сложно найти "бутылочное горлышко" производительности.
3. сложно рефакторить, сложно определяется на каждом этапе какая там структура данных на выходе.
4. нереально повторно использовать код, записать похожие алгоритмы.
5. перегружает компилятор.
S>На более-менее любом современном языке это будет весьма простой генератор/итератор, за которым .filter(...).map(...).reduce(...).
S>На Delphi остаётся только пердолиться с "процедурными типами" и/или Visitor Pattern.
R>>
S>Возможно, на современном Delphi ситуация как-то поменялась; в том, который был актуален во времена расцвета его популярности, всё это суровая правда.
S>Здравствуйте, rudzuk, Вы писали:
R>>Это, конечно, глупость несусветная. Особенно про перегрузку операторов (запахло костыльным дженерик-мафом ).
S>При чём тут женерик-маф? Я на Delphi оттрубил своё по полной программе, так что пишу с полной ответственностью.
S>Банально никаких коллекций на Delpgi не было, кроме TList.
S>Сделать простую штуку типа "отсортировать список по пользовательскому критерию" — боль, ужас, унижение.
тут жопа только в бестолковом примере, писанном кем — то не знающим языка.
Нужно применять адекватные классы, в данном случае есть класс TStringList, любимый формоклепателями.
Там сортировка вызывается 1 строчкой.
Это если говорить о додженериковом языке.
S>Ага. Расскажите мне, во сколько строк кода запишется на Object Pascal какая-нибудь банальщина типа "обойти граф, заданный моей объектной моделью, в глубину, отфильтровав по параметру, частично заданному пользователем, и собрать некую агрегатную величину". Ну там — берём AST программы, ищем узлы-референсы, заимпортированные из модуля X, для них считаем сумму условной вычислительной сложности.
типа такого (код из нашего комплекса)? | |
| |
Ненавижу такое написание.
1. Не поддается отладке отладчиком.
2. сложно профилировать. сложно найти "бутылочное горлышко" производительности.
3. сложно рефакторить, сложно определяется на каждом этапе какая там структура данных на выходе.
4. нереально повторно использовать код, записать похожие алгоритмы.
5. перегружает компилятор.
S>На более-менее любом современном языке это будет весьма простой генератор/итератор, за которым .filter(...).map(...).reduce(...).
S>На Delphi остаётся только пердолиться с "процедурными типами" и/или Visitor Pattern.
R>>
S>Возможно, на современном Delphi ситуация как-то поменялась; в том, который был актуален во времена расцвета его популярности, всё это суровая правда.