LINUX.ORG.RU

Free Pascal 3.2.0

 , ,


0

5

Состоялся выпуск FPC 3.2.0!

Эта версия является новым крупным релизом и содержит багфиксы и обновления пакетов, новые возможности и новые таргеты.

Со времени выхода FPC 3.0 прошло 5 лет, так что рекомендуется обновиться как можно скорее.

Новые возможности: https://wiki.freepascal.org/FPC_New_Features_3.2.0

Список изменений в которых может нарушиться обратная совместимость: https://wiki.freepascal.org/User_Changes_3.2.0

Список новых поддерживаемых платформ: https://wiki.freepascal.org/FPC_New_Features_3.2.0#New_compiler_targets

Скачать: https://www.freepascal.org/download.html

>>> Официальный сайт

★★★★★

Проверено: leave ()
Последнее исправление: leave (всего исправлений: 2)
Ответ на: комментарий от hbee

Это очень сильно разные языки, одной схожести оформления блоков мало. Я никогда не встречал утверждений, что PHP - C-Like, там может быть оформление блоков кода в C-Style, но что бы сам язык, это перебор. Куда более ёмкий (и нейтральный) термин как раз «curly-bracket languages». Хотя тут тоже их под одну гребёнку причесали.

Кроме того, этот синтаксис блоков впервые в BCPL появился, так что корректнее называть BCPL-like, ведь блоки же в фигурных скобках, нет?

Ну и если большую часть PHP или Perl кода всё же можно как-то прочитать и понять человеку знакомому только с Си, то это не сразу догадаешься:

impl<T> Add for Complex<T>
    where T: Add<Output=T>
{
    type Output = Self;
    fn add(self, rhs: Self) -> Self {
        Complex { re: self.re + rhs.re, im: self.im + rhs.im }
    }
}

Т.е. для меня, утверждение «YYY is XXX-like» означает возможность бегло прочитать и понять код на YYY, не зная его, но зная XXX. Тот же JavaScript часто без знания, что и как там делается, понять сходу практически невозможно. Rust тоже не просто прочитать временами без знания основных концепций языка и некоторых конструкций, а так же небольшой разрывы шаблона когда встречаешь «!» в конце макроса (ну собсно оно и указывает, что это макрос). Аналогично для «?» или привет непарным «’», да и какой-нибудь let func = move || { &vec; }; читается не совсем так, как привыкли.

В любом случае вопрос вкусовщины, но называть уйму ортогональных (как в целом по синтаксису, так и по основным концепциям) языков C-like только на основании фигурных скобок, при том, что часть из них даже прочитать без книжки не получится… перебор это. Хотя в современном мире всё возможно, да.

hatred ★★★
()
Последнее исправление: hatred (всего исправлений: 1)
Ответ на: комментарий от anonymous

Первое тоже нужно. Что бы в случае чего объяснять адресацию памяти на том же x86_64 в команде mov или при сегментной организации памяти. Да, ты не будешь ручками это скорее всего никогда писать, с большой долей вероятности даже не будешь видеть этого кода, но это основы.

hatred ★★★
()
Ответ на: комментарий от anonymous

это из сяшечки и пришло, как и триграфы (которые дропнули).

hatred ★★★
()
Ответ на: комментарий от hatred

Я никогда не встречал утверждений, что PHP - C-Like

Welcome: https://en.wikipedia.org/wiki/List_of_C-family_programming_languages

для меня, утверждение «YYY is XXX-like» означает возможность бегло прочитать и понять код на YYY, не зная его, но зная XXX

Ну понятно, мы просто о разном говорили. Нет предмета для спора.

hbee ★★★★
()
Ответ на: комментарий от hbee

Welcome:

Я эту ссылку тоже привел с комментарием «Хотя тут тоже их под одну гребёнку причесали.»

Хотя моё утверждение для части языков из этого списка работает: что делает код на Java, Perl, AWK или PHP часто (не всегда) чисто интуитивно можно понять, обладая знаниями синтаксиса C, что не скажешь, к примеру, про JS или Rust. Тот же Rust более ML-like язык, от Си там только фигурные скобочки, а от ML куда больше (и «всё выражение», и куски синтаксиса (fun/fn, let, etc), и выведение типа, и постфиксное указание типа, и именованные параметры функций).

Ну понятно, мы просто о разном говорили. Нет предмета для спора.

Да спора и не было. Так, дискуссия.

