Чего мне не хватает в FreePascal
Модератор: Модераторы
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
По-хорошему хештаблицы — одна из немногих вещей, которые имеет смысл делать через генерики. И средств языка тут достаточно, нужно только реализацию качественно написать.
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Пожалуйста не надо усложнять язык! В натив не недо добавлять слишком много лишнего!
Добавлено спустя 8 минут 6 секунд:
Если вам нужны такие инструкции, то лучше использовать Си. Я бы не хотел этого из сообьражений полурелигиозных.
На одной из предыдущих работ, я занималмся верификацией ПО под стандарт DO-178B-авиационный прибор для 787. В конторе,Ю которая делает этот прибор используют Си и С++ под микроконтроллеры, Линукс и т.д. В общем, у них выработался внутрикорпоративный coding standart, которому соотвествует весбь софт, который они пишут. Т.е. они сами для себя ввели ограничения на использования финтифлюшек Си и С++. Если в это всмотреться. то получается, что фактически они поппытались подонать фактическое использование Си и С++ по аналогии с паскалем. Не специально, но у них похоже не осознанно так получилось. Поэтому ради повышения надёжности ПО, которое написано на free pascal я очень прошу осторожно относиться к добавлению фишек их Си и С++!!!! Я выбрал паскаль из многих соображений, в том числе соображений надёжности!
Добавлено спустя 8 минут 6 секунд:
vada писал(а):А еще мне очень не хватает хитрого IF-а. Вот такого:
A := IF <условие> : <действие при TRUE> : <действие при FALSE>;
Если вам нужны такие инструкции, то лучше использовать Си. Я бы не хотел этого из сообьражений полурелигиозных.
На одной из предыдущих работ, я занималмся верификацией ПО под стандарт DO-178B-авиационный прибор для 787. В конторе,Ю которая делает этот прибор используют Си и С++ под микроконтроллеры, Линукс и т.д. В общем, у них выработался внутрикорпоративный coding standart, которому соотвествует весбь софт, который они пишут. Т.е. они сами для себя ввели ограничения на использования финтифлюшек Си и С++. Если в это всмотреться. то получается, что фактически они поппытались подонать фактическое использование Си и С++ по аналогии с паскалем. Не специально, но у них похоже не осознанно так получилось. Поэтому ради повышения надёжности ПО, которое написано на free pascal я очень прошу осторожно относиться к добавлению фишек их Си и С++!!!! Я выбрал паскаль из многих соображений, в том числе соображений надёжности!
Единственное, что не совсем хорошо в паскале изначально - это то, что есть операторы, а хотелось бы операций. Все остальное прекрасно.
stikriz писал(а):что есть операторы, а хотелось бы операций.
А примерчик того, что есть и того, что хотелось бы?
А примерчик того, что есть и того, что хотелось бы?
a := b; c := a; ----> c := a := b;
И так со всеми абсолютно операторами - чтобы все операторы стали операцией, ну, конечно, кроме begin и end :=)
stikriz писал(а):a := b; c := a; ----> c := a := b;
Не надо. Будет так же, как в Си - один сплошной бардак и винигрет.
Vadim +1. Не надо, действительно аля С и С++ Это знаете как в нехороших книгах пишут что можно операторы писать в одну строчку бррр. (из той же оперы)
Free Pascal - это язык по прозрачности и лаконичности превосходит Си ну на порядок это точно.
Вот что стоит только обозначение указателей и разименовывания указателей в Си...(у нас даже галочка стоят с разных сторон) Про объявление переменных и их типов я вообще молчу... Спасибо не сделали чтоб это дело записывали не в строчку а в столбик и читали снизу вверх....
Вот кусочек из Вики:
Тобишь чтоб люди изначально изучили Паскаль, выработали ХОРОШИЙ стиль, и лишь потом писали на Си в Хорошем стиеле, а не так как это можно делать в СИ, чтоб потом сидеть над одной строчкой и думать Что за Б...ть писало Это...
Free Pascal - это язык по прозрачности и лаконичности превосходит Си ну на порядок это точно.
Вот что стоит только обозначение указателей и разименовывания указателей в Си...(у нас даже галочка стоят с разных сторон) Про объявление переменных и их типов я вообще молчу... Спасибо не сделали чтоб это дело записывали не в строчку а в столбик и читали снизу вверх....
Вот кусочек из Вики:
Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.
Тобишь чтоб люди изначально изучили Паскаль, выработали ХОРОШИЙ стиль, и лишь потом писали на Си в Хорошем стиеле, а не так как это можно делать в СИ, чтоб потом сидеть над одной строчкой и думать Что за Б...ть писало Это...
Полностью согласен с предыдущим оратором. 
Си создавался и поддерживался как голый функционал, в нём всё подчинено сделать так, чтобы достигнуть цели некими минимальными средствами. Поэтому, с точки зрения эстетики, Си - мерзок, некрасив.
Хорошо написаной программой нужно любоваться, как женщиной. У того, кто смотрит на эту программу, на этот код, должно возникнуть неистерпимое желание прикоснуться к ней и испытать неистовый восторг обладания и понимания. В этом отношении синтаксис Паскаля выглядит намного более человечнее, красивее, полнее, чем Си. Опять же, возвращаясь к первоначальному сравнению, язык Си - это набор суповых костей, которые расхаживают по подиуму, у них ноги заплетаются от голода и нет абсолютно ничего такого, что присуще женщине.

