Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » PowerBasic

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Удивительно, что на руборде нет до сих пор темы, посвященной одному из самых популярных в мире продуктов для программирования на Basic - PowerBasic-у.
По качеству кодогенерации не уступает многим С++ и Pascal компиляторам. Получаемые EXE и DLL файлы отличаются небольшим размером и высоким быстродействием. Компилятор оптимизирующий, однопроходной, с высокой скоростью компиляции. Размер генерируемых EXE файлов от 5 кбайт. Возможно создание стандартных EXE и DLL приложений. В дистрибутив входит также PowerBASIC COM Browser, позволяющий автоматически генерировать интерфейсы к COM серверам.
 
Достоинства:
- Не требуется никаких дополнительных DLL, весь код помещается в исполняемом файле.
- Поддержка COM automation, создание COM client/controller, возможность прямой работы с IUnknown/Dispatch Interface.
- Встроенные типы данных совместимые с Pascal и C (WORD, DWORD, POINTER, etc).
- Арифметика указателей, указатели на функции. Поддержка Events & Сallbacks.
- Инлайн ассемблер, с поддержкой плавающей арифметики и команд MMX.
- Поддержка Client/Server Network Communications - TCP/UDP for E-mail, FTP, etc.
- Создание многопоточных приложений.
- Возможность размещения переменных в регистрах процессора.
- Наличие препроцессора.
- Имеется отладчик.
 
Единственный реальный недостаток с которым я лично столкнулся, это какое бы то ни было отсутствие серьезной литературы на русском языке.
Официальный сайт: http://www.powerbasic.com
К PowerBasic есть отличный визуальный редактор/оболочка, отменно удобная, самое интересное, что визуально она один в один повторяет Visual Basic (6), даже в меню, поэтому тем, кто захочет мигрировать на PB c VB, это будет абсолютно привычная программная среда.
Официальный сайт редактора: http://planetsquires.com
 
Несколько ссылок на эту тему, правда, информация в некоторых немного устарела, продукт динамично развивается:  
http://www.vbnet.ru/articles/showarticle.aspx?id=203
http://www.vbnet.ru/articles/showarticle.aspx?id=210
http://www.vbnet.ru/forum/?forumid=10
http://bbs.vbstreets.ru/viewforum.php?f=23
http://www.powerbasic.narod.ru/
http://basicproduction.nm.ru/pbhome.htm

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 17:04 01-04-2009 | Исправлено: Kardinalli, 17:36 01-04-2009
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла новая версия продукта 9.01.

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 01:35 13-04-2009
kirmalex

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел книгу по граф. интерфейсу в Делфи. Если кому надо http://letitbit.net/download/5a573f637667/-----------GUI.djvu.html

Всего записей: 14 | Зарегистр. 03-04-2009 | Отправлено: 13:44 13-04-2009
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Причем тут Делфи???

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 16:07 13-04-2009
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kardinalli
PowerBasic - язык, весьма приятный в работе. Не в последнюю очередь это его свойство обусловлено энтузиазмом его пользователей, которые выкладывают на официальном форуме свои наработки по улучшению языка и разные полезные функции, а потом это все включается в очередной релиз. В результате PowerBasic имеет, к примеру, уникальные по удобству функции для работы с текстовыми переменными, которых нет в других коммерческих бейсиках, не говоря уже о бесплатном FreeBasic (хотя это во всех отношениях достойный продукт).
 
Что не очень хорошо - граждане проводят жесткую маркетинговую политику и не раздают пробных шароварных версий. Тут либо покупать, либо пользоваться варезом.
 
