LINUX.ORG.RU

Lazarus пока не двигается


0

0

Ну, есть у нас FreePascal. Вроде, все готово для работы с Delphi. Скачал я как-то аналог VCL - LCL от Lazarus. Недостатков слишком много, продвижения пока не видно.Сейчас смотрю - ничего нового на сервере. Ну, паскалисты, надо же, наконец, сделать нормальную среду программирования. Сам я посмотрю, что можно сделать, но что могу я один?

>>> Подробности

> Ну, есть у нас FreePascal. Вроде, все готово для работы с Delphi.
> Скачал я как-то аналог VCL - LCL от Lazarus. Недостатков слишком
> много, продвижения пока не видно.Сейчас смотрю - ничего нового на
> сервере. Ну, паскалисты, надо же, наконец, сделать нормальную среду
> программирования. Сам я посмотрю, что можно сделать, но что могу я
> один?

Посмотрел я сейчас сайт Lazarus... по подходу кажется, что проект дохлый :( Мертворожденный. Почему я так считаю? Хотя бы потому, что у них прям на титульной странице в TODO списке TOleContainer (???!). Это в линуксе-то... Хоть бы TObjectContainer обозвали, что-ли...

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

Очевидна попытка просто слизать у борланда _всё_, включая ошибки и неудобства. Такое обычно заканчивается плохо, взять хоть попытку сделать бесплатный дельфи для виндов - WinPascal, всё на том же FreePascal. Без слёз смотреть нельзя.... вперемежку со смехом.

Люди хотят прославиться, у них нет желания помочь тебе писать программы быстро и удобно. Всё, что у них есть - это FreePascal.

По-моему больше пользы будет забить на GPL-ность и просто писать компоненты для кайликса, если хочешь реально людям помочь.

Dimentiy ★★
()

Давно и успешно применяю Паскаль в АСУ ТП. (Для тех, кто в танке: АСУ ТП - это RealTime, Enbedded, Fault-Tolerance, Networked и т.д. свойства программного обеспечения). Ну не хочу я знать ТОЛЬКО язык программирования или ТОЛЬКО операционку! Мне нужно знать еще и прикладную область, специфику применения распределенных вычислительных систем в моей области! Знать нужно ВСЕ! Специфика применения, например, такая: программу нельзя перезапускать годами, а полностью проверить ее можно только на живом объекте (например, на коксовой батарее), причем во время проверки ошибки недопустимы. Надежность и простота инструмента - прежде всего. Следующая специфическая особенность: заказчик почти всегда хочет самостоятельно модифицировать программное обеспечение. Но этот заказчик совсем не похож на программиста (то есть ни капельки). Он знает, как готовится кокс, как варится сталь, как качается нефть и т.д. Какие мои действия? Выход я (как главный специалист фирмы) нашел следующий: - для разработки ПО АСУ ТП применять САПР, с помощью которой специалисты в области АСУ ТП, а позже и пользователь-технолог описывают управляющие алгоритмы (на языках из стандарта IEC-61131.3) и которая (САПР) генерирует программы на выходном языке, а также документацию к ним; - в качестве такого выходного языка взять простой и понятный язык, максимально защищенный от ошибок. Я выбрал Паскаль; - на этом же языке написать Run-time как надстройку над операционной системой: средства обеспечения работы в реальном времени, специализированные драйверы аппаратуры и коммуникаций и т.д (учитывая рекомндации IEC-880). Между прочим, и Linux, и Oberon имеют отличные характеристики с точки зрения применяемости в таких системах, но пока приходится пользоваться DOS и WinNT, о чем и жалею. Может, решать проблемы инструментария подобным образом и в других прикладных областях? Или больше нигде не нужно надежное ПО? Или никто из заказчиков больше не хочет сопровождать и развивать свои программы? Или программистам важно не достижение конечного результата, а бесконечное копание в миллионах строк своих и чужих исходников? Sorry for wide thoughts. Тарас Р.

tarasryb
()

Во-первых, куда делись мои сообщения? Во-вторых, Паскаль тоже поддерживает ООП и я могу там ТАКОЕ накрутить. Хотя, плохо, что, скажем, неплохая и пока единственная стабильная система, позволяющая создавать Х-приложения XForms как раз не поддерживает ООП. Жаль...

FoodTechnologist
() автор топика

Сорри, сообщения нашлись. 1. Невозможность перегрузки процедур и функций Вообще-то, FreePascal это позволяет. Что до Lazarus, там, действительно, слишком сильно замахнулись... И также остановились. Что касается TOleContainer, то здесь, я думаю, следует поставить простой его эмулятор... А эмулировать его надо, его в виндах проги используют только так. Ничего этот псевдоOLE делать не будет (можно заставить картинку импортировать). Но что действительно актуально, так это ресурсы. Их в Линукс просто нет Я пока (для себя) сделал как: параллельно записываю то, что вместо ресурсов в этот lfm-файл (аналог dfm) (что и делает Lazarus) и в обычный inc-файл, который имеет соотв. метод. АСУ ТП на Паскале: Вообще-то, мой отец лет 15 назад этим занимался. Неплохую систему сделал по управлению земснарядом. Правда, я сам далек от автоматики Что касается заказчика, то чаще всего ему надо просто исполняемый файл (если это, конечно, не заказчик системного ПО). Ему и исходник-то ГПЛ-овский нужен как рыбе зонтик. В принципе, государство может обойтись без авторского права вообще. Для РФ достаточно отменить недействующий закон (вообще, его нужно или отменять, или заставить соблюдать, что почти одно и то же, т.к. для этого все равно придется давить на тех, кто продает ПО по нереальным ценам. Программа в принципе (без носителя) не должна быть дороже буханки хлеба. Тогда пиратство станет невыгодным в принципе). Потом можно из того же бюджета финансировать проекты (в т.ч. ГПЛ) (вместо тех денег, что надо тратить на защиту прав). А что до всяких коммерческих тайн, они - только проблема соотв. компаний. Упустили свой секрет - сами виноваты. В государстве тайна - то, что выше ДСП.

FoodTechnologist
() автор топика
Ответ на: комментарий от lb

lb>Ну и главное, ГПЛ запрещает какие либо гарантии, что крайне насторожит любого пользователя. Покажите мне хоть одну фирму производитель массового ПО у которой в лицензии не написано про отсутсвие гарантий и ответственности. Впрочем, чтоб прочитать лицензию коммерческого ПО, надо, как правило, его купить.

anonymous
()

...А насчет того, что в паскале можно ООП, то в клиппере (перед его кончиной) появилась (правда не от CA) библиотека, при помощи которой я благополучно делал ОО вещи. (Писал библиотеки классов и применял в создаваемом продукте). И что теперь, операционку на клиппере писать надо? А для своих задач очень хорошая вещь была (Клиппер имею в виду)

anonymous
()

...Покажите мне хотьодну фирму производитель массового ПО у которой в лицензии не написано про отсутсвие гарантий и ответственности.
QNhttp://www.qnx.com
Дял embedded OS это нормальное дело -- гарантии. Да и во времена w3.11, когда появился 32bit DiskAccess, было такое, что он гробил данные на винте. Дык вот ряду компаний M$ выплатил некоторую компенсацию за потери данных (в судебном порядке).

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

> Программа в принципе (без носителя) не должна быть дороже буханки
> хлеба. Тогда пиратство станет невыгодным в принципе)

