За что я люблю Lazarus.

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

За что я люблю Lazarus.

Сообщение Slavikk » 16.09.2010 10:41:23

Мой небольшой опус на данную тему:

Однажды, когда медвежонок выступал с докладом об искусственном интеллекте на очередной конференции, его спросили почему он использует IDE Lazarus, а не например Delphi или QtCreator. Медвежонок немного замялся как будто бы ему предложили бесплатно банку мёда и ничего не попросили взамен, а потом с видом наставника начал свой рассказ.

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

С кодом программы всё просто, кому какой язык программирования нравится тот на том и пишет.

С библиотеками посложнее, многие библиотеки написаны на языке программирования C++ и не всегда имеют нужные заголовочные файлы для использования в проекте созданном с помощью IDE Lazarus. В таких случаях приходится самостоятельно писать заголовочные файлы для этих библиотек. Или даже создавать дополнительную DLL на C++ для этих библиотек, к этой DLL писать заголовочный файл и через эту DLL использовать функции библиотеки в своей программе.

При работе с компонентами, их использование должно быть экономически обоснованно. Если для какого то проекта быстрее изучить новый язык программирования и научиться пользоваться инструментами разработки для него, чем пытаться скопировать на знакомый Вам язык компоненты которые уже есть для среды разработки данного языка. То очевидно, что лучше на время засесть за книги, чем «изобретать велосипед».

У Lazarus, правда только под Windows, имеется возможность использовать компоненты Delphi, запаковывая их в DLL.

Самое главное - отделяйте в коде: представление программы от самой программы, разнося их по разным юнитам. Например это позволит иметь 2 представления для одной программы. Одно будет стандартным, второе с использованием скинов. Скины могут быть реализованы с помощью переопределения процедуры отрисовки контролов, например с использованием OpenGL для сглаживания шрифтов и более плавной анимации иконок.

Встроенный пошаговый отладчик, логер MultiLog (http://wiki.freepascal.org/MultiLog), огромное количество профайлеров под Linux (http://wiki.lazarus.freepascal.org/Profiling), а так же один под Windows (http://17slon.com/gp/gpprofile/index.htm). Множество сторонних компонентов с примерами, примеры кода поставляемые как с самой IDE Lazarus, так и с пакетами входящими в Lazarus и компилятор FreePascal. Что ещё нужно для счастья разработчику?

Закончив изложение своих мыслей медвежонок вспомнил свою пасеку. Хоть она была расположена очень далеко от его дома и давала мало мёда, он очень любил отдыхать на ней. Любил на утренней заре ловить рыбу в местном озере, любил лежать в поле цветов под тенью раскидистого дуба. Любил бывать там так же, как и любил в свободное время разрабатывать для себя программы в IDE Lazarus.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: За что я люблю Lazarus.

Сообщение hinst » 16.09.2010 20:53:06

нну, вы знаете что... если почитать вас, то лазарус это инструмент, на котором можно чего-то как-то левой ногой делать в свободное время для развлечения, и то только при условии, что таскать библиотеки из С++. а это ведь серьёзная вещь на самом деле, пусть не очень популярная, но очень мощная
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: За что я люблю Lazarus.

Сообщение Slavikk » 16.09.2010 23:38:33

>это ведь серьёзная вещь на самом деле.
Это и пытался донести :). В 90% случаев найдётся компонент для вашей задачи. В последних 10% случаях (когда происходит работа программы на уровне ядра ОС или на уровне общения с железом (драйвер для контролера)), даже в этих случаях можно комфортно работать в Lazarus. Глубина работы с железом и ос может быть максимальная, что не всегда возможно в Delphi (чем больше работаешь с Lazarus тем больше понимаешь насколько он масштабнее Delphi).

>левой ногой
Это можно в Delphi кнопко - кидательством заниматься, а в Lazarus нужно понимать, что и зачем делаешь. А иногда сначала нужно почитать документацию по работе ОС и её окружения, перед тем как начинать программировать.

>библиотеки из С++
Это уже крайний случай, близкий к клиническому. Но тут хоть не так обидно, как например когда одна библиотека написана с использованием одного стандарта C++, а использовать её нужно в среде разработки использующей другой стандарт C++. Это вообще бред получается. В таких случаях иногда проще упаковывать библиотеку в DLL на первом стандарте C++ и писать к этой DLL заголовочный файл и для второго стандарта C++ так как это получается быстрее чем переписывать всю библиотеку на новый стандарт и компоненты. Когда это делаешь для Lazarus не так обидно в отличие когда делаешь такую прокидку между Builder-ом, MS VC++ и GCC C++. Но повторюсь это редкое исключение, близкое к клинике.

