В 1963 годe два профессора Дартмутского Колледжа Дж. Кемени И Т. Куртс, создали язык программирования для людей, которые не являются профессиональными программистами, но имеют дело с компьютерами.
Он был назван Basic (основной, Beginner’s All-purpose Symbolic Instruction Code ). Авторы намеревались создать простой и удобный язык, содержащий всего несколько ключевых слов, которые можно было бы выучить в течении часа. Идея оказалась удачной. Когда же в середине 70-х годов появились персональные компьютеры, то этот язык как нельзя лучше подошел для них, поскольку занимал всего 4КВ памяти. Кроме того, в это же время появился вариант компилятора для микро-ЭВМ QUASIC — быстрый Бейсик, имевший такой же малый размер транслятора и позволявший генерировать исполняемые модули, использовавшие предельную скорость процессора.
Появлялись новые типы персональных компьютеров и язык Basic менялся приспосабливался к возможностям различных машин.
В первых версиях Бейсика, в 1960-е, 1970-е годы, вначале каждой строки надо было ставить цифровую метку номера оператора:
Первая программа в Small Basic
10 FOR a = 0 TO 1000 STEP .01 20 LET x = .8 * COS(4 * a — .7): y = .8 * SIN(4 * a) 30 LET x1 = .8 * COS(2 * a — .7): y1 = .8 * SIN(2 * a) 40 LET x2 = .8 * COS(3 * a — .7): y2 = .8 * SIN(3 * a) 50 LET c = 14: GOSUB 100: FOR t = 1 TO 1000: NEXT t 60 LET c = 0: GOSUB 100 70 NEXT a 100 LET Y = x1 + x2 120 RETURN
В последующих версиях это утомительное занятие было устранено. Был исключено ключевое слово LET (взять) в математических операторах.
Каждая новая версия языка имела свои особенности, сохраняя основной принцип — простоту и удобство. К сожалению, разрабатываемые версии не были совместимы, т.е. программы написанные в одной версии языка, могли не работать на других компьютерах или с другой версией Бейсика. Так продолжалось пока фирма Microsoft не предложила новую версию языка QuickBasic — отдельный пакет программ для IBM PC, который позволял создавать универсальные программы.
- содержит хороший экранный редактор
- не ограничивает длину программы
- отменяет необходимость нумерации строк
- предлагает операторы, позволяющие организовывать структуры внутри программ.
- поддерживает программные процедуры, вызываемые из основной программы.
- позволяет использовать локальные переменные.
QBASIC является интерпретатором , т.е. программы, написанные на этом языке могут выполняться самим транслятором QBASIC без необходимости создания исполняемого модуля в кодах машины. Однако это является и недостатком. В дальнейших усовершенствованиях Бейсика это было преодолено — при желании можно компилировать загрузочный exe-модуль для использования отлаженных программ без транслятора, а значит быстрее, проще и стабильнее для распространения.
Другая версия Бейсика — Turbo-BASIC уже обладала способностью создавать exe-модули. Она имела широкое распространение пока была популярна операционная система MS-DOS.
Бейсик до сих пор, пользуется популярностью у начинающих программистов
Какую игру можно написать на BASIC
Современным развитием языка Бейсик является среда визуального программирования Visual-BASIC со своей версией структурного Бейсика. Рассчитанная на быструю разработку приложений, Visual-BASIC, к сожалению имеет существенно более сложный диалект языка Бейсик, который более труден в освоении и, генерируя весьма длинные имена переменных и констант, имея длинные имена функций, критичен к опечаткам программиста, а значит излишне напрягает его внимание и зрение.
Загрузить архив с транслятором qbasic.zip (руссифицированный). Программа работает в окне DOS, есть русский хелп и примеры текстов на Бейсике.
Знаете ли Вы, что инкапсуляция, Encapsulation — От лат.In — в + Capsula — это ящичек, в объектно-ориентированном программировании — сокрытие внутренней структуры данных и реализации методов объекта от остальной программы. Другим объектам доступен только интерфейс объекта, через который осуществляется все взаимодействие с ним.
Источник: www.bourabai.ru
Верните BASIC
Я, наверное, шучу, да? Вовсе нет. Я просто предлагаю еще раз взглянуть на старый язык программирования, известный как BASIC. У языка есть много преимуществ, особенно в том, что его легко выучить и использовать. Теперь мы заменили его более сложными языками.
Так или иначе, в течение последних нескольких лет я имел дело с множеством микроконтроллеров, практически все из которых используют C или какие-либо его разновидности. Мне удалось выучить C и написать несколько простых программ, но я ненавижу его. Я все время вспоминаю, как много писал на BASIC. Он делал то, что я хотел, и был относительно прост в использовании.
Конечно, BASIC – не лучший язык. По сути, это интерпретируемый язык, который часто недостаточно быстр для некоторых приложений. Но компилируемая версия BASIC обычно решает эту проблему. Язык работает и делает то, что должен делать.
Я выучил BASIC еще на заре персональных компьютеров – это почти все, что тогда у нас было. Многие из нас рано освоили BASIC, потому что он был в чем-то похож на FORTRAN, который многие из нас изучали в колледже на больших ЭВМ. Мы писали короткие программы и длинные программы, и бизнес персональных компьютеров реально взлетел. Я думаю, что с BASIC это случилось бы быстрее, поскольку он был прост в освоении и использовании, и потому многие приняли его. Об этом были написаны десятки, а может быть, и сотни книг.
На смену BASIC пришли другие языки. Помните Pascal? Он пришел, а через несколько лет ушел. Затем от разработчиков UNIX пришел C, и всех, казалось, потянуло к нему. Таким образом, C стал де-факто языком программирования сегодняшнего дня. Практически любой программист микроконтроллеров изучил и принял C, и теперь его преподают большинство колледжей.
Рескрипт гласит: «Вы выучите C несмотря ни на что». Я тоже выучил, но мне он не понравился.
Трансформации BASIC
Несколько лет назад компания Parallax представила BASIC Stamp – микроконтроллер на основе PIC со встроенным интерпретатором BASIC (Рисунок 1). Parallax предложил BASIC Stamp – небольшой, дешевый и простой одноплатный микрокомпьютер со своей собственной разновидностью BASIC, оптимизированной для встраиваемых проектов. Я подсел на них и сделал много полезных проектов. Stamp поддерживал жизнь BASIC еще несколько лет, прежде чем он снова исчез.
![]() |
||
Рисунок 1. | Микроконтроллер BASIC Stamp компании Parallax. |
Microsoft внесла вклад в поддержание жизни BASIC своим Visual BASIC. Компания по-прежнему предлагает целую линейку продуктов BASIC. Visual BASIC преподавали в колледже, когда я был профессором. А затем он пропал. Большинство из тех, кто должен был заниматься программированием, сразу перешли на C, и, кажется, сегодня он все еще доминирует.
Во время недавнего переезда я вновь обнаружил коробку, полную старых плат BASIC Stamp. Я вытащил их и снова начал играть с ними. Я сделал несколько новых проектов после того, как освежил в памяти основные команды и процедуры BASIC. Это было весело.
Примерно в то же время я открыл для себя PICAXE. Это однокристальный микроконтроллер PIC, в который зашит интерпретатор BASIC (Рисунок 2). На персональном компьютере вы готовите программу на BASIC, а затем загружаете программу в 8-выводной корпусе DIP микроконтроллера PIC. Такой подход позволяет делать небольшие проекты с помощью однокристального микроконтроллера.
Как и Stamp, PICAXE позволяет быстро и легко создавать встраиваемые проекты с минимальными затратами сил и материальных средств. При использовании C это заняло бы у меня в два-четыре раза больше времени.
![]() |
||
Рисунок 2. | PICAXE – однокристальный микроконтроллер PIC с внутренним интерпретатором BASIC. |
Ах да, было бы упущением, если бы я не упомянул некогда популярный Intel 8052. По сути, это версия широко используемых встраиваемых контроллеров 8051. 8052 имел внутренний интерпретатор BASIC (Рисунок 3). Я использовал его в одном проекте. Не думаю, что он все еще доступен.
![]() |
||
Рисунок 3. | Микроконтроллер Intel 8052 с внутренним интерпретатором BASIC. (Фото с сайта http://www.retro-lab.nl) |
Я хочу сказать, что BASIC до сих пор существует и весьма полезен. Тем, кто все еще изучает программирование, я бы посоветовал: побалуйте себя упрощенным языком и получите удовольствие, учась использовать его. Если до сих пор вы откладывали обучение программированию, BASIC – отличный выбор для начала. Большая часть того, что вы узнаете из программирования на BASIC, применима к C или другим языкам.
Скáчки языков
Однажды я ненадолго сошел с прямого пути, отвлекшись на Arduino. Как вы, наверное, знаете, его язык по сути такой же, как C или C++, со всеми обычными точками с запятой и фигурными скобками. Но я никогда не был достаточно компетентен, чтобы заинтересоваться использованием популярного Arduino.
Я полагаю, что большинство языков по-прежнему доступны всем, кому они нужны. Например, что случилось с FORTH? Или с одним из других любимых мною языков – LISP. Я занимался программированием на LISP еще на заре движения искусственного интеллекта. LISP – странный язык, но с ним можно делать удивительные вещи.
Думаю, мне стоит упомянуть Java. Каким бы распространенным он ни был, я так и не выучил его. Одно время я изучал HTML, но никогда особо им не пользовался. Я отдаю себе отчет, что продолжаю возвращаться к BASIC во многом потому, что когда-то у меня это хорошо получалось, и теперь я знаю, как решать поставленные задачи, используя его на встраиваемом контроллере.
Я не профессиональный программист, и не собираюсь менять чье-либо мнение этими похвалами в адрес BASIC. Настоящие программисты и инженеры, вероятно, ненавидят BASIC и порочат его всякий раз, когда могут, хотя я уверен, что более половины из них в ранние годы изучали программирование на BASIC.
Если не BASIC, то что?
Что, если бы кто-то спросил меня: «Представьте, BASIC больше не доступен, а C вы ненавидите. Какой язык вы бы использовали?». Я ответил бы: «ASSEMBLER». Да-да, язык ассемблера. Он нравится мне, поскольку я могу видеть или, по крайней мере, представлять себе, что происходит внутри чипа.
Он ближе к железу, чем что-либо еще.
Сначала я изучал ассемблер на оригинальном Intel 8080, а позже много поработал с Motorola/Freescale 68HC11. Совсем недавно я использовал ассемблер в проекте на MSP430. Если мне нужно запрограммировать микроконтроллер, я предпочитаю ассемблер, хотя иногда это занимает у меня немного больше времени. Я знаю, большинство из вас думают, что я спятил, если простому предпочитаю сложное, например ассемблер. Кстати, а вы когда-нибудь пробовали его?
Одним словом, я до сих пор вожусь с проектами на BASIC и ассемблере. Однако я сохранил способность к непредубежденным суждениям. Возможно, в конце концов, я откажусь от всего этого ретро после прочтения недавнего обзора IEEE.
Какой язык сейчас самый популярный?
Время от времени издаваемый IEEE журнал Spectrum делает довольно подробные обзоры того, на чем нравится программировать членам IEEE. В рейтинге 55 разных языков. Вверху списка находятся Java и C – на втором и третьем местах. А номер один – Python. Удивлены? Да, Python – новый фаворит среди программистов и инженеров, с большим отрывом ушедший от других языков.
И теперь это популярный курс в колледжах; Python хороший язык для изучения программирования, очень похожий на BASIC. Я еще не пробовал писать на нем, но программистам, похоже, он нравится, поскольку многие одноплатные компьютеры теперь поддерживают его хорошими библиотеками для встраиваемых приложений. Может быть, и нам стоит попробовать.
Перевод: AlexAAN по заказу РадиоЛоцман
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
- Ну да, тем более что я не программист и этим приходится заниматься время от времени, поэтому чем проще язык — тем лучше. Не сказать что Си сложный язык, да, синтаксис своеобразный, но дело даже не в этом. Все-таки Бейсик более человечный что-ли, те же ошибки там выявлялись на раз-два — программа просто останавливается и выдает: вот тут у тебя выход за пределы массива, например, а в Си можно долго и мучительно искать блуждающий баг из-за того, что массив вышел за границы и попортил соседние переменные, даже при наличии внутрисхемной отладки это бывает не просто, а что уж говорить про контроллеры без встроенного debug блока. А так, пока у меня на компе стоял ХР, Бейсиком пользовался часто как калькулятором, чтобы посчитать формулу. Да, можно конечно и в Матлабе сделать, но это из пушки по воробьям, да и Бейсик грузится мгновенно и места на диске не занимает 🙂 Жаль что в контроллерах не довелось с ним поработать, сейчас всетаки Ардуина рулит — наличие готовых библиотек под разные чипы датчиков, дисплеев, интерфейсов и т.д. — это большой плюс, остается только свою несложную логику написать и готово.
- Мне тоже нравится, когда всё работает с пол пинка, а вот когда начинаются танцы с бубном изза того, что чья-то библиотека косячная не работает нормально или какой-то глюк, который изредка вылезает и плющит встроенную систему -вот тут уже начинаешь нервничать и подумывать может надо кардинально все поменять))
- нормальный у Си синтаксис, с умилением вспоминаю работу в школе на барсике, и тихим ужасом пасаль, кто хоть раз писал на нем игры или БД, меня поймет. и улыбкой страшилки преподов о злом и ужасном Гудвине в виде языка Си. знакомство с МК начал ассемблера для ПИК , а выучить Си заставила простая лень (лень было заучивать больше сотни команд для АВиРок) . и слава богу что на то время не было барсиков и пасалей для МК. потому что все попадающиеся в последствии проги от бедных студней, преподы которых просекли что в нете им с помощью ничего нормального не светит, и начинающих не в состоянии осилить асм или Си , откровенно напоминают бредо-код. радетелям барсиков, пасалей и некрозов простая задача: одной строкой создать переменную, которую компилятор в коде будет воспринимать, как все порты вода/вывода МК. покажите что это реально, может я не прав в своем субъективном мнении в отношении к барсику и пасалю , потому как в Си это реально и работает.
- Ну вот, вроде обошлось без мордобоев и даже без личных оскорблений. В заключение, если кто не знает. Когда аглицкие колонизаторы пытались научить аборигенов своему варварскому языку, то отобрали 300 базовых слов и сказали: вам хватит! Потом, уже в 20-м веке эту идею использовали создатели более сложного, чем ассемблер, языка, и назвали его «БАЗОВЫЙ», на варварском языке = BASIC. Тогда же кто-то по недоумию или в шутку назвал его по-русски ВАСИК.
- Вот это точно! Дебагить процедуры в Бэйсике — одно удовольствие!
- Потому что интерпретатор. У «С» — компилятор. Нужна внешная программа для дебага. У Java тоже встроенные средства дебага. Если остановится программа — распечатывает стек с точности до строки. Где и что произошло.
- Борландовский Turbo Basic с которым я работал после Майкрософтовского QBasic’а имел встроенный компилятор и умел создавать exe-файлы. При этом скорость выполнения скомпилированной программы возрастала в разы и не всегда работала также корректно, как в режиме отладки 🙂
- Как радиоинженер-проектировщик, проще говоря схемщик, т.е. человек не являющийся профессиональным программистом во многом согласен с автором. Так как я начинал трудовую деятельность, когда персональных компьютеров и в помине не было (студентом практику проходил на ЭВМ «Урал-2») то более плотное знакомство с программированием состоялось, когда собрал первый «Спектрум» товарища Клайва Синклера, Бейсик действительно оказался простым, понятным и достаточно универсальным языком. Волею судеб в дальнейшем возникла необходимость программировать микроконтроллеры, и тут я полностью согласен с автором, что лучше использовать ассемблер – понимая, как должна работать схема ассемблер позволяет с помощью микрокоманд заставить работать отдельные элементы в целом сложного устройства. По поводу языка Python, я тоже согласен с автором, когда встала необходимость общения микроконтроллера с компьютером, программа была написана на Python-е через неделю после начала знакомства с Python-ном с нуля, т.е. язык так же как и Бейсик достаточно прост и понятен.
- о, Боже! как можно жить без булевого типа? испанский стыд!
- да, точно! а все таки какой командой в бейсике можно одной строкой сделать назначение портов вводавывода?
- действительно как. хотя правильный вопрос «а на кой он нужен? в Си есть битовые поля, мало того битовое поле позволяет создавать переменные длиной два или три или четыре бита и упаковывать их в один 8-ми битный регистр.
- заключается в полном непонимании вопрошающего что такое булевый тип
- В МК от NEC команда вывода высокого уровня на ногу 2 порта 3 выглядит так: [I]P3.2 = 1; [/I] а команда считывания уровня на ноге 6 порта 2 так: [I]x = P2.6;[/I] Это [B]на С, в штатном бесплатном фирменном IDE.[/B] А теперь покажите, как эти же операции выглядят на С, к примеру, для STM32 в любом IDE. И причем здесь язык-то?
- Ну, честно говоря, в памяти все значения хранятся как байты. Т.е. всё зависит от точки зрения на байт: можешь его воспринимать как число (int / long/ double etc), можещь — как букву (string), можешь как логическое значение (boolean), и т.д. И потому при наличии правил любое количество байт может быть преобразовано в тот тип переменной, который удобен в данной процедуре.
- ну да, в С этот тип череж опу реализован, в отличии от Паскаля.
- постом выше все сказано , тебе все разжевали по этому вопросу , но ты опять ни хрена не понял . это только в книжках для школоты в булевом типе ИСТИНА=1, ЛОЖЬ=0. в ЯП все совсем не так да точно так же будут выглядеть, если в хедере структуру GPIO_TypeDef заменить на объединение с битовыми полями , только на кой нужен этот гемор с прописыванием 224бит , если сама архитектура МК не позволяет нормально это использовать. через ODR ввод идет используя ЧМЗ, а прямая установка/сброс вывода разбросана по разным битам BSRR и работать с ними проще через маску.
- А в МК от Atmel тоже не позволяет? А в МК от NEC позволяет?
- Строго говоря, такая расширенная семантика оператора присваивания не является частью языка, а расширение конкретного компилятора. Которое кстати делает программу непереносимой.
- Я тоже так думаю. Потому и возникает впечатление, что сравнивают не языки, а их компиляторы. А по поводу переносимости. есть основание полагать, что Renesas, объединившись с NEC, его традиции сохранил. Если так, то кому в голову придет переходить с МК самого крупного в мире по объёму продаж производителя микроконтроллеров на МК других изготовителей? От добра добра не ищут.
- А чем бэйсик на BASCOM-AVR не устраивает?
Публикации по теме
- СхемыСхема источника бесперебойного питания
- СтатьиОбзор бюджетного 6-дюймового букридера PocketBook Basic New
- ФорумСтиральная машина Ardo Basic 400. Маркировка привода
- ФорумОбсуждение: Обзор бюджетного 6-дюймового букридера PocketBook Basic New
- СтатьиPocketBook Basic New: эргономичный 6-дюймовый ридер с мощным процессором
- Измерения
- Микроконтроллеры
- Силовая Электроника
- Электронные компоненты
- Ремонт техники
- Подписка на обновления
- Журнал «РадиоЛоцман»
- Реклама
- Размещение прайс листов
- Контакты
Источник: www.rlocman.ru
BASIC Programming Compiler
BASIC (универсальный символьный код инструкции для начинающих) — это семейство универсальных языков программирования высокого уровня, философия дизайна которых подчеркивает простоту использования. Это приложение использует бесплатный / открытый исходный код (GPL) FreeBASIC компилятор (https://www.freebasic.net) в качестве бэкэнда. FreeBASIC — это язык программирования высокого уровня, поддерживающий процедурные, объектно-ориентированные и метапрограммирующие парадигмы, с синтаксисом, совместимым с Microsoft QuickBASIC.
Особенности:
— Скомпилируйте и запустите вашу программу
— Просмотр выходных данных программы или подробных ошибок
— Выберите и запустите кусок кодов
— Пользовательская клавиатура для удобного ввода часто используемых символов
— Оптимизирован для подключения с внешней физической / Bluetooth-клавиатурой
— Расширенный редактор исходного кода с подсветкой синтаксиса и номерами строк
— Открывайте, сохраняйте, импортируйте и делитесь базовыми файлами.
— справочник по языку
Ограничения:
— Интернет-соединение требуется для компиляции
— Максимальное время работы программы составляет 20 с
— Некоторые файловые системы, сетевые и графические функции могут быть ограничены
— это пакетный компилятор; интерактивные программы не поддерживаются. Если ваша программа предоставляет запрос ввода, введите его на вкладке «Вход» до компиляции. См. Вкладку Справка в приложении для примеров кода
Последнее обновление
26 дек. 2022 г.
Образование
Безопасность данных
arrow_forward
Чтобы контролировать безопасность, нужно знать, как разработчики собирают ваши данные и передают их третьим лицам. Методы обеспечения безопасности и конфиденциальности могут зависеть от того, как вы используете приложение, а также от вашего региона и возраста. Информация ниже предоставлена разработчиком и в будущем может измениться.
Источник: play.google.com