Ага, я буду год писать программу, чтобы потом продать её 200 экземпляров, и получу за это 200 буханок хлеба... Спасибо. Это ЗОНА, а я туда не тороплюсь.

> Потом можно из того же бюджета финансировать проекты (в т.ч. ГПЛ)

Это с какой стати чужие деньги в пользу кого-то перераспределять?

Пипл, когда начинается коммунизм, распределитель ездит на горбе работника. Всегда.



Dimentiy ★★
()

Все что тут написали про языки для СИСТЕМНОГО программирования - не по теме. Недостаток Delphi и всех подобных визуальных конструкторов приложений независимо от языка (C++Bulider, JBuilder, VB, etc.) - их громоздкость и негибкость. Они облегчают построение интерфейса, но лишь на первом этапе, вдобавок привязывают к одному инструменту и платформе. Громоздкие компоненты, где в одну кучу свалены интерфейсы к ОС, СУБД и собственно визуализация, трудно переносимы. Когда в программу нужно вносить существенные изменения, манипулировать визуальными объектами неудобно (наследование не спасает), работать с текстом гораздо удобнее, если только язык соотвествует задаче. Ни Pascal, ни C/C++, ни Basic не предназначены и неудобны для программирования интерфейса и визуальные конструкторы - это костыли, помогающие кое-как все же решать на них реальные задачи. Оптималным для заказного и in-house прикладного программирования мне кажется интерпретируемый язык (лично я использую Tcl/Tk, но это не принципиально), позволяющий вместо рисования (или наследования) множества формочек сделать скрипт, генерирующий все нужные формы динамически, легко изменяемый, настраиваемый и переносимый.

anonymous
()

Ну, если вы 200 программ распространите, то не много и получите. А если вы 2000000 программ пустите (что для ОС вполне реально), то получите немалые деньги. Что касается того, у кого отнять, все равно сейчас отнимают у кого-то. Деньги найти можно. В крайнем случае, можно стоимость ПО перенести на Hardware.

FoodTechnologist
() автор топика

Про интерпретаторы: да, они, действительно, более портируемы. Но их просто невозможно использовать, когда в программе, помимо интерфейса, имеется выполняется множество расчетных операций (математических ли, визуальных (3D) ли). Можно, конечно, представить их в виде разных блоков, но тут есть проблемы: 1) неудобно таскать разные блоки в разных файлах. Для юзера нужен один исполняемый файл (крайне желательно) и несколько настроечных. Иначе - вводи механизмы инсталляции/деинсталляции и все равно будут проблемы. Я уж не говорю о подгрузке и т.д. 2) необходима эффективная связь между интерфейсом и кодом. Вот, по-моему, что-то типа Delphi нам и нужно: портировать такое ПО не сложнее VB, WinAPI многие программы не используют, это "дурной тон". Для тех, кто их использует, можно подключить Wine или что-то вроде.

FoodTechnologist
() автор топика

