50 лет Бейсику!*

Original author: The Visual Basic Team
  • Translation
Команда Visual Basic присоединяется к поздравлениям Дартмутского Колледжа и разработчикам по всему миру, чьи жизни затронул этот прекрасный язык, и хочет поздравить Dartmouth BASIC (и, конечно, всё семейство языков Бейсик) с пятидесятилетием!

В нашей команде управляемых языков программирования так много тех, кто начинал свой путь с того или иного диалекта Бейсика, что мы не могли не поностальгировать и не показать привязанность к нашим истокам. В честь 50-летия дедушки Бейсика мы представляем вам QuickVB.

QuickVB основан на платформе .NET-компиляторов Roslyn (доступна в виде Nuget-пакетов), которая была представлена на конференции BUILD в этом году. Чтобы начать работу, просто распакуйте архив QuickVB.zip (ссылка в конце поста) с проектом, затем соберите и запустите проект в Visual Studio 2013. Предварительные версии Roslyn ставить не надо, менеджер пакетов Nuget сам скачает все необходимые зависимости.

Запустив QuickVB, вы увидите среду которая немного похожа на QuickBasic.





Тем не менее, это консольное приложение Windows работающее на Roslyn. Чтобы включить подсветку синтаксиса, зайдите в меню Options (нажав ALT+O) и включите опцию «Enable Roslyn» (нажав R).



QuickVB использует Roslyn Classification API и поэтому он может корректно подсвечивать контекстно-зависимые ключевые слова из Visual Basic, даже в довольно-таки запутанных последовательностях.



QuickVB использует ещё и Recommendation API для создания списка автодополнений по ходу набора текста.



Нажмите F5 чтобы запустить вашу программу:



QuickVB даже покажет сообщения от компилятора, если, к примеру, мы закомментируем в Imports строчку, включающую LINQ.



Есть и ещё несколько сюрпризов, но мы дадим вам возможность найти их самостоятельно! (подсказка: компилятор VisualBasic в Roslyn самодостаточен (он большей частью написан на VB), и QuickVB в этом плане от него не отличается. Попробуйте в меню File выбрать пункт Open Self: проект QuickVB откроется внутри себя. Попробуйте изменить проект и запустить его снова!)

Желаем Удачи!

Скачать проект QuickVB (QuickVB.zip)

