LINUX.ORG.RU

Вышел Lazarus 4.0

 , ,


2

7

5 мая 2025 года состоялся релиз интегрированной среды разработки Lazarus 4.0, предназначенной для разработки софта на языке Pascal с использованием компилятора FreePascal 3.2.2. Lazarus предоставляет возможности, схожие с Borland Delphi.

Основные изменения:

  • реализованы встраеваемые панели интерфейса и встраеваемый редактор GUI (ранее окна была отдельными);
  • улучшены подсветка кода и его отображение в редакторе;
  • улучшена работа отладчика;
  • реализована поддержка свежей версии пакета Pas2js, предназначенного для разработки веб-приложения в Lazarus;
  • добавлена поиск пиктограмм по ключевым словам с помощью плагина Icon Finder;
  • улучшено отображение некоторых компонентов в Cocoa, также добавлен инструмент CocoaConfig для настройки;
  • доработаны компоненты TCalendarDialog, TOpenDialog, TShape, TLabeledEdit, TTimeEdit, TColorDialog, TFilenameEdit, TMenu и TMenuItem.

>>> Скачать

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

★★★★★

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

26 летним опытом использования дефолта? ну не знаю даже что тебе сказать. мне так удобно и привычно. подойдет?

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

привычка - дело благородное! сам не без греха :о)

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

Ну это нормальная ситуация.
Всегда было так с незапамятных времен.
Си выигрывал процентов 50 у паскаля, особенно в математике.
А DEC Fortran 2.x или 5.x выигрывал у Си еще процентов 20.
В паскале встроены различные проверки, типа выхода за пределы массива и прочая лабуда.

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

типа выхода за пределы массива и прочая лабуда

Воу-воу, а разве не это киллер-фича раста? :)

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

Да я готов опять на Паскале писать, лишь бы раст не видеть с его больным на всю голову синтаксисом.

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

Да как-то чисто субъективно-визуально. Ctrl-F9 в Delphi и все мгновенно запущено (на грани человеческого восприятия :) и FPC (Lazarus) - ну пару-тройку секунд запуск приложения занимает. Пустого, разумеется, приложения, чтобы не заморачиваться сильно.

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

Хм.. Надо бы запустить пустое окно в лазарусе, посмотреть. В делфи да, я помню, что оно сразу запускалось, причем даже если там было накидано что-то.

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

проверки, типа выхода за пределы массива и прочая лабуда

range check в фрипаскале по умолчанию отключён.

unC0Rr ★★★★★
()

Так… Ждем обновление для Code Typhone Вроде и тоже самое, но как то по человечьи выглядит. И готовых к установке компонентов побольше, не надо лазить и искать по инету. И, блин, примеры кода для компонентов почему-то работают, в отличии от Лазаруса!

Milker ★★
()

Все пробуют, хвалят, но никто не берет(с) Интересно, что сейчас мешает его юзать и писать на нём современный софт, чисто не любовь к паскалю как таковому?

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

чисто не любовь к паскалю как таковому?

Вероятно, да.

Вот тут (Вышел Lazarus 4.0 (комментарий)) писали, что у FPC преимущество в компиляции в нативный код.
Однако Java (https://www.graalvm.org/latest/reference-manual/native-image/basics/) и .NET (https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/) сейчас тоже умеют компиляцию в native хотя и с определенными ограничениями.

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

Интересно, что сейчас мешает его юзать и писать на нём современный софт

Отсутствие денег. Нахера тратить время на него, если в перспективе ты потратить больше, чем получишь? В пересчёте на ЗП.

не любовь к паскалю как таковому?

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

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

Я как-то захреначил «темплейтер» себе, году, эдак в 2002-2003 для облегчения подготовки РГЗ (расчётно-графических заданий, попросту: курсачей). На электротехническом факультете нужно было много считать и составлять по этим расчётам отчёт. С приведением формул, подстановкой и отображением результата. Часть данных нужно было брать по таблицам по результатам промежуточных расчётов либо получать из графиков. В общем, если где-то профукался, потом очень доставало выискивать все места, где нужно исправить цифирьку.

Как итог, я делал «рыбу» отчёта в LaTeX, расставляя подстановочные макросы («place holders») по тексту. А расчёт делался на GNU Octave. Ну а скрипты потом скрещивали всё это и делали финальную PDF. Как результат: обнаружилась где-то ошибка в расчётах, исправляю в Octave, запускаю скрипт и через некоторое время получаю готовый PDF.

Так вот, скрипты на чём только не были написаны: понятно, обычный shell, часть на php, часть на tcl, что-то было на perl. Лиспа нет, не было :) Лет через 10 после окончания универа я наткнулся на скрипты и без слёз на них смотреть не смог. Но блин, эта шляпа работала и сильно упростила мне жизнь.

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

проекты собираются из ком.строки с пом-ю lazbuild
сам лазарь собирается с пом-ю fpc в обычном баш-скрипте (slackware)

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

Но блин, эта шляпа

тут на MK61 курсачи шлёпали... за счастье было до автоматизации :о)

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

Кстати, а из CLI это собрать можно? Например, для порта/pkgbuild/deb/rpm/etc?

Можно но я не смог придумать грамотный интерфейс и поэтому не стал прогу делить.

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