Про дурной тон, это точно. Этим Bagland VM как раз очень славится...
Кстати, никто не наталкивался на очередную необходимость перекомпиляции всех BP и Delphi проектов в связи с выходом нового процессора?
А на счет АПИ... Ну да, для хорошей математической задачи или 3D плохой тон использовать функции сопроцессора. Надо нагородить VCL ;-)

Да кстати, кто-нит видел вышедшую из-под дельфи программу превышающую уровень студенческого курсовика на 1-м курсе? Ну или хотя-бы что-нибудь побольше чем телефонный справочник на 10 записей с интерфейсом а-ля Ворд2000 ?

lb
()

Да видел и писал.
Система геологоразведки.
Довольно сложная:)

kirill_s
()

>Да кстати, кто-нит видел вышедшую из-под дельфи программу превышающую уровень студенческого курсовика на 1-м курсе? >Ну или хотя-бы что-нибудь побольше чем телефонный справочник на 10 записей с интерфейсом а-ля Ворд2000 ? Я видел "The Bat" называется Алексей

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

2FoodTechnologist:

>Программа в принципе (безносителя) не должна быть дороже буханки хлеба.

Молодой человек, а имеете ли Вы представление о стоимости проекта как,
к примеру, Aduva Director? (www.linuxqa.com)


Ц уважением,

omerm
()

Студенческий "курсовик" я написал на BPW 7. А проги неплохие на Delphi/Lazarus можно найти. Пример: сама Delphi. Я тоже некоторые делал/аю Что касается стоимости проектов, то тут дело затруднительное. Во-первых, почему лицензионные игры имеют реальную цену? Во-вторых, можно выделить три типа программ: первый - распространенные прогрмаммы (ОС, нек. игры и т.д.), второй - программы, разрабатываемые на заказ (после выполнения заказа их, в принципе, можно делать бесплатными - все равно они мало кому нужны) и бесплатный софт, который держится на энтузиазме. В нашей стране требовать за первый тип программ большие деньги - это идти на поощрение пиратства. Это то же самое, что оставить на дороге кошелек, полный денег, и написать: "Не трогать! Частная собственность" Какая вероятность, что кошелек будет лежать там через неделю? Так вот, фактически ПО продается пиратам для перепродажи. Этого быть не должно, это дискредитирует закон вообще (если закон везде нарушается, то его можно нарушать, если этот закон можно нарушать, почему бы не нарушить другие). Поэтому эту проблему стоит повесить на фирмы-производители ПО. Еслы Вы не можете обеспечить реальность выполнения закона, его стоит отменить.

FoodTechnologist
() автор топика

Нет. Тут вопрос "диктатуры закона".
У нас в стране, к сожалению, престижнее украсть чем купить. Зачастую даже не зависимо от стоимости.
Некоторое время лично я занимался написанием систем "под заказ". Так вот, приблизительно в 15% случаев, мне приходилось прибегать к помощи соотв, служб .
Кчему я это -- да к тому что пиратство будет процветать до тех пор, пока в нем будет спрос.
Для примера. Покупать _фирменный_ дистрибутив Линуха с учетом стоимости пересылки стоит столько-же, сколько купить его "на толчке". Так вот, народ во всю покупает на толчке зачастую _паленые_ дистрибутивы (например, BC62 с "толчка" ну, э-э-э явно не соответствовал тому что в поставке от IPLabs).

А если разовый "заказной софт", то любой образованный юрист не разрешит программеру продавать (распространять под GPL) софт, разработка которого оплачена заказчиком. Эти вопросы, как правило четко обсуждаются в договоре.

А на счет пиратов и перепродажи им софта, тут другой вопрос. Взять к примеру 1C. Я очень давно не видел пиратских копий в продаже, зато видел как $бут продавцов за это дело. А майкрософтовского софта на ПСД -- навалом. Из этого у меня только один вывод -- бесплатный сыр бывает в мышеловке. И когда нибудь M$ заставит нас всех платить деньги за его софт. Вот тогда и поговорим на счет приоритетности лицензий.

Ну и в добавок приведу в пример Германию. Я своими глазами видел ~20 штук PII/300/64M ОЗУ под _DOS_. Потому что фирма не могла себе позволить купить более современный софт. Просто потому что там _не_принято_ воровать. Вот вам и объяснение столь великой популярности Linux/BSD в германии. Что будет у нас -- не знаю. Но надеюсь дожить до тех времен, когда высказывания типа "купим на толпу 1 экз, а за тем размножим" будут столь-же неприняты как и мат при женщинах.

lb
()

Лично мне кажеться, что Фри Паскаль - мертвая идея. В следующем году Борланд выпустит Сю под Линукс, а уж потом и Дельфю. Да, потом пойдут крики, что Борланд сакс и чё Дельфи ес-нно платный, но наши пользователи переживут :-)
Насколько я понял, идея Фри Паскаля - создания языка, проги на которых компилятся на каждом компе. Это не позволит программерам воспользоваться преимуществами каждой системы.
Лично мне больше нравится идея ВБ под линукс. Многие считают, чё ВБ - это отстой, интерпритатор, ничего не умеющий язык, но это не так. В Винде на нем можно писать проги почти также, как и под Дельфей (хотя, иногда немного гемморойней). Но я всё-таки больше люблю Вб, хотя иногда пишу АктивХ на Дельфе (в тяжелых случаях).
Так вот, к чему это я. Я ситаю, чё Линуксойдам следует просто повторить и расширить Винду. Следует создать единые отличную визуальную оболочку (типа как в ВБ или в Дельфе), в которой можно будет создавать программу на одном или нескольких языках одновременно (часть кода на бейсике, часть кода на паскале, часть - на Си,Перле и.т.п.). Конечно, надо будет писать новый компилер, но после такого продукта, я перейду на Линукс :-)

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

