|
GW-BASIC | Описание | Информация | GW-BASIC — это диалект языка программирования Бейсик, разработанный компанией Microsoft на основе диалекта BASICA и первоначально предназначавшийся для компании Compaq. Он является совместимым с выпускавшимся Microsoft и IBM BASICA, но не требует наличия в ПЗУ компьютера интерпретатора BASIC (имевшегося на ранних моделях персональных компьютеров IBM). Поставлялся с операционной системой MS-DOS для IBM PC-совместимых компьютеров. Также Microsoft продавала компилятор Бейсика BASCOM, совместимый с GW-BASIC, для приложений, требовавших большей скорости исполнения. Язык мог применяться для простых игр и программ ведения делопроизводства, и поскольку он поставлялся с большинством версий MS-DOS, он нередко становился первым языком, с которым сталкивался будущий программист. С выходом MS-DOS 5.0, GW-BASIC был заменён на QBasic, урезанную версию продававшегося Microsoft компилятора QuickBASIC.
Среда разработки GW-BASIC основана на командной строке, напоминающей Dartmouth BASIC. Часто используемые операторы доступны через функциональные клавиши, их значения отображаются внизу экрана. В GW-BASIC отсутствовали многие возможности структурного программирования, такие как локальные переменные и некоторые виды циклов, программы интерпретировались и потому выполнялись довольно медленно.
Все строки программы нумеровались. Вводимые ненумерованные строки исполнялись немедленно. По умолчанию, программы сохранялись в двоичном сжатом формате файла с заменой команд языка на идентификаторы, возможна была также запись в простой текстовой форме.
Имелась возможность использования джойстиков, мыши и светового пера. Предоставлялась возможность чтения-записи из файлов и COM-портов. Операции с кассетами не поддерживались. GW-BASIC мог воспроизводить простые мелодии через динамик компьютера с использованием операторов PLAY и SOUND; поддерживались звуковые возможности компьютера Tandy 1000, воспроизводившего трёхканальный звук.
Исходники GW-BASIC можно скачать тут: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=7032 Или тут: https://github.com/microsoft/GW-BASIC | Раздел: Basic/Visual Basic
 GW-BASIC 2.02 под Windows XP Скриншоты Операционная система: MS-DOS Требования: IBM PC Автор: Microsoft [WWW] Издатель: -
Добавил: SR | Доступные файлы - сортировка по имени и версии, времени добавления Файлов: 40. Файл | Размер | Выпуск | Версия | Язык | Качество | Загрузил | | 58.3 Кб | 1987 | 3.22 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | SR
| | 47.3 Кб | 1984 | 2.02 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | SR 2011.09.26 | | 54.3 Кб | 1986 | 3.20 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | SR 2011.09.27 | | 46.3 Кб | 1984 | 2.01 TeleVideo Corporation | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | SR 2011.09.28 | | 55.1 Кб | 1988 | 3.23 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | SR 2011.09.29 | | GW-BASIC 2.00 Olivetti |  |  | 841 |
| 49.6 Кб | 1984 | 2.00 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 2.01 Olivetti |  |  | 774 |
| 50.4 Кб | 1984 | 2.01 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 2.02 Bondwell |  |  | 756 |
| 49.8 Кб | 1986 | 2.02 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 2.02 Commodore |  |  | 777 |
| 48.6 Кб | 1985 | 2.02 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 2.02 Tandy 1000 |  |  | 751 |
| 50.7 Кб | 1984 | 2.02 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | 242.3 Кб | 1986 | 3.11 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | 60.4 Кб | 1987 | 3.20 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 3.20 Olivetti |  |  | 762 |
| 59.3 Кб | 1986 | 3.20 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 3.20 Tandy 1000 |  |  | 783 |
| 57.2 Кб | 1986 | 3.20 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | 51.7 Кб | 1987 | 3.21 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | GW-BASIC 3.22 Olivetti |  |  | 1198 |
| 60.2 Кб | 1987 | 3.22 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Login 2011.11.03 | | 331.5 Кб | | 3.23 | Русский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Nika 2013.10.12 | Русский перевод руководства от Микрософт в формате .CHM. | | 168.4 Кб | | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | zhasmin 2014.08.31 | Самая последняя версия GW. Поддерживает больше графических режимов. Прилагается большая русская документация. | | 70 Кб | 1993 | 1.12 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 221.1 Кб | 1985 | 2.0 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 5.4 Кб | 2002 | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 330.2 Кб | 2006 | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 219 Кб | 2003 | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | GW-Basic tokenised program format |  |  | 135 |
| 8.6 Кб | | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | Для программистов. | | 134 Кб | 1996 | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | GW-Basic Compiler (Apricot) |  |  | 141 |
| 239.3 Кб | 1986 | 2.01 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | GW-Basic encrypt or decrypt |  |  | 133 |
| 5.8 Кб | 1997 | 0.7 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 1.5 Кб | 21.12.1990 | 1.10 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | GW-Basic — Rerouting, Piping, and EDLIN |  |  | 124 |
| 9.1 Кб | 2003 | | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 48.7 Кб | 1986 | 1.03 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | GW-Basic Corona Data Systems |  |  | 126 |
| 41.3 Кб | 1984 | 1.12.03 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.30 | | 53.4 Кб | 1983 | 2.00 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | | 3.4 Кб | 20.08.2005 | 1.58 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | Конвертирование BAS в ASCII, под DOS. | | 13.3 Кб | 2020 | 1.02 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | Конвертирование бинарных файлов GW-Basic в исходники на ASCII, под Windows. | | 38.7 Кб | 2020 | 0.10 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | Конвертирование бинарных файлов GW-Basic в исходники на ASCII, под DOS. | | 56.5 Кб | 18.05.2011 | 1.004 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | Конвертирование исходников GW-Basic в QBasic, для Windows. | | 67.9 Кб | 10.01.2007 | 0.65 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2022.12.31 | Конвертирование исходников GW-Basic в QBasic, для DOS. | | 264.2 Кб | 1986 | 3.00 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2023.01.03 | | 338 Кб | 1983 | 1.0 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2023.01.03 | | 35.5 Кб | 1982 | 1.00 | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | yevrowl 2023.01.03 | Скомпилирован из переданных Microsoft исходников, однако дальше начального экрана не функционирует. |
 |
