LINUX.ORG.RU

Почему не FreePascal+Lazarus?

 , ,


0

5

На паскале пишешь? Фу таким быть...

Почему не принято для Linux писать что-то на FreePascal? Да, язык немного менее гибкий, чем C/C++, более тяжеловатый синтаксис и begin end вместо скобочек кое-кого реально задалбывают. Но зато благодаря более развитой типизации и другим более безопасным вещам меньше шансов «выстрелить в ногу» при сохранении в тоже время и достаточной при необходимости низкоуровневости, чтобы писать даже системные вещи.

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

Да, есть некоторое отставание по таким возможностям, как всякие там лямбды, хотя в Delphi их добавляют, но не будем о Delphi. Вот положа руку на сердце, прям так жить без них нельзя в том же C++? Или лучше использовать для них Лисп, Haskell, OcaML и тп. а не скрещивать ежа с ужом, превращая язык в какого-то необозримого монстра, все возможности которого мало кто знает. При том, что в том же FreePascal/Delphi тип процедура/функция и object дают возможность совершать некоторые фукциональные трюки.

Стандарт? Да, стандарта нет. Но как будто на практике с этим сильно лучше у C++? Фактически крупные программы пишутся под конкретный компилятор и даже версию компилятора, на других могут быть сюрпризы даже на одной платформе, заранее положиться без тестирования, что оно соберется и будет себя также вести нельзя.

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

намешать с дефайнами

это обычно не про дельфи :)

определить десяточек функций

можно без всяких дефайнов

уже клепает в сишечке

на дельфи уже будет результат, пока кто-то клепает в сишечке, даже с поправкой на интерфейсный модуль, написание которого вполне тривиально и не занимает много времени, пользуясь ровно той же документацией по апи

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

это обычно не про дельфи :)

Мы всё ещё про подключение библиотек? Дефайны и прочая - естественно в заголовочном файле библиотеки, который нам необходимо перевести в паскалевский вид для использования из паскаля.

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

Не. Мы про десяточек функций. Которые ничего не мешает куда-то там перевести. Особенно если мы не ориентируемся на десяток мертвых говноплатформ про которые обычно дефайны :) А структуры переводятся опять таки тривиально, для тех кто описание языка читал, а не клей нюхал.

slackwarrior ★★★★★
()

Почему не принято для Linux писать что-то на FreePascal?

А потому что сколько в типичном дистре линукса пакетов, написанных на freepascal? Целых четыре: http://gentoobrowse.randomdan.homeip.net/package/dev-lang/fpc#depees

А на OCaml? http://gentoobrowse.randomdan.homeip.net/package/dev-lang/ocaml#depees

А на Haskell? http://gentoobrowse.randomdan.homeip.net/package/dev-lang/ghc#depees

Теперь понятно, почему не пишут? Библиотеки, тулзы и другая инфраструктура для паскаля в линуксе просто отсутствует.

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

Потому что не оставляете выхода моим бывшим работодателям.

работодатели будут продолжать продавать

нахрена они нужны на линуксе?

пусть идут вместе с дельфями в сад. Сдохло оно и под виндами... И уже попахивает...

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

И тут я понял что ты Делфи даже не видел потому что всё с точностью до наоборот.

Ты можешь найти моё резюме :) Свежие версии Дельфи я действительно не видел, максимум 2007. Потому что более свежие мне не понадобились. Дельфи 7 летает. Но я тебе открою секрет, что есть довольно важные и крупные организации, услугами которых ты наверняка пользуешься, и которые пользуют Дельфи 6.

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

Дельфи 7 летает.

Крякнутая винда, крякнутая дельфи, ломанные компоненты с торри...

Ты застрял в начале 2000ных...

Мир немного изменился, прикинь...

Свежие версии Дельфи я действительно не видел

давай, до свидания!

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

Однако проект на Дельфи собирается на порядок быстрее, чем на С++, и это вряд ли изменилось даже в новых версиях.

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

какие пользователи? делфи это дохлая проприетарщина, от линукса не зависит то что они не осилили поддержку куликс

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

которые пользуют Дельфи 6

и что?

этот софт на ура работает в вайн... если уж тебя так приперло...

со свежими проблема, а с 6-7 - без вопросов...