2anonymous:
>Конечно, надо будет писать новый компилер, но после такого продукта,
>я перейду на Линукс

"Сделайте мне винду под линуксом и я перейду на линукс"
Зачем же такие жертвы, уважаемый? Мы ж не злые, живи себе под виндой!

Led.

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

когда M$ заставит Это может случиться. Но тут будут проблемы, большие проблемы. 1) M$ можно уличить во многом 2) КТО будет контролировать эти выплаты? МВД? Так, думаю, и у нек. из них может быть пиратское ПО. Многие об этом не знают. 3) M$ сотрудничает со спецслужбами США, у РФ же отношения с ними ухудшаются ("Россия и Китай не являются нашими партнерами"). "Друг моего врага мой враг. Враг моего врага (пират) мой друг", получается так. 4) КТО может заплатить и кого можно заставить это сделать? 1 % юзеров максимум. Если уж солидные магазины торгуют пиратским софтом (и он выглядит иногда как лицензионный), то что уж говорить... Наказать можно пиратов, но как раз ОНИ и являются покупателями законного софта. Кто купит софт M$? а)новые русские, которым все равно, что купить... б)нек. организации. в)разработчики ПЛАТНОГО ПО. Ну, М$ может разобраться с инетовцами сама, но это будет крах для нее. Вообще-то, программы GPL могут подхватить эстафету M$, если она упадет. При большом желании можно пользоваться LINUX вместо M$. И возродятся настройщики ПО. А скандал будет большой, если вдруг безопасность пользователей исчезнет. Этого нигде не любят. А если (совершенно случайно) пострадает законный пользователь (а это случится), то мало не будет. Хакеров же в РФ предостаточно, если их попросит, они найдутся и сделают все, что надо.

FoodTechnologist
() автор топика

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

Конкретно, что не нравится в идее имитации продуктов Borland:

1) Использование в программах "дивных" расширений языка от Borland
в перспективе может привести к непереносимости программ и зависимости
от конкретного инструмента.

2) Сами по себе "расширения" от Borland (как Delphi, так и C++ Builder)
ИМХО пример как НЕ надо делать. Язык не должен быть похож на лоскутное
одеяло. Только один пример: сравните, насколько изящно выглядит обработка
исключений, когда есть автоматические деструкторы, и как мучительно трудно
написать ее правильно, когда их нет.

Это вопреки Unix-традициям.

--
Сергей Короп.

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

--ообщество сторонников свободного ПО вместо разработки новых, оригинальных программ и продвижения новых оригинальных идей ввязывается в бесконечную в принципе гонку...
Я про это и пытался сказать. *nix системы, ИМХО, для людей занимающихся своим делом профессионально, не ленящимся разбираться в своей области до тонкостей. Не даром ведь до появления Linux сообщество *nix занималось в основном САПР и NetAdmin.
Я не против того, чтобы Linux двигался в область Офисных ПК, где человеку проще сделать 10 раз плохо, чем 1 раз хорошо.
Пример такого подхода от Borland в этом форуме уже был -- есть программеры, которые готовые ~надцать часов просидеть в поисках готового компонента, чем за 15 минут своять свой.

Просто, на мой взгляд сообществу GPL стоит признать, что они могут выдавать великолепные идеи, неплохие их реализации. Но деньги будут грести другие ребята, типа БГ. И "тиражные" реализации будут только когда командовать парадом будет человек, неразу не написавший в своей жизни ни строчки программы.

lb
()

Проверка

anonymous
()

2FoodTechnologist:
Очень жаль, что у нас осталось ещё так много коммуняк, как Вы.
Вы не заметили, что проверки на лицензионный софт проходят в основном только в тех местах, где болванки дешевле больше, чем на 10-15 рублей, по сравнению с другими местами? Вы не заметили, что продукты одних фирм (преимущественно, из числа нескольких российских), попадаются в открытом доступе на пиратских развалах намного реже чем других? Типа "не пойман - не вор", получается.

2lb:
Более того, в Германии принято даже сообщать о тех окружающих, про которых известно, что они пользуются софтом при отсутствии лицензии на это. Например, на человека могут сообщить в полицию, даже увидев выкинутый пиратский CD. И это, IMO очень хорошо, т.к. сообщник должен сидеть в тюрьме.