Потому что в мире разработки никому не нужны десктопные приложухи для крудов. Проще написать клиент на вебе, бек на джаве-питоне-чём-то-ещё. С обновлением проще. Больше чем формошлёпство - делфи не нужны. Они отстали от разработки лет на 10. Ну вот местным нужен, потому что тут админы, а не программисты. А так есть, ну и есть, но где это использовать сейчас - не понятно.

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

RELEASE-версии в Лазаре точно так же медленно запускаются. Точнее даже по нажатию на Ctrl-F9 происходит не только запуск, а полностью все шестеренки крутятся - тут и парсинг, и компиляция (многомодульная), и сборка и запуск.

Так вот в Delphi все это (парсинг, компиляция, сборка, запуск) происходит вообще моментально, а в Lazaruse (FPC) гораздо медленнее. И это напрягает во время разработки, когда хочется сразу увидеть результат, а ЭВМ «слегка» тупит. И именно, что слегка, а не на два-три часа, когда можно выйти и выпить чаю/кофе, отвлечься на обдумывания косяков проекта. Раз, как спотыкач такой - и поток мысли начинает сбиваться. Вот в Дельфи такого нет - нажал Ctrl-F9 и сразу результат и прога сама собой пишется психологически бесшовно, так сказать :).

Все это неправильно, конечно, с точки зрения науки программирования, но вот по факту вот оно есть.

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

Сама компиляция исходников в FPC моментальная, линковка заметно тупит. В Linux во всяком случае так.

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

когда я последний раз его тыкал, то дебаг был на 800 мб окошко у хеллоуворлда, а релиз 500 мб бинарь. Толстовато как по мне. Всякими стрипами резалось до 300 и ещё upx-ом до 100 но там цена скорость уже

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

Насколько большой проект?

Приложение для Linux (Gtk2) собирал 5-7 Мб, со сжатием упаковщиком ~2 Mb.

Экзешник приложения, случайно меняющего обои рабочего стола из списка, написанного на Delphi 7 занимает 600 Кб.

Более новые версии Delphi собирают проект размером 1-4 Мб.

Я говорю о релизных сборках.

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

Насколько большой проект?

-->

окошко у хеллоуворлда

:o)))

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

тестовый проект, форма, кнопка, обработчик Clise()

27,705,192 B - debug 
 7,107,464 B - release

lazarus_3.8.0_opt_gtk2
fpc_3.2.2

!!! no strip и upx

sunjob ★★★★★
()

Однажды понадобилось написать простое приложение с GUI под винду, и чтобы запускалось на всем начиная с XP. Я вообще не в курсе на чем сейчас пишут GUI для винды. Расчехлил Lazarus, накидал форму и получил нативный ехе-шник без зависимостей от всяких .NET и прочего. Так что — нужно. После С, синтаксис паскаля выглядит искусственно усложненным и ограниченным, и везде эти «;»

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

синтаксис паскаля выглядит искусственно усложненным

Да ладно, он же проще. Немного, но проще.

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

Пустая форма столько весила лет 10-15 назад, а с тех пор я паскаль стороной обхожу. Для тех времён это вообще дичь была. Помню ещё в давно я его гонял и даже что-то написал на паскале, вроде окошка с radiolist (или как там оно называется) для выключения/перезагрузки/спящего/ждущего режима пекича. Но оно такое жирное, что я погуглил и для bash-а через zenity в несколько строк всё сделал, хотя у zenity проблемы с размером окна, но даже так лучше.

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

О гораздо лучше. 7 мегабайт это уже не та дичь дикая.

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

На дотнете и шарпе пишут. Самое то для оффтопика.

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

Lazarus 4.0 и FPC 3.2.2 из Debian unstable, форма с кнопкой выполняющей метод Close, Debug - 28’097’896 байт, Release - 2’966’032 байт.

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

Проект:

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

распаковать можно командой base64 -d | tar zxvf -

Сборка Release-версии:

lazbuild --build-all project1.lpi --build-mode=Release --lazarusdir=/usr/lib/lazarus/default/

Debug-версии:

lazbuild --build-all project1.lpi --build-mode=Debug --lazarusdir=/usr/lib/lazarus/default/
No ★★
()
Ответ на: комментарий от No

щас проверим: ...

-------------------------------------------
lazarus ver.               
-------------------------------------------
3.6.0        4.0.0.
-------------------------------------------
27,588,456 - 28,097,896 B - debug
 2,985,224 -  2,966,032 B - release
-------------------------------------------

p.s.
- версия у меня по умолчанию более ранняя (установлено куча версий с разными gui-бекэндами)
- надо будет позже порыться в опциях оптимизации, шо вы такое там нарулили?! :о)

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

надо будет позже порыться в опциях оптимизации, шо вы такое там нарулили?

Да вроде бы ничего особенного - в lazarus, в параметрах компилятора нажал «Создать режимы отладочной и конечной сборки».

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

сколько оно опреративы ест

$ /bin/time -v ./project1
...
Maximum resident set size (kbytes): 22548
No ★★
()
Ответ на: комментарий от xterro
-------------------------------------------
lazarus 3.6.0 / TDE/KSysGuard Vm
-------------------------------------------
VmSize    VmRss 
-------------------------------------------
265'988 - 33'296 - debug
260'980 - 30'580 - release
-------------------------------------------
sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от sunjob

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

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

В мегабайтах ) У меня получилось так:

$ /bin/time -v ./project1
...
Maximum resident set size (kbytes): 35656

Честно говоря, я надеялся на меньшую цифру…

xterro ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.