andresol: (Default)
[personal profile] andresol
Краткое содержание поста: Я попросил своего брата Алексея рассказать для читателей моего блога, как он научился программировать. Он взялся за дело с энтузиазмом, но в Части 1 дошел только до Бейсика.
***
В нашей семье компьютер появился в марте 1996 года. Это был Pentium 75MHz с 8Mb памяти. Но мое знакомство с программированием началось еще до покупки этого компьютера.

Наш первый компьютер.



Где-то я отыскал советскую книгу (брошюру), которая включала в себя несколько глав-статей о вычислительной технике. Я не помню, о чем были главы этой книги, но я запомнил хорошо одну из них. Называлась запомнившаяся глава "Диалоги с программистом", и она была посвящена основам программирования на Basic и чуть-чуть касалась Logo. Logo-часть мне в душу не запала (хотя много лет спустя этот язык сыграл важную роль в моей жизни), а вот Бейсик заворожил. Несмотря на простоту всех примеров, мне было интересно увидеть, каким образом пишутся программы для компьютера. Стоит отметить, что в то время я сталкивался и с другими примерами программ на Бейсике. На съемной даче на чердаке были найдены некоторые старые (в основном за 1987 год и позже) номера журнала "Наука и жизнь". В них были рубрики "Человек и компьютер" и "Школа начинающего программиста". В этих рубриках содержались примеры разных программ. Как я помню, некоторые из них были на Бейсике. Но эти программы были достаточно сложны для понимания неподготовленным читателем. Поэтому особого вдохновения из "Науки и Жизни" я не почерпнул. Хотя одну из этих программ я позже запускал на своем компьютере.

Страница из "Науки и жизни" и перебитый текст программы для QBasic.


Когда у нас только появился компьютер, я предпринял попытку записать текст Бейсик программы в файл (тогда это делалось в штатном редакторе Norton Commander), дать файлу разрешение "exe" и запустить полученного монстра. Понятное дело, ничего не вышло, и компьютер просто зависал (а если бы операционной системой было бы что-нибудь Unix-подобное, а не MS-DOS, то такое решение почти смогло бы сработать; но не будем отвлекаться). Я тогда абсолютно ничего не знал о средах разработки, интерпретаторах, компиляторах. Поэтому я не имел представления о том, как писать и запускать программы. Но это не стало преградой для программирования. На компьютере были обнаружены BAT-файлы, которые представляли из себя текстовый набор команд похожих на реальную программу. Не помню точно, откуда у меня появились хоть какие-то знания о возможных командах (я до сих пор почти ничего не знаю про написание скриптов в Windows), но несколько недопрограмм было написано. Часть знаний точно была из книги Фигурнова (6-е издание), а часть знаний получена путем обратной инженерии существующих файлов. В то время Андрей проявлял куда больший интерес к программированию, чем сейчас, поэтому некоторые недопрограммы были написаны нами вместе или Андрей полностью сам написал их.

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

Кадры из фильма и пример исходного кода.





Были и другие недопрограммы, которые обладали некоторой степенью интерактивности. В них за все управление отвечали команды "choice" и "if" с нужным "errorlevel". Это было что-то наподобие тестов, в которых следующие вопросы зависят от ответов пользователя.

Пример исходного кода.



Прошло некоторое время, и я обнаружил, что на компьютере есть Win 3.11 для рабочих групп. Достаточно было набрать "win" в командной строке, чтобы попасть в мир окон. Само по себе наличие этого Win 3.11 было не особо интересным, но именно внутри его основной оболочки обнаружилась иконка с заветным именем QBasic. И это было истинное начало моего обучения на программиста.


(http://windows3-1.narod.ru/index/0-27)

Date: 2015-11-06 08:34 am (UTC)
From: [identity profile] 2born.livejournal.com
Душевно)))

Date: 2015-11-06 06:39 pm (UTC)
From: [identity profile] andresol.livejournal.com
Спасибо! Надеюсь, что и другие части (продолжение) со временем напишутся.

Date: 2015-11-06 11:23 am (UTC)
From: [identity profile] chemma-volkova.livejournal.com
Офф-топ чисто женского мнения: какие вы с братом милые были маленькие! :) Когда братья-близнецы вырастают и меняются с ворастом - уже не так трогательно похожи. А тут прямо картинка :)

А рассказ обрывается на самом интересном - а чему же такой человек учился (или не учился) в СпБГУ и аспирантуре? А что считает своими любимыми успехами в программировании?