2all:
Решил посмотреть, что пишут в тредах из Top 10 и ещё раз подтвердилось моё предположение, что активно в эти треды пишут только бездельники, получающие зряплату (или стипендию). :-( Эту бы энергию, да в GNU сообщество...

allter
()

>Да кстати, кто-нит видел вышедшую из-под дельфи программу >превышающую уровень студенческого курсовика на 1-м курсе? >Ну или >хотя-бы что-нибудь побольше чем телефонный справочник на 10 записей >с интерфейсом а-ля Ворд2000 ? Я видел "The Bat" называется. Алексей A vy videli studentov pishushih na Delphi tolstyh Oracle klientov razmerami ~50000 strok ishodnogo koda. Ja net. A projekt takoj est'. Tem bolee zhiv, zdorov, razvivaetsja. Ne ljublju povtorjatsja, da bol'no tema skol'zkaja: instrumentarij ne vazhen. A po povodu Myshi - pobol'she-by takih prog.

corvax
()

2 corvax:

> instrumentarij ne vazhen

"Границы моего языка --- это границы моего мира"

(c) Л. Витгенштейн (кажется)

--
Сергей Короп.

anonymous
()

The connection between the language in which we think/program and the problems and solutions we can imagine is very close. For this reason restricting language features with the intent of eliminating programmer errors is at best dangerous. - Bjarne Stroustrup in "The C++ Programming Language" The only way to learn a new programming language is by writing programs in it. - Brian Kernighan Подумайте об этом. Нужно просто чаще пользовать fortune(6)

GogaN
()

2 corvax: > instrumentarij ne vazhen "Границы моего языка --- это границы моего мира" (c) Л. Витгенштейн (кажется) -- Сергей Короп. "Vse bedy ot lukavogo..." (c) ne moj ;)

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

> Вот интересно ни я ни Irsi тут еще не высказывались, а про > MS и так разговор зашел... > PS 2lb: шаблоны спасут, как спасают шаблоны в TeX... Ты, блин попробуй подготовить тех. документацию в Ворде (руководство по эксплуатации + методику испытаний + ....) страниц 300, потом отформатируй по ГОСТу, потом попеределывай после замечаний нормоконтроля и если у тебя седина не появится - то ты андроид! Ворд конечно удобен сляпать ч-нибудь на коленке, но серьезный документ который потом будут читать не 2-5 человек, а хотя бы 20, ты в нем без геммороя не сделаешь.. rivares

anonymous
()

>>Очень жаль, что у нас осталось ещё так много коммуняк, как Вы. Есть единственный способ сделать их долю меньше: населить Россию иностранцами. Пора, наконец, понять, что русские никогда не станут сами американцами. Пусть они считают себя таковыми, но они останутся русскими. Или станут никем. Есть несколько черт русских (в т.ч. и пренебрежительное отношение к собственности, я уж не говорю про закон - он-то у нас не выполнялся вообще, а наказать можно и без закона) Факт: Россия не может существовать стабильно с приоритетом частной собственности над государственной (кстати, в царской России самым крупным собственником оставалось государство). Другой факт: Россия не может стабильно существовать без диктатора. Если с первым можно и смириться, то над вторым стоило бы поработать (но не так резко, как это сделал Горбачев), хотя, конечно, при условии 100% стабильности. Конечно, коммунизм для России такая же утопия, как и капитализм (или демократия) но цель-то нужна. Самодержавие, сталинизм - принцип один. Рано или поздно мы к подобному вернемся (и чем раньше, тем лучше - тем меньше богатства мы потеряем). Любой достаточно умный человек рано или поздно к этому придет (постепенно, конечно). А уж такая ситуация и может быть исходной для частичного смягчения. Россия могла выдержать некоторую экономическую свободу (15-20 % частной собственности от государственной), но пока политической свободы она не выдерживала (и сейчас не выдерживает, хотя свободы уже почти и не осталось, еще с 1993 года).

FoodTechnologist
() автор топика

оБУЮЕФ ВЙВМЙПФЕЛ ДМС РБУЛБМС ЧЩ ОЕ ЪБДХНЩЧБМЙУШ? дМС чуеи ВЙВМЙПФЕЛ ОХЦОП ВХДЕФ ДЕМБФШ bindings. б ЬФП ПЗТПНОЩК ЗЕНПТТПК.

anonymous
()

Для систем РЕАЛЬНОГО ВРЕМЕНИ главные недостатки Pascal и Oberon (точнее их вариантов/диалектов) по сравнению с Ada 95 и Modula 3 - отсутствие настоящих стандартов и поддержки в языке параллельных процессов. Якобы чрезмерная сложность Ады - миф, распростряняемый невеждами (Delphi и C++ ничуть не проще, просто они кривые и слабые). Сегодня есть прекрасный многоплатформный свободный компилятор Gnat (www.gnat.com), и довольно странно писать системы РВ на паскале, от которого давно отказался сам Вирт. Что касается традиционных воплей любителей Си, которым мешают "ограничения" языка, то плохому танцору...

anonymous
()

По поводу сообщения anonymous от 2001-01-12 09:37:59.0 (>Для систем РЕАЛЬНОГО ВРЕМЕНИ).

К сожалению, при выборе инструмента часто решающим является не наличие стандартов, а доступность определенных технологий (а также документации, библиотек и т.д.).

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

Очень часто выбор инструмента определяется ресурсами вычислительной системы, на которой будет работать разработанныя система (например, один из самых популярных контроллеров для АСУ ТП, применяемых в СНГ, имеет 386 процессор и 1 МБ памяти (имеется ввиду Octagon Systems 5025A), без сопроцессора ввиду отсутствия последних в индустриальном исполнении).