Примечание переводчика. Вообще говоря, юбилей был вчера, первого мая. К сожалению, на Хабре про него ничего не писали, а ведь Бейсик оказался для многих из нас самым первым ЯП. Если ваша первая программа была написана на Бейсике, напишите в комментарии, что эта программа делала. Моя — была написана в QuickBasic и рисовала белые прямоугольники на чёрном экране.
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 122

    +30
    и разработчикам по всему миру, чьи жизни затронул этот прекрасный язык
    Сарказм 90-го левела.
      +18
      Ну а какого эпитета вы ждали от чуваков, которые создают этот язык? :)
      Я и сам не люблю бейсик (т.е. современный VB.NET), но историю не перепишешь, первые программки я писал на QuickBasic в 7 классе.
        +7
        Зря вы так.
        В 1980-е годы BASIC на 8-разрядных микро-компьютерах стал первым языком для целого поколения программистов. По сравнению с альтернативами того времени (например Форт), Бейсик был намного понятнее.
        Реализация кстати была в основном от Microsoft, хотя было и множество других диалектов.
        +22
        Эх, времена! Помню как на QuickBasic, рисовал домики используя Line и Circle.
          +17
          Моим первым Васиком был Sinclair BASIC, с ним я впервые приобщился к программированию. Писали на советских аналогах Спектрума «Дуэт» и «Нафаня». Мы жили тогда в небольшом городке и, страшно подумать, учили язык без гугла и почти без документации. Каждый новый оператор, каждая команда были Открытием, об их назначении и синтаксисе часто приходилось догадываться методом тыка, большой удачей считалось найти знающего человека и узнать у него пару-тройку новых фич. Было безумно радостно смотреть на свои первые программы: рисование джойстиком, перемещение простых фигур или даже проигрывание простых мелодий.
            +1
            Аналогично, с него же начинал!
            Любой кусочек текста, будь то 7-я ксерокопия страницы журнала или «конспект» в тетради — был на вес золота. Мне спектрум достался случайно, и никакой документации не было в принципе…
              +1
              будь то 7-я ксерокопия страницы журнала

              Это шутка юмора такая, да? Тетрадь в клеточку, которую страшно было потерять, ибо в ней вся жизнь.
                +1
                Нет, не шутка. Был журнал такой — ZX-ревю. В подписке его почему-то не было. Но добрые люди делали копии его на ксероксе, с этих копий тоже копировали и так до тех пор, пока прочесть невозможно было. Вот примерно так выглядели копии.
                  +2
                  Журнал то я видел, но ксерокопия была несколько недоступной роскошью для провинциальных городов, по крайней мере по началу.
                    0
                    Не сказать, что недоступен, у нас уже можно было воспользоваться, но дорого (мне было проще переписать нужное). А ребята привозили уже готовые копии откуда-то, за магарычи. Вот их собирал.
                    +1
                    Он был не по подписке на отделении почты, а заказывался у издателя, вполне себе приходил каждый номер, а за прошедшие года заказывался томик за год. У меня хранятся до сих пор. Так что просто вы не разобрались, как он получается.
              +3
              Моей первой программой был бейсиковский хелловорд, спрашивающий имя. Бейсик учил по «Пете и Тоне», на машине не запускал.
              • UFO just landed and posted this here
                +2
                >>> Если ваша первая программа была написана на Бейсике, напишите в комментарии, что эта программа делала.

                Даже и вспоминать не хочу )))
                  +14
                  10: BEEP
                  20: GOTO 10
                    +6
                    Нас за такое могли из школьного кабинета вытурить :)
                      +6
                      В Гестапо, я думаю, такие программисты были бы очень полезны.
                  • UFO just landed and posted this here
                      +3
                      Как может быть «много» «первых» программ?
                        +1
                        Сколько угодно — смотря каким очередным почином занимаешься. Как вариант — первая программа на васике Спека, затем первая программа на ассемблере Z80 (тоже спек), первая программа на Turbo BASIC (уже, естественно, на PC с результирующим exe-файлом под DOS), первая — на асме 8086/8088, первое бизнес-приложение, первая программа на Turbo Pascal, затем Visual BASIC, Delphi, PHP/JavaScript, Visual C++, дальше первый не слишком сложный, но полноцикловый проект с проектированием, кодированием и тестированием — короче, всё когда-то бывает в первый раз.
                      +9
                      Ничто не забыто!

                      Эх, как давно это было.
                        +2
                        Относительно не так давно (10 лет назад) начинал на QBasic. Одной из первых программ, которые помню, написал музыкальное исполнение La cucaracha, папа помог ноты подобрать :)
                          +2
                          Первые програмки писал на диалекте Basic для Вектор-06Ц страшно подумать, более 20 лет назад. Я тогда в первом классе учился, соответственно и програмки были соответствующие: таблица умножения, пытался что-то нарисовать на экране. Потом уже была книжка о «Пете и Тоне», правда диалект там был немного другой.
                            +2
                            Стрвнно, что никто не вспомнил Дейкстру :)
                            (если что, я тоже начинал со Спектрум-бейсика)
                              +5
                              Дейкстра, при всем моем уважении, критиковал практически все что движется. От бейсика и кобола, до S/360.
                              +2
                              А я на QB учился программировать, сидя за черно-белым Paccard Bell 8810.
                              И первый графический редактор на нем написал — в компьютерном классе был дефицит мышек, поэтому все рисование было с клавиатуры.
                              И нет, мне не 50.
                                +2
                                Начинал писать на QB в школе. В нашем городе не было книжек по бейсику, поэтому разбирался с английским хэлпом и перепечатанной на пишмашинке книжкой от спектрума (или клона?). Первая программа выводила разноцветные цифры и что-то пищала.
                                  +4
                                  «Когда я был в первом классе, ко мне подошел старшеклассник и пред-
                                  ло жил писать с ним программу на Бейсике. Я стал отказоваться, но он
                                  меня заставил. С тех пор я пишу программы только на Бейсике. Иногда,
                                  когда родители уходят, мы собираемся группой по 6-8 ребят и пишем
                                  программы на Бейсике вместе. Год назад я познакомился с девушкой, и
                                  она предложила мне писать программы на Паскале. У меня ничего не выш-
                                  ло, да и потом долго болела голова. Зовут меня Валерий Павлович, в
                                  сентябре мне исполнится 47 лет. Моя жизнь сломана...»

                                  Этому монументальному труду уже тоже скоро пятьдесят лет исполнится :-)
                                  forum.ru-board.com/topic.cgi?forum=3&topic=1035
                                    +2
                                    В следующем году всего 20: www1.lib.ru/ANEKDOTY/shahid.txt_with-big-pictures.html
                                      +1
                                      Ну да. В следующем году — двадцать, а скоро — пятьдесят :).

                                      — Мальчик, сколько тебе лет?
                                      — Скоро восемь, а пока три.
                                      –4
                                      Хотите сказать, Паскаль — норма? Да у вас, я смотрю, процедурные склонности.
                                      Я к чему это говорю — практически все, кроме отцов-основателей, в свое время писали на «детских» языках. И практически все «детские» сегодня языки в свое время были серьезными.
                                        +3
                                        Ну почему же процедурные? Вы не видели классы в паскале?

                                        А уж в Дельфи поддержка ООП местами лучше, чем в C++…
                                          –3
                                          Классы в паскале я видел. Уж лучше бы не видел.
                                            +1
                                            Что же не так с классами в Паскале?
                                              0
                                              Зачем-то не скрытые указатели. Зачем они нужны в таком языке, как Паскаль — лично мне непонятно.
                                                0
                                                В чем отличие от того же С++? Почему это плохо?
                                                  0
                                                  C++ — небезопасный, слабо-типизированный язык. Паскаль — безопасный, сильно-типизированный.
                                                    0
                                                    То-есть ваше
                                                    Классы в паскале я видел. Уж лучше бы не видел

                                                    вызвано всего лишь указателями (не особенность именно Паскаля)? Просто интересно.

                                                    Возьмем любые другие указатели — на динамически создаваемые структуры, например. Указатели на функции, в конце концов. Приведение всех этих указателей — тут и без классов полно «небезопасного» и слабо-типизированного.

                                                    Реализация в каком языке вам кажется наиболее удачной?
                                                      0
                                                      Я имею ввиду, что реализация объектов в Turbo Pascal (на случай если мы говорим о разных вещах) плохо подходит идеологии паскаля. Вот и все.
                                                        –1
                                                        Вы бы ещё что по-древнее вспомнили, Turbo Pascal не актуален со времён кончины DOS-a.
                                                          0
                                                          В TP7 классы были сделаны, как мне кажется, наиболее простым и естественным способом. Да, там были только объекты-ссылки, но не было объектов-значений. Однако наличие только одного типа объектов очень здорово упрощало жизнь по сравнению с тем же C++.

                                                          В любом случае, это уже вопрос вкуса — что лучше, что хуже.
                                                    +1
                                                    Прошу прощения, конечно, но если вы программируя на паскале ни разу не сталкивались с фундаментальным типом pointer или с оператором разыменования указателя ^, то это не значит, что их там не было (и были они точно до появления классов).

                                                    Паскаль не позволял только одно из коробки, по сравнению с Си, — адресную арифметику. Но и она делалась при желании легко с помощью ключевого слова absolute в декларации.
                                                +1
                                                А можно поподробнее чем она лучше?
                                                  +1
                                                  Навскидку — properties без геттеров-сеттеров очень удобны (или в С++ это уже реализовано?). А так — только в синтаксисе разница.
                                                    –1
                                                    Именно про них я и вспомнил! Пишу на Java, тоже их очень не хватает.
                                                      0
                                                      Это те же property как и в python?
                                                        0
                                                        В какой-то степени. Скорее — как в C#
                                                        0
                                                        Не жалуюсь на минус — просто хочу понять: объясните мне, ради бога, что плохого в properties? Это — еще один шаг к правильному пониманию того, что есть инкапсуляция. Объект контроллирует каждое своё поле… Ведь все эти вечные get/set при следовании правилу об обязательном сокрытии внутренних полей — лишние слова…
                                                +2
                                                Первая программа была на Бейсик-АГАТ. Последовательно выводила числа от 1 до 100 разными цветами.
                                                  +1
                                                  Тоже с АГАТов начинал. Потом был GW-Basic. У него был баг — если получить исключение в тот момент, когда программа находится в графическом режиме, то Basic вылетал в какую-то параллельную реальность — на экране был консольный режим, но при этом буквы были гигантскими. Можно было вводить текст, команды, но они не исполнялись. Поэтому невозможно было ни сохранить программу (автосохранения перед запуском не было), ни даже просто выйти из Basic. Сколько нервов было попорчено… Редактор кода постоянно находился в режиме замещения символов, а нажатие на Insert позволяло временно перейти в режим вставки до нажатия Enter.
                                                  TurboBasic, QBasic — это было чуть позже. У нашего варианта TurboBasic была сломана функциональность компиляции программы в исполняемый файл. Первую исполняемую программу получил через Quick Basic — это было что-то невероятное — выход программы из стен интерпретатора в мир настоящих приложений.
                                                  +1
                                                  Моя карьера программиста началась c бейсика на «Корвет ПК-8010».
                                                  После того как учитель информатики написал:
                                                  10 PRINT «PRIVET»
                                                  20 GOTO 10
                                                  F5
                                                    +1
                                                    Давно это было.
                                                    Писал на QB программу, которую проверяла знание таблицы умножения))
                                                      +6
                                                      — какой ваш родной язык?
                                                      — в смысле?
                                                      — ну, на котором вы с детства пишете и читаете…
                                                      — а, бейсик…
                                                      — да не, настоящий язык!
                                                      — а, ну тогда си!

                                                      А первая программа была такой:
                                                      1 Toyota
                                                      2 Mercedes
                                                      3…
                                                      Потом я чистил экран, звал родителей, набирал «List» и показывал, как я умею! И тогда папа мне дал почитать книжку по программированию.
                                                        +3
                                                        Первая моя программа была написана на Фортране, на бумаге. Но на Бейсике писал очень много. Особенно на QuickBasic 4.5, у которого был нормальный компилятор и линкер. Чего только не было — игры, например, клон AlleyCat ( оригинал не запускался на моем Pentium 2 класса процессоре, решил написать свой клон). Программы пересылки файлов, обмена электронными сообщениями в сети, образованной «кольцом» через ком-порты. Простейший шутер от первого лица с лабиринтами, аптечками и 1 видом врагов. Учет домашних расходов. Библиотеки псевдо-графических окон и элементов управления, потом — оконный менеджер для своих программ (640*480*16 перекрывающиеся окна, перемещение, изменение размеров, кнопки, эдитбоксы, чекбоксы и радиобаттоны). Всего и не упомнить.
                                                          +2
                                                          «Кто хочет стать миллионером», не так уж и давно, 10 лет назад. На диком количестве вложенных ифов и миллионе вручную набитых копипаст для отрисовки шестигранников. Функции? Case? Random? Не, тогда не слышал. После этого была стрелялка по летящим кружочкам. Вот, найти бы сейчас всю эту прелесть и показать преподавателю. Чёрт возьми, если бы он не занимался со мной одним из всей школы бейсиком, чем бы я сейчас занимался? Но подожду другого уютного тредика для ламповых воспоминаний о крутых преподавателях.
                                                            +1
                                                            Моей первой программой (если не считать черепашек, бегающих в Logo Writer) был анти-Basic. Переписал какую-то маленькую программку с Бейсика в Турбо Паскале. Вот такой рефакторинг :)
                                                              +6
                                                              У меня самой частоиспользуемой, набираемой с нуля программой на Sinclair ZX Spectrum бейсике был калькулятор:
                                                              10 INPUT i : PRINT i : GO TO 10

                                                              Фишка в том, что все математические выражения (включая вызов функций) набранные в строке ввода интерпретатор спектрум-бейсика автоматически вычислял и печатал результат.
                                                                0
                                                                Вот он какой — первый оператор eval()…
                                                                +3
                                                                Для Правцев в школе первую свою игру написал на бейсике, в 1992 году это было.

                                                                «Хищник» называлась. Там был человечек, вы им управляете. И камней раскидано на поле много. Их можно двигать, но только по одному. И есть хищник, он пытается скушать человека. Ходят по очереди. Нужно запереть хищника камнями.

                                                                +2
                                                                Вильнюс-Бейсик (BASIC-86) на БК-0010.01, начал программировать на нём еще в школе, выступал на конференциях по IT с разными деловыми программами на нём. Ностальгия.
                                                                  +3
                                                                  БКшка вообще сплошная ностальгия, хотя у меня было трудное детство был Фокал и деревянные игрушки прибитые гвоздями к полу пленочная клавиатура. Когда я попадал потом к знакомым, с нежной PC клавиатурой, то они в ужасе закатывали глаза, представляя как ломается клавиатура под моими могучими пальцами
                                                                    +1
                                                                    Интересно, остальные стесняются про БК писать,? :)
                                                                    Я не помню уже первую прогу, это было в 89м году, сначала чужие изменял методом тыка…
                                                                      0
                                                                      Остальных не так и много, выше пишут про Quick Basic в школе, а это уже как минимум 286 машины. А чужих программ на бейсике почти и не было, нечего было ковырять, да и журналы с рубриками и кусками кода типа «БК за рога» появились много позже.
                                                                        0
                                                                        Не совсем так. Я в детстве программировал на QBasic-е на машине IBM 8088 с 640Кб памяти и тактовой частотой 2.88MHz. Загружался он, конечно, секунды 4, но программы, вроде, шли шустренько (насколько это слово вообще применимо к икс-тишке).
                                                                    +3
                                                                    Помню свои достижения на бейсике в школьные годы, это были 90-ые годы:
                                                                    — Клавиатурный тренажер
                                                                    — Графический редактор
                                                                    — Текстовый редактор (не довел до релиза)
                                                                    — Программа по рассчету стоимости прокатного металла и базой данных и рассчетным модулем (сделал за деньги)
                                                                    — Логическая игра где надо собирать разные фигурки
                                                                    — Ну и разумеется всякая мелочь типа «Змейки» итп. Это все проходили )

                                                                    А вообще, когда я таки получил доступ к нормальным языкам, то я понял
                                                                    «Хочешь научить человека программировать неправильно — научи его Бейсику».
                                                                      +2
                                                                      Хочешь научить человека программировать неправильно — научи его Бейсику

                                                                      Интересно — сколько раз слышал эту фразу — никто так и не смог пояснить ее. Обычно все заканчивается очень многозначительным видом и подёргиванием плечами. Может быть, вам удастся?
                                                                      Обычная процедурная парадигма, всё те же базовые управляющие конструкции. А вот поди ж ты!
                                                                        +1
                                                                        Так в микрокомпьютерах 80х процедур не было. Всё делалось с помощью подпрограмм и глобальных переменных.
                                                                          0
                                                                          А, то-есть речь идет о каких-то древних диалектах.
                                                                          Да, отсутствие четкого стандарта (стандарты есть, но вариантов — море) играет злую шутку.
                                                                          +1
                                                                          Здесь я говорю о древних бейсиках, на которых учили программировать в начале 90х, в которых нумеровались строчки и использовались подпрограммы (GOSUB, RETURN). Моя главная притензия, это отсутствие структурированности программы. В теже времена уже можно было работать на Pascal, он давал очень хорошее понятие о структурированности. Язык С тоже был, но он пожалуй был сложноват для совсем начинающих.

                                                                          А вообще, структура древней программы на бейсике, мне напоминала ассемблер, в том что касается постоянных GOTO, GOSUB, RETURN. Жаль только аналогов ассемблеровских PUSH и POP там небыло. Это бы решило ряд проблем.
                                                                            +1
                                                                            Лучший, на мой взгляд, из «старых» Бейсиков — QuickBasic 4.5 от MS со всеми процедурными и пр. «наворотами» разрабатывался с 85 по 90 год, если не ошибаюсь. До нас, видимо, доходило не сразу.
                                                                              +1
                                                                              Ага. Еще был TurboBasic. Почти тоже самое. Но это уже, я бы сказал, другие языки. Это огромный шаг вперед по сравнению с оригинальными бейсиками.
                                                                              Когда в бейсике появились нормальные процедуры с областями видимости, стало не нужно нумеровать строки и стало можно отказаться от GOTO, бейсик превратился из уродца, в почти полноценную среду.
                                                                              +1
                                                                              Да, когда я в первый раз запустил TurboBasic и оказалось, что нумеровать строки в нем не обязательно… Это ломало шаблоны.
                                                                            +2
                                                                            Я начинал с бейсика. С того самого Quick Basic. Потом был паскаль года до 1997, затем — Delphi, долго собирался с силами, чтобы выучить C — уж очень его синтаксис казался замудрёным после паскалевского. Пересел на C/C++ уже в институте, освоил C# потому, что он показался мне близким и похожим на Delphi. Сейчас занимаюсь Java и Android.

                                                                            И вот, что я вам скажу. Наблюдая сегодняшнее состояние индустрии, в особенности ее отношение к новичкам, я не перестаю радоваться, как же мне повезло родиться на заре IBM PC.

                                                                            У меня растет ребенок. Пока еще совсем маленький, но время пролетит незаметно. И иногда я задаю себе вопрос — смогу ли я показать ей, что такое программирование, когда она достигнет возраста заинтересованности в подобных вещах и главное — что именно я ей смогу показать, чтобы она заинтересовалась и не напугалась?

                                                                            Вопрос считаю не риторическим (во всяком случае, надеюсь, что ответ существует, хотя я его еще не нашел). И где вы сейчас найдете:

                                                                            1. Простой язык, позволяющий постепенно понять, что такое циклы и условные переходы, операторные скобки, функции и внешние модули
                                                                            2. Надёжную и элементарную IDE, заточенную строго под этот язык, рассчитанную на написание среднего размера программ, но которая при этом способна, например, вытаскивать одну функцию в рабочую область и скрывать остальные, чтобы большой объем кода не пугал неокрепший мозг

                                                                            Для всех, кто начнет рассказывать мне про простые и понятные языки для начинающих, которые легко и быстро запускаются из консоли или, прости господи, из какого-нибудь emacs, уточню: второй пункт в этом списке даже важнее первого, потому что человек делает первые шаги за руку.

                                                                            В каком-то приближении годился бы C# и VS Express, но, вспоминая, сколько всего мне пришлось изучить, чтобы разобраться в Delphi (а ведь я уже в тот момент умел что-то кодить), я понимаю, что он сгодится только как второй шаг, но никак не первый.

                                                                            В QBasic была даже валидация вводимого кода при его наборе (!) немыслимая по крутизне в те времена фича. Если не помните — валидный оператор превращался в Caps (print -> PRINT), а невалидный оставался как есть, намекая на ошибку.

                                                                            От себя скажу — если бы я не нашел тогда этот язык и среду, возможно, одним программистом было бы меньше. Убежден, что многие со мной согласятся.
                                                                              0
                                                                              1. JScript + 2. Notepad++
                                                                              Не?

                                                                              Я не думаю, что вам действительно нужно идеальное решение. Синклер BASIC имел гораздо меньше удобный интерфейс, но это не могло остановить нас в те времена, вы знаете. Кроме того, в настоящее время вы можете найти графический язык программирования.
                                                                              К сожалению, я не знаю, как набирать по-русски без клавиатуры и языка пакета, я использую Google Translate.
                                                                                +1
                                                                                Ого, меня сначала прошиб холодный пот: словно это я написал комментарий и забыл про это. Прошел в точности такой же путь, даже годы совпадают! Кроме Java в итоге.
                                                                                  +1
                                                                                  Мне кажется, что для приобщению к программированию очень важен быстрый фидбек в результатах. Самый простой вариант — это визуальный фидбек. Следовательно нужно выбирать ЯП и среду, позволяющую легко рисовать.

                                                                                  p.s. Сам в детстве изучал циклы именно через рисование. Начиная с FOR I = 0 TO 100 CIRCLE(100, 100, I) NEXT I и заканчивая фигурами лиссажу, когда не знал еще, что это фигуры лиссажу.
                                                                                    +1
                                                                                    Категорически согласен! И вообще для нормального обучения нужна экосистема, в которой дотянуться до чего угодно может и ребенок. Хочешь — рисуй. Хочешь — звуки выводи (где в современных я.п. аналог PC Speaker-а, которым можно «напикать» марсельезу?), хочешь — читай/пиши в файлы или уравнения решай.

                                                                                    В QBasic-е я (8-летний ребенок) чувствовал себя как рыба в воде. Я не знал еще, что такое синус и косинус, но зато я мог написать CIRCLE или SOUND. И очень быстро (на несколько лет раньше сверстников) узнал, что соседние октавы отличаются по частоте в 2 раза и что такое система координат.

                                                                                    А кроме того осознал, что написать один FOR — лучше, чем повторять команду 10 раз.

                                                                                    И всё это — без какой-либо посторонней помощи, не покидая зоны комфорта.
                                                                                +4
                                                                                Была такая штука у моего закадачного друга: книга-квест. Ты выбираешь какое-то действие, и открываешь нужную страницу, читаешь что-там, снова выбираешь и что-то делаешь. Я воспроизвел это на Бейсике в компьютерном клубе. Весь клуб играл. Страшно был горд собой )
                                                                                  +1
                                                                                  А друг, случайно, не Браславский?
                                                                                  +4
                                                                                  Первой моей программой на BASIC в 1989-мбыло
                                                                                  10 PRINT 1 
                                                                                  

                                                                                  Но особый эффект произвело то, что она заработала после того как набил 8 Кб дампа собственно BASIC*MICRON*

                                                                                  Следующей стало портирование с MK-61 игры «Лунолёт-1»
                                                                                    +1
                                                                                    А он был ASCII и реально летал, тыркая соплом в разные стороны? А то я пытался сделать такую, там еще в «Технике — Молодежи» была серия обучающих рассказов по программированию калькуляторов, как товарищ с бывалым пилотом напару летел на челноке с Луны на Землю — вот по ней и делал :)
                                                                                      +1
                                                                                      Кон-Тики для БЗ-34?
                                                                                        0
                                                                                        Вот её и портировал на BASIC, вернее использовал модель оттуда. «Тыркая соплом» громко сказано, но ввер или вниз падает можно было разобратья :)
                                                                                        0
                                                                                        У меня «портирование» Лунолёта на Бейсик ДВК-2м (под клоном RT-11) и стало толчком к изучению и любви к программированию.

                                                                                        Это не была первая написанная самостоятельно программа: я сидел рядом и вспоминал алгоритм — математику и физику, а приятель, который уже что-то знал, программировал. Восторг от того, что заработало будучи только что написанным (не с первого запуска, конечно), был таким, что за лето изучил Бейсик для Микро-80 по журналам Радио, всё лето писал на листочках «гениальные» программы и ждал осени, когда снова попаду на шефский завод к компьютеру.

                                                                                        Было грандиозное разочарование, когда оказалось, что для ДВК-2м команды PLOT и LINE — пустой звук, т.к. графику он не поддерживает. Поэтому первой самостоятельно написанной и запущенной программой стал психологический тест Айзенка (интроверт/экстраверт, темперамент). Программа тоже была написана летом на бумаге, а потом только перенесена и отлажена на компе. Кстати, для первой программы была достаточно большой: вместе с данными (вопросами, ответами), строк на 200.
                                                                                        +2
                                                                                        vb6.0 навсегда!
                                                                                          +2
                                                                                          Первая моя программа считала штурманский бортовой журнал для полета по маршруту с аэродрома А на аэродром Б с учетом загрузки самолета и ветра. Понятно, что там была чистая арифметика и геометрия, перемежающаяся GOTO, но это было реально круто, когда по нажатию одной кнопки вся эта хрень все считала на раз! Кстати, это был непонятно какой диалект Басика для отечественных микрокомпьютеров ДВК-2 и ДВК-3.
                                                                                          Охтыжблин… Вот ведь как оно все было… Мда…
                                                                                          Ну, там еще МК-52 был до этого… но это уже другая сказка :)
                                                                                            +2
                                                                                            Неканонично!
                                                                                            В оригинальном QBasic-e набраное без ошибок ключевое слово автоматически переводилось в верхний регистр, а тут какие-то строчные буковки кругом.

                                                                                            Первой программой было что-то, переписанное из журнала, а самый многочисленный класс «программ» — воспроизведение мелодий при помощи PLAY.
                                                                                              +4
                                                                                              Насколько помню, одной из первых набранных мной программ была Угадайка на Basic из книги «Домашний компьютер». Больше на этом языке не писал.
                                                                                              Скрытый текст

                                                                                                +1
                                                                                                10 PAPER 5
                                                                                                20 BORDER 7
                                                                                                  0
                                                                                                  наш постсоветский клон Spectrum 48k + rutracker.org/forum/viewtopic.php?t=4282043 = счастливое детство )
                                                                                                  • UFO just landed and posted this here
                                                                                                      +4
                                                                                                      Отличный язык. Я программировал на нем более 10 лет. Он помог мне заработать первые деньги. Он также помог мне заработать первые большие деньги. Но через 3 года после перехода на C# я возненавидел его. И ненавижу по сей день. Он настолько убог по сравнению с C#, что я ничего не могу с собой поделать. Хотя я обязан ему многим.
                                                                                                        +2
                                                                                                        Я тоже первые деньги заработал на бейсике — выполнял практические работы по написанию мелких программ типа расчета матриц и прочей чепухи.
                                                                                                        На бумажке — о своем компе я в то время только мечтал.
                                                                                                        При этом основным условием получения оценки было придти в кабинет информатики, вбить программу и чтобы она при этом ещё и заработала. От клиентов отбоя не было — очень мало кто вообще понимал чего от него хочет преподаватель. Поэтому нужно было писать без ошибок, иначе у клиента не было никаких шансов самостоятельно поправить ошибку в момент сдачи практической.
                                                                                                        Довыполнялся до того, что себе сделал в самую последнюю очередь. Пошёл сдавать. Пришёл, ввёл текст программы, F5 — заработало. Преподаватель глянула код, увидела что опять код крайне похож по стилю на тот, который ей носили последние несколько дней, и решила что я тоже один из клиентов неизвестного ей программиста. Начала задавать каверзные вопросы по программе. После третьего вопроса с улыбкой спросила моих ли рук это дело, я в ответ так же улыбнулся. Благодаря этому случаю у меня появился неограниченный доступ к компьютерам в кабинете информатики.
                                                                                                        Первые серьезные деньги я заработал на VBA из Excel.
                                                                                                        Столько расчёток и симплекс-таблиц на нём было написано — весь курс ко мне ходил тогда. А потом когда та же преподаватель меня вычислила, то попросила у меня исходник, чтобы проверять сданные работы.
                                                                                                        +2
                                                                                                        MSX-BASIC.

                                                                                                        На нём чего только не ваяли…

                                                                                                          0
                                                                                                          не туда
                                                                                                          +1
                                                                                                          Вопрос тем, кто начинал с каноничного бейсика — 10, 20, 30, 40 GOTO 10 как вы перешли на использование функций и отказа от GOTO? Насколько себя помню после бейсика я пробовал немного Pascal, а затем FoxPro. Когда-то давно одна знакомая учительница по Pascal говорила, что бейсик портит программистов, скорее всего она имела ввиду именно увлечение GOTO.
                                                                                                            +1
                                                                                                            Кстати, насчет структурного программирования и GOTO: классно затроллил Дейкстру Кнут, выпустив статью «Структурное программирование с использованием оператора GOTO». Его доводы выглядят не менее убедительно, чем Д.
                                                                                                              0
                                                                                                              Можно ссылку на публикацию или подсказку для поиска?
                                                                                                            0
                                                                                                            Как только я в паскале увидел repeat until и while, желание исползовать goto пропало само. Он неудобен.
                                                                                                              0
                                                                                                              Тем страннее появление этого оператора в PHP 5
                                                                                                                0
                                                                                                                <troll_on>
                                                                                                                Ну, видимо, уровень технической продвинутости разработчиков PHP достиг таких вершин, что теперь без него не обойтись.
                                                                                                                </troll_off>
                                                                                                                (простите, если кого-то обидел)
                                                                                                                  0
                                                                                                                  Хорошая шутка. Но в технической продвинутости разработчиков PHP сомневаться не приходится.
                                                                                                                  Я скорее поверю, что мы (как минимум, я сам) чего-то упускаем и не понимаем.
                                                                                                                0
                                                                                                                Он действительно неудобен для организации циклов (также вместо break и exit), но он может быть удобен в других случаях, хотя их мало.
                                                                                                                  0
                                                                                                                  В том и дело, что те случаи, в которых он удобен, сообществом было негласно принято не использовать. «Восьмёрки» в коде очень запутывают и понимание, и отладку. В качестве частичной компенсации оставили «сквозные» case-ы в си-образных языках. Но даже они вызывают кучу ошибок, так как люди забывают написать break;
                                                                                                                    0
                                                                                                                    В каждом конкретном месте надо смотреть отдельно. Я вижу в нашем коде случаи, когда безусловный переход, при правильно названной метке, более читаем, чем разбивка на процедуры. Но таких случаев, конечно, мизер.
                                                                                                              –2
                                                                                                              Надеюсь террористы-создатели этого псевдо языка будут гореть в аду и особенно те кто его «портировал» на .net!
                                                                                                                +2
                                                                                                                Распространенная ошибка.

                                                                                                                Создатели языка еще в 1985 году написали «оправдательную» книгу об истории создания и развития языка — www.amazon.com/Back-BASIC-History-Corruption-Language/dp/0201134330

                                                                                                                Язык проектировадся грамотно создателями, но, вот, портировался на кучи 8-битных машинок, где он и получил наибольшее распространение, кем придется и как придется с учетом слабых аппаратных возможностей железа. Вся критика, однако, была исключительно в адрес создателей языка.


                                                                                                                Старый анекдот:
                                                                                                                — Так мне Паваротти не понравился, картавит, в ноты не попадает…
                                                                                                                — Вы были на концерте Паваротти?
                                                                                                                — Нет, мне Рабинович по телефону напел.
                                                                                                                  0
                                                                                                                  Все конечно познается в сравнении. Давайте поговорим о лиспе который на 6 лет старше бейсика. Данный язык тоже претерпел много переносов(без всяких оправдательных книг), но он остается на сегодняшний день очень даже актуальным и способен решать самые современные задачи.

                                                                                                                  Я считаю что по вине создателей и разносчиков бейсика мы профукали эру параллельных вычислений и вынужденны были вернутся на 60 лет назад для переосмысления и пересмотра основных концепций, по данному поводу советую вам ознакомится с презентацией Брeт Виктора.

                                                                                                                  Ну и немного изюминки, допустим что этот язык плохо разносился и превратился в псевдо-языковую кашу. Но вот я до сих пор не могу понять для чего его пришлось натягивать на платформу .NET, тем самым тормозить ее дальнейшее развитие? Наверное найдутся люди не согласные с данным фактом, но если вас не беспокоит разные синтаксические значения скобок и прочие плюшки языка, я вас категорически поздравляю.
                                                                                                                    +2
                                                                                                                    На дотнет его притащили, чтобы не растерять разработчиков на VB6. Кроме того, огромное число разработчиков в Америке (и не только) учат программированию с использованием Бейсика. Поэтому, я думаю, было разумно в дотнете поддержать VB в виде VB.NET.
                                                                                                                      +1
                                                                                                                      Не виноват никто. Тогда, видимо, не было других вариантов: там, где могла работать LISP-машина, она работала.
                                                                                                                      Память была дорогая и ее было мало. Бейсик позволял урезать свой транслятор и запускать его на слабом железе.

                                                                                                                      С параллельными вычислениями все это слабо связано, как любительские радиостанции с системами обнаружения космических объектов. Это я к тому, что Бейсик был рассчитан на широкие массы энтузиастов, а не теоретиков компьютерной науки.
                                                                                                                      Другая аудитория, другие задачи.
                                                                                                                        0
                                                                                                                        В том то и дело что именно тогда зародилось ошибочное мнение что lisp это для теоретиков а бейсик для широких масс. Даже если lisp был создан в лаборатории как язык для «математиков». По мне, тут дело не в конкретном языке а в целом подходе который из за популяризации бейсков аукается до сих пор. Оперативная память была дорога, согласен, тут не поспоришь но ведь примерно с 2000-х ситуация изменилась, именно тогда нужно было закопать бейсик и закрыть тем самым эту страницу в истории. Ведь фортран или бейсик не портировали на jvm для привлечения армии разработчиков, для чего же это было сделано на .net?
                                                                                                                          +1
                                                                                                                          Это не мнение зародилось, а Бейсик специально для этого и был разработан.
                                                                                                                          Сначала разработчики в Дартмурте создали многопользовательскую диалоговую среду (до этого были перфокарты, очереди, за результатами программы и сообщениями об ошибках приходите завтра).
                                                                                                                          Под нее уже был разработан Бейсик, т.к. Фортран не очень подходил.
                                                                                                                        0
                                                                                                                        Презентацию вы имеете в виду вот эту: Bret Viktor «The Future Of Programming»?
                                                                                                                          0
                                                                                                                          Да да она, не знаю почему мой линк был игнорирован.
                                                                                                                            0
                                                                                                                            Это карма.
                                                                                                                              0
                                                                                                                              Карма на хабре в смысле? Тогда понятно.
                                                                                                                    +1
                                                                                                                    FYI:
                                                                                                                    Все знают, что Бейсик до сих пор можно использовать на платформах Майкрософт (VBA для Office, VB.NET, VBScript, SmallBasic), а также то, что есть масса интерпретаторов и компиляторов под все основные платформы.

                                                                                                                    Вот еще несколько современных сфер применения:

                                                                                                                    — микроконтроллеры Basic Stamp от Parallax (пример starter kit)
                                                                                                                    — одноплатный микрокомпьютер Maximite (пост на Хабре)
                                                                                                                    — сервер веб-приложений RunBasic
                                                                                                                    — средство автоматизации Windows GUI — AutoIt
                                                                                                                    — среда разработки для Android — Basic4Andriod
                                                                                                                    — среда разработки для iOS/Android — NSBasic
                                                                                                                    — одноплатные компьютеры, работающие под DOS — JK Micro (сайт старый, не понятно, жив ли производитель)

                                                                                                                    Наверняка кто-то знает еще интересные проекты, использующие Бейсик в наши дни.

                                                                                                                    Кстати, истинный Бейсик от Кемени и Куртца сейчас тут — TrueBasic для Windows. (Я сам тру-бейсик не смотрел, другие его особо не хвалят, сайт же вызывает лишь грусть.)

                                                                                                                      0
                                                                                                                      Заинтересовался программированием после вдумчивого рассмотрения листинга игры «Сокобан» (не помню русскогоязычного названия) на Бейсике в журнале «Техника-Молодежи».

                                                                                                                      Only users with full accounts can post comments. Log in, please.