LINUX.ORG.RU

Lazarus 2.2

 ,


0

1

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

Список изменений:
http://wiki.lazarus.freepascal.org/Lazarus_2.2.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_3.2.2

Эту версию можно скачать на SourceForge:
http://sourceforge.net/projects/lazarus/files/
ftp://ftp.freepascal.org/pub/lazarus/releases/ (для тех, у кого заблокирован sourceforge)

Контрольные суммы: https://www.lazarus-ide.org/index.php?page=checksums#2_2_0

Минимальные требования:

  • FreeBSD/Linux: gtk 2.8 для gtk2, qt4.5 для qt, qt5.6 для qt5, 32 или 64bit;
  • Windows: 2k, XP, Vista, 7, 8, 8.1 и 10, 32 или 64bit;
  • macOS/OS X: Cocoa (64bit) 10.12 - 11.4, Carbon (32bit) 10.5 - 10.14, qt и qt5 (32 или 64bit).

Страница на gitlab: https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/lazarus_2_2_0.

Если будете самостоятельно собирать x86_64 версию Lazarus из исходников, то рекомендуется собирать IDE с флагами оптимизации:

-O1 или -O2 -OoNoPeepHole, – и не собирать просто с -O2 или -O3, так как найден баг в компиляторе FPC 3.2.2, планируется, что он будет устранён в версии FPC 3.2.4.

Коммит с исправлением: https://gitlab.com/freepascal.org/fpc/source/-/commit/e9d318e7e2f772bf455a92461cd5c229e69858d8

>>> Оригинальная новость

★★★★★

Проверено: hobbit ()

Перевод строки удобнее делать двумя пробелами в конце строки перед \n вместо двух \n\n Тогда между предложениями не будет разрывов. (я сам неделю назад узнал хехе)

LINUX-ORG-RU ★★★★ ()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

@eternal_sorrow, @gremlin_the_red, а если по существу? Что удобнее для разработчика? Что лучше выглядит в разных DE? Может быть, архитектура GTK или Qt лучше? А может быть, RedHat надоел или Qt – жадные проприетарщики?

На моей памяти в Unity все выглядело хорошо, но интерфейсы на Qt казались неродными. В KDE – наоборот. В Xfce, Mate и Cinnamon все выглядело просто нормально и примерно одинаково. Как пользователь конечных продуктов, а не библиотек, я не могу определить фаворита.

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

Если не вылазить из Linux, то GTK.

Если не очень охота влазить в адокЪ GLib/GObject (отдельно меня GClosure наркомания радует), то Vala - вполе неплохое ООП (но отлаживать это я затрахался, правда). В принципе, как по мне, там всё довольно банально на самом деле, но несколько сильно разбросано. И да, GIR - очень прикольная штука. Единственное, КМК чего не хватает - это как раз приличного RAD (a-la Lazarus).

Ну и о минусах, с GTK сейчас вроде получше, но на Win/Mac - это как негр-шпион на северном полюсе. Ну и если пишешь напрямую на GLib/Gobject/GTK, то boilerplate-а пописать придётся.

Если жить не можешь без плюсов и хочешь типа-кроссплатформы (не натив, мимикрия), то в Qt. Но на «один раз написал, потом просто компилируй» я бы на чем-то сложней окна с кнопками не надеялся. Хотя с QML сейчас как-то попроще, наверное (я не пробовал).

А про Lazarus: пользуюсь периодически. Штука нужная и прикольная. С компиляцией на каждый чих и прочими особенностями можно смириться, но что меня немного выбешивает - это нефункциональный, глючный, просто отвратительно-богомерзкий отладчик.

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

Там 1в1 дельфа была, даже простые проекты компилировались без правок. Хелловорд весил 200мб правда. Все минусы паскаля имеются, хотя имхо самый красивый паскаль

А какие минусы Паскаля?

Лазарус/FPC достаточно отличается от делфи. Формошлепство схоже с Delphi/vcl, но компонентов меньше и те что есть зачастую имеют различия в свойствах/методах. Языки тоже отличаются хотя есть режим совместимости с делфи. Некоторые фичи соаременного делфи не поддерживаются - анонимные функции, объявление переменных вне блока var. Ну и в rtl Delphi добавляют много всего, а в FPC это медленно добавляется.

Конечно знание делфи значительно упрощает понимание работы в lazarus, но вполне можно освоить и без делфи.

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

А про Lazarus: пользуюсь периодически. Штука нужная и прикольная. С компиляцией на каждый чих и прочими особенностями можно смириться, но что меня немного выбешивает - это нефункциональный, глючный, просто отвратительно-богомерзкий отладчик.

Так одна из главных фич этой версии свой, новый отладчик вместо gdb. Должен быть получше. Или не хватает именно визуальных фич ide для отладки?

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

Я как-то залез в winapi мне нежно было пару ссылок держать в коде и с документированными вызовами творилась вакханалия (с хедорами от борланд и с фрипаскальными), на ссях все переписалось. Ну и произодительность/безапасность я хз четам ещё у паскаля

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

Да визуальные - это даже второе дело (хотя не помешали-бы, он очень примитивный, конечно). Он периодически управление теряет. Плюс хотелось-бы, конечно, большей интроспекции. Т.е., когда я последний раз туда смотрел, отлаживать им классы/объекты, например, было просто бесполезно. Классические числа/строки/мем-дампы/брейкпоинты и скачем по потоку; всё, больше ничего не умеем.

Новый посмотрю, конечно, при случае.

Да, какбы не хаяли MSVS, но отладчик в ней близок к идеальному.

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

Оно давно уже лучше делфи.

А что, там уже есть компоненты 1в1 вроде FastReport или сервера/клиента OPC-DA?