И если на таком контроллере каждые 20 миллисекунд нужно просчитывать с десяток ПИД-регуляторов, то у меня просто нет выбора. Насколько я знаю, только Borland Pascal имеет встроенную библиотеку вычислений с плавающей точкой, которая на ПОРЯДОК быстрее любого эмулятора сопроцессора.

И что вы скажете о времени переключения задач в 1.5 микросекунды? Именно такой показатель удалось реализовать на Borland Pascal (с использование встроенного ассамблера, разумеется) все на том же 386 25 МГц. Это потому, что были реализованы алгоритмы, необходимые именно ЗДЕСЬ, а не такие, которые мне предлагает стандарт по Аде.

Еще раз повторяю, такие решения приходится применять не от хорошей жизни. На западе эти проблемы решаются покупкой мощной платформы и специализированной операционки за $10000 и специализированной среды разработки за $20000.

tarasryb
()

Положение с АСУ ТП здесь конечно печально, но есть гораздо более общая и серьезная проблема, касающаяся всех стран и не только систем реального времени. Есть два подхода к практическому программированию - ремесленный (hacking) и инженерный (software engineering). Хакер, в отличие от инженера, замкнут на внутрицеховых интересах. В идеале он программирует лишь для себя и коллег и все его программы - игрушки. Поэтому он мыслит не от цели (цели заказчиков его не волнуют), а от доступных средств (железа, ОС, инструментов). Средствами он хочет овладеть (т.е. изнасиловать) и через это самоутвердиться. Отсюда любовь к ассемблерам (включая C и C++), желание "использовать все возможности" платформы и т.п. Инженер, напротив, идет от реальной цели и стремится к надежности, живучести программ. Самодисциплина (включающая грамотное использование типов и неуклонное стремление к независимости подсистем друг от друга и от платформы) - для инженера не самоцель, а способ сделать ясную, стройную, сопровождаемую, а стало быть живучую систему. Но начальникам и заказчикам это сегодня не нужно. Поставщикам выгодно делать программный (и не только) продукт ненадежным и недолговечным, требующим постоянного обновления или замены. На этом основана экономика всего мира (капитализм, социализм, ...изм, ...). Так что боссы и хакеры прекрасно дополняют друг друга и вместе тянут деньги с невежественных и недумающих заказчиков/пользователей. Настоящие инженеры становятся ненужными даже для разработки бортовых систем (надежные ракеты делать тоже невыгодно, хотя еще не все это поняли). Однако общество одноразовых продуктов не проживет долго, оно само одноразовое и скоро потребует замены. Глобальный кризис уже очевиден (перенаселение, исчерпание ресурсов, уродование и уничтожение природы). Так что инженеры еще потребуются, хотя возможно это будут уже не люди.

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

На счет плавающей точки в ПИД: все-равно ведь управление выводишь на ЦАП... Ну отмасштабируй регулятор до целочисленных констант, и не морочь голову. И тогда ты на 386 сможешь просчтитать раз в 10 больше регуляторов за то-же время.

Ну а если СУВУ тебе дает только плавающую точку, то проще иметь _одну_ процедуру преобразования данных от нее к регулятору и обратно, чем городить огород на 2-х операциях умножения ;-))

lb
()

to anonymous (2001-01-13 12:55:41.0)

> Есть два подхода к практическому программированию -
> ремесленный (hacking) и инженерный (software engineering).

Эволюция в живой природе (AFAIK) основывается на принципах
изменчивости и наследственности (и естественного отбора, для полноты
картины). По аналогии, хакерство представляет собой изменчивость, а
инженерия --- стабильность.

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

--
Сергей Короп.

anonymous
()