hatred ★★★
()
Ответ на: комментарий от LongLiveUbuntu

И Филипп Кан ещё.

Да, Филипп Кан. Забыл. Спасибо.

Mirage1_
()
Ответ на: комментарий от Psilocybe

ДосНавигатор - лучший коммандер

Только Volkov, только хардкор!!! И Far, достойный наследник его. А жирные комбайны со встроенным тетрисом не нужны.

DummyBoy ★★
()

Самый лучший язык для обучения программированию. Добра Вирту и долгих лет.

А чё там паскалеподобная Ada? Используется ещё чтоб направлять ракеты на «Великую прекрасную Россию»™?

perl5_guy ★★★★★
()
Ответ на: комментарий от perl5_guy

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

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Ну, Обама на первые свои выборы шёл под лозунгом усмирить лоббистов. Не вышло.

question4 ★★★★★
()
Ответ на: комментарий от perl5_guy

А чё там паскалеподобная Ada?

Вот только-только хотел спросить, зачем нужен этот паскаль, если ада есть в составе gcc. Не успел.

Einstok_Fair ★★☆
()
Ответ на: комментарий от question4

Уже были упоминания что об этом решении сильно пожалели. К сожалению пруфов не будет, читал пару лет назад на форуме в штатах, просто не помню где.

Capsid
()
Ответ на: комментарий от Einstok_Fair

Как вы себе представляете начальное обучение программированию на Аде? Там же сплошные «нельзя».

Capsid
()
Ответ на: комментарий от X512

Языки Оберон семейства имеют ограниченное применение, в основном в научной и embedded области

А в чём преимущество перед Фортран?

Stalin ★★★★★
()
Ответ на: комментарий от Stalin

В Обероне есть сборщик мусора и язык не позволяет испортить память если явным образом не используется небезопасный код (IMPORT SYSTEM). При этом язык полностью компилируемый и имеет небольшой рантайм.

Я слышал, что на Компонентном Паскале (язык семейства Оберон) написана система символьной алгебры, которая работает быстрее существующих решений и используется в научной области. Правда исходники закрыты.

X512 ★★★★★
()
Ответ на: комментарий от Capsid

Если вы на BlackBox кодите, может быть подскажете, он сейчас может нормально в 64 bit?

Есть экспериментальная версия на LLVM, но официальной поддержки x86_64 пока нет.

X512 ★★★★★
()
Ответ на: комментарий от Capsid

Если вы на BlackBox кодите, может быть подскажете, он сейчас может нормально в 64 bit?

Что на blackbox можно накодить, для чего может понадобиться 64bit? Система для обучения же.

rupert ★★★★★
()
Ответ на: комментарий от anonymous

Если FPC - это клон турбопаскаля, то C++ - это уж совсем полный клон С. То, что можно во FreePascal сейчас, не снилось во времена даже BP7.

FoodChemist
()
Ответ на: комментарий от anonymous

Вопрос сложный, кому как. Краткость, конечно, сестра таланта, но у кого-то из этого «таланта» выходит что-то уровня if (a=0) {…}. Сколько такой опус в ядре просидел? И это в среде сишников, где нет совсем уж невнимательных.

А для тех, кто может минут пять искать ручку, находящуюся в собственной руке (намёк на себя), С-подобные языки абсолютно противопоказаны. Потому как банальная ошибка будет появляться в одной строчке из пяти, и каждая вторая, если не чаще, не будет ловиться на компиляции. Или будет ловиться очень далеко от места её совершения. А что дают макросы, которые в С используются не по делу? Каждый макрос - это потенциально измененный язык. Где это скажется, если макрос напишет такой вот невнимательный (даже если он просто хотел определить константу)?

С паскалем проще: явные ошибки ловятся на стадии компиляции, «проскакивают» только ошибки в алгоритме (когда программист забыл что-то сделать, или сделал одно и то же дважды).

FoodChemist
()
Ответ на: комментарий от X512
  1. Не совсем понял что вы имеете в виду. Нет ли у вас ссылки на реализацию в BlackBox?
  2. Попытка считать 64 bit величины в х86 системах обычно приводит к кратному проседанию производительности.
  3. Я где то упоминал указатели?
Capsid
()
Ответ на: комментарий от Capsid

Попытка считать 64 bit величины в х86 системах обычно приводит к кратному проседанию производительности.

укажите компилятору что у вас процессор с AVX2, а не старый i386, и не будет никаких кратных проседаний производительности.

fsb4000 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.