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

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

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

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

Сообщение alexrayne » 19.12.2009 23:06:57

я одно время тоже болел Адой, отвратило от нее меня то что она всетаки фронтенд к гнусному бакенду, и ето определяет потенциальную надежность кода которую она может дать (о бузглючности гнусного компилятора можете меня не уговаривать).
а фрипаскаль таки написан на самом паскале и посему языковые бонусы которые он дает наверно можно распространять и на его код. (кстати код компилятора фрипаскаля сносно поддается освоению, а вот код ГЦЦ по моим ощущениям неочень).
после етого я все еще болел бонусами типизации\надежности которую ада предлагает, но после работы с вхдл это тоже прошло.
имхо, паскаль\оберон семейство вирта вобщем - ето некий оптимум между сложностью и надежностью.
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

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

Сообщение R1DDLE » 20.12.2009 01:28:50

alexrayne писал(а):я одно время тоже болел Адой, отвратило от нее меня то что она всетаки фронтенд к гнусному бакенду, и ето определяет потенциальную надежность кода которую она может дать (о бузглючности гнусного компилятора можете меня не уговаривать)...

А если не брать во внимание особенности компиляторов/среды, то что практичней Ada или FreePascal? (предположим есть очень хороший и супер надёжный компилятор для Ады и для Паскаля).
R1DDLE
новенький
 
Сообщения: 26
Зарегистрирован: 08.12.2009 19:00:24

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

Сообщение alexs » 20.12.2009 10:59:22

Некоторые фишки из ады вполне модно и в fpc перетянуть.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Sergei I. Gorelkin » 20.12.2009 13:19:19

О каких фишках речь, расскажите...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

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

Сообщение alexrayne » 20.12.2009 13:56:44

1) В аде нет квадратных скобок - индексация массива неотличается от передачи параметров функции.
я както упрашивал Даниеля прикрутить в фрюху опцию, чтоб квадратные и круглые скобки стали эквивалентны (помогло бы с читабельностью), ну или хотяб допустить индексирование массива в круглых скобках.
2) в аде можно в interface секции произвольно любой объект делать публичным\приватным (приватный объект неможет использоваться снаружи, возможен кстати такой перл: создается приватный тип, а потом публичные константы етого типа, так вот константы снаружи можно использовать для передачи параметров например, а вот создавать новые константы или переменные етого типа нельзя).
я просил Даниеля внести модификатор public\protected в interface секцию модуля. но ето было во времена превозношения ады, сейчас мне такая фича кажется неактуальной, хотя и могла быть полезной чтоб незасорять пространство имен - невыносить в публик приватные имена.
3) самая интересная фича - задание констант-массивов. необещаю быть точным по отношению к аде, покажу как ето выглядит в вхдл:
constant somearray is array[indexes] of itemtype =
( indexvalue => itemvalue,
indexvalue => itemvalue,
.....
others => defaultvalue )
ето к вопросу о том когда программист ставит вместо . запятую, или вообще както тупо ошибается.
4) интересный стиль задания вложеных if then else. в аде и вхдл оно выглядит так
if .... then
..........
else
.....
if ... then
......
end if;
.........
end if
ненужно раскидывать begin end, и незапутаешся в блоках, и мне такое легче воспринимать.
однако ето тоже стал ставить под сомнение ибо есть более беспрецендентный пример - Python, там вместо
бегин\енд используют заданное количество отступов\пробелов (как в оккаме). и ничего, живут себе пашут и жнут, вроде не плачат.
5) Возможность разделения секций interface и implementation в разных файлах.
была както просьба в форумах ввести такую фозможность во фрюху, ибо есть какаято разновидность паскаля, который ето поддерживал и надо было работать с его библиотеками человеку. посьбу отклонили по причине того что етого неумеет делать дельфа.
6) парметризуемые модули - нечто аналогичное genericам в нынешней дельфе. впринципе раз есть генерики, то можно считать что оно свершилось.
7) наличие подтипов -
subtype name is enumeratedtype range low .. hi;

кстати Сергей, почемуто мне знакома ваша фотка\аватарка, и сдается мне вы лучше меня знаете чего в аде есть хорошего.

ну вот ето то что вспомнилось

Добавлено спустя 5 минут 55 секунд:
R1DDLE писал(а):
alexrayne писал(а):я одно время тоже болел Адой, отвратило от нее меня то что она всетаки фронтенд к гнусному бакенду, и ето определяет потенциальную надежность кода которую она может дать (о бузглючности гнусного компилятора можете меня не уговаривать)...

А если не брать во внимание особенности компиляторов/среды, то что практичней Ada или FreePascal? (предположим есть очень хороший и супер надёжный компилятор для Ады и для Паскаля).


фрюха ессно, как раз потому что она позволяет обходить типизацию (через преобразование типов одного размера, или через преобразование типов указателей). и позволяет использовать эквивалентные типы свободнеею. еще в аде нет авриантных записей.
еслиб вы видели каких мучений стоит работа со строками в аде - там тип string[длина] и тип string разные и неоченьто совместимые.

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

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

Сообщение Sergei I. Gorelkin » 20.12.2009 15:18:07

alexrayne писал(а):кстати Сергей, почемуто мне знакома ваша фотка\аватарка, и сдается мне вы лучше меня знаете чего в аде есть хорошего.


