За последние 24 часа нас посетили 20423 программиста и 1140 роботов. Сейчас ищут 634 программиста ...

Язык программирования PureBasic

Тема в разделе "Прочее", создана пользователем trink, 10 апр 2014.

  1. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    Возможно не все знают что есть замечательный язык программирования - PureBasic.
    Что в нем замечательного? А вот что: Он во первых не сложный и при этом достаточно мощный, что позволяет использовать PureBasic не только для обучения программированию, но и для разработки приложений, игр (встроенные 2D и 3D движки), библотек (dll и т. д.) и драйверов на профессиональном уровне. То есть PureBasic универсальный язык программирования с широкими возможностями.
    PureBasic имеет кроссплатформенную IDE (Windows, Linux, Max OS X, AmigaOS как x86, так и x64, а также PowerPC), в которую входит редактор кода, редактор форм, компилятор и довольно мощный отладчик.
    Для PureBasic написано много библиотек функций почти на все случаи.
    И не обращайте внимание на слово "Basic". Это язык простоты бейсика и возможностей Си.
    Еще одной особенностью PureBasic является то, что программы компилируются в native-код и не требуют среды исполнения (типа runtime или .NET Framework) что облегчает распространение программ. И при это размер исполняемых файлов не большой - от 2 КБ.

    Скриншот IDE с запущенной программой.

    [​IMG]
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    какова область применения? можно ли подключать сторонние библиотеки/компоненты?

    у меня с детства почему-то осталось в памяти, что минимальный размер exe для винды порядка 8Кб.
     
  3. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    В основном прикладное программирование и разработка игр. Но если очень нужно, то и системное программирование (на PureBasic можно разрабатывать драйверы для Windows).
    Сейчас в разработке новый проект, который транслирует код на PureBasic в веб (js и html5).

    Можно, если библиотека формате lib, obj, dll, ocx и т. д.

    Зависит от компилятора и библиотек. PureBasic стандартными средствами позволяет создавать программы с минимальным размером 2 КБ. После небольшого шаманства, удается сделать размер меньше килобайта.
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Во всех семействах васиков, пугает синтаксис внешним видом, С подобное как-то роднее.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Почему вы решили о нем написать?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Всем begin end, псоны. А как там у бейсика с ООПе? Можно список игр и софта, для которого он "в основном подошел"? И можно сравнительную табличку с Си/Си++? В частности с одной-единственной C++ библиотекой под скромным названием QT.

    А в PureBasic цикл for тоже до сих пор работает через next step? :)

    А еще, плз, сводочку по производительности.
     
  7. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk
    когда работал в среде VisualBasic 6.0 всегда тоже посматривал на си подобные языки, но не хватало мозгов в них разобраться...
    капец, VB6 для меня даже эти 3 буквы уже ностальгию вызывают, а как вспомню интерфейс то капец... кризис среднего возраста подступает

    Добавлено спустя 42 секунды:
    тоже интересуют эти вопросы )
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Бейсик крутой язык сегодня. Там вообще на dotnet платформе всё очень хитро устроено нынче.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    открою сокровенную тайну: можно писать высокопроизводительные [десктопные] приложения, на любом языке. главное чтобы правильные библиотеки использовались. а они доступны практически с любой платформы. ваш бейсик/хуейсик/си/соси будет только прослойкой, которая обрабатывает пользовательский ввод.
     
  10. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    это немножко другой Васик, это визул васик, еси чо.
    Вон их сколько
    Из них, когда-то на заре переезда на линукс (6-7 лет назад), пробовал баловаться с gambas, пока был период ломки, после лишения delphi (lazarus был еще большим неудобоваримым гавном, чем этот "гамбас", собственно им и остался).
    Гамбас тоже дикое гавно, но оно с qt работало. :)

    P.S.
    Разница в удобстве, комфорте и отсутствии рвотных рефлексов при работе.
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    короче, дело вкуса. пока продукт позиционируется для прикладной, а не системной разработки.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    я надеюсь, что будет рождён простой язык для прикладной разработки, такой же лёгкий и удобный, как пхп.
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    И его назовут C#.

    Автор, может ответишь на вопросы поставленные? Просто интересно же оч. Я последний раз на бейсике в школе кодил. Он тогда даже в экзешку не собирался, а работал только внутри досовского редактора-интерпретатора. Ностальджи. Мб, если все прям плюшками заросло, вспомню юность.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    сишарп это каменный век по сравнению с пхп по уровню простоты.
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ващепофик. Автор, ну что там насчет ответов? А то тема перетекает плавно в обсуждение других языков и ты теряешь целевую аудиторию.
     
  16. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    На вкус и цвет...

    Для расширения кругозора.

    Нативно не поддерживаются, но различные препроцессоры, такие как SimpleOOP, добавляющие поддержку. Хотя можно программно организовать ООП используя интерфейсы (что-то типа виртуальных методов в класса в C++), назначив каждому методу адрес процедуры.
    Есть нативная поддержка пространств имен.

    Написать можно практически что угодно. Нет жестких ограничений возможностей.

    PureBasic линкует статически все библиотеки, и исполняемый файл не зависит от других библиотек (кроме имеющихся в системе типа User32.dll и подобных) размер получается небольшой и напрямую зависит от количества строк и использованных функций. В Qt же, использована другая концепция и порой даже простая прога состоит из множество файлов, общим размером превышающих 10 МБ.
    Кроме того, кроссплатформенность PureBasic обеспечивается за счет прослоечных функций между кодом и API ОС, что позволяет уменьшить размер исполняемого файла. А в Qt, например что касается окошек, они рисуются либой, а не используются контролы системы. PureBasic использует для GUI в винде winapi, в линукс gtk2 или 3, а в макоси Cocoa.

    Да.

    http://vbnet.ru/articles/showarticle.aspx?id=220

    Уже. Это PureBasic. :) :)

    Посмотри справку PureBasic. http://purebasic.com/documentation/index.html
    Может найдешь интересующие плюшки.
     
  17. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Это не ООП.
    Это не ответ на поставленный конкретный вопрос.
    По этому очень кстати, что мы живем не в 70х.
    Коня выеденного не стоит, потому что:
    Столько лет прошло, а бейсик так и не заборол семейку Си. Хотя, чистый Си тоже мало для чего пригоден, кроме системного программирования. Сравнивать не совсем корректно, пожалуй, пюрбейсик с плюсами.

    З.Ы. От VBNet прослезился. Прям такой сайт из середины 90х по внешнему виду. Есть в нем что-то лампово-теплое.
     
  18. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    Каков был вопрос, таков ответ.

    Т. е. нормально когда "Hello world" весит 10 метров?

    Что плохого в использовании функций ОС по максимуму в место Qt велосипеда?

    Разве тема создавалась для сравнения?
    Она для расширения кругозора. Инструмент выбирают под задачу. Какую-то задачу эффективнее решать на PureBasic, а какую-то на C++.
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    без классов? =)

    Добавлено спустя 16 секунд:
    ассоциативные массивы есть? а конкатенатор?
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Тем, что это не кросплатформенность, а возможность разработки под разными системами. Кросплатформенность, напомню, это когда приложение собирается, работает и выглядит одинаково независимо от платформы. Когда я могу взять код, работающий под вендой, и откомпилить его под линухой без ошибок и потери работоспособности.
    Вопрос был "Приведите конкретные примеры ПО, в котором использовался пурбейсик". Поглядеть, используется ли он кем-то кроме домашних любителей хелловорлд-примочек. Или кроме как для расширения кругозора, мол "бейсик еще не умер", он ни для чего не используется в мире?
     
  21. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    Используйте препроцессор SimpleOOP или ему подобный и будут классы.

    Есть. http://purebasic.com/documentation/map/index.html
    Двусвязные списки тоже есть. http://purebasic.com/documentation/linkedlist/index.html
    Они поддерживаются также внутри структур и легко создать, например, список списков
    Код (Text):
    1. Structure Lists
    2.   List x.l()
    3. EndStructure
    4.  
    5. NewList Test.Lists()
    Или ассоциативный массив списков
    Код (Text):
    1. Structure Lists
    2.   List x.l()
    3. EndStructure
    4.  
    5. NewMap Test.Lists()
    Т. е. когда один и тот же код без его модификации можно скомпилировать под разные платформы это не кроссплатформенность? Точно уверены в этом?

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

    Вы можете взять код из скрина в начале темы и откомпилировать его без модификации под все поддерживаемые платформы.

    Нет. Вопрос был немного другой.
    Программы и игры нужно найти по этим ссылкам. http://purebasic.com/screenshots.php
    http://www.purebasic.fr/english/viewforum.php?f=27

    Конструктор инсталляторов. http://www.bytessence.com/bim.html
    Оптимизатор реестра. http://www.bytessence.com/brc.html
    Дрова на PureBasic. http://purebasic.mybb.ru/viewforum.php?id=18
    Торрент клиент, чем что похожий на µTorrent. http://pbtorrent.ucoz.ru/load/pbtorrent_1_4_4/1-1-0-7
     
  22. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Код использующий winapi вряд ли можно назвать кросплатформенным.
    Вы удивитесь. У того же QT можно выставить стиль контроллов, соответствующий ОСи, в которой они работают. Это будут QT-шные контроллы, но вы под микроскопом не отличите их от нативных в ОС. И все без прямого использования API осей. И не нужно затачивать свой код под конкретную ОСь.

    З.Ы. Кросплатформенный HelloWorld это конечно тру-пример :)
     
  23. trink

    trink Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    6
    Симпатии:
    0
    Читайте внимательнее. Я не об этом писал.
    В PureBasic больше 1400 кроссплатформенных функций.

    Сами себе противоречите.
    Это простой пример.
    Если нужен посложнее, взгляните на IDE PureBasic.
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Я не противоречу, я говорю, что есть и такая возможность для тех, у кого аллергия на контроллы, выглядящие не как родные в ОС.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Это про меня