anonymous
()

На паскале пишешь? Фу таким быть...

This

//столько лет удивляюсь, на кой хер на нем вообще что-то пишут; оформления кода никакого нет, зайдешь на форумы спросить решение задачи - просто какой-то ад накостыляют в ответ; от этого языка вообще ничего современного не произошло и уж тем более не используется нигде, даже Васик ушел дальше (и появился раньше); говорят типа оптимальный язык для обучения, но по мне так Си подходит намного лучше, и востребован больше

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

потому что всякие лазарусы и FPC это попытки оживить нечто сдохшее и забытое еще в 90х.

Этот ваш линукс - попытка оживить нечто сдохшее и забытое ещё в 90ых.

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

//столько лет удивляюсь, на кой хер на нем вообще что-то пишут; оформления кода никакого нет, зайдешь на форумы спросить решение задачи - просто какой-то ад накостыляют в ответ; от этого языка вообще ничего современного не произошло и уж тем более не используется нигде, даже Васик ушел дальше (и появился раньше); говорят типа оптимальный язык для обучения, но по мне так Си подходит намного лучше, и востребован больше

Аффтар, пиши исчо.
Нам очень важно знать мнение твоих тараканов в голове!

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

как раз общая картина получается на контрастах мнений

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

Этот ваша макось - попытка оживить нечто сдохшее и забытое ещё в 90ых, а именно, юникс.

ок, уел.

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

Так на нем и не пишут. Заметил, что и всех сотен приложений, установленных на моем компе, ни одного не написано на паскале. Есть на C, C++, джаве, JS, C#, скале, Go, хаскелле, OCaml, питоне, Vala. Даже на Перле одно есть — Slic3r. А вот на паскале — пустота.

trycatch ★★★
()

Шёл 2018-й год...
Сидят два торчка у радиоактивного костра, жарят крысу и спорят о pascal vs С.

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

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

Угу. :(

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

Своим отношением к Паскалю вы, линуксоиды, сильно подрываете популярность своей платформы. Потому что не оставляете выхода моим бывшим работодателям. Они не могут издать версии под Линукс и становятся в ряды ваших противников.

Ой, да ладно гнать. Для тех, кто ХОЧЕТ - есть FPC, есть Лазарус. То есть, если у человека, в т.ч. твоего работодателя, уже есть код на Паскале, перенести на Линукс его вполне возможно.

Тема была немного о другом. А именно о том, почему _новые_ проекты с нуля никто на Паскале не хочет писать. А твоим работодателям никто не мешает проекты на линуксе компилять, инструменты есть.

Уничтожив Kylix, Гейтс нанёс Линуксу страшный удар лопатой по корням, лишив его гигантского куска пирога.

Во-первых, далеко не факт, что Гейтс тут хоть как-то руку приложил. Гейтсу, например, было бы гораздо выгоднее, если бы Oracle Database стал только для Windows. Но он этого сделать не сумел, а может, и не пытался. Гораздо вероятнее, что Борланд просто не осилил много платформ. Не от хорошей же жизни им потом пришлось бизнес эмбаркадере продавать.

Во-вторых, Kylix из-за своей проприетарности всё равно вряд ли стал бы ведущей IDE для Linux. Той же IDEA много ли народу пользуется, несмотря на все её достоинства? А Lazarus - вот он, сиди, применяй паскаль. Никто твоим работодателям палки в колёса не ставит. Для заказного софта - вполне нормальный инструмент.

Сидите теперь, учите Qt5, потом Qt6

Ну Qt5 от Qt4 отличается уже куда меньше, чем Qt4 от Qt3. Разработчики сделали выводы. Про питон не знаю, мне для привития отвращения к нему хватило посмотреть на синтаксис, зависящий от отступов. Граблей времён Фортрана кому-то не хватило, видимо.

А в это время мои бывшие работодатели будут продолжать продавать и развивать свои разработки на стабильной платформе, которая за 10 лет практически не поменялась.

Ну вообще-то, насколько я помню историю с переходом с Delphi 3 на Delphi 5, ты несколько преувеличиваешь. Хотя если ты про _последние_ 10 лет - возможно, ты прав. Последние версии дельфей от эмбаркадеры я почти не щупал. Помню BDS2006, она была ну очень сильно переделана.

Свежие версии Дельфи я действительно не видел, максимум 2007. Потому что более свежие мне не понадобились.

А, тогда ты точно прогнал про 10 лет. Старая Delphi вполне себе развивалась и менялась, ну не так радикально, как Qt4, может...

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

Я не пользую из-за лицензий (у меня есть SBCL и tcl/tk с пермиссивными лицензиями).

LCL, насколько я понимаю, под LGPL идёт. Как тебе это может помешать?

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

Однако проект на Дельфи собирается на порядок быстрее, чем на С++, и это вряд ли изменилось даже в новых версиях

И тут ты конечно готов предоставить доказательства этому? Что быстрее и что на порядок? Ну или хотя бы теоретическое обоснование почему это на тормозных Делфях проект вдруг может собираться на порядок быстрее. Без доказательств подобное утверждение при всём моём уважении звучит крайне неправдоподобно.

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

Этим флеймам десятки лет, но паскалехейтеры до сих пор не выучили хотя бы основы синтаксического анализа.

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

LCL, насколько я понимаю, под LGPL идёт.

У меня обычно более интересные задачи: доработать IDE или доработать сам компилятор. Ни то, ни другое я сделать с FreePascal не могу.

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

И тут ты конечно готов

Извини, мне некогда. Я это проверял сто раз. Последний раз - вчера. Если тебе интересно - проверь сам. Я не собираюсь зависать в этой теме до вечера, у меня есть дела.

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

Сидят два торчка у радиоактивного костра, жарят крысу и спорят о pascal vs С.

Типун тебе на язык.

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

паскалехейтеры до сих пор не выучили хотя бы основы синтаксического анализа

Вся сила паскаля в синтаксе же, просто хейтеры не понимают тонкостей синтаксического анализа. Если писать begin...end вместо {...} это ускоряет сборку проекта на порядок. Синтаксис наше всё. В делфях от огромного количества begin...end'ов синтаксический анализ достиг невероятного совершенства. ))

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

Ну да, написать это время ты нашёл, а привести хоть какое-то доказательство ты очень занят. ОК. Спорить не буду, все и так понятно. ))

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

