LINUX.ORG.RU

Вышел FreePascal 2.6.0

 , , ,


0

1

Состоялся релиз 2.6.0 компилятора FreePascal.

Изменения в релизе, прежде всего, касаются добавления отсутствовавших ранее возможностей, появившихся в языке Delphi после 7-й версии, а также добавления или улучшения поддержки новых платформ.
Помимо всего прочего:

  1. Диалект Objective-Паскаль, поддерживаемый на всех Mac OS X и iOS
  2. Улучшения в режиме совместимости Delphi:
    • вложенные типы, переменные класса и локальные константы класса
    • расширенный синтаксис записи (пока без конструкторов)
    • счетчики в записях (for.. in)
    • помощники для классов и записей
    • конструкции Generic для записей, массивов и процедурных типов
    • улучшение совместимости с Delphi обычного синтаксиса Generic-ов
    • «собираемые» перечисления ($SCOPEDEUNMS)
    • пользовательские сообщения для директивы «deprecated»
    • возможность использования «&» для разыменования ключевых слов
  3. Новые возможности генератора кода ARM
    • модуль для поддержки вычислений с плавающей точой для ARM VFPv2 и VFPv3
    • поддержка Thumb-2
  4. Не остались без внимания RTL и пакеты.

текст перевода частично взят с freepascal.ru

>>> Подробности



Проверено: anonymous_incognito ()
Последнее исправление: JB (всего исправлений: 5)

Ответ на: комментарий от Harald

Зачем калечить моск паскалем с его begin-ами и end-ами? Пусть сразу начинают с C

Да, пусть нафиг посадят глаза (да и мозг) всеми этими фигурными скобками и прочим пёстрым орнаментом. Оставьте учащимся паскакаль. Заинтересуются - освоят Си.

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

Зачем калечить моск паскалем с его begin-ами и end-ами? Пусть сразу начинают с C

Как раз {} - это калеченье мозга. В отличие от логичных begin end.

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

Pascal - в топку. Delphi - туда же.

Вспоминает «Космические Рейнджеры»... Нет - лучше тебя.

JustGuest
()

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

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

ты явно free pascal не видел - там тебе и перегрузка операторов, и исключения, и переменное кол-во параметров, и ООП во все поля, и костыли вроде http://www.freepascal.org/docs-html/ref/refse48.html#x100-11000010.1, и дженерики и пр. и пр., С++ нервно курит в сторонке

anonymous
()
Ответ на: говнокодец :) от KennyMinigun

говнокодец :)

во имя великой справедливости надо юзать только raw_input()

Слоу неспешен, но слоу успешен. Третий питон на дворе!

По теме - рад за единственную адекватно развивающуюся реализацию паскаля. Рад, что они починили дебаг в предпоследней версии. Рад, что они пилят совместимость с Delphi. Дважды рад за +=, -= и компанию. И конечно, рад за привязки к адекватным тулкитам.

В питоне, кстати, строгая типизация. Там сложно создать себе неверное представление о типах. Там можно создать себе неверное представление о мощи стандартных инструментов.

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

От Оксфорда за километр несет хаскелем :)

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

Главный плюс паскаля - очень жёсткая реакция на ошибку в коде (а исправить ошибку при компиляции легче). При желании, её можно заглушить принудительным приведением типов (и др. средствами) - но это, как говорится, ССЗБ (наиболее распространено при портировании).
Например, у меня на 20 строк кода наверняка будет 1-2 мелких, глупых ошибки (рассеянность - что поделаешь, это с детства). На паскале - это вообще не проблема; потом на большую программу выползет 1-2 ошибки, ну да ладно, это у всех всегда бывает. А в «сях» как минимум половина глупых ошибок будет «съедена» (максимум - warning).
Основные минусы - снимаются средами для разработки.
FreePascal - да, вобрал в себя несколько нелогичностей из С (для паскаля - они точно нелогичности), больше всего мне не нравятся конструкции типа

type PByte = ^Byte;
var Bytes:PByte;//Вместо PByteArray
begin
...
PBytes:=GetMem(100);
PBytes[3]:=4;//Вместо PBytes^[3]:=4;
...
end;

Понимаю, что короче (и с С проще портировать), но вся логика паскаля рушится!

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

ты явно free pascal не видел

Не видел и не хочу, но как разработчик на C++ смею предположить, что различных тонкостей в C++ гораздо больше.

m0rph ★★★★★
()

Gambas, FreePascal... некрофилы отакэ

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

Боян. OpenJDK и Mono полностью открытые и свободные.

Была в прошлом году тема про игру на моно. Возможности как у оригинала, который нормально работал на 286-ом а прожорливость такая что не всякое современное железо подойдёт. Столько какашек на неё вылили... В топку делать что-то десктопное на моно.

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

Под OpenJDK ничего толком не работает. Да и есть уже бумага от Оракла, запрещающая свободную яву. Моно хоть и свободен, но попросту не нужен.

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

Прога без меню :) Прога без окна ;) WCF-сервисы и т.д. Ну и да. Перед переносом статический анализатор рулит, если самому не ясно, «как пишецца переносицца».

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