>в свободное время для развлечения
Очень хороший инструмент для стартапера без денег вместо Delphi. Знаю один стартап который был сделан в свободное время на Lazarus, оцениваемый в данный момент в очень хорошую сумму денег с семью нулями.

>не очень популярная, но очень мощная
Хочу чтоб Lazarus был популярней, для этого текст и писал в раздел "Потрепаться" :).
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: За что я люблю Lazarus.

Сообщение zub » 17.09.2010 01:35:38

я lazarus люблю. но...
в сочинении тема "сисек" совершенно не раскрыта. их всего две, зато какие - лицензия и кроссплатформенность

>>У Lazarus, правда только под Windows
извините, но только под виндовс - турбоделфи получше будет... да и не интересно это

>>Встроенный пошаговый отладчик.... ....огромное количество профайлеров под Linux
об этом вообще лучше промолчать))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: За что я люблю Lazarus.

Сообщение Verx0Laz » 17.09.2010 03:59:15

А еще одно из стратегических преимуществ Лазаря - возможность перетащить Дэльфи-кодеров вместе с наработками под линукс. Рынок операционных систем и услуг вокруг них - это примерно от 70% всего софтверного рынка, и он монополизирован американцами. Вернуть на родину такой кусок ВВП - дело почти святое, не говоря уже что вкусное :) Да и вся мировая софтверная отрасль закрутится шустрее, получив такой оборот. А реальный выход один - пересадить всё что можно под линукс. Надо заметить, что пингвинчики за последнее время существенно подросли, и вполне могут составить конкуренцию форточкам, если б не парочка ключевых "но" - слабая коробочная юзабельность и недостаточное количество и качество прикладного софта. Поднять первое Ростехнологиям вполне под силу - для этого достаточно просто залить капусты паре отечественных тимов, но вот что делать со вторым? На прикладной софт ума-то хватит - рук не хватит. И вот тут лазарь как нельзя кстати.
Однако, полезное мы дело делаем, други :)
Аватара пользователя
Verx0Laz
постоялец
 
Сообщения: 125
Зарегистрирован: 11.09.2007 11:24:07

Re: За что я люблю Lazarus.

Сообщение stikriz » 17.09.2010 09:02:52

Slavikk писал(а):Глубина работы с железом и ос может быть максимальная, что не всегда возможно в Delphi (чем больше работаешь с Lazarus тем больше понимаешь насколько он масштабнее Delphi).

Не, лучше про медведиков пишите. Не надо про Дельфи.
Slavikk писал(а):Хочу чтоб Lazarus был популярней, для этого текст и писал в раздел "Потрепаться" :).

Вообще, Lazarus - это программа... Любить надо людей. Программа может быть удобной, приятной, функциональной...
Slavikk писал(а):Встроенный пошаговый отладчик,

Не надо, не надо! Не надо над убогим убожищем так уж глумиться. Пошаговый отладчик? :-) Ну, ну...
zub писал(а):я lazarus люблю. но...
в сочинении тема "сисек" совершенно не раскрыта.

Пять баллов!
Verx0Laz писал(а):А еще одно из стратегических преимуществ Лазаря - возможность перетащить Дэльфи-кодеров вместе с наработками под линукс.

Кодеров на Дельфи еще придется для начала научить запускать программу, и многому еще чему.

Для меня у Лазаруса сейчас куча реальных, а не мнимых преимуществ:
1. кросплатформенность.
2. Кросплатформенность.
3. КРОСПЛАТФОРМЕННОСТЬ!
и т.д.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

Re: За что я люблю Lazarus.

Сообщение Brainenjii » 17.09.2010 09:44:23

Не совсем, конечно, в тему ^_^
Попросили на работе посмотреть ноут директора. Попробовал - показалось, что проблемы с жёстким. Беру первый попавшийся диск с утилитами - запускаю Викторию - не видит диск. Выбираю что-нибудь из списка - выбрал HDAT2. Всё проверил, нашёл кучу ошибок/битый секторов, восстановил. Решил посмотреть, что за программка - и прям гордость взяла:
HDAT2 is running in protected mode and is compiled with a free 32-bits Free Pascal compiler.
USED FPC COMPILER VERSION: FPC v1.0.11 18.05.2004
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: За что я люблю Lazarus.

