Бейсик, что сейчас ?

Тема в разделе "VB", создана пользователем X-Shar, 28 фев 2021.

  1. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    354
    Хе, вспомнилось что бейсик наверное мой первый язык программирования, когда я пытался сделать интерактивное приложение, но я тогда учился в школе и интерес к языку потерял, короче залип в играх, хе-хе...)

    Ну тут наткнулся на крутой на самом деле раздел https://wasm.in/forums/vb.52/ не знаю почему я его не замечал, ведь тут написаны всякие интересные штуки, например темы которые мне понравились:

    https://wasm.in/threads/drajver-na-vb6.31873/

    https://wasm.in/threads/zagruzchik-shellkod-bez-rantajma.31744/

    https://wasm.in/threads/inline-assembler-add-in-dlja-vb6.31725/

    Ну и сразу появились вопросы к Thetrik, если не секрет и есть время/желание ответить:

    1. На сколько я помню, сейчас Бейсик развивается как .NET, с чем связанно работа именно VB6, или
    VB6 типо там больше возможностей по сравнению с .NET ?

    2. На сколько сейчас Бейсик используется где-то и если возможно, в каких областях ?

    3. Необязательно отвечать, но с чем связанна такая любовь к этому языку ?)
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Скорее нет, чем да. Основное развитие в дотнете связано с языками C# и F#, VB.NET тянется в основном из-за обратной совместимости, ничего особенного в него не добавляют. Среди дотнет разработчиков критически мало тех, кто занимается именно VB.NET'ом и в основном это дичайший легаси код.
    --- Сообщение объединено, 28 фев 2021 ---
    Можно сказать, что в основном в этом сообщении присутствует "в основном".
     
  3. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    VB.NET уже другой язык. Классический VB6 я выбираю по нескольким критериям это нативный код, тесная интеграция с COM, RAD'ность. Тут почти любую системную фичу можно напрямую использовать будь то DirectX/MF/Core Audio/SAPI и т.п.

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

    Я уже написал выше - нативный код, COM, RAD.
     
    alix и X-Shar нравится это.
  4. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    FreeBasic кросплатформенный проект и собирают и для DOS.
    Интересны и Basic256, BBC Basic ..

    P.S. Первый стандарт минимального Бейсика ECMA-55 был принят в 1978г.

    a little os in freebasic

    на FreeBasic 988 решений задач с ресурса rosettacode.org
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Да есть нормальные более-менее современные бейсики, которые и сейчас вполне можно юзать из-за ностальгии или еще чего: FreeBasic, PureBasic, Xojo, Gambas, B4X и тд. FreeBasic - наверное, самый стагнирующий из всего этого списка.
    --- Сообщение объединено, 6 фев 2022 ---
    Кстати, еще был забавный басик для разработки игр - Monkey X. Потом вроде как автор стал пилить вторую версию, но, похоже, что не осилил. А первую версию форкнули и сейчас она известна, как Cerberus X и, судя по всему, тоже оказалась мало кому нужна. Хотя жалко, проект на вид был интересным, за исключением басиковского синтаксиса.
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Я за васик, это интерактивный язык в нём не нужны явные утверждения, eg типы можно не указывать. Компилер нэйтив в том же пури, мало какой иной такое может - выдать асм сурец с оптимизацией весьма глубокой и далее собрать.
     
  7. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.729
    Васик по сути умер .... даже в сфере обучения (школы и институты).
    Его заменил питончик ....который учат школотроны даже в сельских школах.
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Так это наоборот хорошо, в школе лучше учить язык, который не отобьёт у тебя всё желание изучать программирование, то есть это явно не Басик, не Паскаль и не Сишечка. Питон в этом плане - отличный выбор. Понятно, что в реальной жизни он медленный (в плане кранчить цифорки), но когда учишь что-то с нуля, для мотивации нужно, чтобы что-то получалось, а не заниматься жестким и неприятным секасом с сегфолтами и отладчиком, которые ты не понимаешь.
     
  9. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    988
    А мне кажеться на старте нужно наоборот как можно меньше магии. А то сперва нолики и единичики, всё есть файл, а потом херак и питон с его пробелами.
    Полностью согласен, что на старте нужно, чтобы что-то получалось. Но это и есть методика = правильная цепь подводящих задач к ощутимому результату. Толковый педадгог это почти на любом языке изобразит.
     
  10. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.729
    но когда учишь что-то с нуля, для мотивации нужно, чтобы что-то получалось, а не заниматься жестким и неприятным секасом с сегфолтами и отладчиком, которые ты не понимаешь.

    Согласен.
    Это называется кривая обучения. Чем она более пологая тем выше вероятность что человек не забросит нафиг.
    У С++ и Java она довольна крутая ..а у питончика пологая. (кривая Бандуры).
    Это система с положительной обратной связью.
    Сделал ..получилось ...сделал опять получилось ..мотивирует.
    А так попробовал то не получилось ..это не прокатило ..и интерес угасает быстро.
     
    Indy_ нравится это.
  11. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    561
    Васик невзлюбил за тормоза, 100-200 оп/сек на 8080-2, 10000 оп/сек на Cyrix 486DX2-66. А ещё за примитивность данных, числа(BCD), строки и всё. Но пользовался некоторое время, потом на паскаль перешёл в начале 2004. С тех пор он сильно изменился, но очень сильно предвзятое отношение не куда не делось. Да и питон-питухон тоже не люблю, из-за уродливого дизайна, Lua лучше.
     
  12. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    питон отвратителен тем, что там есть принудительные отступы.
    главное, чтобы программист развивался дальше, а не остановился на питоне. Хотя, для некоторых целей его вполне хватает (тот же веб или еще какая автоматизация). Просто некоторые люди лепят на нем малварь по 40 метров, и еще доказывают, что это норма.
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    Инструмент нужно выбирать под задачу, как бы если кому-то это норм, то почему нет. Мне почему-то кажется, что даже если кто-то был настолько отшибленный, что написал бы на Петоне рансомварь, он бы все равно заработал миллионы, на каких-то шарашках, которые про ИБ не слышали.
     
  14. VBOrion

    VBOrion New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2017
    Сообщения:
    10
    Использую вб для некоторых задач, т.к. для меня он удобен в некоторых областях. Благодарен Thetrik за его публикации по вб здесь и на киберфоруме - многое открыл для себя.
     
    Rel и Thetrik нравится это.
  15. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    439
    https://oscript.io/
    Как я понял реализован на C# и имеют уже даже GUI-библиотеку вместе со многим другим.
    Код весьма похож на бейсик, но диалект всё-таки существенно свой:
    Код (Text):
    1. Процедура ОбработатьКаталог(Знач Каталог)
    2.  
    3.   Сообщить("Обрабатываю каталог " + Каталог);
    4.   КаталогГит = Новый Файл(Каталог + "\.git");
    5.   Если Не КаталогГит.Существует() Тогда
    6.     Сообщить("Каталог не является git-репозиторием");
    7.     Возврат;
    8.   КонецЕсли;
    9.  
    10.   ЛогГит = ПолучитьИмяВременногоФайла();
    11.  
    12.   КодВозврата = -1;
    13.   ЗапуститьПриложение("cmd /C git remote -v > " + ЛогГит, Каталог, Истина, КодВозврата);
    14.   Если КодВозврата <> 0 Тогда
    15.     Сообщить("Ошибка получения git remote");
    16.     Сообщить(ПрочитатьФайл(ЛогГит));
    17.     Возврат;
    18.   КонецЕсли;
    19.  
    20.   ОсновнойАдрес = ПрочитатьАдрес(ЛогГит);
    21.   Если ОсновнойАдрес = Неопределено Тогда
    22.     Возврат;
    23.   КонецЕсли;
    24.   Сообщить("URL: " + ОсновнойАдрес);
    25.   НовыйУрл = СтрЗаменить(ОсновнойАдрес, "http://old-server", "http:new-server");
    26.   Сообщить("Перенаправляю на " + НовыйУрл);
    27.  
    28.   КодВозврата = -1;
    29.   ЗапуститьПриложение("cmd /C git remote set-url origin " + НовыйУрл + " > " + ЛогГит, Каталог, Истина, КодВозврата);
    30.   Если КодВозврата <> 0 Тогда
    31.     Сообщить("Ошибка git set-url");
    32.     Сообщить(ПрочитатьФайл(ЛогГит));
    33.     Возврат;
    34.   КонецЕсли;
    35.  
    36.   Сообщить("Каталог " + Каталог + " обработан");
    37.  
    38. КонецПроцедуры
     
  16. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    Для Puppy Xenial 32 (LiveCD) c некоторыми неувязками собрал GamBas из исходников для помотреть.

    Чтобы собралась IDE оболочка для запуска Gambas3 доустановил вручную libqtwebkit4_2.3.2 gambas3-gb-qt4-webview_3.18.2
    взятые с https://launchpad.net/~gambas-team/+arc ... tu/gambas3 (gambas собирают и для Tahr к примеру)

    + добавил библиотеки gsl, gtkglext, zstd
    но всё равно какие то предупреждения показывает по SDL, gtk+ ... и отсутствию библиотек для баз данных Sql. Postgress, odbc ... и Qt5

    P.S. Оболочка выглядит достаточно функционально c редактором форм.
    Программы, в основном, собираются и запускаются (в OpenGL есть пример вращающегося прозрачного куба)
    В примерах программ, к примеру, есть и просмотрщик OpenStreetMap и достаточно шустро работает т.к. RunTime (gbr3) у GamBas с JIT и PDF вьювер.
    В IDE есть и свой репозиторий для программ от пользователей (Farm).
    В примере фрактала Мандельброт есть клавиша F для включения/отключения Jit

    Для запуска созданных автономных приложений в Linux должна иметься runtime среда выполнения gbr3.

    Из книг изданных по GamBas - указывается одна Begining Gambas,
    но есть и, кроме штатной Wiki документации, Online книга с примерами https://gambas-buch.de/dwen/doku.php
    (c некоторыми ещё недописанными темами). Прогнал насырую эту книгу через Translate сервис в файл формата MarkDown (открываемый в браузере с плагином)

    На rosettacode.org примеров с GamBas решённых каких то задач мало, хотя думаю это не особо важно т.к. Бейсик решений предостаточно и
    есть тенденция отнесения решений на разных диалектах Бейсика в Basic группу языка.

    Интересно, что GamBas использует большое количество обёрток Си кода для создания своих модулей. [​IMG]

    Игруль под ним ещё не так много представлено, но есть, к примеру и Скролл-шутер - "1945"
    (кроме 15, 2048, Snake, ...)
    В репозитории пользовательских программ есть эмулятор 6502 железа.

    Gambas - начни программировать сегодня ! (Гололобов В.Н.)
    Простой просмотровщик картинок на gambas (kostyalamer)
    Игра "Ходом коня" на gambas - это просто ! (kostyalamer)
    Конструктор лабиринтов.(kostyalamer)
    Игра "Пройди лабиринт" на gambas-е ! (kostyalamer)
    На форуме AltLinux разделе Разработка Тема: "Программирование на языке Gambas"

    P.S. Интересно, что когда то в проверенном кроссплатформенном BlitzMax (Бейсике) под Linux32
    получилось и кроме его штатных примеров сделать сборку его оболочки IDE MaxIDE (эргонометрично смотрится)
    добавив в начале файла maxide.bmх для его сборки

    Код:
    ?Linux
    Import "-ldl -lfontconfig"
    ?

    Сама IDE использует кодовую базу легковесного FLTK, а сам BlitzMax язык транслируется в Fasm
    и собирается с кодовой базой и Си.
    В BlitzMax-NG, вроде, отошли от непосредственного задействования Fasm при сборке целевого кода.

    По Blitz3D и BlitzMax встретился такой архив Krischans Blitzmax arxive
    --- Сообщение объединено, 8 июл 2023 ---
    Книги по Бейсик можно найти и здесь
     
  17. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.074
    смотря что пишешь - кучу вещей на питохе написать сложней, чем на сишечке аль тех же плюсах, пч главный бонус с/с++ - еть быстрый бинарь и прям рыться в ошибках дебагером далеко не всегда требуется (принтф и его альт в куче случаев хватит с головой). самое, что усложняет проганье, это 100500 обёрток в коде, когда одну и ту же базовую функу делают под разными именами да ещё идиотскими какими-то :)
     
  18. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    15 окт 2022
    Сообщения:
    110
    Самое сложное в кодинге на с/с++, всратые ide для этого кодинга.
    Говорю это не как танцор, которому что-то мешает :)
     
  19. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    Интересно, а не всратые это какие? (что их делает не такими)
    Или использование IDE - это "зло" и, к примеру, Far-а достаточно для "крутого" кодинга?

    P.S. Какой стандарт/возможности C/C++ можно считать востребованными в минимуме для програмирования на них? :)
     
  20. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    15 окт 2022
    Сообщения:
    110
    Какая разница? Тебе и far зайдет
    Тебе ответили в сообщении выше: "принтф и его альт в куче случаев хватит с головой".