Вопрос о "качестве кодогенерации" весьма спорный. Неоспоримый факт, что получаемые экзешники очень малы. При этом компилятор умудряется выдавать весьма запутанный и непричесаный код (оптимизация-то практически никакая, компилятор однопроходной). Стало быть, скорость выполнения хромает. Чтобы не быть голословным, могу привести в пример простенький тест на скорость выполнения цикла. Статейка безбожно старая, но более новых я не нашел. В соответствии с полученными там результатами, PowerBasic по скорости ничуть не лучше последней не .NET-овской версии мелкомягкого Visual Basic 6.0, хотя в своей идеологии в свое время усиленно напирал на то, что переход с Visual Basic на PowerBasic поможет юзерам значительно ускорить их программы. С Visual Basic 4 и 5 это еще было правдой, а вот при сравнении с Visual Basic 6.0 стало понятным, что и сам PowerBasic не больно-то быстро работает. Согласно упомянутому тесту, коммерческий PureBasic, базирующийся на gcc, по скорости превосходит PowerBasic на голову, а бесплатный FreeBasic вообще оказался круче всех.
 
Пунктик "Не требуется никаких дополнительных DLL, весь код помещается в исполняемом файле" тоже требует своего пояснения. Если посмотреть на отчет компилятора после создания ЕХЕ-файла, некоторый объем программы занимает ран-тайм модуль, привариваемый к экзешнику. Т.е. PowerBasic не имеет постоянных ран-тайм модулей на все случаи жизни, обычно выводимых в DLL, а этот модуль формируется в соответствии с потребностями программы и линкуется с ней статически. Если бы он был оформлен в виде DLL, как у Visual Basic, то PowerBasic работал бы еще медленнее. Размер рантайм-модуля определяется подключенными файлами, в которых содержатся описания используемых функций (типа header-файлов в С). При этом все прописанные в них функции будут обязательно задействованы в рантайм-модуле, что, несомненно, вносит свой вклад в тормознутость PowerBasic. С официального сайта PowerBasic можно скачать утилу, которая анализирует программу и метит неиспользуемые функции в подключаемых файлах как комментарии, в результате чего скорость работы заметно повышается.
 
Ну и еще один неприятный момент, ставший для меня критическим: в борьбе за скорость выполнения программ создатели PowerBasic исключили всякую проверку правильности аргументов функций и возложили это дело на программиста. Скажем, если под знаком логарифма окажется отрицательное число, PowerBasic без малейших сомнений бросится вычислять этот логарифм. С совершенно непредсказуемыми последствиями. Программист в PowerBasic обязан сам прописать проверку положительности аргумента и предусмотреть нужные действия, если вдруг аргумент является отрицательным. Во всех нормальных языках программирования за программиста это делает компилятор. Поскольку мои попытки программирования связаны исключительно с вычислительными задачами, я этого переварить не смог.
 
Еще одна неприятность, поджидающая достаточно опытного программиста: PowerBasic не удастся мешать ни с каким другим языком. Если, конечно, не оформлять часть программы, написанную на PowerBasic, в виде DLL - этот способ подойдет всегда. Но подключение DLL - это потеря времени. Когда-то раньше, на стадии консольных 16-битных программ, PowerBasic можно было спокойно мешать с Борландом (ибо вырос он из Борландовского бейсика). Сейчас это невозможно. Упомянутый коммерческий конкурент - PureBasic, основанный на gcc, позволяет это делать, хотя и не без определенных усилий. Бесплатный FreeBasic позволяет получать объектные файлы, вообще без малейших проблем подключаемые к программам, написанным на других языках.
 
В общем, для вычислительных задач PowerBasic не слишком подходит. Но вот если бы мне пришлось программировать нечто гуевое (в смысле - с GUI) под винду для разбора текста - я бы выбрал PowerBasic. Поскольку сооружение GUI в нем, по моему мнению, наиболее простое из языков, основанных на директивном программировании, а работа с текстом вообще превосходит все мыслимое за исключением лиспа и родственных языков.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 10:23 15-04-2009
Kardinalli



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPEHOMETP

Цитата:
Поскольку мои попытки программирования связаны исключительно с вычислительными задачами, я этого переварить не смог.  

Черт, мои тоже.
Интересно, все это относится и к последним версиям? В остальном он мне понравился весьма.  
Очень удобен визуальный редактор, особенно сторонний, FireFly.  
 
 
Добавлено:
Кстати, по поводу PureBasic vs PowerBasic, интересная полемика вот вот здесь.

