Это хорошо. Паскаль хороший язык, на который незаслуженно псят (хотя, как по мне, вторая модула - лучшее, что было придумано Виртом). Но. Тот-же freepascal хорош не сам по себе, а в комплекте с Lazarus-ом...
Паскаль имеет смысл только в одном случае: если вы учитесь в российской школе и вам предстоит сдавать ЕГЭ. Больше нигде он не понадобится. Примерно как Кобол или Фортран.
Lazarus загибающийся проект. Я имел неудовольствие провести несколько часов в борьбе с ним на этих выходных. Не тратьте своё время. Есть масса современных удобных сред разработки.
"Ненужен" по отношению к языку программирования - странное определение. Даже если ты напишешь новый язык и на нём будешь писать только ты - он нужен минимум тебе. Я вот считаю, что БЭСМ-6 вобще и её эмулятор в особенности гораздо более ненужна чем паскаль. Но я-же своё мнение не навязываю.
Хотя-бы еще парочку "сред разработки", которые позволяют по быстрому накидать формочки/кнопочки а потом спокойно компилировать получившееся как минимум хотя-бы под Linux/Windows так, что-бы оно одинаково выглядело. И, да, "накидать формочки" это не "закат солнца вручную", с прописыванием координат а полноценный редактор форм.
Разбирать, почему тебе не удалось воспользоваться лазарусом не будем. У меня таких проблем не возникает.
Одна из причин - Lazarus не ставится больше на маке.
$ brew install lazarus ... Warning: lazarus has been deprecated because it no longer meets the criteria for acceptable casks! It was disabled on 2026-01-27. ... Warning: fpc-laz has been deprecated because it does not pass the macOS Gatekeeper check! It will be disabled on 2026-09-01. ... Warning: fpc-src-laz has been deprecated because it does not pass the macOS Gatekeeper check! It will be disabled on 2026-09-01. ... ==> Installing Cask fpc-src-laz installer: Error - This package is incompatible with this version of macOS. Contact the developer for support.
Мне достались исходники программы, написанной под Windows, и цель стояла собрать её под Линуксом и на маке. Помогло отрезание всех хвостов Лазаруса, вызов FreePascal напрямую, и скачивание сорсов нужных юнитов из Лазаровской библиотеки напрямую с Гитхаба.
Тул, который не может обеспечить себе стабильное присутствие на одной из трёх основных платформ, я считаю любительской поделкой с неопределённым будущим. Это же не первый раз, когда у Лазаруса проблемы. Я лет пять за ним послеживаю. Последнюю версию языка Никлаус я так и не смог на маке собрать.
С библиотекой юнитов тоже проблемы, что у fpc, что у Лазаруса. Нынче всё это выглядит как поделки 90-х, а не современные тулы для разработки. Быстро накидать кнопочки-формочки делается одним запросом к Курсору или Claude Code.
Я понять не могу - почему у тебя претензии к лазарусу, а не к brew? https://wiki.freepascal.org/Installing_Lazarus_on_macOS - тут подробно описано как ставить. Про brew я там ничего не нашёл. Наверное надо ставить продукт так, как предусмотрено аторами? Или предъявлять претензии тем, кто пакетирует для brew?
> Быстро накидать кнопочки-формочки делается одним запросом к Курсору или Claude Code. Погоди. Ты писал что есть куча IDE. А теперь, вдруг, разговор про ИИ пошёл. Можно без ИИ?
Я соглашусь, что проектъ написанiя своего компилятора нуженъ только автору проекта.
Насчетъ того, нужно ли дѣлать эмуляторы Apple Lisa, MS DOS 1.0 или БЭСМ-6 - это можно по-разному трактовать.
Первая причина, по которой дѣлаютъ эти эмуляторы - ностальгiя. Хочется вернуться въ прошлое, пальцами и глазами вспомнить молодость. Сегодня это можно - полноцѣнный эмуляторъ любого компьютера 70-хъ и 80-хъ годовъ, любого компилятора или языка или среды разработки того времени дѣлается за недѣлю, если разбираешься въ этихъ вещахъ. Съ нѣкоторымъ старанiемъ и съ помощью богомерзкаго ИИ можно самому хоть VAX VMS написать, хоть IBM System/360 и гордо на макбукѣ запускать Job Control Language и писать директивы "//SYSIN DD". Правда, въ послѣднемъ примѣрѣ ностальгiя будетъ уже условной, потому что это конкретное убожество не умерло до сихъ поръ - https://www.ibm.com/docs/en/zos/3.2.0?topic=sds-sysin-dd-statement
Вторая причина - хотятъ лучше понять, какъ устроены компиляторы, какъ работаетъ простая, но полнофункцiональная ОС для микрокомпьютера. Это проектъ повышенiя своей квалификацiи. И въ этомъ случаѣ работать съ богомерзкимъ ИИ уже не рекомендуется слишкомъ много. Ему можно поручать лишь роль справочника и рутинную работу - скажемъ, додѣлать какой-нибудь парсеръ и добавить тесты послѣ того, какъ основные части сдѣланы самостоятельно безъ ИИ.
Третья причина - та, по которой я заинтересовался въ свое время TurboVision. Эмуляторы старыхъ компьютеровъ и старыхъ системъ нужны, чтобы понять на концептуальномъ уровнѣ, что мы за 50 лѣтъ узнали о созданiи компьютерныхъ системъ, съ которыми можетъ эффективно работать человѣкъ. Общiй консенсусъ за это время - что намъ нужны окна съ текстомъ и графикой, по которымъ мы ходимъ мышкой и иногда клавишами, а въ компьютерѣ должна быть ОС съ многопоточностью и многозадачностью. Но оказалось, что сложно и дѣлать такiя системы безъ ошибокъ, и пользоваться ими потомъ. Какiя техническiя рѣшенiя были сдѣланы въ TurboVision, въ Visual Basic, въ Delphi? Помогало ли это быстрѣе и съ меньшимъ количествомъ ошибокъ реализовать GUI-системы? Какъ мы бы сегодня "правильно" слѣлали бы систему rapid UI development, выучивъ всѣ уроки исторiи? Или до сихъ поръ это неизвѣстно?
Ну понятно, что автор получает удовольствие, делая все это так, как ему видится. Но об'яснение, почему with - это не нужно, совершенно несерьезное. Там как раз все однозначно и решается за один проход: имя внутри блока соответствует полю, которое первое находится при просмотре списка в with справа налево. Не сравнить, например, с most vexing parse :)
Помнится, когда я переползал с Паскаля на С, причем сначала это был C на микроконтроллерах, мне как раз with заметно не хватало. Ну и если кто-то не новый язык придумывает, а компилятор с существующего делает, то предполагается, что можно взять какой-то текст на Паскале, причем на Турбо-Паскале, как самом распространенном, и просто собрать его, а не переписывать руками или не руками. А with в паскалевских сорцах - просто постоянно.
Тут и не считая with куча проблем. Я взял несколько своих старых примеров простых программ на Паскале. Ни одна не компилируется: везде нужны мелкие изменения. Не связанные с with. Паскаль вовсе не стандартный язык, оказывается.
no subject
Date: 2026-05-11 22:49 (UTC)1. Он "with" не умеет.
2. "Modern build system. PasBuild with project.xml; no makefiles." - будто это что-то хорошее.
no subject
Date: 2026-05-11 23:43 (UTC)Dropped (Deliberately Unsupported)
* `with` statement (source of symbol resolution bugs; hard to analyse)
Насчёт pasbuild у товарища пунктик. Первое, что мне пришлось добавить в его проекты - Makefile верхнего уровня, иначе собирать их то ещё удовольствие.
no subject
Date: 2026-05-11 23:00 (UTC)Но. Тот-же freepascal хорош не сам по себе, а в комплекте с Lazarus-ом...
no subject
Date: 2026-05-11 23:37 (UTC)Паскаль имеет смысл только в одном случае: если вы учитесь в российской школе и вам предстоит сдавать ЕГЭ. Больше нигде он не понадобится. Примерно как Кобол или Фортран.
Lazarus загибающийся проект. Я имел неудовольствие провести несколько часов в борьбе с ним на этих выходных. Не тратьте своё время. Есть масса современных удобных сред разработки.
no subject
Date: 2026-05-11 23:47 (UTC)Хотя-бы еще парочку "сред разработки", которые позволяют по быстрому накидать формочки/кнопочки а потом спокойно компилировать получившееся как минимум хотя-бы под Linux/Windows так, что-бы оно одинаково выглядело. И, да, "накидать формочки" это не "закат солнца вручную", с прописыванием координат а полноценный редактор форм.
Разбирать, почему тебе не удалось воспользоваться лазарусом не будем. У меня таких проблем не возникает.
no subject
Date: 2026-05-11 23:58 (UTC)$ brew install lazarus
...
Warning: lazarus has been deprecated because it no longer meets the criteria for acceptable casks! It was disabled on 2026-01-27.
...
Warning: fpc-laz has been deprecated because it does not pass the macOS Gatekeeper check! It will be disabled on 2026-09-01.
...
Warning: fpc-src-laz has been deprecated because it does not pass the macOS Gatekeeper check! It will be disabled on 2026-09-01.
...
==> Installing Cask fpc-src-laz
installer: Error - This package is incompatible with this version of macOS. Contact the developer for support.
Мне достались исходники программы, написанной под Windows, и цель стояла собрать её под Линуксом и на маке. Помогло отрезание всех хвостов Лазаруса, вызов FreePascal напрямую, и скачивание сорсов нужных юнитов из Лазаровской библиотеки напрямую с Гитхаба.
no subject
Date: 2026-05-12 00:04 (UTC)no subject
Date: 2026-05-12 00:16 (UTC)С библиотекой юнитов тоже проблемы, что у fpc, что у Лазаруса. Нынче всё это выглядит как поделки 90-х, а не современные тулы для разработки. Быстро накидать кнопочки-формочки делается одним запросом к Курсору или Claude Code.
no subject
Date: 2026-05-12 00:30 (UTC)https://wiki.freepascal.org/Installing_Lazarus_on_macOS - тут подробно описано как ставить. Про brew я там ничего не нашёл. Наверное надо ставить продукт так, как предусмотрено аторами? Или предъявлять претензии тем, кто пакетирует для brew?
> Быстро накидать кнопочки-формочки делается одним запросом к Курсору или Claude Code.
Погоди. Ты писал что есть куча IDE. А теперь, вдруг, разговор про ИИ пошёл. Можно без ИИ?
no subject
Date: 2026-05-12 08:09 (UTC)Насчетъ того, нужно ли дѣлать эмуляторы Apple Lisa, MS DOS 1.0 или БЭСМ-6 - это можно по-разному трактовать.
Первая причина, по которой дѣлаютъ эти эмуляторы - ностальгiя. Хочется вернуться въ прошлое, пальцами и глазами вспомнить молодость. Сегодня это можно - полноцѣнный эмуляторъ любого компьютера 70-хъ и 80-хъ годовъ, любого компилятора или языка или среды разработки того времени дѣлается за недѣлю, если разбираешься въ этихъ вещахъ. Съ нѣкоторымъ старанiемъ и съ помощью богомерзкаго ИИ можно самому хоть VAX VMS написать, хоть IBM System/360 и гордо на макбукѣ запускать Job Control Language и писать директивы "//SYSIN DD". Правда, въ послѣднемъ примѣрѣ ностальгiя будетъ уже условной, потому что это конкретное убожество не умерло до сихъ поръ - https://www.ibm.com/docs/en/zos/3.2.0?topic=sds-sysin-dd-statement
Вторая причина - хотятъ лучше понять, какъ устроены компиляторы, какъ работаетъ простая, но полнофункцiональная ОС для микрокомпьютера. Это проектъ повышенiя своей квалификацiи. И въ этомъ случаѣ работать съ богомерзкимъ ИИ уже не рекомендуется слишкомъ много. Ему можно поручать лишь роль справочника и рутинную работу - скажемъ, додѣлать какой-нибудь парсеръ и добавить тесты послѣ того, какъ основные части сдѣланы самостоятельно безъ ИИ.
Третья причина - та, по которой я заинтересовался въ свое время TurboVision. Эмуляторы старыхъ компьютеровъ и старыхъ системъ нужны, чтобы понять на концептуальномъ уровнѣ, что мы за 50 лѣтъ узнали о созданiи компьютерныхъ системъ, съ которыми можетъ эффективно работать человѣкъ. Общiй консенсусъ за это время - что намъ нужны окна съ текстомъ и графикой, по которымъ мы ходимъ мышкой и иногда клавишами, а въ компьютерѣ должна быть ОС съ многопоточностью и многозадачностью. Но оказалось, что сложно и дѣлать такiя системы безъ ошибокъ, и пользоваться ими потомъ. Какiя техническiя рѣшенiя были сдѣланы въ TurboVision, въ Visual Basic, въ Delphi? Помогало ли это быстрѣе и съ меньшимъ количествомъ ошибокъ реализовать GUI-системы? Какъ мы бы сегодня "правильно" слѣлали бы систему rapid UI development, выучивъ всѣ уроки исторiи? Или до сихъ поръ это неизвѣстно?
Скажемъ, въ 80-е годы IBM создало "стандартъ" интерфейса - https://en.wikipedia.org/wiki/IBM_Common_User_Access https://dn721904.ca.archive.org/0/items/ibm-saa-cua-basic-interface-design-guide/IBM%20SAA%20-%20CUA%20Basic%20Interface%20Design%20Guide.pdf Это какъ-то помогло, это правильно, или тамъ все уже устарѣло, и если устарѣло, то почему? А въ началѣ 90-хъ была дискуссiя - что лучше, GUI или OOUI. https://ecsoft2.org/docs/gui-ooui-war-theo-mandel Кто-то тамъ побѣдилъ въ томъ спорѣ или мы просто это забыли и опять наступаемъ на грабли?
Вотъ для этого и полезно вернуться къ компьютернымъ системамъ 70-хъ и 80-хъ годовъ, простымъ и въ то же время основополагающимъ для нашаго времени.
no subject
Date: 2026-05-12 07:41 (UTC)no subject
Date: 2026-05-12 01:15 (UTC)no subject
Date: 2026-05-12 07:20 (UTC)no subject
Date: 2026-05-12 11:40 (UTC)no subject
Date: 2026-05-12 20:47 (UTC)no subject
Date: 2026-05-13 03:50 (UTC)