От писателя слышу. Эта фигня бородатая обстебана уже мульон раз, но видать мало - раз срач здесь возобновился. Хуже только #define true false :)

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

Хуже только #define true false :)

если программировать в nano, который не подсветит, что true стал макросом

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

ну так, только хардкор, только олдскульные текстовые редакторы :)

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

я вот со школы начал С изучать, после basic-a, и он мне сразу понравился, а к паскалю всегда испытывал стойкое отвращение )

Harald ★★★★★
()

Отличная новость!

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

Был бы такой же компилятор для Оберона — цены бы ему не было.

+1.

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

Free Pascal vs Python

Почуйствуйте разницу.

http://s.lurkmore.to/images/f/f0/Fpc_vs_python.png

Почувствовал. На правом скриншоте - программа. На левом - скрипт без начала и конца, который к тому же перестанет работать при сбое в форматировании. Экстраполируем, что так будут писать не хеллоуворлды, а большие системы, и ужасаемся.

Вывод: к Питону можно допускать только тех, кто освоил культуру кодирования на Паскале или Обероне, в крайнем случае - на Java. C++ для обучения тоже не очень подходит, ибо в нём нет нормальной модульности. (Костыли в лице #include/namespace таковой не являются.)

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

Сервер виртуальной реальности, в которой я хотел бы оказаться, написан на жабе (: Как и клиент.

Эмм... это который, если не секрет?

(Я, естественно, говорил про OpenSim.)

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

Зачем калечить моск паскалем с его begin-ами и end-ами? Пусть сразу начинают с C

И чем же { и } реально круче begin и end?

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

К { и } претензии возникают только у самых упоротых. Мне больше не нравится мода на другие спецсимволы в курлибракетс языках, вроде звёздочек и амперсандов в совершенно неожиданных местах, особенно в с++.

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

Имхо это самая настоящая виртуальная реальность. Простой набор фундаментальных правил и полная свобода действий.

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

Pascal очень многословен, но очень прост. Python краток и изящен, но это порождает недопонимание процесса работы программы, ведь многие вещи он берёт на себя. Не являясь строго типизированным ЯП. он не годится на роль первого языка, который будут изучать школьники. А его мультипарадигменость? Смесь ООП и процедурного кода, с элементами функциональщины(те же лямбды) может в голове школьника породить такой бардак. Да и реализация ООП, в которой свойства и методы являются словарями в адресном пространстве объекта, и в силу этого с ним можно работать как со словарём - породят много непонимания у новичков. Хоть нормальный ООП бы прикрутили, с наследованием и инкапсуляцией с стиле C++/Java. Так и этого нет, пистон учит неправильному ООП.

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

На правом скриншоте - программа.

Причём, добавлю, программу сделали без отступов, что ни одному гайдлайну ни одной нормальной команды не соответствует. Видать, без отступов сделали специально, чтоб она выглядела хуже питоновской.

И даже несмотря на это...

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

Да, пусть нафиг посадят глаза (да и мозг) всеми этими фигурными скобками и прочим пёстрым орнаментом

В отличие от begin-ов и end-ов фигурные скобки не требуют семантического разбора в мозгу и этот «пёстрый орнамент» для последнего как раз таки лучше. Уже в который раз повторюсь, что паскаль - это диагноз для людей, считающих его нормальным языком (и это никак не связано с begin-ами и end-ами)

deis
()
Ответ на: комментарий от malbolge

Разговор о форме операторных скобочек в принципе не является разговором по существу.

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

Фигурные скобки в этом смысле вообще не «читабельны» - они напрямую мозгом воспринимаются в виде образа, тогда как за begin-ы и end-ы глаз будет по-любому цепляться, поскольку это набор букв, а реакция на них автоматическая. Последнее говорю специально для тех, кто собирается возразить, что воспринимает их не в виде текста - так не бывает

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

Расставлять скобочки — задача редактора. Мозгу удобнее цепляться за отступы. Которые тоже расставляет редактор.

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

Мозгу удобнее цепляться за отступы

Вот вы и сами всё понимаете

deis
()
Ответ на: комментарий от malbolge

malbolge

end for
end if
end while

Хм, давно в Паскале стали использоваться end if? Там же всегда были просто begin и end, которые для изучения структурного программирования в самый раз.

stolz
()
Ответ на: комментарий от deis

Фигурные скобки в этом смысле вообще не «читабельны» - они напрямую мозгом воспринимаются в виде образа,

Нечеловеческого образа, всёже человеки при встрече говорят «здарово и привет» а не перлообразную прессованую кашу { ++/% } =!

Есть в паскале скобочки

{коменты
или
большой текст }

{$mode objfpc}

a:=b+1{или 2, потом проверю}+c;
и они выполняют полезные функции и не превращают язык в абракодабру которую даже компилятор мучительно и долго компиляет.

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

Уже в который раз повторюсь, что паскаль - это диагноз для людей, считающих его нормальным языком

Я про обучение навыкам программирования, есличо. Чем ближе к естественному языку, тем легче усваивается материал.
Сейчас синтаксис Си для меня уже привычен (хоть я и не программист - так, любитель-говнокодер), но при первом знакомстве это был тихий ужас...

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