Чего мне не хватает в FreePascal

Любые обсуждения, не нарушающие правил форума.

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

Ответить
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

По-хорошему хештаблицы — одна из немногих вещей, которые имеет смысл делать через генерики. И средств языка тут достаточно, нужно только реализацию качественно написать.
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Сообщение yantux »

Пожалуйста не надо усложнять язык! В натив не недо добавлять слишком много лишнего!

Добавлено спустя 8 минут 6 секунд:
vada писал(а):А еще мне очень не хватает хитрого IF-а. Вот такого:
A := IF <условие> : <действие при TRUE> : <действие при FALSE>;


Если вам нужны такие инструкции, то лучше использовать Си. Я бы не хотел этого из сообьражений полурелигиозных.
На одной из предыдущих работ, я занималмся верификацией ПО под стандарт DO-178B-авиационный прибор для 787. В конторе,Ю которая делает этот прибор используют Си и С++ под микроконтроллеры, Линукс и т.д. В общем, у них выработался внутрикорпоративный coding standart, которому соотвествует весбь софт, который они пишут. Т.е. они сами для себя ввели ограничения на использования финтифлюшек Си и С++. Если в это всмотреться. то получается, что фактически они поппытались подонать фактическое использование Си и С++ по аналогии с паскалем. Не специально, но у них похоже не осознанно так получилось. Поэтому ради повышения надёжности ПО, которое написано на free pascal я очень прошу осторожно относиться к добавлению фишек их Си и С++!!!! Я выбрал паскаль из многих соображений, в том числе соображений надёжности!
Аватара пользователя
stikriz
энтузиаст
Сообщения: 612
Зарегистрирован: 15.03.2006 08:37:47

Сообщение stikriz »

Единственное, что не совсем хорошо в паскале изначально - это то, что есть операторы, а хотелось бы операций. Все остальное прекрасно.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

stikriz писал(а):что есть операторы, а хотелось бы операций.

А примерчик того, что есть и того, что хотелось бы?
Аватара пользователя
stikriz
энтузиаст
Сообщения: 612
Зарегистрирован: 15.03.2006 08:37:47

Сообщение stikriz »

А примерчик того, что есть и того, что хотелось бы?


a := b; c := a; ----> c := a := b;

И так со всеми абсолютно операторами - чтобы все операторы стали операцией, ну, конечно, кроме begin и end :=)
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

stikriz писал(а):a := b; c := a; ----> c := a := b;

Не надо. Будет так же, как в Си - один сплошной бардак и винигрет.
Maxizar
постоялец
Сообщения: 385
Зарегистрирован: 20.03.2010 18:48:14

Сообщение Maxizar »

Vadim +1. Не надо, действительно аля С и С++ Это знаете как в нехороших книгах пишут что можно операторы писать в одну строчку бррр. (из той же оперы)
Free Pascal - это язык по прозрачности и лаконичности превосходит Си ну на порядок это точно.
Вот что стоит только обозначение указателей и разименовывания указателей в Си...(у нас даже галочка стоят с разных сторон) Про объявление переменных и их типов я вообще молчу... Спасибо не сделали чтоб это дело записывали не в строчку а в столбик и читали снизу вверх.... :twisted:
Вот кусочек из Вики:
Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.


Тобишь чтоб люди изначально изучили Паскаль, выработали ХОРОШИЙ стиль, и лишь потом писали на Си в Хорошем стиеле, а не так как это можно делать в СИ, чтоб потом сидеть над одной строчкой и думать Что за Б...ть писало Это...
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Полностью согласен с предыдущим оратором. :)
Си создавался и поддерживался как голый функционал, в нём всё подчинено сделать так, чтобы достигнуть цели некими минимальными средствами. Поэтому, с точки зрения эстетики, Си - мерзок, некрасив.
Хорошо написаной программой нужно любоваться, как женщиной. У того, кто смотрит на эту программу, на этот код, должно возникнуть неистерпимое желание прикоснуться к ней и испытать неистовый восторг обладания и понимания. В этом отношении синтаксис Паскаля выглядит намного более человечнее, красивее, полнее, чем Си. Опять же, возвращаясь к первоначальному сравнению, язык Си - это набор суповых костей, которые расхаживают по подиуму, у них ноги заплетаются от голода и нет абсолютно ничего такого, что присуще женщине.
:)
Bishop
новенький
Сообщения: 23
Зарегистрирован: 27.07.2009 18:47:20
Контактная информация:

Сообщение Bishop »

Добавлю чего нехватает лично мне:
1) Инстрикты (кажеться так называеться), сильно облегчают жизнь во многих случаях
2) Поддержки векторизации (SSE), писать целые процедуры и модули на asm на очень то и удобно.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Bishop писал(а):Инстрикты

Это еще что за зверь? :shock:
yantux
постоялец
Сообщения: 133
Зарегистрирован: 29.10.2007 15:02:33
Откуда: Санкт-Петербург
Контактная информация:

Сообщение yantux »

stikriz писал(а):
a := b; c := a; ----> c := a := b;

И так со всеми абсолютно операторами - чтобы все операторы стали операцией, ну, конечно, кроме begin и end :=)


Нет! Этой бесовщины не надо!Такие конструкции тоже запрещают, когда пишут софт для авиационного прибора!
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

А мне вот не хватало быстрых базовых процедур для x64, и я их на неделе написал :) Move и FillChar на месте, сейчас прогоню тесты, и, если ничего не поломалось, закоммичу до кучи IndexByte и IndexWord. С ними стало бегать заметно веселее...
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Си в паскале не нужен.
Чего мне в FPC не хватает, так это статических библиотек gdb использованных при его сборке. Чтобы можно было нормально пересобрать иде без потери функционала. Ещё не хватает портов лазарусных процедур и фунций во фрипаскаль. Без лишнего ООП, и распухания бинарника. Если раскатить губу ещё шире, то переноса sleep из sysutils (или delay из crt) в system. Ради одной процедуры увеличивать бинарник больше чем на 100 кило не всегда есть хорошо.
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

А мне, пожалуй, не хватает возможности объявлять compilerproc в произвольном модуле. И по-быстрому это не реализовать...
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Sergei I. Gorelkin
Sergei I. Gorelkin писал(а):и я их на неделе написал :) Move и FillChar на месте, сейчас прогоню тесты, и, если ничего не поломалось, закоммичу до кучи IndexByte и IndexWord. С ними стало бегать заметно веселее...

Ура! Да здравствует Сергей И. Горелкин! :)
Ответить