(В ответ на первоначальное письмо о Lazarus) Я думаю, ошибка Lazarus - в попытке воспроизвести Delphi. Невозможно догнать Borland, играя в его игру. Почему бы не сделать вместо Lazarus что-то более простое и в то же время более универсальное? Например, уже есть связь Free Pascal с GTK+, почему бы не довести ее до ума и добавить в Glade генерацию текстов на паскале (как это сделано для Ады, см. http://ada.eu.org/gtkada)? Или не сделать хорошую связку Free Pascal с Tcl/Tk (как в пакете TASH для той же Ады)? Или не сделать новый, простой и удобный визуальный конструктор (вроде HyperCard/MetaCard)? Эти проекты намного проще и для многих целей будут лучше громоздкого Kylix. В любом случае поддерживать совместимость с борландовскими (или иными) визуальными инструментами по мере изменения их версий - задача непосильная для некоммерческого проекта, поэтому и нет примеров таких проектов. Теперь собственно о Паскале. У Вас есть свободная воля. Если Вы действительно хотите писать на Паскале, пишите, никого не слушайте, это Ваша воля, ни одна сволочь Вам не сможет помешать (и помогать Вам я например не буду, свое мнение о Паскале уже писал). Но если Ваша цель - разбогатеть или просто быть как все, то бросайте Паскаль и учите C, C++, Java, C# или какую там еще мерзость полюбит толпа. Вы вольны делать все, только не можете совместить противоречивые цели. Желаю успеха.

anonymous
()

О НАСЛЕДСТВЕННОСТИ/ИЗМЕНЧИВОСТИ: не могу согласиться с Вашим сравнением. Все три фактора эволюции (наследственность, изменчивость, перенаселение) происходят стихийно, не осознаются самими участниками эволюции, и в этом все они подобны хакерству. В хакерстве не только присутствует наследственность, она преобладает, именно там технология программирования наиболее консервативна. Вспомним любимый язык хакеров - он мало изменился за 30 лет, даже с добавлением двух плюсов. Компьютер в сознании хакера - это и сегодня фоннеймановская машина с линейной памятью, ничто иное. Когда появятся принципиально новые аппаратные архитектуры, придется эмулировать на них старое железо, иначе не будет работать столь любимая хакерами адресная арифметика. Даже примитивный переход с системы команд IA32 на IA64 или с Windows на Linux на практике очень тяжел потому, что почти все программы непереносимы. Непереносимость - первый признак хакера, он не умеет и не хочет абстрагироваться от платформы. Так что хакерство - не локомотив прогресса, а его охвостье. Движение там есть, но, подобно тепловому, оно хаотично и никуда не ведет, лишь заполняет пустоты. Хакер хорошо соображает, как добиться ближних, мелких целей, но стратегических целей у него нет, так что на верхнем уровне он действует бессознательно. Деятельность настоящего инженера прежде всего осознанна и целенаправленна, а этому нет аналогов в эволюции животных. Поэтому точнее будет сравнить инженерию и хакерство не с наследственностью и изменчивостью, а с разумом и стихией, информацией и энтропией. Разумеется, Вы правы, необходимы и неизбежны оба начала. Но они должны быть в равновесии. Сегодня же повсюду преобладает энтропия. Возможно, это расплата за относительное благополучие 50-70-х годов, когда в программировании преобладал разум, уровень образования и культуры был несравненно выше. Программисты тех лет не понимали своего счастья и не берегли его. Тогдашние авторитеты погрязли в мелких междоусобицах (достаточно вспомнить злобные и неумные нападки Хоара и Дейкстры на Аду) и не заметили, как снизу поднялась темная стихия и поглотила их всех. Сегодна хакеры правят бал и менее всего нуждаются в защите. Они похожи на большевиков, например так же не владеют родным языком и изъясняются уродливым новоязом пополам с матом. А напоследок предлагаю подумать, захотите ли Вы со своей семьей подняться на борт самолета, зная, что бортовая система написана на Си вместо Ады.

anonymous
()

Давно не слышал таких споров, однако.
Чем мне нравятся инженерные решения -- они _формально_ требуют
подумать, а только потом писать и не код, а ТЗ.
Чем мне не нравятся инженерные решения -- достаточно часто все
продумать не получается, а поскольку ТЗ не только написано, но
и утверждено проект подобно Панургову барану тащет всех за борт.
Разработчик жестко связан стандартами, менять которые
можно только _после_ провала проекта и соотвествующих санкций.
Что касается переносимости, цена, которой она достигается часто
слишком высока. Я имею в виду не только #ifdef.
Чем мне нравятся хакерские решения -- они _не_формальны_ и
по этому очень адаптабельны и эффективны. В любой момент можно откатиться и пересмотреть дизайн. Можно даже сменить инструмент и
платформу.
Чем мне не нравятся хакерские решения -- они внезапно умирают не
оставив потомков, хотя некоторые все-же успевают привиться к GNU.
Их, как правило, нельзя использовать в корпоративных проектах, то есть
зарабатывать на сигареты и мороженное.
Стараюсь использоавть оба стиля, по месту, разумеется.

2tarasryb (*) (2001-01-12 11:26:27.0)
В свое время я зарабатывал АСУТП. Интерфейс делали на TurboBasic от
Borland, а то что нужно для реального времени на Tasm. Тогда же
_пришлось_ научиться писать fmult и fdiv для сопроцессора для
без-сопроцессора. Вспоминаю с содрыганием, однако если установка
чего-то стоит, то на управление ею купят все что надо. Лучше купить
1 мощный писюк на 8 станков и повесить карзину на выход, чем
плодить хилых уродцев.
С глубоким уважением к сообществу, Happy OldNew Year, Black Rabit.

BlackRabit
()

to anonymous (*) (2001-01-14 19:49:49.0)

Мне было очень интересно узнать Ваше мнение, в основных вопросах мы,
кажется, согласны, но вот ИМХО по некоторым мелочам. Прошу не
воспринимать это как попытку завязать флейм.

> Вспомним любимый язык хакеров
> - он мало изменился за 30 лет, даже с добавлением двух плюсов.

Не факт, что это любимый язык. Многие таковым считают Лисп. А Эрик
Раймонд в своей истории хакерства пишет (если не ошибаюсь) еще и о
"третьей волне" хакерства, воспитанной на MS-DOS+BASIC.

> Так что хакерство - не локомотив прогресса, а его охвостье.
Теперь моя очередь не согласиться. Возможно, мы по-разному понимаем
слово "хакер". Для меня это, выражаясь кратко, "перфекционист от
компьютерных наук". Другими словами, для меня "хакерство" это своего
рода специальный термин, обозначающий исследования в области
компьютерных наук. Результаты этих исследований не всегда дают
немедленную отдачу (некоторые вообще опережают свое время... слышали о
троичных компьютерах), во многих случаях избранный путь оказывается
тупиком... Для инженера оказаться в тупике --- непрофессионализм, для
ученого --- этап в его исследованиях. Кстати, довольно многие удачные
решения околокомпьютерных проблем были, ИМХО, найдены именно при
попытке создать нечто (язык, систему и т.п.) именно "под себя", а не
исходя из общих соображений некого "комитета по разработке и
стандартизации".

Что же касается стремления решить проблему максимально эффективно...
По Вашему, усилия Штрассена и остальных, которые упорно бились не над
"крупной инженерной задачей", а над примитивным алгоритмом умножения
матриц, и в конце-концов, таки понизили верхнюю оценку его сложности
с O(n^3) до O(n^{2.3}) (если не ошибаюсь) не стоили трудов?

> Деятельность настоящего инженера прежде
> всего осознанна и целенаправленна, а этому нет аналогов в эволюции
> животных.

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

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

Возможно, в этом Вы правы.

> Тогдашние авторитеты погрязли в мелких междоусобицах (достаточно
> вспомнить злобные и неумные нападки Хоара и Дейкстры на Аду) и не
> заметили, как снизу поднялась темная стихия и поглотила их всех.

Общая болезнь научного сообщества. Кстати, а что именно им не
нравилось, буду благодарен за ссылку (лучше в электронном виде, если
есть).

> А напоследок предлагаю подумать, захотите ли Вы со своей семьей
> подняться на борт самолета, зная, что бортовая система написана на Си
> вместо Ады.

Ну, Си в данном случае бояться не надо --- самолет просто не дорулит
до взлетной полосы :-) А если без шуток, то надежность обеспечивается
скорее не языком реализации, а на уровне проекта программной системы,
в частности --- наличием в ней средств динамического обнаружения и
устранения ошибок работы (да, представьте себе, видел я однажды такую
книжку, посвященную программированию АСУТП, в которой все было
написано на ассемблере, но в программе были своего рода блоки
"самотестирования", которые могли даже в автоматическом режиме
выявлять в программе ошибочные ветви). Но я предполагаю, что программы
на Аде все-таки надежнее, поскольку язык строже. Что же касается
надежности программ "в принципе", то единственная возможность получить
программу с надежностью, близкой к абсолютной, это ИМХО ее
верификация. А как Си, так и Ада суть языки императивные, не очень для
этого подходящие. (Если Вам известно полноценное аксиоматическое
описание семантики императивного языка, на основании которого можно
верифицировать программы, прошу поделиться информацией. Предупреждаю:
модели, описанные у Дейкстры, или же "игрушечные" языки типа Ecstatic
не годятся, ибо всех вопросов не решают.)

