Состоялся (http://forum.lazarus.freepascal.org/index.php/topic,39210.0.html) релиз интегрированной среды разработки Lazarus 1.8 (http://lazarus.freepascal.org/), основанной на компиляторе FreePascal (http://freepascal.org/) и выполняющей задачи, сходные с Delphi. При подготовке новой версии внесено 3980 изменения. Готовые установочные пакеты с Lazarus подготовлены (http://sourceforge.net/projects/lazarus/files/) для Linux, macOS и Windows. Одновременно выпущен корректирующий релиз компилятора FreePascal 3.0.4, в котором исправлены (http://wiki.lazarus.freepascal.org/User_Changes_3.0.4) накопившиеся ошибки.Ключевыми улучшениями (http://wiki.lazarus.freepascal.org/Lazarus_1.8.0_release_notes) в Lazarus 1.8.0 стали новый набор виджетов, основанных на Qt 5, которые можно использовать для построения интерфейса разрабатываемых приложений, и реализация масштабируемых свойств для использования на экранах с высокой плотностью пикселей (High DPI). Интерфейс среды разработки также адаптирован для экранов High DPI. В компонент ClipBoard добавлена возможность помещения и вставки контента в формате HTML с использованием методов GetAsHtml и SetAsHtml. Добавлен новый компонент TChartCombobox. В меню добавлена поддержка метода OwnerDraw по аналогии с Delphi. В интерфейс добавлена реализация быстрых правок (QuickFix) для всех подсказок, примечаний и предупреждений компилятора. В редакторе обеспечено выделение цветом структуры исходных текстов.
URL: http://forum.lazarus.freepascal.org/index.php/topic,39210.0.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=47758
Ничего такая радуга, кислотненько.>Ключевыми улучшениями в Lazarus 1.8.0 стали новый набор виджетов, основанных на Qt 5
Мегареспект.
а что там с Gambas, живой али нет?
Да вроде как живой. Коммиты актуальные, да и размер их намекает на вполне себе живой проект:
https://gitlab.com/gambas/gambas/commits/master
> Ничего такая радуга, кислотненько.Поковырял настройки. Вроде цвета можно выбирать.
Эта радуга очень поможет в отладке кода.
viva la Lazarus!
нельзя говорить la lazarus, или не пишите незнаючи или учите язык ;)
Поправьте же его, профессор
> Поправьте же его, профессорСожри их, голубой гепард.
las lazarus
А зачем здесь множественное число? Если мужской род (что выглядит более привлекательно), то el Lazarus, если женский, то, как было написано выше, la Lazarus.
Ну так воспользуйся своим же советом: твоё правописание на русском языке просто омерзительно.
Все же лучше чем считать что лазарус женского рода, грамотеи
==
Одно дело просто безграмотно писать на своем языке и другое "с умный вид написат неправильная слова который слышать в какой либо место"
Ну так сразу и написал бы что все эти "la" зависят от рода. Я, например, вообще не знал, что во французском языке есть эти самые роды. Всё-таки нынче это язык не первого эшелона.
> Я, например, вообще не знал, что во французском языке есть эти самые роды.Это испанский язык.
> Всё-таки нынче это язык не первого эшелона.
В своё время Испания была владычицей морей. А потом, когда Испанская Непобедимая армада, идущая на завоевание британских островов, попала в шторм и была угроблена, Бриташка стала главной на этой планете.
В своё время люди палками-копалками выковыривали личинок из земли, но это было так давно, что это важно лишь для палеонтологов и т.п. специалистов.
> В своё время люди палками-копалками выковыривали личинок из земли, но это было
> так давно, что это важно лишь для палеонтологов и т.п. специалистов.Важно не терять причинно-следственные связи, а то при изменении условий придётся открывать их заново. Тратить время... ;)
При изменении условий меняются и причинно-следственные связи. Что было нормально во времена палок-копалок, то, скорее всего, уже не применимо во время более развитых средств производства.
> При изменении условий меняются и причинно-следственные связи.Да, посрать на всю историю, мы самые умные, все кто до нас были — дураки.
Никогда не сдавайся.
>язык не первого эшелона
>Один из шести официальных языков ООНУ вас там каникулы зимние начались что ли?
>Все же лучше чем считать что лазарус женского рода, грамотеиLazarus, в данном случае, не имя библейского персонажа мужского рода, а название среды разработки. Среда разработки - женского рода.
> Среда разработки - женского рода.Спрыг почти зачетен, но опять не угадал:
Lazarus est un RAD/EDI
а не
Lazarus est unе RAD/EDI
Вот в немецком - да, там женского.
Lázaro es la programación ambiental
> Lázaro es la programación ambientalА, ну если только экологическое программное окружение, тогда да, ладно!
Подсказка: гугло-переводчик выдает частенько фуфло, особенно для переводов не с английского.
https://translate.google.com/#en/es/Lazarus%20is%2..."Lazarus es el entorno de desarrollo"
И так переводит не только гугл.
> https://translate.google.com/#en/es/Lazarus%20is%2...
> Lazarus is the development environmentНет, никак не тянет.
> "Lazarus es el entorno de desarrollo"
> И так переводит не только гугл.И каким боком это соотносится с эпичным "la programación ambiental"? Которое банально можно было загуглить перед копипастой и увидев около 0 результатов, хотя бы подумать насчет возможной неправильности фразы )
Опять же мужское "el", а не женское "la" в el entorno.Это мы еще не говорим о том, что правила определения рода для заимствований или имен собственных в разных языках различаются. А еще, во многих языках вагоны и тележки всевозможных исключений исключений из этих правил:
Корабль «Елизавета» вышел в море. А потом «Елизавета» пропала без вести.
Turbo Pascal - тоже женского рода был?
> нельзя говорить la lazarus, или не пишите незнаючи или учите язык ;)Назовите её zarus :)
>Назовите её zarus :)Ахахаха ржал 20 минут показал другу тот тоже ржот скинул в камеди клаб там вообще ор выше гор
Говорить нельзя, писать нельзя. Ты на Опеннете или где?
А могу я запускать программы, собранные в Лазарусе, на системе без Лазаруса и кучи его модулей? Они самодостаточны, или нет?
Например Total Commander и Double Commander написаны на Free Pascal / Lazarus.
> Например Total Commander и Double Commander написаны на Free Pascal / Lazarus.Ещё можно вспомнить DOS Navigator.
Нет
Turbo/Borland Pascal + TurboVision
Я вот тут вспомнил, и даже смог его на linux пересадить.Любители старого доброго TUI могут поиграть с исходниками вот здесь
https://github.com/unxed/dn2l
может Object Pascal / Delphi ?
попытки вроде были писать на Free Pascal / Lazarus но на сколько известно они не увенчались успехом
Тотал сначала был на Delphi, потом на FP
FP - нет, не было такого. Были попытки портирования лет 10 назад, не более.
на сколько помню он на него перешел в районе тотала 7, чтобы 64 битку наваять
Конечно. Дает на выходе исполняемый файл. Переносите на любой комп и запускайте.
весь рантайм в бинарнике
Спасибо всем. Осталось только понять, с чего начинается это всё. Раньше пробовал исходники проектов разных открыть в нём, но глаза разбегаются от всех этих мильёнов файлов. Надо найти функциональный, но простой по структуре и понятный проект, по которому можно поучиться.
> Спасибо всем. Осталось только понять, с чего начинается это всё. Раньше пробовал
> исходники проектов разных открыть в нём, но глаза разбегаются от всех
> этих мильёнов файлов. Надо найти функциональный, но простой по структуре и
> понятный проект, по которому можно поучиться.Кстати, да, проблема. Та же Визуал Студия как-то лучше организована.
Книжек, кажется, нет (открытых)? Почму бы не взять собственные примеры пакета?
Скажем, этот: /usr/share/lazarus/examples/fontenum ?
https://www.altlinux.org/Books:FreePascal
> https://www.altlinux.org/Books:FreePascalСпасибо. Бегло глянув, скажу, что мне нравится, хотя авторы и пытаются делать два дела сразу -- излагать и Паскаль, и особенности пакета.
Вот же: http://www.stolyarov.info/books/programming_introА. В. Столяров «Программирование: введение в профессию».
Отличные свободные книги. PDF. Про Free Pascal в UNIX.
> Вот же: http://www.stolyarov.info/books/programming_intro
> А. В. Столяров «Программирование: введение в профессию».
> Отличные свободные книги. PDF. Про Free Pascal в UNIX.Кстати, да. Часть про Паскаль мне показалась на голову выше предыдущего учебника.
> Состоялся (http://forum.lazarus.freepascal.org/index.php/topic,39210.0.html) релиз
> интегрированной среды разработки Lazarus 1.8 (http://lazarus.freepascal.org/), основанной
> на компиляторе FreePascal (http://freepascal.org/) и выполняющей задачи, сходные с Delphi.Жаль, что Паскаль так затирают ("мёртв", "никто не пишет"). Как первый язык -- вполне. Наработаны тонны приличной (в т.ч. отечественной) литературы. Переход к Си лёгок. Вот библиотеки сишные включить это да, трудоёмко (если нет говотовых интерфейсов).
>Переход к Си лёгокНа правах переходившего с FP/L на Сишку заявляю: это ни разу не так, переход вообще ни капли не лёгок.
Ну и на правах оффтопа: Delphi мёртв, туда ему и дорога.
>>Переход к Си лёгок
> На правах переходившего с FP/L на Сишку заявляю: это ни разу не
> так, переход вообще ни капли не лёгок.FP/L это FreePascal/Lazarus? Тогда вопрос, конечно, каким образом изучался FP/L.
Может, по ускоренным современным методикам.> Ну и на правах оффтопа: Delphi мёртв, туда ему и дорога.
И вообще все гуи не труЪ.
> И вообще все гуи не труЪ.все, которые построены на базе идиотичной дельфи — да. прибитые гвоздями координаты контролов в XXI-м веке — это офигеть как здорово. и нет, возьмите своё align и унесите к себе в сарай. у всех нормальных людей давно layout manager'ы, в том числе с поддержкой flexbox'ов. а vcl/fcl так и шкандыбает на костылях. хуже разработки GUI в delphi/лазаре я ничего, полжалуй, и не припомню.
> Переход к Си лёгок.Потому что Си настолько примитивен после современных версий Pascal, что диву даёшься, зачем же его до сих пор используют. В нём даже модульность нужно эмулировать специальными средствами компиляции, не говоря о типобезопасности и про отсутствие примитивного типа данных строки.
>зачем же его до сих пор используютПотому что не все хотят есть С++?
Ага, напишите на Обероне драйвер для чего-то, кроме личного игрушечного компьютера Вирта и ОС, предназначенной для него же...
А, в чём собственно, состоят трудности написания драйвера на Обероне?
В неосиляторстве псевдомодуля SYS
В написании, я думаю, трудностей нет. А вот в использовании...
> В нём даже модульность нужно эмулировать специальными средствами компиляцииВ Си испокон веку файл соответствовал модулю, и казалось, что ничего проще и естественнее быть не может, а теперь, надо же, оказывается, надо что-то "эмулировать специальными средствами компиляции"...
>> В нём даже модульность нужно эмулировать специальными средствами компиляции
> В Си испокон веку файл соответствовал модулю, и казалось, что ничего проще и естественнее быть не может,Ничего проще и естественнее include-guardов? При том, что пространств имен именно модулей, как таковых, нет и поэтому так же "просто и естественно" для избежания коллизий прижилось костыляние в виде префиксов "gtk_widget_show" и "qlite3_prepare_v2" (о том, что в оригинале си еще и в структах такие же ограничения были, лучше не вспоминать)?
Бросьте.
> Ничего проще и естественнее include-guardов?А что может быть проще тупо вставленного текста? При всех недостатках, ты по крайней мере знаешь, _что_ происходит и имеешь полный контроль над этим. А когда ты видишь что-нибудь типа "import java.util.Scanner;", ты ещё должен знать, что там происходит под капотом. У разных языков правила импортирования могут быть разные, а в низкоуровневых важна прозрачность.
> При том, что пространств имен именно модулей, как таковых, нет и поэтому так же "просто и естественно" для избежания коллизий прижилось костыляние в виде префиксов "gtk_widget_show" и "qlite3_prepare_v2" (о том, что в оригинале си еще и в структах такие же ограничения были, лучше не вспоминать)?
Ха! А с пространствами имён эти префиксы куда-то деваются что ли? Они становятся наоборот _обязательными_! Нет, можно, конечно, сделать "using namespace ...", но смысл? Сначала ввести пространство имён, чтобы избежать риска коллизий, а потом отключать пространство имён, чтобы опять этот риск получить? Вот в результате и пишешь: "std::fstream f(filename.c_str(), std::ios::in | std::ios::out | std::ios::binary) ..." Бррр, ужосс нечитабельный, лучше пусть gtk_widget_show будет!
Я в последнее время прихожу к выводу, что пространства имён - зло, и придуманы программистами, которые ленятся нормально структурировать свои программы.
>Переход к Си лёгок.Речь идёт об оригинальном Паскале от Вирта или, всё же, об объектном?
>>Переход к Си лёгок.
> Речь идёт об оригинальном Паскале от Вирта или, всё же, об объектном?О современном, конечно, с указателями.
Паскаль с самого начала был с указателями.
> Паскаль с самого начала был с указателями.Во как. Причём тогда Object Pascal к (переходу к) Си?
Понятия не имею :)
> Паскаль с самого начала был с указателями.Если что, то паскаль я осваивал уже 4-м или 5-м языком, и заниматься им мне приходилось эпизодически. Проект вот один пришлось перегнать именно с одного из "народных" (не борланда) паскалей на си, и проблему я примерно себе представляю. Интерфейс наоборот (из Си к паскалю) тоже приходилось делать, тоже без особых трудностей.
>Жаль, что Паскаль так затирают ("мёртв", "никто не пишет"). Как первый язык -- вполне. Наработаны тонны приличной (в т.ч. отечественной) литературы. Переход к Си лёгок. Вот библиотеки сишные включить это да, трудоёмко (если нет говотовых интерфейсов).Зачем нужен "первый язык"? Первый язык -- просто алгоритмический на бумаге блоксхемами или обычными словами, чтобы человек понял, как заставить машину выполнять то, что хочет он. Язык же программист способен освоить за короткий срок в соответствии с поставленной задачей. И вообще, лучше сразу начинать с Си ;) Или со связки Си+Фортран, если для расчётов, но Паскаль -- не пришей кобыле хвост.
>>Жаль, что Паскаль так затирают ("мёртв", "никто не пишет"). Как первый язык -- вполне. Наработаны тонны
> Зачем нужен "первый язык"? Первый язык -- просто алгоритмический на бумаге блоксхемами
> или обычными словами, чтобы человек понял, как заставить машину выполнять то,
> что хочет он. Язык же программист способен освоить за короткий срок
> в соответствии с поставленной задачей. И вообще, лучше сразу начинать с
> Си ;) Или со связки Си+Фортран, если для расчётов, но Паскаль
> -- не пришей кобыле хвост.Вообще "для расчётов" достаточно даже экселя. Инженеру/учёному "для расчётов" нужны многомерные массивы, вложенные циклы и подпрограммы, т.е. достаточно даже бэйсика. Осложнения с этой схемой возникают лишь тогда, когда становятся нужны готовые решения (библиотеки).
Первый язык прогр. это такой, который содержит все типовые средства выражения, позволяет практически освоить все основные типы задач, а также имеет (сравнительно просто реализуемый) выход на портфель готовых решений. То есть вырабатывает в обучающемся универсализм.
Так что Си или Паскаль. Фортран -- с оговорками. Рисовать на бумаге или обычными словами это чудесно (я сам рисовал), но без практической работы -- ноль. Учить сто языков ("освоить за короткий срок в соответствии с поставленной задачей"), мне думается, плохая идея.Любые "волшебные языки прогр., сами решающие все задачи" на роль первого, по-моему, не подходят, как и узкоспецифичные пакеты (скажем, матлаб как первый язык в инженерных колледжах штатов, о чём писали в лит-ре).
Во времена пиратского Delphi 7 я о таком только мечтал. А щаз я уже бородат и закончил карьеру. Думаю, что Python попрактичней, чем FP, и для обучения самое то.
У питона с окошечками все же не сложилось. В этом плане дельфи существенно лучше.
однооконный режим случайно не появился?
> однооконный режим случайно не появился?Был ещё раньше через дополняшку какую-то, название на Z.
http://lazplanet.blogspot.ru/2013/03/run-lazarus-in-single-w...
вот тут начиная с подзаголовка Anchor Docking Way...
Помнится кроме Delphi была аналогичная GUI-писалка для C++. Почему Lazarus поддерживает лишь маргинальный Object Pascal?
C++ Builder. Зачем, если есть Qt. Во времена BCB6 C++-профи ваяли в Visual Studio с/без MVC. А Lazarus, по крайней мере, может импортировать древние проекты от Delphi и даже иногда без напильника скопилить.
И Паскаль для студентоты более лёгок, т.е. для прикладных-лабораторных программ.
Или, например, когда надо было прикрутить гуй к БД, покидал кнопок на формочку, и работает.
Hello world по-прежнему 10М весит?
Upx-ом лечится
> Hello world по-прежнему 10М весит?вроде без отладочной информации оно значительно меньше получается
>> Hello world по-прежнему 10М весит?
> вроде без отладочной информации оно значительно меньше получаетсяКстати, сколько?
К примеру, в Delphi 3 автономное приложение уровня "Hello, World" в виде одной формы и кнопки на ней весило 350 КБ, в Delphi 4.0 - 450 КБ. Библиотека VCL обычно связывалась статически - внедрялась в код оконного приложения, хотя можно в опциях проекта указать динамическое связывание.
>>> Hello world по-прежнему 10М весит?
>> вроде без отладочной информации оно значительно меньше получается
> Кстати, сколько?
> К примеру, в Delphi 3 автономное приложение уровня "Hello, World" в виде
> одной формы и кнопки на ней весило 350 КБ, в Delphi
> 4.0 - 450 КБ. Библиотека VCL обычно связывалась статически - внедрялась
> в код оконного приложения, хотя можно в опциях проекта указать динамическое
> связывание.Консольный хелловолд - ~400К в 1.8.0/3.0.4 на линуксе
флак енкодер (gcc) 246 киб
хеолу ворлд на си (gcc) 6.3 киб
хелоу ворлд на асме (nasm) 360 байт..всё уникс-консольное взято из учебных примеров книг.
Ну если уж "сравнивать", то так:
консольный хелловолд, FP/L 3.0.4/1.8.0, символы вычищены - статический бинарь, 190К
консольный хелловолд, GCC 5.3.0, символы вычищены - динамический бинарь, 6К
> флак енкодер (gcc) 246 киб
> хеолу ворлд на си (gcc) 6.3 киб
> хелоу ворлд на асме (nasm) 360 байт..
> всё уникс-консольное взято из учебных примеров книг.Экстрим программирование на асме ,96 байт ,работает только под линь.Минимально исполняемый под линь,бсд -118 байт.(статья Криса Касперски-"Эльфы большие и маленькие")
> Экстрим программирование на асме ,96 байт ,работает только под линь.Минимально исполняемый
> под линь,бсд -118 байт.(статья Криса Касперски-"Эльфы большие и маленькие")В продолжении традиций сравнения теплого с фиолетовым:
% cat min.asm
org 0x100
mov dx, msg
mov ah, 9
int 0x21
ret
msg db 'Bye World!', 0x0d, 0x0a, '$'
% odhex min.com
ba 08 01 b4 09 cd 21 c3 42 79 65 20 57 6f 72 6c 64 21 0d 0a 24
% du -b min.com
21 min.comИли классика:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Это - COM-бинарь с выхлопом "EICAR-STANDARD-ANTIVIRUS-TEST-FILE!", но подобран так, чтобы содержать только печатные знаки.
Вообще-то под БИОС было бы еще прикольнее, но там практический минимум все равно будет в 512 байтов.Из этого cледует однозначный вывод, что голые бинарники мягче бинарей в ЭЛЬФ, а cишные с дефолтным рантаймом зеленее асмо-хелло-ворлда, дергающего только сисколы.
Так же несомненно, что динамически прилинкованный к *libc сишный бинарник тепрлее статистически собранного fpc-шного! Поэтому ... все дружно переходим на (F)ASM и DOS!
Как-то так.
> int 0x21...
> % odhex min.comЭх, да рази ж хто поймёть?! (за классику спасибо :))
https://sourceforge.net/projects/keyobjectslibrary/
Кактус, или как перестать грызть Lazarus
https://www.arbinada.com/ru/node/1550
> Кактус, или как перестать грызть Lazarus
> https://www.arbinada.com/ru/node/1550Статья (блогопост), к сожалению, не очень информативна при всей своей длине (ну да, ну да, это блог, и автор в теме, а мы нет). Также постановка задачи с "реальным экспериментом", мне показалась некорректной, или я плохо понял автора.
Точная модель обработки в Дельфи это собственно обработка в Дельфи.
В 2016 году автор берёт fpc 2.6, почему? "уже есть 3.0" -- да, в опен-проектах реальность такова, что к такому нужно присматриваться.
> Кактус, или как перестать грызть Lazarus
> https://www.arbinada.com/ru/node/1550
>статистику загрузок на sourceforge, то Кактус для Windows лидирует с огромным отрывом.т.е то, что в Linux дистрибутивах большинство(!) ставит из пакетов ему не понятно?
Длинный и нудный пост, во всех анатомических подробностях повествующий о том, как чувак портировал какую-то систему, из чего мы должны заключить, что Lazarus - отст0й. Не осилил.
Вот бы кто запилил подобное для более актуального языка например. Был же C++ Builder как альтернатива Delphi для тех, кому лень изучать Паскаль, могли бы его тоже клонировать...
А что, для C++ мало IDE? Визуальное проектирование интерфейсов - Qt Designer же.
Прям ностальжи по С++ Builder 6 одолевает от скриншота. Славные были времена.
Как то давно пробовал, тогда с русским чтото не клеилось
На FreeBSD обновились порты FPC и Lazarus: https://www.freshports.org/lang/fpc/ и https://www.freshports.org/editors/lazarus/