OberonCore
https://forum.oberoncore.ru/

Плюсы и минусы Лазаруса и Блек Бокса
https://forum.oberoncore.ru/viewtopic.php?f=27&t=4907
Страница 2 из 3

Автор:  Борис Рюмшин [ Воскресенье, 12 Январь, 2014 20:48 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
...Нужен удобный инструмент сравнения кода, мержа, версионирования, речью и т.п.

Пётр Кушнир писал(а):
Пора уже внутрь движка форума встроить специальный смайл, что-то типа
Код:
:опять двадцать пять:

Это точно.

Автор:  Иван Кузьмицкий [ Воскресенье, 12 Январь, 2014 21:14 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Jordan писал(а):
Главное преимущество, это визуально шлёпать виджеты на форму.
В BlackBox виджеты тоже легко "нашлёпываются" на формы.

Madzi писал(а):
Для коллективной работы нужны инструменты коллективной работы (спасибо кэп). Нужен удобный инструмент сравнения кода, мержа, версионирования, речью и т.п.
Диффы и SVN являются неотъемлемой частью архитектуры Lazarus'а, я правильно понимаю?

Если же инструменты коллективной работы внешние, а Lazarus с помощью дополнительных примочек интегрируется в какой-нить GIT или багтрекер, то это лишь вопрос дополнительных примочек. Ровно то же самое можно проделать и с BlackBox, расширив его нужными компонентами. Тогда получается, что дело не в BlackBox, а просто в недостающих компонентах, которых нет в стандартном комплекте. А вопросы комплектации чисто технические, чего их обсуждать...

P.S. Недопонял, что за "речью" такое... Не могу прочитать...

Автор:  Александр Ильин [ Воскресенье, 12 Январь, 2014 21:16 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Иван Кузьмицкий писал(а):
P.S. Недопонял, что за "речью" такое... Не могу прочитать...
Ревью.

Автор:  Иван Кузьмицкий [ Воскресенье, 12 Январь, 2014 21:22 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Александр Ильин писал(а):
Иван Кузьмицкий писал(а):
P.S. Недопонял, что за "речью" такое... Не могу прочитать...
Ревью.
А, спасибо. Ну, коллективная инспекция кода дело хорошее. В общем-то, никто не мешает сотворить соответствующий компонент для BB - а это опять же вопрос комплектации.

Автор:  Jordan [ Понедельник, 13 Январь, 2014 12:40 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Евгений Темиргалеев писал(а):
Сергей Сибиряков писал(а):
Евгений Темиргалеев писал(а):
Если, например, сравнивать в лоб готовый автомобиль и завод по конструированию и изготовлению автомобилей, то конкретный автомобиль лучше --- на него сразу сел и поехал. Только какая польза от такого сравнения?

Интересное сравнение.
Можно ли, исходя из него, лазарус сравнить с готовым продуктом для потребителя, а ББ с комплектом технологий для изготовления готовых продуктов?

Если да, то тогда получается, что лазарус больше подходит для индивидуальной работы, а ББ для коллективного труда. Или я слишком буквально понял это сравнение?
Сравнение Вы поняли совершенно правильно. Для ББ можно наработать компонентов, довести его до функционала Лазаруса, но в основе останется всё тот же ББ. А Лазарус переделать до технологического уровня ББ нельзя. Переделанное уже по сути не будет Лазарусом.

Насчёт коллективной работы я не думал, когда приводил сравнение...


Ядро Лазаруса, компилятор free pascal. Для ББ Лазарус будет как внутренний компонент, для компилятора free pascal, как внешняя программа. Противоречий нет. Взаимодействие происходит внутри среды ББ без внешнего порождения кода, то есть всё работает в памяти. Лазарус же порождает с помощью компилятора код, и компилирует его, после чего запускает.

Программа работает не в среде Лазарус, а в среде windows.

Автор:  Jordan [ Понедельник, 13 Январь, 2014 12:47 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Понятно, что той динамики как в ББ, нет. Вопрос другой, а так ли нужна она. Если главный довод работы программы в среде, то ББ без вариантов. Если устраивает, что программа будет работать на оси, без прослойки ББ, тогда Лазарус.

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

Автор:  Jordan [ Понедельник, 13 Январь, 2014 12:52 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Иван Кузьмицкий писал(а):
В BlackBox виджеты тоже легко "нашлёпываются" на формы.


В Лазарусе виджетов по богаче будет. Нашлёпать правильных циклов, можно и на ужасном С++. Главное не только наличие средств, но и разнообразие.

Автор:  Иван Кузьмицкий [ Понедельник, 13 Январь, 2014 12:56 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Jordan писал(а):
В Лазарусе виджетов по богаче будет. Нашлёпать правильных циклов, можно и на ужасном С++. Главное не только наличие средств, но и разнообразие.
Насколько я помню, у Лазаруса была такая фича, как использование компонентов из Дельфей. Разнообразие, конечно, решает - вот она, извечная тяга к халяве. Я в хорошем смысле, халява снижает издержки. Если халявы много (особенно, если какая-нить Sun подсуетилась и подкинула тонны бесплатных компонентиков), то это является решающим фактором выбора инструмента.

Автор:  Madzi [ Понедельник, 13 Январь, 2014 14:05 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Попробую донести свою мысль ещё раз.

ББ имеет ярко выраженные индивидуальные черты. И дело не в настройках среды и компонентах. По сути два разных проекта в ББ - это два разных ББ.

В Лазаре всё более безлико. Настройки - просто настройки и два разных проекта - просто два разных проекта. Из-за этого команде разработчиков проще работать с безликой средой Лазаря, чем прийти к консенсусу настроив ББ единым образом и единым образом работая в нём.

Даже если раздать всем разработчикам единую исходную версию ББ, то уже через пару недель это будут совсем разные ББ.

Автор:  Иван Кузьмицкий [ Понедельник, 13 Январь, 2014 14:12 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
Даже если раздать всем разработчикам единую исходную версию ББ, то уже через пару недель это будут совсем разные ББ.
Я-то мыслю в другом ключе. Сотня-другая модулей на проект, распределённые по команде разработчиков, объединяются в одном репозитории, всё это дело проверяется тестерами, собирается в пакет и обновление отправляется клиенту.

Автор:  Madzi [ Понедельник, 13 Январь, 2014 14:53 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Иван Кузьмицкий писал(а):
Madzi писал(а):
Даже если раздать всем разработчикам единую исходную версию ББ, то уже через пару недель это будут совсем разные ББ.
Я-то мыслю в другом ключе. Сотня-другая модулей на проект, распределённые по команде разработчиков, объединяются в одном репозитории, всё это дело проверяется тестерами, собирается в пакет и обновление отправляется клиенту.

Попробуйте представить процесс разработки детально, и какие специалисты для этого будут нужны.

Первая сложность нас поджидает на этапе проектирования.
В случае ББ нам нужно чётко разбить проект на подсистемы/модули и выделить каждому разработчику свой модуль.
Реально начинают писать код ещё не имея чёткого видения разбиения структуры. Потому что заказчика не интересует мыслительный процесс, его интересует "посмотреть, чем занимался это время программист", и постановка задачи может "уточнятся" (с точностью до наоборот), что потребует переразбиения на модули.

Вторая сложность - тестирование сборка.
Кто будет собирать "финальную" версию продукта, тестировать его и поставлять заказчику. В случае Лазаря этим может заниматься система CI + тестеры, которые могут совсем не разбираться в программировании. В случае ББ тестеры должны владеть средой на уровне программиста (хотя бы начинающего), + автосборка не пройдёт. Соответственно в случае ББ требуемая квалификация специалистов выше (соответственно больше расходы заказчика).

Автор:  Иван Кузьмицкий [ Понедельник, 13 Январь, 2014 18:51 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
Попробуйте представить процесс разработки детально, и какие специалисты для этого будут нужны.

Первая сложность нас поджидает на этапе проектирования.
В случае ББ нам нужно чётко разбить проект на подсистемы/модули и выделить каждому разработчику свой модуль.
Реально начинают писать код ещё не имея чёткого видения разбиения структуры. Потому что заказчика не интересует мыслительный процесс, его интересует "посмотреть, чем занимался это время программист", и постановка задачи может "уточнятся" (с точностью до наоборот), что потребует переразбиения на модули.
Не сказал бы, что это очень уж большая сложность, тем более присущая именно ББ. Если речь идёт о жёсткой модульной структуре, то разбивка на модули не особо влияет на структуру проекта, надо сказать. В основном, на модули мы разбиваем для того, чтобы чётче отделить абстрактные слои от их реализаций - это раз. Кроме этого, существует ряд типовых решений, для которых существуют свои модульные комплекты - это два. Выкинуть одни модули и заменить их другими? Да никаких проблем. Это же модульная система. Представьте конструктор Лего - там тоже самое.

Madzi писал(а):
Вторая сложность - тестирование сборка.
Кто будет собирать "финальную" версию продукта, тестировать его и поставлять заказчику. В случае Лазаря этим может заниматься система CI + тестеры, которые могут совсем не разбираться в программировании.
Нажать кнопку "Сделать мне сборку" и отослать результат тестеру? Есть такое.

Madzi писал(а):
В случае ББ тестеры должны владеть средой на уровне программиста (хотя бы начинающего), + автосборка не пройдёт.
не стоит взваливать на базовый каркас ББ функции, реализуемые в расширениях. Всё, что вам нужно, легко добавляется к каркасу - любые запросы.

Madzi писал(а):
Соответственно в случае ББ требуемая квалификация специалистов выше (соответственно больше расходы заказчика).
Точнее сказать, в случае отсутствия требуемых компонентов. Что верно и для Лазаруса.

Автор:  Madzi [ Понедельник, 13 Январь, 2014 19:16 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Только два возражения.
1. Где кнопка "Сделать мне сборку" ?
(Её нет, и для того чтобы она появилась и работала необходимо затратить время разработчикам)
2. В случае Лазаря мы имеем нативное приложение, которое может тестировать любой anykey-щик, а в случае ББ мы имеем приложение внутри ББ, тестированием которого может заниматься только человек знакомый с ББ.
(Конечно можно потратить ещё время разработчиков на скрип сборки нативного *.exe, и пересобирать его после каждого чиха, что у Ларазя будет делать автоматом CI типа Jenkins, только это дополнительные затраты времени разработчиков)

Автор:  Иван Кузьмицкий [ Понедельник, 13 Январь, 2014 19:34 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
Только два возражения.
1. Где кнопка "Сделать мне сборку" ?
(Её нет, и для того чтобы она появилась и работала необходимо затратить время разработчикам)
2. В случае Лазаря мы имеем нативное приложение, которое может тестировать любой anykey-щик, а в случае ББ мы имеем приложение внутри ББ, тестированием которого может заниматься только человек знакомый с ББ.
(Конечно можно потратить ещё время разработчиков на скрип сборки нативного *.exe, и пересобирать его после каждого чиха, что у Ларазя будет делать автоматом CI типа Jenkins, только это дополнительные затраты времени разработчиков)


1. Кнопка в компоненте-обновляторе, что сделал Пётр. Лазарус ведь тоже не с потолка упал, кто-то на него время потратил :) Речь ведь не о том, что можно сделать (в расширяемой системе можно, наверное, почти всё - этот вопрос малоинтересен), а что нельзя принципиально - это куда интереснее.

2. Мы ставим тестеру сразу весь комплект, а обновления накатываем отдельными пакетами. Собирать каждый раз .EXE нужды нет.

Автор:  Пётр Кушнир [ Понедельник, 13 Январь, 2014 19:35 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Можно понять тягу к халяве, но зачем так уж нагло обвинять сообщество в том, что оно мало работает? :)
Это в NodeJS инвестиции текут, как весенняя Волга, а у нас тут не Долина.

Автор:  Евгений Темиргалеев [ Понедельник, 13 Январь, 2014 20:30 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Jordan писал(а):
Понятно, что той динамики как в ББ, нет. Вопрос другой, а так ли нужна она.
Чтобы рассуждать на эти темы, нужно иметь хороший опыт. Можно нарабатывать свой, но быстрее поучиться у тех, у кого он уже есть. Лично я за последнее.

На мой взгляд ответ на вопрос даётся в статье Вирта Долой "жирные" программы (http://oberoncore.ru/library/wirth_a_pl ... n_software). Чтобы лучше воспринять материал этой краткой статьи предварительно стоит внимательно прочитать Проект Оберон (http://oberoncore.ru/library/wirth_gutk ... d_compiler).

Автор:  Евгений Темиргалеев [ Понедельник, 13 Январь, 2014 20:31 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
Только два возражения.
1. Где кнопка "Сделать мне сборку" ?
...
Присоедниюсь третьим: где кнопка http://button.dekel.ru/ ?

Автор:  Madzi [ Понедельник, 13 Январь, 2014 20:55 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Пётр Кушнир писал(а):
Можно понять тягу к халяве, но зачем так уж нагло обвинять сообщество в том, что оно мало работает? :)
Это в NodeJS инвестиции текут, как весенняя Волга, а у нас тут не Долина.

Я не обвиняю сообщество.
Как мне кажется мы тут пытаемся понять почему популярен Лазарус и непопулярен ББ у рядового разработчика.
Неужели этот вопрос не интересен сообществу?

Просто ПОКА у ББ нет своей ниши в мейнстриме и он ПОКА ещё не готов к "конвеерному" программированию.

Автор:  Пётр Кушнир [ Понедельник, 13 Январь, 2014 20:58 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Евгений, да у вас даже кнопка НЕ НА ОБЕРОНЕ!!!

Автор:  Пётр Кушнир [ Понедельник, 13 Январь, 2014 21:07 ]
Заголовок сообщения:  Re: Плюсы и минусы Лазаруса и Блек Бокса

Madzi писал(а):
Просто ПОКА у ББ нет своей ниши в мейнстриме и он ПОКА ещё не готов к "конвеерному" программированию.

Ну давайте теперь его вообще не будем использовать, он же НЕ ПОПУЛЯРЕН у армии отставных дельфистов. Использовать не будем, а компоненты сами вырастут, оттестируют себя, и разместят в публичных репозиториях.

Страница 2 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/