begin/end синтаксически неотличимы от скобок, так что мысль ты подтвердил.

А помимо синтаксиса, в C++ есть еще препроцессор и инстанцирование шаблонов.

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

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

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

Каких ужасов?

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

Посмотрим, как там все няшно.

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

Массив указателей на функции, разумеется.

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

почему это на тормозных Делфях проект вдруг может собираться на порядок быстрее

С чего это они тормозные? Компилятор спокойно собирал десяток тысяч строк исходников в секунду на обычном офисном компе начала двухтысячных.

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

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

type t = procedure(a, b: integer);
var a: array of procedure(f: t; c: pointer);

Но я был разочарован им, вот так, без объявления дополнительного типа почему-то не работает:

var a: array of procedure(f: procedure(a, b: integer); c: pointer);
В любом случае, я и до этого не считал подобное преимущество решающим.

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

Умничка. И чем это лучше сишного

void (**fun)(void(*)(int,int),void*);

И сколько времени у тебя ушло, аж пост удалил.

А теперь, пожалуйста, покажи, как на пасралике выглядит тот ужас из статьи, а именно

массив из массив из указателей на указатели на функцию возвращающую указатели на массив из указателей на тип char

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

Что нет, ты же тут постулировал достоинство пасралика, мол, няшный синтаксис, такого ужаса как в сишке нет, вот и показывай. Или так в пасралике написать нельзя вообще? Тогда какой же это плюс? Еще плюсы будут, кроме жирного рантайма, отсутствия гибкости у языка и прочих «плюсов», ради которых все должны метнуться с няшной на паскаль? Разве что функции можно внутри блока объявлять, но в крестах есть лямбды, так что мелочь.

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

У меня обычно более интересные задачи: доработать IDE или доработать сам компилятор.

Без открытия исходников доработанного IDE/компилятора, шоле?

Ну тоды извини, отношение сообщества к паскалю тут абсолютно не при чём. Тут отношение к лицензиям и культуре их применения, безотносительно к ЯП.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.