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)
Ответ на: комментарий от PolarFox

Паскалевский for создан для вывода хелло ворлд по 10 раз, в то время как питоний for создан для действий над итерируемыми объектами.

Ну и как сам заметил, итераторы нужны не только для перечисления объектов, бывает и 10 раз вывести хелло ворлд нужно.

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

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

И какое это всё имеет отношение к тому, что «раз машине проще разобрать какой-то логический текст, то наверно и с посторонним человеком будет тоже самое»?

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

Я о том и говорю - зачем самый универсальный цикл называть for?

В гуглопереводчике забанили? Одно из 21 (громкий смех переходящий в ржание) значений английского слова for - «от». А одно из восьми значетий «to» - «до». В результате конструкция for a:=1 to 100 без проблем переводится в человеческие «от единицы до сотни».

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

В результате конструкция for a:=1 to 100 без проблем переводится в человеческие «от единицы до сотни».

Читать умеешь? Речь была про сишную конструкцию.

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

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

Если так рассуждать, то циклы вообще не нужны, goto всё это умеет.

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

В гуглопереводчике забанили? Одно из 21 (громкий смех переходящий в ржание) значений английского слова for - «от»

Какой ты всё-таки тупой. Или наркоман.

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

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

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

Если так рассуждать, то циклы вообще не нужны, goto всё это умеет.

Твои же слова:

В результате конструкция for a:=1 to 100 без проблем переводится в человеческие «от единицы до сотни».

А в си цикл for вообще не подразумевает наличие итератора и можно в него запихать любое поведение.

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

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

А теперь представьте, что паскаль это эйрбас, а боинг это си и всё сразу встанет на свои места. Первый может быть безопаснее, однако летать вам всё же надо на боинге, поэтому разумнее изучать всё таки боинг, а не эйрбас

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

for и for each - одно и то же.

Смотря где ты это взял, но попробую догадаться:)
for там принимает список, а each его отдает. А еще там есть отдельный foreach(слитно) с другим поведением, да?

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

Какой ты всё-таки тупой. Или наркоман.

Ну а ты, нетупой, не знаешь что интерпритация информации зависит от того, как её подают окружающие источники информации. В итоге, если все сми разом выльют какашки на хорошего человека, то его так и будет воспринимать большинство. А если словари и программы переводчики переведут английское слово не так, как ты привык, то большая часть населения Земли его так заучит и будет использовать. Если ты не в курсе, раньше на прялках писали «дорогой Матрёне от х№я Иванушки». С течением времени смысл многих слов меняется.

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

for там принимает список, а each его отдает

Ы? for (в питоновском исполнении) и foreach (концептулаьный) - это проход по последовательности элементов. Является эта последовательность списком, итератором или еще чем-то - малозначащая деталь реализации.

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

А в си цикл for вообще не подразумевает наличие итератора и можно в него запихать любое поведение.

Когда-то и в паскале можно было написать

        for a:=1 to 100 do begin
                           dec(a);
                           end;
Но разработчики компилятора fpc посчитали такую фичу ненужной. И в принципе они правы, пусть будет несколько узкоспециализированных циклов и goto для расширения функционала, если таковой вдруг понадобится. Может ведь и не понадобиться и зачем тогда перегружать мозг читающего код?

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

Но разработчики компилятора fpc посчитали такую фичу ненужной.

Этим разработчикам лучше бы обдумывать кодогенерацию, а не переосмысление стандартов.

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

в ядро загляни

Ядро — такая хреновина, которую не через жопу написать нельзя. Тем более на си.

PolarFox ★★★★★
()

Я тут уже обмолвился, но повторюсь

Мне приходилось встречаться с программой, где между do и while 15 страниц текста - не желаю вам этого в новом году :-)

Вот Вам и Ваш Паскаль :-(

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

Ага, то-то в стандарных сишных либах его используют(или уже нет?).
Вроде, даже quicksort адекватно реализовать не могли.

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

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

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

Все больше убеждаюсь, C-шники - воинствующие онанисты. Современенные реализации С и Pascal'я - один хер только в разных руковицах.

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

Специализированные операторы лучше, чем goto.

Ломают блок не сильно лучше.

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

Этим разработчикам лучше бы обдумывать кодогенерацию

Кодогенераторы тусуются в проекте лазарус и перетягивают на него одеяло запиливая процедуры и функции именно туда. И кричат о ненужности редактора fp.

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

В си просто не хватает похапешного (если не ошибаюсь) break с меткой,

Это мало чем отличается от goto, к тому же в пятом PHP goto запилили, значит он и там нужен.

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

Кому оно надо в век насилья явы с дотнетом?

// fixed

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

солнышко
Мне вот приходилось лазить в сырцы Ruby, Poppler и NewLisp - там такая же фигня, но только с Си. И goto там полно, и прочего говнокода.

Вот Вам и Ваш Си :(
(с)

Головы не хватает понять, что если между do и UNTIL ио пт, а не WHILE - это в Си while, - 100500 экранов кода, значит, это - проблема не ЯП?!

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

Специализированные операторы лучше, чем goto. И даже не спрашивай, почему :3

Значит, Ruby и ffmpeg пишут какие-то лохи. Polarfox подтверждает - инфа 146%

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

goto не нужен

Будто бы отсутствие goto мешает писать говнокод.

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

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

А мне еще вот показалось, ковыряясь во всяких ffmpeg унд poppler, что в Си не хватает исключений, сборки мусора и многого другого :)
Причем мое мнение не менее объкутивно, чем твое. Как быть?

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

он не годится на роль первого языка, который будут изучать школьники

а мужики-то в mit и не знают и напрополую используют его именно в качестве учебного языка.

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

То есть, если a = a + 1, то от обоих частей этого уравнения можно отнять a и получится выражение 0 = 1.

я слышал, что уровень образования теперь крайне низкий, но чтобы настолько!

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

неужели еще не все дельфятники с голоду умерли?

Я верю в реинкарнацию.

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

чувак, если много вложенных if-ов и while-ов то никакие endif не помогут, а только подсвечивание скобок.

Так в нормальных редакторах подсвечиваются end-ы

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

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



Заканчивай НГ отмечать уже. Ты Python с JavaScript не путаешь?
И наследование есть, включая множественное.
А ещё говорят, что «нормальный ООП» это тот, что в Smalltalk, а не в...

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

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

А если этот #define туда попадает через несколько #include-ов, тоже подсветит?

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

Рад, что они починили дебаг в предпоследней версии.

Серьёзно? Ура! Ставлю.

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

В гуглопереводчике забанили? Одно из 21 (громкий смех переходящий в ржание) значений английского слова for - «от». А одно из восьми значетий «to» - «до». В результате конструкция for a:=1 to 100 без проблем переводится в человеческие «от единицы до сотни».

Ты, чурбан, язык бусурманский сначала выучи, научись пользоваться монолингвальным словарем, а потом в гугл лезь, клоун.

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

В си просто не хватает похапешного (если не ошибаюсь) break с меткой, позволяющего вынырнуть из нескольких вложенных циклов без введения дополнительных переменных и проверок

inline и return помогут отцу русской демократии, а несколько (>3) вложенных циклов - зло

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

А мне еще вот показалось, ковыряясь во всяких ffmpeg унд poppler, что в Си не хватает исключений, сборки мусора и многого другого

Если мусора не будет в голове, тогда и сборщик будет не нужен, а если в голове бедлам, то никакая сборка не поможет

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