Комментарии | #1 Автор: dzeon (2013.10.29 12:31) | Выход в систему командой system на неё я наткнулся случайно пол дня репу чесал. Кстати из консоли писать веселее чем в qbasic я себе поставил его на все свои компы использую как калькулятор. Пример print 2+2 и в вод получаем 4 а можно так print "2+2=";2+2 получим красиво 2+2=4 А вот книга по теме http://old-dos.ru/index.php?page=lib&do=show&id=71 |
#2 Автор: Nika (2013.10.29 21:44) | dzeon, использовать ЭТО как калькулятор - неудобно. Лучше уж MATHCAD для DOS. http://old-dos.ru/index.php?page=files&mode=files&do=show&id=646 |
#3 Автор: Даниил (2014.05.08 17:45) | Для этого есть калькулятор... |
#4 Автор: zhasmin (2014.10.10 06:15) | Сама концепция-нумерация строк и переходы, очень интересная и эффективная, если грамотно ей пользоваться. |
#5 Автор: Сергей (2017.07.19 21:32) | Я пользовался версией gwbasic выход там был по F10 так и было там написано SYSTEM, а не SCREEN году так в 1998 Где бы сейчас такую взять, чтобы было ж-) |
#6 Автор: Quark (2017.08.25 18:34) | Изменить текст, который привязан к функциональной клавише, можно командой KEY. Например:
KEY 10, "SYSTEM"+CHR$(13)
Создайте файл, содержащий маленькую программку настройки среды интерпретатора (с именем, скажем, setup.bas) и запускайте интерпретатор сразу с этой программкой:
gwbasic.exe setup.bas
Сама программка настройки среды может быть, например, такой:
10 KEY 10, "SYSTEM"+CHR$(13) 20 COLOR 15, 1 30 CLS 40 KEY ON 60 NEW
|
#7 Автор: Dario (2018.04.28 05:49) | zhasmin, ничего в ней интересного нет, ввел новую строку и нужно заново переписывать полпрограммы (изменяя не только номера строк в начале, но и в каждом операторе GOTO/GOSUB). Как я в детстве на ZX Spectrum с этим мучался... Это отвратительный костыль, из-за отсутствия текстового редактора. QBasic, с его нормальными текстовыми метками, был просто подарком. |
#8 Автор: Nika (2018.04.28 11:35, изменений: 1, 2018.04.28 11:35) | Чтобы не мучиться, нумерацию строк нужно вести через 10 или через 20. Впрочем, всё равно с текстовыми метками лучше. |
#9 Автор: SergeCpp (2018.04.28 19:42) | С числами -- приучает к аккуратности, и плюс некая "тренировка под ассемблер". Я это ясно вижу, так как начинал именно с бейсика и машинных кодов (ассемблера /транслятора/ не было). |
#10 Автор: SergeCpp (2018.04.28 19:58, изменений: 1, 2018.04.28 20:00) | Помню, вызов подпрограмм и возврат из них делали хитроумным способом:
10 GOTO 100 начинаем там
20 ... тут подпрограмма 30 ON P это возврат такой
100 ... что-то делаем ... 200 P=220 210 GOTO 20 220 ... продолжаем
|
#11 Автор: zhasmin (2018.06.14 15:31) | Многие не понимают, что это на самом деле чудо программа. Без преувеличения. Она имеет текстовый редактор, просто надо в "ней пожить" хотя бы пару месяцев, чтобы понять все эти трюки. Она может даже изменять саму себя во время работы. Может иметь много модульный код, может исполнять ассемблерный код. Скачайте мануал, здесь или в разделе Basic2. Также книгу Р.Джордейн в библиотеке. |
#12 Автор: KPG (2020.05.23 14:15) | Microsoft открыла исходный код GW-BASIC (83года?) https://habr.com/ru/news/t/503384 (но его собрать не получилось в комментарии к новости)
P.S. https://github.com/microsoft/GW-BASIC репозиторий проекта |
#13 Автор: Dario (2020.07.11 20:03) | > и плюс некая "тренировка под ассемблер" Не было никогда в ассемблерах такого изврата, везде использовались имена для переменных и меток. Это скорее тренировка под написание в кодах, что уже в 70-е не имело никакого смысла. Машкоды уметь читать (взламывать, отлаживать) неплохо, но только сумасшедший будет писать программу в HEX редакторе.
> Я это ясно вижу, так как начинал именно с бейсика и машинных кодов (ассемблера /транслятора/ не было). На машинном коде надо и адреса переходов вручную вычислять. То, что вы мучались, ну могу только посочувствовать. Но зачем заставлять мучаться других? Программирование должно приносить удовольствие, а не бесить убогими ограничениями. Помню, как-то скачал Small Basic - бесплатный, стилизованный под ретро Бейсик от Microsoft, так там кто-то альтернативно одаренный оставил только процедуры (SUB), а функции делать не посчитал нужным. Или все реализации LOGO - одна черепашка, никаких спрайтов и прочего - в результате можно только рисовать векторные фигуры, и дети в школах его ненавидели (а ведь можно было расширить набор оператор для создания полноценных игр - как сделали создатели Scratch). Вот и номера строк из этой же серии.
> Многие не понимают, что это на самом деле чудо программа. Без преувеличения. Красноглазые сектанты примерно такими же словами хвалят VIM и Emacs, которые якобы лучше нормальных IDE вроде JetBrains IDEA и Visual Studio. Только вот профессиональные программисты не понимают почему-то... GW-BASIC это не более чем сильно урезанный MSX BASIC (ибо PC тогда только появился и был убог в плане графики и звука). И устарел сразу после выхода QBASIC/Quick Basic.
> Microsoft открыла исходный код GW-BASIC Неплохо, ждем теперь открытия кода QBASIC. А вот Windows старые открывать не хотят. |
#14 Автор: Программер (2021.05.25 20:37) | Dario, ты бы не позорился! Если не понимаешь, как правильно работать с нумерацией строк, которая характерна для ассемблеров прошлого, тебе место за счётами, хватит ныть ! Это насколько надо быть тупым, чтобы после ввода строки переписывать всю программу, и ведь не постеснялся своё скудоумие всем показать и пожаловаться!!!! Для тек кто не знает, есть ещё оператор автоматического перенумерации строк, на тот случай если промежутки кончились. Ричарду Гэрриоту хватило ума на таком Бэйсике написать Alakbet, предтечу Ultima, ныть что это якобы неудобно - позорно !!! |
#15 Автор: yevrowl (2023.01.03 03:09) | Сумеет ли кто-нибудь скомпилировать версию 1.0 из исходников и добавить на сайт? =) |
#16 Автор: yevrowl (2023.01.05 20:17) | Есть ещё решение для — http://old-dos.ru/index.php?page=files&mode=files&do=show&id=129#19039 Вот — http://old-dos.ru/index.php?page=files&mode=files&do=show&id=102111#file29040 |
#17 Автор: Red Lord (2023.03.03 06:28) | Программер, смешно. Ну давайте еще писать на Фортране с фиксированными отступами, как во времена перфокарт. В 1980-х давно уже не было нумерации строк ни в каких ассемблерах. А вот на Бейсиках того времени этот атавизм долго оставался. На конкретно взятой платформе - IBM PC/DOS - очевидно, GW-BASIC не дает никаких преимуществ перед позже вышедшими Quick BASIC и Turbo Basic. При том, что Quick Basic без нумерации строк появляется уже через 2 года после GW-BASIC.
> Для тек кто не знает, есть ещё оператор автоматического перенумерации строк, на тот случай если промежутки кончились Для тех, кто не знает, RENUM совершенно не поможет в случае выражений типа GOTO N + 10, которые часто встречались в коде у тогдашних Бейсик программистов (скажем, в примерах из известной книжки "48 программ для изучающих Basic" издательства "Солон").
P.S. Игра Akalabeth (научился бы писать правильно название, "олдфаг", прежде чем поучать других) писалась в конце 70-х на Apple II, т.е. когда персональные компьютеры только-только появились. И выбор софта тогда был невелик. Хотя Гэрриот мог бы, например, взять UCSD Pascal. |
#18 Автор: Red Lord (2023.03.03 06:39) | > Красноглазые сектанты примерно такими же словами хвалят VIM и Emacs, которые якобы лучше нормальных IDE вроде JetBrains IDEA и Visual Studio
Это программы из разных категорий: VIM используется для правки конфигов или небольших скриптов, а IDE для больших проектов на несколько тысяч файлов (в Java энтерпрайзе и др.). Сравнивать их некорректно, и в подобных холиварах обычно участвуют школьники/студенты. Профессиональный программист пользуется и редакторами (VIM/Emacs/nano), и IDE (IDEA/VS/XCode) для разных задач. |
#19 Автор: lexx821 (2023.09.10 05:10) | Этот интерпретатор стоял на отцовском компьютере, в 1991 я на нём учился программировать. |
#20 Автор: Vasia (2024.10.27 20:55) | Ностальгия. Старый добрый GW Basic. Хорош гнать на Vim и Emacs! Изнеженные криворукие неосиляторы могут пользоваться только Idea и Visual Studio, VIMеры и Emacsеры, специалисты высокого класса - могут настроить эти среды под себя (нередко при самом минимуме потребляемых ресурсов), а если необходимо могут работать и в Idea и VS, а вот наоборот не бывает, адепты "профессиональных IDE" потом и не пользуются VIM и Emacs, что это за пределами их интеллектуальных возможностей. В каких "профессиональных IDE" типа Idea и Visual Studиях написан Linux и большая часть всякого системного софта (не под Винду) ? То что человек не осилил настройку VIM и Emacs и ругает их - скорей всего говорит о том, что он и в Idea c Visual Studio не шибко силён ! |
#21 Автор: Vasia (2024.10.27 21:02) | > Хотя Гэрриот мог бы, например, взять UCSD Pascal.
Мог бы взять, а во рту могли бы расти грибы, а мы все могли бы стать миллиардёрами, но почему то не стали.
2Dario Зачем уметь редактировать программу по строкам, ведь есть профессиональные IDE ?
Вспомните сцену из книги или из фильма "Звёздный десант": - Сэр, зачем мы учимся кидать ножи, ведь есть космические корабли и суперскафандры с гранатомётами, противнику стоит нажать на кнопку... - Кадет, вытяните руку...(кинул нож и тот пригвоздил руку кадета к стене)...вот теперь противник не сможет нажать на кнопку !
Утрированно, но мне почему то кажется что не стоит возноситься и забывать прошлое, даже счёты, ибо в один не очень прекрасный день всякое может понадобиться !
|
#22 Автор: Vasia (2024.10.27 21:16) | 2Dario >>>zhasmin, ничего в ней интересного нет, ввел новую строку и нужно заново переписывать полпрограммы (изменяя не только номера строк в начале, но и в каждом операторе GOTO/GOSUB). Как я в детстве на ZX Spectrum с этим мучался... Это отвратительный костыль, из-за >>отсутствия текстового редактора.
Ха ха ха !!! Ну вот я же говорил, только неосиляторы, высокомерно ноющие про "профессиональные IDE" и называющие пользователей VIM и Emacs "красноглазиками" сами то не умеют пользоваться даже номерами строк, думаю и в профессиональных IDE такие звёзд с неба не хватают. И на Спектруме и в GW Basic были средства перенумерации без переписывания программы вообще.
>>>QBasic, с его нормальными текстовыми метками, был просто подарком.
Каких ещё "метки", товарищ неосилятор :-) В QBasic поддерживался полноценное структурное программирование с процедурами и функциями ! Но тем кто не осилил правильное использование номеров строк, лучше в такие сложные концепции не соваться :-))))))))))))))) |
| |
|