Си создавался и поддерживался как голый функционал, в нём всё подчинено сделать так, чтобы достигнуть цели некими минимальными средствами. Поэтому, с точки зрения эстетики, Си - мерзок, некрасив.
Хорошо написаной программой нужно любоваться, как женщиной. У того, кто смотрит на эту программу, на этот код, должно возникнуть неистерпимое желание прикоснуться к ней и испытать неистовый восторг обладания и понимания. В этом отношении синтаксис Паскаля выглядит намного более человечнее, красивее, полнее, чем Си. Опять же, возвращаясь к первоначальному сравнению, язык Си - это набор суповых костей, которые расхаживают по подиуму, у них ноги заплетаются от голода и нет абсолютно ничего такого, что присуще женщине.
Добавлю чего нехватает лично мне:
1) Инстрикты (кажеться так называеться), сильно облегчают жизнь во многих случаях
2) Поддержки векторизации (SSE), писать целые процедуры и модули на asm на очень то и удобно.
1) Инстрикты (кажеться так называеться), сильно облегчают жизнь во многих случаях
2) Поддержки векторизации (SSE), писать целые процедуры и модули на asm на очень то и удобно.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Bishop писал(а):Инстрикты
Это еще что за зверь?
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
stikriz писал(а):
a := b; c := a; ----> c := a := b;
И так со всеми абсолютно операторами - чтобы все операторы стали операцией, ну, конечно, кроме begin и end :=)
Нет! Этой бесовщины не надо!Такие конструкции тоже запрещают, когда пишут софт для авиационного прибора!
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
А мне вот не хватало быстрых базовых процедур для x64, и я их на неделе написал
Move и FillChar на месте, сейчас прогоню тесты, и, если ничего не поломалось, закоммичу до кучи IndexByte и IndexWord. С ними стало бегать заметно веселее...
Си в паскале не нужен.
Чего мне в FPC не хватает, так это статических библиотек gdb использованных при его сборке. Чтобы можно было нормально пересобрать иде без потери функционала. Ещё не хватает портов лазарусных процедур и фунций во фрипаскаль. Без лишнего ООП, и распухания бинарника. Если раскатить губу ещё шире, то переноса sleep из sysutils (или delay из crt) в system. Ради одной процедуры увеличивать бинарник больше чем на 100 кило не всегда есть хорошо.
Чего мне в FPC не хватает, так это статических библиотек gdb использованных при его сборке. Чтобы можно было нормально пересобрать иде без потери функционала. Ещё не хватает портов лазарусных процедур и фунций во фрипаскаль. Без лишнего ООП, и распухания бинарника. Если раскатить губу ещё шире, то переноса sleep из sysutils (или delay из crt) в system. Ради одной процедуры увеличивать бинарник больше чем на 100 кило не всегда есть хорошо.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
А мне, пожалуй, не хватает возможности объявлять compilerproc в произвольном модуле. И по-быстрому это не реализовать...
Sergei I. Gorelkin
Ура! Да здравствует Сергей И. Горелкин!
Sergei I. Gorelkin писал(а):и я их на неделе написалMove и FillChar на месте, сейчас прогоню тесты, и, если ничего не поломалось, закоммичу до кучи IndexByte и IndexWord. С ними стало бегать заметно веселее...
Ура! Да здравствует Сергей И. Горелкин!