Всего записей: 705 | Зарегистр. 22-10-2006 | Отправлено: 14:49 15-04-2009 | Исправлено: Kardinalli, 20:39 15-04-2009
NODMAN

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Поскольку сооружение GUI в нем, по моему мнению, наиболее простое из языков
А мне кажется что в том-же  PureBasic'е создавать окошки проще.
 
Вот пример  

Код:
; Открываем окно
OpenWindow(1,200,250,300,50,"Заголовок окна",#PB_Window_MinimizeGadget)
CreateGadgetList(WindowID(1)) ; Создаём новый список гаджетов
TextGadget(2,80,20,180,15,"Демонстрационная программа") ;Отображаем текст
 
Repeat ; Начало главного цикла Repeat-Until
 Event=WaitWindowEvent() ; Получаем текущий идентификатор события
Until Event=#PB_Event_CloseWindow ; Прерываем цикл при попытке закрыть окно (щелчёк по крестику в заголовке окна)
End ; Завершаем работу программы

Создаётся окно с надписью "Демонстрационная программа".

Всего записей: 70 | Зарегистр. 25-03-2009 | Отправлено: 20:58 17-04-2009
CALEB

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Работаю на РВ очь давно, начиная с версии для ДОС 2.1, 3.0, 3.5
Потом перешел на PB DLL 1.5 и далее версии 6, 7, 8 и 9.
 
Вообщем доволен.  
 
В основном, работающие на PB мало пишут статьи про сам компиль. Некогда писать - -- лучше написать прогу.  
 
Чтобы разобраться, что и как можно сделать на PB достаточно взглянуть на ветки официального форума Source Code и Third-Party...  
 
Теперь про статью :
 

Цитата:
 Еще одна неприятность, поджидающая достаточно опытного программиста: PowerBasic не удастся мешать ни с каким другим языком.
 

А разве все языки используют все типы форматов OBJ и LIB?  

Цитата:
 
 PureBasic, основанный на gcc
 

PureBasic - транслирует код на FASM... И компилятором не пахнет...

Цитата:
 
Бесплатный FreeBasic позволяет получать объектные файлы
 

Пробовали соединять с Digital Visual Fortran? или Visual ForxPro.... Формат OBJ !!!! читай выше.
Нужна полноценная поддержка всех форматов (спецификаций) OBJ. У FreeBASIC-а только один.  
 

Цитата:
 
 В общем, для вычислительных задач PowerBasic не слишком подходит.  

А вы писали вычислительные задачи на РБ? Приведи пример где он не слишком подходит.
 
Один из моих поектов написанных на РБ в реалтайме вычисляет и выводит в виде графиков 20 каналов из сейсмических аппаратов.  
 

Цитата:
 
При этом все прописанные в них функции будут обязательно задействованы в рантайм-модуле, что, несомненно, вносит свой вклад в тормознутость PowerBasic.  
 

 
тоже неверно. Вообще предложение не логичное. О каком тормозе может идти речь, если он (ф-ция) вообще небудет использоваться ?

Всего записей: 73 | Зарегистр. 05-02-2003 | Отправлено: 15:33 22-04-2009 | Исправлено: CALEB, 16:10 22-04-2009
bon818



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerBASIC вещь класная особено dll лепить одно удовольствие ..
Леш-бы это не превратилось в койнебуть ПОГАНЫЙ PowerBASIC.NET

Всего записей: 58 | Зарегистр. 22-04-2007 | Отправлено: 03:59 11-06-2009
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже, PowerBasic мёртв (точнее, перешел в разряд Abandonware) - последняя версия вышла 4 мая 2011-го года, и с января 2024-го официальный сайт "Under Construction"
Жаль тех людей, которые потратили время на его изучение - для того, чтобы язык умер, оказалось достаточно смерти всего лишь одного человека - Роберта Зейла, создателя языка. Исходные коды компилятора так и не были опубликованы, и похоже никогда не будут опубликованы (да и если бы их опубликовали, вряд ли бы кто-то смог создать новую версию). С PureBasic'ом может случиться та же фигня - создатель и автор большей части кода компилятора тоже один человек

Всего записей: 74 | Зарегистр. 19-12-2021 | Отправлено: 22:43 28-04-2024
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Roman_Hayretdinov

Цитата:
Похоже, PowerBasic мёртв

потому что разработчик (родившийся в 1945 году) скончался в 2012.

Цитата:
Robert "Bob" Zale (b. 1945, d. 2012)

 

Цитата:
Первая версия компилятора DOS была опубликована как BASIC/Z, самый первый интерактивный компилятор для CP/M и MDOS. Позже он был расширен до MS-DOS/PC DOS, а в 1987 году компания Borland распространила его как Turbo Basic.
 
Turbo Basic был первоначально создан Робертом «Бобом» Зейлом (1945–2012) и куплен у него компанией Borland. Когда Borland решила прекратить его публикацию (1989 г.), Зейл выкупил его у них, переименовал в PowerBASIC и основал PowerBASIC Inc. для продолжения его поддержки и развития; позже он был назван PBDOS.
 
PowerBASIC продолжила разработку компиляторов BASIC для Windows, сначала PBWIN - их флагманского продукта, а затем PBCC, описанного ниже.
 
6 ноября 2012 года умер Роберт Зейл, создатель PowerBASIC. Какое-то время предполагалось, что компания может прекратить свою деятельность. Его жена, Вивиан Зейл, 8 марта 2014 года разместила на форуме PowerBASIC заявление о том, что компания продолжит свою деятельность. 10 мая 2015 года Вивиан Зейл объявила, что работа над новыми версиями компиляторов PowerBASIC продолжается.
 
2 ноября 2016 года Вивиан Зейл объявила о намерении искать покупателя для компании.
 
31 января 2017 года Адам Дрейк объявил, что Drake Software приобрела исходный код PowerBASIC у PowerBASIC, Inc. с намерением обновить и улучшить функциональность продукта. Позже это подтвердила Вивиан Зейл, написав на форуме сообщение с благодарностью участникам за поддержку.
 
Когда Боб Зейл умер, PBWin11 и PBCC7 находились в стадии бета-тестирования, а 64-битные компиляторы и PB/Pro (PBWin и CC в одном компиляторе) находились на стадии альфа-версии. Однако разработка продуктов PowerBASIC остановилась. С версии 10.03 (11 лет назад по состоянию на май 2022 г.) не было выпущено ни одной новой версии. Ни о 64-битной версии, ни о бета-версии не сообщалось. О деятельности в области развития не сообщалось. Никаких исправлений (например, добавления правильных настроек DPI для IDE) не было выпущено. PowerBASIC Tools LLC по-прежнему продает новые лицензии для 32-битных компиляторов Windows.

Всего записей: 15174 | Зарегистр. 20-09-2014 | Отправлено: 05:59 01-05-2024 | Исправлено: Mavrikii, 06:01 01-05-2024
informator2

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Жаль тех людей, которые потратили время на его изучение  

Почему???

Цитата:
вряд ли бы кто-то смог создать новую версию

Зачем???

Цитата:
- для того, чтобы язык умер

Язык умирает только тогда, когда умрут все его "носители".

Всего записей: 35 | Зарегистр. 06-04-2024 | Отправлено: 16:58 03-05-2024
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
informator2

Цитата:
Язык умирает только тогда, когда умрут все его "носители"

Можете дать общепринятое научное определение мёртвого языка программирования (со ссылкой на авторитетные источники, разумеется) ?

Всего записей: 74 | Зарегистр. 19-12-2021 | Отправлено: 03:19 04-05-2024
informator2

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
"Определение" выше соответствует элементарной логике (а программисты в логике должны быть очень сильны...они работают с алгоритмами...которые построены на логике...). На кой мне сдалась чья-то "общепринятость"?

Всего записей: 35 | Зарегистр. 06-04-2024 | Отправлено: 20:54 04-05-2024 | Исправлено: informator2, 20:54 04-05-2024
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » PowerBasic


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru