Как отключить RTL?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Re: Как отключить RTL?

Сообщение vital » 21.12.2009 17:29:03

Максим писал(а):alexrayne
Насчёт удачности синтаксиса генериков в Дельфи не скажу, не интересовался, но их синтаксис в FPC вроде как меня не пугает.

Несовместимость синтаксиса - в данном случае исключительно на совести разработчиков Дельфи, так как, насколько я помню, в FPC они появились раньше, чем даже спецификация их синтаксиса в Дельфи.

То, что генерики сыроваты, это отдельный вопрос. Впрочем, с ними всё сильно лучше в плане стабильности в FPC 2.4.


Поинтересуйтесь:
http://www.tdelphiblog.com/2009/10/generics-delphi-2009-win32.html
И поймёте, что синтаксис дженериков FPC ужасен, вдобавок их возможности очень ограничены.

P.S. Совесть, не совесть, но Delphi - это стандарт промышленного Pascal-программирования де-факто, самодеятельность же приводит к появлению уродцев вроде перегрузки операторов в стиле С++ и fpc-style дженериков.
vital
новенький
 
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Re: Как отключить RTL?

Сообщение alexrayne » 21.12.2009 17:48:47

>>P.S. Совесть, не совесть, но Delphi - это стандарт промышленного Pascal-программирования де-факто,
>>самодеятельность же приводит к появлению уродцев вроде перегрузки операторов в стиле С++ и
>>fpc-style дженериков.

Однако же злобно Вы по перегрузке операторов в стиле С++.
насколько я в курсе Дельфовые генерики пракстически 1в1 перетянули шаблоны С++,
так что перегрузка операторов невсобственной манере а в опробированом и получившем популярность
стиле имхо таки более мудрое решение чем чегото свое с 0я изобретать (темболее что складывается
ощущение что люди както неособо стараются делать обзор по существующим языкам прежде чем
велосипеды собирать).
да и что же Вам ненравится в перегрузке операторов в стиле С++?
Конешно можно было поступить элегантнее -
в вдхл например перегрузка операторов тоже широко используется и с его типизацией параноидальной
без нее никак. только там нестали наворачивать синтаксис итак достаточно сложный, а представили все
операторы как function, и они уже перегружаются стандартно.
но для фрюхи еще ведь невсе потеряно, такой вариант перегрузки может быть бесконфликтно добавлен к тому что есть.
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

Re: Как отключить RTL?

Сообщение vital » 21.12.2009 18:16:23

alexrayne писал(а):Однако же злобно Вы по перегрузке операторов в стиле С++.
насколько я в курсе Дельфовые генерики пракстически 1в1 перетянули шаблоны С++,
так что перегрузка операторов невсобственной манере а в опробированом и получившем популярность
стиле имхо таки более мудрое решение чем чегото свое с 0я изобретать (темболее что складывается
ощущение что люди както неособо стараются делать обзор по существующим языкам прежде чем
велосипеды собирать).
да и что же Вам ненравится в перегрузке операторов в стиле С++?
Конешно можно было поступить элегантнее -
в вдхл например перегрузка операторов тоже широко используется и с его типизацией параноидальной
без нее никак. только там нестали наворачивать синтаксис итак достаточно сложный, а представили все
операторы как function, и они уже перегружаются стандартно.
но для фрюхи еще ведь невсе потеряно, такой вариант перегрузки может быть бесконфликтно добавлен к тому что есть.


Почему же злобно? Это всего лишь констатация факта. То, что было привнесено в FreePascal из С++, например средства обобщённого программирования, было сделано без соответствующей обработки, в Pascal выглядит достаточно коряво и чужеродно. Сравните это с вариантом реализации в Delphi и все вопросы отпадут.
"Такой вариант перегрузки" - это какой? Как в вдхл? Очередной никому не нужный велосипед.
vital
новенький
 
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Re: Как отключить RTL?

Сообщение alexrayne » 21.12.2009 19:19:26

А чтоже Вам таки ненравится в перегрузке операторов С++? помоему там все наглядно и понятно.
А вот дельфу я посмотрел мельком правда в инете(я пользую 7ю) - както непокатило.

все примеры которыя я там увидел показывали возможность перегрузки class operator, имена этих операторов тоже еще те. а если надо перегружать операции не с классами а с комплексными числами или с тензорами\квантернионами?
кактоя даже в дельфе разочаровался.

вобщем окститесь батенька, С++ перегрузки очень даже неплохи по сравнению с дельфой. темболее что
еще все наверстается.

а на вдхл вы ногу неподымайте, а лучше посмотрите как они справляются.
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

Re: Как отключить RTL?

Сообщение SII » 21.12.2009 19:28:07