Вообще-то нет. С адой как таковой я дел до сих пор не имел (правда, на VDHL писать приходилось, и я с ним тоже задолбался и ушел на verilog).
И я интересуюсь не тем, что там вообще хорошего (об этом я и сам прочитать могу), а тем, что, по мнению других людей, оттуда можно позаимствовать.

Вот по п.2 согласен. Нужно чистить интерфейс модуля от того, чего там не должно быть, потому что ничего кроме проблем это не вызывает.
п.7 - ведь практически в Паскале уже есть... но как-то недоделанно.
Я еще задумывался над конструкцией "пакетов" (группы из нескольких модулей) и возможностью определять область видимости только внутри своего пакета.
Но... задумываться можно сколько угодно, а действительность такова, что разговаривать с разработчиками имеет смысл только на языке патчей :)

Добавлено спустя 18 минут 40 секунд:
alexrayne писал(а):Опаньки, а Сергей то у нас разработчик фрюхи, так скыть - принятый.

Если быть точным, то пакета fcl-xml.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

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

Сообщение alexrayne » 20.12.2009 16:31:25

неприбедняйтесь. финиш http://bugs.freepascal.org/view.php?id=13700 ваших ведь рук дело.
если у Вас интерес к развитию фрюхи деятельный могу поделится моими древними патчами, которые недоходят руки перетянуть на новую фрюху.

>>п.7 - ведь практически в Паскале уже есть... но как-то недоделанно.
ето под каким соусом интересно?

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

вот еще одно предложение по языку: сделать доступным множественное использование uses + перевести егог повторного объявления используемого модуля в разряд ворнинга - поможет разгрестись с инклудами и вариантной компиляцией. Вроде синтаксис языка даже несильно поменяется, а некоторые проблемы проще решаться будут.


>>Но... задумываться можно сколько угодно, а действительность такова, что разговаривать с разработчиками имеет смысл только на языке патчей :)

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

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

Сообщение Sergei I. Gorelkin » 20.12.2009 17:21:33

alexrayne писал(а):если у Вас интерес к развитию фрюхи деятельный могу поделится моими древними патчами, которые недоходят руки перетянуть на новую фрюху.

У меня пока интерес больше к правке багов. Там на некоторые вещи посмотришь - волосы шевелятся. О том, чтобы изменять язык, я не думаю, по крайней мере в настоящее время.
alexrayne писал(а):>>п.7 - ведь практически в Паскале уже есть... но как-то недоделанно.ето под каким соусом интересно?

Ну определить тип как числовой диапазон ( 1..500 ) можно, при этом фактически получается подтип Integer, но ссылки на Integer в определении типа при этом нет.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

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

Сообщение Максим » 20.12.2009 17:24:00

alexrayne писал(а):имхо и пачи непомогут. они пытаются усидеть на нескольких стульях - полностью соответствовать дельфе, полностью соответствовать стандарту паскаля (если такой есть). остальное все от лукавого. спрашивали их интересно ли им делать поддержку XSC паскаля - просто ответили нет.

В компиляторе уже сто лет как имеется поддержка разных диалектов, например, MacPascal. То, что разработчики не хотели сами реализовывать поддержку какого-то неинтересного им диалекта - имеют на это полное право ИМХО. Впрочем, если будут прямыми руками написанные патчи с этой поддержкой и человек, который будет заниматься ими, я, лично, не вижу причин, по которым они не будут приняты в основной проект. Уж ветку в SVN, думаю, создадут в любом случае, надо просто попросить.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

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

Сообщение alexrayne » 20.12.2009 17:32:43

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

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

Сообщение R1DDLE » 20.12.2009 17:52:06

Я так понял у Ады больше общего с компонентным паскалем, нежели с free.
R1DDLE
новенький
 
Сообщения: 26
Зарегистрирован: 08.12.2009 19:00:24

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

Сообщение alexs » 20.12.2009 18:43:30

Мне в аде понравилаcь подержка многопоточности на уровне языка, жёсткое переопределение типов (вот это вроде недавно появилось и в FPC).
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Максим » 20.12.2009 19:03:49

alexrayne писал(а):смысл в етой ветке, если оно дальше нее в релиз неуйдет?

Если поддержка будет написана прямыми руками и будет сопровождаться, то уйдёт.

alexrayne писал(а):изменения языка станут актуальны если они многим понравятся и войдут в практику. в дельфе ето делают морально-волевым решением, а во фрюхе?

В FPC тоже морально-волевым, вестимо :wink:

alexrayne писал(а):вот непонятная история с генериками случилась. можноли ето считать за признак того что изменения языка они легко перекидывают в релиз?

Не понимаю, что непонятного произошло с генериками. :mrgreen:
По-моему, всё понятно: они в основной ветке, но развиваются крайне медленно из-за того, что их некому сопровождать (да и, такое впечатление, что ими никто особо и не пользуется).
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

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

Сообщение alexrayne » 20.12.2009 19:13:33

>> Мне в аде понравилаcь подержка многопоточности на уровне языка, жёсткое переопределение типов (вот это вроде недавно появилось и в FPC).

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

почему нереализовыватьмногозадачность в стиле оккама или вхдл\верилог?
кстати Алексей, вылазь в жабу, давай наши дела обсудим.

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

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

Сообщение Максим » 20.12.2009 19:42:38

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

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

То, что генерики сыроваты, это отдельный вопрос. Впрочем, с ними всё сильно лучше в плане стабильности в FPC 2.4.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Пред.След.

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

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

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

Рейтинг@Mail.ru