--
Сергей Короп.

anonymous
()

Верно, Delphi-совместимый проект слишком сложен. Но какая у нас альтернатива? Что нам надо? 1) ООП 2)Визуальность. Что у нас есть? XForms-нет ООП. Free Pascal + LCL-компоненты - нет реально работающего визуального конструктора форм. Я предложил уже http://www.ussr.to/Russia/vvi/Fd2lcl.tgz для исполь- зования FDesignerа под LCL. Что осталось? Довести до ума компоненты (не много уж), создать реально работающий конструктор и все! Альтернатив пока я не знаю (ООП + Паскаль + визуализация).

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

...Довести до ума компоненты...
Елки, это-ж надо было понять такой флейм, для того чтобы родить _единственную_ умную фразу....
Создайте свой VCL на функция GTK. Вам для этого из системы потребуется только dlopen/dlclose/dlsym. И поробуйте заставить этим пользоваться. Если получится -- создадите хорошую альтернативу Багланду.

lb
()

>>Создайте свой VCL на функция GTK. Как это ни смешно, это уже СДЕЛАНО!!! См. www.lazarus.freepascal.com Компоненты работают, на них даже умудрилисьтекстовый редактор как новый контрол с делфивского содрать!!! Не хватает только доработки (что-то можно легко сделать) и дизайнера не глючного. Они даже умудрились ресурсы типа DFM в линукс грузить!!! Ну, толку от этого никакого, пока мы эти DFM-ы не включим в IDE. А IDE еще далеко от завершения.

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

Да, VCL без IDE, да еще и с бинарными ресурсами....Прям дельфи 1.0 ;-)) Да и 5 не далеко ушла ;-))
Знаешь почему MFC лучше VCL? Потому что MFC -- интерфейс к API, а не его почти полная замена.

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

to: Сергей Короп
По адресу http://www.adapower.com/articles/popularity.html
находится обсуждение мнений, в т.ч. Хоара, об Аде. Вообще-то понятно,
почему Хоар, Дейкстра или Вирт не любили этот язык (и имели на это право).
Плохо, что в итоге ничто не было противопоставлено Си.

А понятие "хакер" Вы трактуете в первоначальном смысле, идущем из MIT,
тогда как я имел в виду его современный смысл (едва ли многие из людей,
называющих себя так сегодня, знают хоть один из диалектов Lisp).
Хотя, конечно, любое деление людей на категории условно.

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