Или же вместо лицензий на несколько компов-разрабов надо будет покупать за бешенные деньги исходники с диким NDA?

drfaust ★★★★★ ()

за бесконечные begin … end, обьявление переменных в заголовке, вложенные функции, ручную деструкцию обьектов, вызовы функций и процедур, похожие на использование переменных, … в 21 веке нужно убивать, имхо

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

за бесконечные begin … end, обьявление переменных в заголовке,

Ну так же можно сказать и за «#include <stdlib.h>»

Ну а про прочее - язык, как язык - идеального не придумали. Классика Нильсена Вирта.

Срач насчёт языков тут не уместен.

З.Ы. Ваше гавно на вентилятор не попало...

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

… за безразличие к регистру в именах и ключевых словах. И то, что факты вы называете гОвном, то-же, сюда-же.

Молодые люди, к вам обращаюсь я. Оставьте старикам и школьным учителям их паскаль-фетиш. Если вам нужен (а вам нужен) низкоуровневый и при этом с высокой степенью абстракции данных/алгоритмов, современный и данамично развивающийся язык программирования, который обеспечит вас хлебом с маслом на долгие годы вперёд, изучайте в первую очередь С++ (если вы совсем зелёный, начните с чистого С). Освоив этот надёжный фундамент, вы в дальнейшем сможете без особых проблем перейти и к pascal/delphi/lazarus, C#, java, …

И учите английский, это как латынь для врачей.

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

Когда у тебя увесистый проект «жрёт» аж до 10-ти Мб оперативки и память (внезапно) не течет, ибо ты знаешь где и, главное, когда, и (что не маловажно) для чего ты убил тот или иной объект - это и называется программист.

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

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

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

Это ты в Википедии прочитал? Я тебе говорю как человек написавший на нем одно приложение(не хеловорлд) для себя, чтобы понять что за язык.

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

Что удобнее для разработчика?

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

Может быть, архитектура GTK… лучше?

Да. В первую очередь потому что оно написано на С. А ещё благодаря GObject Introspection.

или Qt – жадные проприетарщики?

Да.

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

вложенные функции

Завидуешь — завидуй молча.

ручную деструкцию обьектов

Как и в других языках без GC. Кому-то АКПП, кому-то нужна ручная.

вызовы функций и процедур, похожие на использование переменных

А как тебе объявление функций и процедур, похожее на использование переменных? Да-да, в си-подобных. От этого, ЧХ, отказались в Rust, Go, JS, ещё много где. А вот C++, Java и C# тащат родовую травму сишки.

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

Я не он, но ему, похоже, не стдлиб не угодил, а вообще костылинг на препроцессоре вместо модульности. Это реальный позор, в турбопаскале уже в начале 90-х был вполне вменяемый механизм модулей. А в кресты модули вот только в 2020 году добавили.

P.S. Против препроцессора как такового ничего не имею, это очень мощный инструмент, но городить на нём такую элементарную штуку как модульность, отказываясь при этом от языкового контроля за модулями — такая себе идея.

hobbit ★★★★★ ()

Проблема не в том ПЛОХ или ХОРОШ Lazarus.
Когда вляпываешься в какой-нибудь ЯП, то волей неволей используешь разный сторонний API /и его как правило много/.

Хоп.
Вышел СУПЕР ПУПЕР ЯП.
Все замечательно конечно.

НО  
  1. Уже разработано много кода на ином ЯП.

  2. У каждой МЕТЛЫ /ЯП/ есть свой RTL и разный сторонний API.
    Ко всему этому нужно привыкать …

  3. Биндинги на каждый чих писать как-то не очень хочется.

… … …

Вот в чем ВОПРОС ...
anonymous ()
Ответ на: комментарий от TimofejShumilkin

Зависимые типы уже завезли?

Для большинства задач они так же нужны, как

Собаке БАРАБАН ...

Функциональное программирование тоже ведь полезно лишь некоторой ниши задач.
Да и

Исходный код на Idris компилируется в набор промежуточных представлений[8], а из них — в си-код,
anonymous ()
Ответ на: комментарий от anonymous

за бесконечные begin … end, обьявление переменных в заголовке, вложенные функции, ручную деструкцию обьектов, вызовы функций и процедур, похожие на использование переменных

Так это же хорошо.

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

Вложенные функции в Scala если что есть, а это куда новее язык по сравнению со старичком Паскалем. Так что это все-таки хорошо, да ) Ну и еще типы-диапазоны с контролем границ, процедурные типы vs C callbacks.

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

Так что это все-таки хорошо, да )

В плюсах, помню, давным-давно народ имитировал вложенные функции с помощью локальных классов, но замена была не полной, внутренности класса не видели локальные переменные объемлющей функции. Потом что-то похожее делали с помощью лямбд из C++11.

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

Лямбды в С++11 - это жесть. Читал я учебник Мейерса по C++11/14 и там три или четыре типа лямбд описано, при чем каждый - со своими костылями и косяками: одни не видят контекст, другие оставляют после себя висячие ссылки, третьи делают еще что-то. Это какой-то кошмар.

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

Освоив этот надёжный фундамент, вы в дальнейшем сможете без особых проблем перейти и к pascal/delphi/lazarus, C#, java

сколько же я повстречал за свою карьеру таких, что на любом языке программирования писали c++/java/whatever код, потому, что изучали не программирование, а язык.

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

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

Посмотрите сборку CodeTyphon (гуглится). В ней из коробки все вменяемое, что есть для Лазаря, включая несколько генераторов отчетов, диаграмм, JVCL, Indy, коннекторы к базам данных, Google API, Chromium, WMI, все что душе угодно

anonymous ()