Date: 2015-11-06 06:43 pm (UTC)
From: [identity profile] andresol.livejournal.com
Все дети милые :)
А мне пришла мысль, что когда фотоаппарат пленочный, никому не придет в голову фоткать один только компьютер. Обязательно с людьми в кадре.

Об обучении в СПбГУ и аспирантуре будет в Части 10, если все такими темпами пойдет. Я вначале предложил Алексею написать один обзорный пост - программирование с детства до наших дней. Но ему такой подробный формат показался ближе. Мне только лучше: будет, чем жж заполнить.


Date: 2015-11-06 06:57 pm (UTC)
From: [identity profile] nervo4ka.livejournal.com
У нас был похожий компьютер. не помню, когда точно появился, наверное, тоже в этих годах. У меня сестра поступила в универ, и ей нужен был комп для программирования.

Нас пытались учить бейсику на уроках информатики в школе. Дальше простых задач дело не ушло, на этом все мое знакомство с программированием затухло. А жаль. ;))

Date: 2015-11-06 11:34 pm (UTC)
From: [identity profile] andresol.livejournal.com
А у нас в школе даже информатики не было.
Я часто жалею, что не выучился программированию. Но, похоже, это просто не мое. При желании мог бы сейчас учить, но вот нет этого желания.
Мой брат говорит, что нынешним школьникам повезло: они могут сразу учиться более продвинутому и интересному Питону.

Date: 2015-11-17 04:13 pm (UTC)
From: [identity profile] norka-0.livejournal.com
В школе где я училась в старших классах (закончила в 1995 в Киеве) информатика была, но не было компьютеров :) Так и учились: писали код на бумажках. Я ничего в этом не понимала и просто списывала. Зачем я пошла учить в универ программирование я не знаю. Конечно, ничего с этого не получилось, хотя в универе и были компы.

Date: 2015-11-17 06:16 pm (UTC)
From: [identity profile] andresol.livejournal.com
У нас было такое, что учили переводить на бумажке из одной системы счисления в другую: из двоичной в шестнадцатиричную, например. Считалось, это имеет какое-то отношение к информатике. Если и имеет, то очень отдаленное.

Date: 2015-11-07 05:01 am (UTC)
From: [identity profile] saint-dragon.livejournal.com
Тоже хотела сказать, что вы ужасно миленькие на фото! А еще комикс впечатлил ;-)

У нас был какой-то (ку? просто?) бейсик в школе, даже забыла какой. Там были простые задачки, правда, большая часть параллели с ними как-то боролась. Ко мне часто приходили за помощью, а поскольку я всегда была в школе душой нараспашку, то писала им программы на коленке. Задачки наши были настолько простые, что обычно эти программки больше 5 строчек не занимали. Впрочем, программирование для меня жило только в стенах школы и рамках уроков. За одним крошечным исключением. Дома была какая-то книжка, а может учебник про это дело и там был образец перевода на бейсик музыки. А для меня это всегда было больной темой, но возможностей (иметь дома инструменты помимо маленькой детской "Соловушки" http://retropc.org/images/th/049.jpg, которую я нежно любила) не было никаких. В итоге я (не знаю, откуда взяла ноты, хороший вопрос) перевела в бейсик "К Элизе" и мне это почему-то очень согрело душу. Мою кошку это привело просто в полнейший восторг! Компьютер был без колонок, и звук был такой пищащий, но кошки такое любят. Она ходила вокруг экрана кругом, гладила его хвостом и просто не отодрать было :-) Короче фурор.

Date: 2015-11-07 05:12 am (UTC)
From: [identity profile] andresol.livejournal.com
В оригинале это даже не комикс, а дергающийся и пищащий мультфильм :)

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

Date: 2015-11-08 02:17 am (UTC)
From: [identity profile] overscience-mes.livejournal.com
класс!!!

Date: 2015-11-08 02:16 am (UTC)
From: [identity profile] overscience-mes.livejournal.com
первая программа моя была на фортране и перфокартах :) потом я в досе (он там тоже был) на бейсике написала программу расчета биоритмов :) писала скрипты в юниксе простенькие, и окончанием моей карьеры программиста была прога расчитывающая расстояние между атомами белка, а также выплевывающая все атомы находящиеся на заданном расстоянии от :) но программиста со мной не случилось :)

