LINUX.ORG.RU

Вышел Lazarus 3.0

 ,

Вышел Lazarus 3.0

2

4

Команда разработчиков Lazarus рада сообщить о выпуске Lazarus 3.0 — интегрированной среды разработки для Free Pascal. Этот релиз по-прежнему собирается компилятором FPC 3.2.2.

В этом выпуске:

  • добавлена поддержка Qt6, основанная на версии 6.2.0 LTS; Минимальная версия Qt для lazarus 3.0 — 6.2.7;
  • полностью переработана привязка Gtk3;
  • для Cocoa исправлены многочисленные утечки памяти и реализована поддержка многомониторных конфигураций;
  • добавлена подсветка синтаксиса для PasDoc;
  • исправления и улучшения для компонентов TCustomImageList, TTaskDialog, TSpeedButton и других.

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

★★★★★

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

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

Ничего нет, если честно.

  • Из языковых конструкций:
    • нет цикла обхода последовательности,
    • нет никаких средств функционального программирования,
    • нет словарей (ассоциированных массивов),
    • нет комплексных чисел,
    • нет нормальной поддержки юникода, то есть она как бы есть, но стандартные строки не юникод, а надо использовать отедельные, и как при этом учить людей — непонятно,
    • нет
  • Из сторонних библиотек:
    • нет библиотек численных методов, то, что имеет, сильно устарело, фрагментировано и ущербно, осталось на уровне 80-ых,
    • нет нормальных библиотек построения графиков и даже обёрток к популярным сторонним библиотекам вроде gnuplot или plplot, встроенный чарт убогий,
    • нет современных библиотек для параллельных вычислений, а то, что имеется, находится на уровне 2000-ых годов: давайте вручную создадим поток и запустим его, а идентификатором будет целое число, а данные засунем туда по нетипизированному указателю.

Можно ещё долго перечислять, чего нет.

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

ИМХО ЯП должен иметь удобные: управляющие операторы, объявления
переменных и объектов, работа с памятью.
Всё!
То бишь не нужно ЯП проектировать по типу «куча мала».

Кстати о метаданных ничего не сказал (они ОДНОЗНАЧНО ПОЛЕЗНЫ), но в ЯП, разрабатываемые
на основе грамматик боязно добавлять их использование.
Так как точно в результате получится уродец «ещё тот».

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 7)
Ответ на: комментарий от Vudod

Можно ещё долго перечислять, чего нет.

Задача «паскалевского обучения» – показать ©: как минимальным набором средств сотворить то, чего нет, а не предоставлять готовые полуфабрикаты.

P.S. У тебя на кухне тоже много чего нет, что есть в ресторане :)

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

Это неправильный подход, потому что учебный язык должен иметь основные примитивы и конструкции, используемые в современном программировании. Если их нет, не надо учить создавать их на коленке, потому что потом человек возьмёт D, go или Scala, и окажется, что в этих языках нужная штука есть из коробки. Паскаль хорошо соответствовал тому, что было 80-ые, но не сегодня.

Если хочется всё с нуля, учите на ассемблере.

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

не надо учить создавать их на коленке, потому что потом человек возьмёт D, go или Scala, и окажется, что в этих языках нужная штука есть из коробки.

Продолжая мысль: не надо учить школьников арифметике и геометрии, потому, что потом человек возьмёт MATLAB, в котором нужная штука есть из коробки :)

Если хочется всё с нуля, учите на ассемблере.

Ага, полезно хотя бы для понимания низкоуровнего программирования.

P.S. Кстати, британских детей до сих пор мучают BBC BASIC’ом ©, который помнят ихние деды.

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

Я как Scala увидел, от ностальгии слезы на глаза навернулись. Декларации var переменная: тип, объявления типов через type, вложенные процедуры, процедурный тип (methods as first-class objects) в наличии, булев тип и так далее и тому подобное. Просто переиздание Паскаля какое-то и тоже Швейцария.

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

нет цикла обхода последовательности,

for i in arr - аналог foreach есть.

нет словарей (ассоциированных массивов),

Есть TFPGMap аналог std::map

нет нормальной поддержки юникода, то есть она как бы есть, но стандартные строки не юникод, а надо использовать отедельные, и как при этом учить людей — непонятно,

В чем выражается юникодность? Есть подозрение что в Python их тоже нету.

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

Спасибо за развернутый ответ. Выглядит действительно сильно отставшим.

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

нет современных библиотек для параллельных вычислений, а то, что имеется, находится на уровне 2000-ых годов: давайте вручную создадим поток и запустим его, а идентификатором будет целое число, а данные засунем туда по нетипизированному указателю.

а как нужно?! :о) интересуюсь по делу!

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

Есть несколько подходов разной степени общности. Остановлюсь только на параллельном программировании, не конкуррентном, то есть когда нужно почитать что-то одновременно, а не слать сообщения из одного потока/процесса в другой — я в этом более-менее разбираюсь. Есть, кстати, книжка Александреску 2010-го года, кажется, об этом в том числе. Итак, некоторые моменты того, как это сделано в D/go/Python и ряде других современных языков.

  • Современные языки имеют фабрику потоков/процессов, когда типовая задача, заданная в виде функции, применяется к набору значений, каждое из которых может подставляться в качестве аргумента (если нужно передать несколько параметров, передаём кортеж или структуру), фабрика сама распределяет задачи по потокам по мере их освобождения, результаты складываются в список или массив в том же порядке, в каком лежали исходные данные.
  • Если нужно создать отдельный процесс/поток, можно воспользоваться конструктором, который одним оператором запускает функцию в отдельном потоке, а результат копирует обратно через стандартный return/result, то есть не приходится передавать через заголовок и сохраняется контроль типов.
  • Есть конструкция для параллельного цикла со счётчиком или цикла обхода последовательности, когда каждая итерация независима от другой. Она мало отличается от обычного цикла, при этом число потоков/процессов либо определяется автоматически из параметров операционной системы, либо задаётся встроенной функцией.
Vudod ★★★★★
()
Ответ на: комментарий от Vudod

звучит как-то совсем страшно и запутано по сравнению с

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

спасибо! :o)

sunjob ★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.