Меню

ПРОГРАММИРОВАНИЕ В МАССЫ

(С) Гаузер Э.Г., Баку, 01.09.22
website: www.erichware.com

В 60-х и 70-х годах прошлого века программирование в СССР было уделом единиц, которые ходили в белых халатах среди огромных гудящих шкафов и казались почти магами. В 80-е большие ЭВМ стали меньше по размеру и более распространенными. Мало того! Появились первые персональные компьютеры: "Искра", "ДВК" и другие. Конечно, иметь такой дома могли немногие, но в лабораториях и учебных классах они стали относительно привычным атрибутом. А коли так, то и программирование должно было стать если не всеобщим навыком, то хотя бы массовым умением. Тем более, что готовых программ практически не было, а перспективы развития вычислительной техники тогда виделись совсем иначе, чем это произошло потом...

И в поздний период перестройки в уже качающемся Союзе началась кампания "всеобщей компьютеризации" и насаждение "компьютерной грамотности". Программированию учили всех: не только юных студентов-технарей, но и пожилых преподавателей истории, филологии и физкультуры. Зачем??? Партия сказала. Учили в основном Фортрану, вызывая горькие слезы у несчастных 60-летних доцентов филологии и профессоров химии. Нас в институте тоже учили Фортрану еще в начале 80-х, но мне это было интересно и я изучал предмет намного шире и глубже учебной программы. В отличие от большинства однокурсников, которым я же потом помогал писать программы для курсовых и дипломов.

Потом в школах появились компьютерные классы и предмет "информатика", который вели педагоги математики за неимением других вариантов, и качество обучения было соответствующим. Но вопрос все равно оставался: зачем всех поголовно учить программированию? Ведь как и любая другая профессия эта тоже требует наличия определенных способностей и того, что называлось тогда "компьютерным мышлением", т.е. определенного склада ума. А без способностей программистом не станешь. Так зачем?

Разумеется, после распада СССР педагогов мучить перестали, да и детей стали учить не программированию, а офисным программам, что гораздо разумнее. Но тем не менее вопрос остается: если учиться писать программы, то на чем и как?

Если раньше языков программирования было всего несколько, то сейчас их, наверно, уже сотни. Тем более, что даже процесс создания сайтов на html в какой-то мере можно отнести к программированию, хотя официально он таковым не считается. Да и на самом деле: что общего между созданием html-страниц типа данной и вот таким шедевром? Конечно, программирование на Ассемблере или в машинных кодах - это действительно экзотика, доступная очень ограниченному кругу специалистов. Да и не нужна она массовому юзеру. А зачем ему вообще программирование? Писать макросы в Экселе и Ворде? Это тоже программирование, но я никогда не слышал, чтобы простые секретарши осваивали эту технику, на самом деле весьма для них полезную.

В конце прошлого века у нас на работе возникла необходимость создания алгоритма решения сложной задачи, а качество вариантов алгоритма приходилось постоянно проверять на тестовых данных. Чтобы не обучать коллег премудростям структурного программирования, а тем более, зарождающегося ООП, я создал свой простейший язык Эллочка, которому посвящена статья "Эллочка и компьютер", написанная много лет назад. Но Эллочка была для MS-DOS (я все хочу перевести ее под окна, да все никак не соберусь). Да и не годится она, на самом деле, для бытового применения не технарями...

Если же говорить о языках известных, то ни Pascal (он же Delphi), ни Си со всеми его плюсами и диезами, ни даже Visual Basic для массового применения не годятся никак. Про Pyton или Java и говорить нечего. Так на чем писать "дома на кухне" и на чем учиться этому искусству, особенно в детском возрасте?

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

По идее, конечно, надо сразу начинать учить тот язык, на котором планируешь писать в будущем. Да, профессиональные программисты чаще всего знают несколько языков, но обычно только один из них является для них основным, на котором они и создают свои программы. Так что "распыляться" смысла нет. Однако, не всегда человек заранее знает, на чем ему лучше и перспективнее работать. А если это не взрослый человек, а ребенок, то ему и вовсе нет смысла погружаться в дебри современного программирования.

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

Так вот, на чем же учиться? Недавно я наткнулся на созданный нашей любимой фирмой MicroSoft в 2011 году язык Small Basic. В 2015 вышла его последняя версия и с тех пор он не развивался и не обновлялся. Отчасти это логично, ибо любое развитие - это неизбежное усложнение, которое сводит на нет все преимущества простого языка. Но поскольку версия 2015 года у меня нормально не запустилась, я предпочел работать с портабл-версией 1 от того самого 2011 года. Зачем это мне нужно, ведь я много лет пишу программы на "нормальных" языках?

А вот об этом, и не только об этом, я рассказываю в моем первом учебном пособии "Особенности программирования на Small Basic". Надеюсь, пригодится!