В Дельфях и перегрузка операторов, и генерики вполне себе удобны. Правда, в версии 2009 был глюк в компиляторе, из-за чего генерики приходилось делать через задний проход, но в 2010 его исправили. Но мне по-любому хотелось бы иметь не генерики, а полноценные шаблоны а-ля Си++, точно так же, как и полноценную перегрузку операторов. Меня, например, дико раздражают пляски с бубнами, которые нужны, чтобы организовать сравнение экземпляров шаблонных классов на больше-меньше. В общем, лично моё впечатление: это расширение синтаксиса Дельфей было плохо продумано, делали абы как. Ну а как в ФПЦ -- не знаю, не пробовал. Для Винды однозначно удобней разработка на Дельфях из-за наличия вменяемой ИДЕ (Лазарус -- глючное и бледное подобие ранних версий Дельфи, ну а комфорт, как известно, развращает :) ), а для чего-то другого на Паскале писать пока не приходилось (дела давно минувших дней не в счёт).

Добавлено спустя 3 минуты 17 секунд:
alexrayne писал(а):все примеры которыя я там увидел показывали возможность перегрузки class operator, имена этих операторов тоже еще те. а если надо перегружать операции не с классами а с комплексными числами или с тензорами\квантернионами?


А что мешает определить новый тип -- запись или класс, и в нём переопределить нужные операторы? Собственно, так и делается.
SII
новенький
 
Сообщения: 64
Зарегистрирован: 24.06.2007 17:15:09
Откуда: Зеленоград

Re: Как отключить RTL?

Сообщение alexrayne » 21.12.2009 20:45:39

имхо, невозможность обойтись без классов показывает убогость языка.
класс ето ведь всетаки указатель а не сами данные. если вам надо в процедуре сделать пару переменных векторных то получите вместо экземпляров в стеке полновесное выделение памяти в хипе и затем надо еще заморочаться с ее освобождением. вобщем элемментарная деградация скорости\объема кода - вот вам раз.
если вам надо работать таки с большими объемами етих самых комплексных чисел, как вы массив их создадите? с массивом записей проблем немного, а вот с массивом классов - таже жопа через указатели. + вдовесок еще получаете наверняка бесполезный список указателей. - вот вам 2.
писать полновесный класс с конструктором и много чем еще просто для ого чтобы сравнить пару чисел - етоже геморой. - вот вам 3

етого пока хватит
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

Re: Как отключить RTL?

Сообщение SII » 21.12.2009 21:52:54

А что мешает использовать _записи_, определив для _них_ операторы? Переопределение операторов не только к классам, но и к записям относится.
SII
новенький
 
Сообщения: 64
Зарегистрирован: 24.06.2007 17:15:09
Откуда: Зеленоград

Re: Как отключить RTL?

Сообщение defecator » 22.12.2009 03:37:53

R1DDLE писал(а):
случайно не подскажите, на микроконтроллерах соблюдается правило 1 байт = 8 бит?


ой-ей-ей....может быть, вам пока не браться за RTL, а изучить азы информатики ??? :lol:
defecator
новенький
 
Сообщения: 43
Зарегистрирован: 07.09.2009 10:17:01
Откуда: Подольск

Re: Как отключить RTL?

Сообщение Максим » 22.12.2009 05:05:39

vital писал(а):Поинтересуйтесь:
http://www.tdelphiblog.com/2009/10/generics-delphi-2009-win32.html
И поймёте, что синтаксис дженериков FPC ужасен, вдобавок их возможности очень ограничены.

Вы, я смотрю, громкие эпитеты любите, наверное это проявление темперамента. :mrgreen:

По существу претензии какие-нибудь есть?
Мельком взглянув на вашу ссылку, я не увидел ни глобальной разницы в синтаксисе, ни особой разницы в функционале. Может просмотрел чего.
Кстати, если вы нашли какие-то недостатки/ограничения, делали ли вы багрепорты?

vital писал(а):P.S. Совесть, не совесть, но Delphi - это стандарт промышленного Pascal-программирования де-факто, самодеятельность же приводит к появлению уродцев вроде перегрузки операторов в стиле С++ и fpc-style дженериков.

На эту тему я уже всё сказал, лень повторяться.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Как отключить RTL?

Сообщение R1DDLE » 02.01.2010 02:07:27

defecator писал(а):
R1DDLE писал(а):
случайно не подскажите, на микроконтроллерах соблюдается правило 1 байт = 8 бит?


ой-ей-ей....может быть, вам пока не браться за RTL, а изучить азы информатики ??? :lol:

С азами информатики у меня всё ОК. Прочтите внимательнее тему, уже говорилось о битности... :lol:
R1DDLE
новенький
 
Сообщения: 26
Зарегистрирован: 08.12.2009 19:00:24

Пред.

Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru