Бейсик. Кризис инженерного программирования

   Жившие в прошлом веке, помнят, что язык Бейсик был очень распространён и популярен среди программистов любителей, работавших на персональных компьютерах. То есть не в среде профессионалов, которые работали и продолжали работать на больших машинах, там популярным языком оставался Фортран, а среди инженеров, приспособившихся решать численными методами свои узконаправленные задачи.

   Впоследствии персональный компьютер вытеснил большие ЭВМ, и появились серьёзные компьютерные программы разного назначения, которые персональный компьютер успешно тянул, а за Бейсиком закрепилась репутация языка, на котором можно было бы "по быстрому" создать что-нибудь своё, для кого - более подходящее, а для кого - более простое, поскольку "серьёзная" программа казалась во-первых, избыточно сложной, а во-вторых - не очень подходящей для решения конкретной задачи.
   Такая ситуация продолжала сохраняться, а Бейсик продолжал развиваться, превратившись из некого подспорья, в среду, в которой могли создаваться большие и функционально разнообразные проекты. Апогеем развития Бейсика стал VB6 (Визуал Бейсик 6).

   Чем же хорош Визуал Бейсик 6, и в чём его преимущества перед всеми остальными языками программирования?
   Как я уже говорил, особой популярностью Бейсик пользуется среди инженеров, он использует синтаксис обычного и привычного для человека языка и не требует от пользователя дополнительных специальных знаний и усилий по организации интерфейса, по подключению библиотек, не требует знания нюансов объектно ориентированного программирования и проч.
   Вместе с тем, основные функции, связанные с организацией графики, разнообразными кнопками и меню, вводом и выводом информации во внешние файлы, средства отладки и многое другое предусмотрено в VB6 как бы изначально, и пользователю совершенно не нужно лишний раз по этому поводу напрягаться. Особую радость доставляет среда, в которой интерфейс программы (кнопки, поля для текста и для рисования) оформляется наглядно в режиме онлайн, что делает эту среду чрезвычайно привлекательной.
   
   Не нужно думать, что Бейсик, это среда для «чайников», которые просто привыкли к ней и не умеют как следует программировать. Вовсе нет, и я вам скажу, что именно инженер, а вовсе не программист способен создать наиболее совершенную программу прикладного плана.
   В моей жизни именно так и происходило – я очень редко пользовался готовыми программами. Подвижные оптические светопроводы и оптика, связанная с лазерными системами имеют свою специфику, и я успешно использовал собственные программы для расчёта таких систем http://proza.ru/2015/05/19/1630
   Взаимодействие лазерных мод внутри резонатора, накачка лазерным излучением, лазерный отжиг трансформаторной стали и массу других более мелких расчётов я делал, программируя на Турбо Бейсике. Уже на пенсии сделал два больших уникальных проекта – первый был связан с синтезом музыкального звука, а второй – с векторной графикой, рисованием и анимацией. Эти проекты были сделаны в среде VB6, и я, образно скажу, умер бы на старте, если бы пользовался не Бейсиком, а каким-нибудь другим языком программирования.
   Большим плюсом собственных программ является то, что их можно развивать. А как можно развивать покупную программу? Да никак.
   С точки зрения программистов инженеры – ленивые, не хотят они изучать то, что им в профессиональной деятельности не требуется. А с точки зрения инженеров, программисты - тупые, не зная как следует, прикладных областей, они в принципе не способны создавать прикладные программы высокого качества, то есть, работающие эффективно.

   Не я один имею мнение о преимуществах Бейсика в инженерных расчётах, успех многих проектов отчётливо показал, что любительская деятельность в области прикладного программирования может составить конкуренцию большим профессиональным программам.
   А вот этого-то корпорации, связанные с профессиональным программированием, никак допустить не могут. И в самом деле – кто будет покупать их продукт, когда свой собственный оказывается и дешевле и лучше?

   И корпорация Майкрософт поступила очень просто. Она перестала поддерживать свой собственный продукт, и в результате, программы, созданные в среде VB6, перестали запускаться в Виндос 10. И сам VB6 тоже не может быть запущен. А что предлагается взамен?
   Взамен предлагается Визуал Бейсик.NET – среда, которая по отзывам, обладает теми возможностями, что и Си+, но работающая хуже и медленнее, и такая же сложная для понимания, как Си+, так что любители Бейсика, увы, никакой радости от неё не испытывают.   

   Таким образом, любительская инженерная среда вступив в конкурентную борьбу со средой профессиональных программистов, была попросту устранена, а язык Бейсик фактически умер.
   Его не изучают в средней школе, его не изучают студенты МИФИ – они изучают Python, совершенно дурной язык, достаточно сказать, что левые отступы строк трактуются в нём, как окончания условных операторов (ну чем конструкция End If создателям этого языка не угодила? Эта конструкция хорошо видна, а отступ, пойди разгляди его, есть он или нет).

   Точнее сказать, победили не программисты, а победил потребительский подход к развитию общества – никакой вам инициативы, покупайте и лопайте то, что вам дают. Не думайте, мы за вас думать будем. В результате IT-технологии как бы развиваются, а инженерная культура программирования падает. И очень сомнительно, что Бейсик возродится хоть в каком-либо виде, ни в западном, ни в российском секторе разработки программного обеспечения.   

_________
2.12.2023


Рецензии
Интересная статья. В целом правильная за одним НО. Никогда, на мой взгляд, Бэйсик не был основным языком для инженерных приложений. Он скорее является внутренним, домашним языком для приложения типа Microsoft office, т.е. word, excel, power point, data access. Для написания макросов. Синтаксис Бэйсика, на мой взгляд, слабоват по сравнению с любым Си. В C++ и С# ничего сложного , на мой взгляд, нет. Да, объектно-ориентированное, но как под Windows еще писать прогреммы, если не объектно-ориентированные. MS DOS - это позавчерашний день. В общем, как я Вам писал, со старой техникой и старым Windows7, Вы сейчас ничего не добьетесь. Все программы сейчас работают на библиотеках Framework. Только новый ноутбук, установка бесплатного Visual Studio, даже не последней версии, а первой доступной, хоть за 2017 год, и там есть все языки: и C, и Basic, и Delphi , и чего душе угодно. Санкции всё равно рано или поздно отменят, не враги же они себе, такую малину упустить, как наш рынок. Я начинал с Алгола-60 на ЭВМ Минск-22 с трансляторами ТАМ-22 и МЭИ-3. С пульта в СЧАКе адреса набирал и запускал в случае сбоя магнитной ленты. Перфолента всегда пачкалась смазкой от телеграфных аппаратов, на которых набивалась. Дырки, естественно, просвечивали. Или рвалась. Без липучки не обойдешься. Вот это весёлая жизнь была!!! А сейчас красота! Сидишь дома и программы печешь, как блины :)

Савельев   15.06.2024 20:17     Заявить о нарушении
Заголовок не совсем правильно акцентирует суть проблемы - инженерным программированием я называю не создание программ, предназначенных для инженерных расчётов, а программы, создаваемые для своих целей инженерами, не являющимися профессиональными программистами. В части программирования, эти люди, даже светила науки, чаще всего были тупыми валенками, и именно для них Бейсик был большим подспорьем.

Отношения между пользователем и программистом имеют те же проблемы, что и между заказчиком и исполнителем - заказчик заказывает исполнителю работу, пишет техническое задание передаёт ТЗ исполнителю и обговаривает все нюансы, и ему кажется, что исполнитель понял его. Но потом, когда работа окончена и заказчик покупает её у исполнителя, то он вдруг обнаруживает, что получилось не совсем то, что он хотел. Он обращается со своими претензиями к заказчику, а тот показывает на ТЗ - смотрите, я выполнил все условия ТЗ, что Вы ещё от меня хотите?

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

Точно так же и во взаимоотношениях с врачами. Наша лаборатория разрабатывала лазерные аппараты для медицины. Лазерный "Скальпель" это наша работа. Зная о всегдашней проблеме "заказчик-исполнитель", я старался вникнуть в труд врачей - присутствовал на операциях и наблюдал за всеми нюансами их работы. Если слабо знаешь проблемы заказчика как бы изнутри, то трудно выполнить его заказ качественно.

Геннадий Маков   16.06.2024 00:24   Заявить о нарушении
Ну я по профессии тоже инженер, не программист. Но, поскольку в научной работе, не на заводе, приходилось всем самому заниматься, всё освоил спиостоятельно. Это на заводе или предприятии есть специальные отделы айтишников. Студенты и аспиранты сами всё программируют, ну Вы знаете не хуже меня. Мы пользуемся услугами айтишников, когда самим разбираться неохота, да, бывает, но постановка задачи всё равно от инженеров происходит. Айтишнику нужно объяснить, чего от него хотят, и как это должно работать.

Савельев   16.06.2024 02:47   Заявить о нарушении
Сергей, ещё один, последний вопрос. Теперь по поводу именно языка Си http://stihi.ru/2018/01/24/1913
Я думаю, что всё же придётся переходить на него. И какую бы литературу по этому языку Вы бы посоветовали? Меня интересует главным образом интерфейс - кнопки, элементы PictureBox и окна для текста.

Геннадий Маков   16.06.2024 09:11   Заявить о нарушении