Date: 2015-11-08 06:18 am (UTC)
From: [identity profile] andresol.livejournal.com
Это самый правильный подход к изучению программирования - решать небольшие, но полезные задачи. Во многом из-за отсутствия таких целей, мой брат первую законченную работающую программу написал только в аспирантуре. Надеюсь, что он об этом когда-нибудь напишет.

Date: 2015-11-08 08:10 pm (UTC)
From: (Anonymous)
Я преподаю информатику в московской школе с 92-го года (хотя по образованию я учитель математики, но больше было некому, а у меня был опыт работы в НИИ). Первые лет 10 практически кроме этого самого Бейсика мы ничего и не изучали - компьютеры были убогие. Зато из моих учеников некоторые стали хорошими программистами. С одним из них до сих пор общаемся. Помню как он (кстати, тоже Алёша) в 3 классе программки на Бейсике писал, которые всех поражали. Ни учебников, ни пособий, ни тем более Интернета не было. Практически все я черпала из одного небольшого сборника задач. В начале 2000-х нам сменили технику, появились учебники, но до сих пор Бейсик жив. Программирования теперь осталось совсем мало – в 9 классе примерно 20 часов Visual Basic. Я все равно разбавляю это обычным Qbasic, чтобы дети хоть как-то суть улавливали. ЛогоМиры тоже до сих пор живы, в 8 классе даю несколько уроков на знакомство с черепашкой, т.к. в ОГЭ в 9 классе встречаются задачи на нее. У меня был несколько лет назад ученик, фанат ЛогоМиров, он в этой среде мог все, что угодно, запрограммировать, и его было не свернуть – других языков не признавал. Но в ЛогоМирах нет массивов. И настал момент, когда на окружной олимпиаде он не смог из-за этого сделать задачу и сдался, перешел на Паскаль. А сейчас у меня 9-классник программирует на Яве, но это все благодаря курсам в компании 1С, на которых он занимается.

Date: 2015-11-08 09:21 pm (UTC)
From: [identity profile] andresol.livejournal.com
Спасибо за комментарий!
Вот у нас школа была отсталая даже по питерским меркам, и информатики у нас не было, хотя мы учились в 1992-2002 годах. В одном из старших классов мы ходили в соседнюю школу, где был компьютерный класс, учиться на тех компьютерах работать. Но там обучение было на уровне DOS, Norton Commander и этих самых bat-файлов. К тому времени у нас дома компьютер был уже несколько лет, и для нас с братом это был пройденный этап. Таким образом у меня в жизни ни одного класса программирования не было (“Компьютеры в химии” в СПбГУ тоже были не о том). У Алеши что-то в университете было, и я надеюсь, что в своем повествовании он до этого доберется, а не бросит после первой части. Он еще и о Бейсике не рассказал ничего, кроме того, что мы его на своем компьютере нашли. С Java и Паскалем у него тоже был опыт. А важность Лого (“без черепашек”), как я понял, он осознал в аспирантуре, работая над программой для биологического моделирования.

Date: 2015-11-11 06:10 pm (UTC)
From: [identity profile] maya-cooks.livejournal.com
Бейсик мне тоже понравился, но я все равно осталась пользователем:)

Date: 2015-11-11 06:53 pm (UTC)
From: [identity profile] andresol.livejournal.com
Есть надежда, что с появлением более мощных и одновременно простых языков (Python, например), программы будет писать все больше людей. Но у меня всегда слишком велико желание попросить брата написать программу для меня, если мне надо что-то посчитать, чем пытаться писать самому.

Date: 2015-11-12 07:16 pm (UTC)
From: (Anonymous)
Андрей, а как вы с братом считаете - надо ли от природы иметь хорошее алгоритмическое мышление, чтобы стать программистом? У меня за 24 года работы учителем информатики было человек 5 детей (мальчишек, у которых именно оно и было. Прямо как способности у художников, например.

Date: 2015-11-12 07:35 pm (UTC)
From: [identity profile] andresol.livejournal.com
Я считаю, что да, должно быть заложено от природы. Мой брат Алексей считает, что нет, важен интерес к созданию программ, а он создается средой, а не природой.

Date: 2015-11-29 03:07 pm (UTC)
From: [identity profile] aila0203.livejournal.com
Интересно читать. Спасибо!

Date: 2015-11-29 06:39 pm (UTC)
From: [identity profile] andresol.livejournal.com
Спасибо!
Я передал брату и напомнил, что пора бы писать вторую часть.

January 2026

S M T W T F S
    1 23
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 9th, 2026 05:13 pm
Powered by Dreamwidth Studios