Сообщение svk12 » 17.09.2010 11:37:10

stikriz писал(а):Не надо, не надо! Не надо над убогим убожищем так уж глумиться. Пошаговый отладчик? :-) Ну, ну...


ИМХО, отладчик вполне нормальный...
Или я чего-то не заметил?
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: За что я люблю Lazarus.

Сообщение Mr.Smart » 17.09.2010 12:07:11

svk12 писал(а):ИМХО, отладчик вполне нормальный...
Или я чего-то не заметил?

После вашего высказывания, мне ясно одно - вы не занимались "глубокой" отладкой :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: За что я люблю Lazarus.

Сообщение Slavikk » 17.09.2010 12:36:01

Mr.Smart писал(а): вы не занимались "глубокой" отладкой :wink:


Я правильно понял, что под "глубокой" отладкой Вы понимаете профилирование? Для него удобно использовать сторонние средства, например Intel® VTune, но я не представляю монстра который вобрал бы в себя и IDE + хороший профайлер (ибо будет монстр).

А если нужно просто посмотреть в какой последовательности выполняются циклы в написанной программе и какие значения переменных в них, то встроенного отладчика + сторонней системы логирования хватает.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: За что я люблю Lazarus.

Сообщение svk12 » 17.09.2010 12:44:50

Mr.Smart писал(а):
После вашего высказывания, мне ясно одно - вы не занимались "глубокой" отладкой :wink:


А в чём отличие "глубокой" отладки от, скажем, "обычной"?
Для меня отладчик - это средство разобраться, почему что-то не работает, или работает, но не так, как хотелось бы.
В этом смысле отладка в Лазаре мне показалась работающей не хуже, чем, например, в Дельфи-2007.
Зато сама среда намного менее требовательна к железу, чем дельфийская :).
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: За что я люблю Lazarus.

Сообщение zub » 17.09.2010 13:01:22

>>В этом смысле отладка в Лазаре мне показалась работающей не хуже, чем, например, в Дельфи-2007.
в последних версиях fpc отладка сильно подросла, теперь меня не парят постоянные сообщения про чтото там с this при попытке посмотреть значения полей (гораздо реже, с лету не смог воспроизвести чтоб вспомнить сообщение). но чтобы вычислить простейшие выражения приходится писать затычки скидывающие результаты вычислений в локальные переменные, - постоянные перекомпиляции, загаживание кода
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: За что я люблю Lazarus.

Сообщение Mr.Smart » 17.09.2010 13:05:45

Slavikk, svk12 значит вы не работали со средами имеющими действительно хорошие отладчики! К примеру: VS от мелкомягких!

zub согласен отладка стала намного лучше чем была, но как то не дотягивает. Всё же хочется не использовать всякие извращения во время отладки.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: За что я люблю Lazarus.

Сообщение zub » 17.09.2010 13:14:07

Mr.Smart
+1

Даешь в лазаре отладчик заруливающий делфовский и профайлер уровня aqtime!
>>Вообще, Lazarus - это программа... Любить надо людей.
Тогда придется завязывать любить людей и начинать любить лазаря... :lol:
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: За что я люблю Lazarus.

Сообщение stikriz » 17.09.2010 14:17:03

zub писал(а):Даешь в лазаре отладчик заруливающий делфовский и профайлер уровня aqtime!

Самый лучший отладчик в VBA :-)
Не только поменять переменную, но и в пределах блока можно поставить курсор куда угодно и начать с другого места.
Вот это отладчик ! :-)
А тут... До Дельфи далеко, однако...
А то, что стал лучше - это спорно. В windows 7 64 бит все время глючит, да и сразу хрен еще работает. И не все опции поддерживает.

Добавлено спустя 2 минуты 16 секунд:
Slavikk писал(а):я не представляю монстра который вобрал бы в себя и IDE + хороший профайлер (ибо будет монстр).

Оно уже монстр. И еще надо разобраться что есть монстр. При теперешних дисках, оперативке, адресации менее всего думаешь о том, что что-то есть монстр.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

Рейтинг@Mail.ru