← на главную

Алексей Батищев. Заметки обо всём, что происходит со мной и окружающим миром

Избранное в блоге: мои фото- и видеоработы, забрать своё из облаков, КЭНК

Алёша и программирование

Так сложилось, что несмотря на профильное образование, профессиональным программистом я так и не стал. Я постоянно что-то кодю (кожу?) для решения прикладных задач, но пресловутый чувак с зарплатой мильён в секунду, навыками крутить туда-сюда эти ваши бинарные деревья, и обладатель тыщи офферов от фаангов — это не про меня.

Между тем, идея о том что можно заставить электронных болванов делать рутинные, сложные, скучные или невыполнимые для человеков вещи, всю жизнь меня будоражит, и я всегда ищу этому применение. Ярчайший пример — девайс Вадима Смирнова Smirnov Electronics Whammy D2, заставляющий гитарную примочку Whammy переключать режимы в темпе, который недоступен человеку гитаристу — и вот уже возможности кожаного мешка безгранично расширяются услужливой железякой с питанием в 9 вольт, не страдающей от характерных для рокеров запоев, творческих кризисов, и паталогического опоздания на репетицию. Внутре у ней — программа, а всё (от схемы до той самой программы) сделано гениальным сибирским чуваком! Ультравосторг!

Впрочем, я отвлёкся. Сложно сказать, когда я познакомился с концепцией программирования впервые. Точно могу вспомнить как в отсутствие компьютера в возрасте 13 лет, я писал программы карандашом в тетрадке — впрочем, это уже были конструкции диалекта бейсика, а значит с реальным воплощением языков программирования я был уже на тот момент знаком. Ну а дальше было много чего — и сейчас я хочу вспомнить и зафиксировать языки, на которых писал что-либо.

Бейсик в пк Правец

Бейсик для болгарского компа Правец, который стоял в школьном классе информатики — до сих пор помню команды HPLOT и прочие с H-префиксом. Первые эксперименты типа викторин «вопрос-ответ» и рисования фигур в графическом режиме.

картинка из интернетов, я уже не помню как он выглядел

Бейсик для Спектрума

Буквально пару раз писал на нём что-то в гостях у Сани, в ожидании и фантазиях о покупке своего Спектрума — какие-то приколюхи уровня «нажмите 1 если вы козел, и 2 если осёл. Поздравляю, вы осёл». Что-то в языке отличалось, но не смертельно. Спектрум мне в итоге не купили, изучить подробно язык не сложилось.

Ассемблер для Электроники 8086

Это отдельная, одновременно печальная и смешная история про первый комп, который мне подарил друг Вася. Комп был по тем временам уже сильно устаревший, а CGA монитор в комплекте с посаженной трубкой, поэтому из 4 градаций яркости монохромного экрана была доступна только одна, да и то ночью в полной темноте. В оригинальные игры (а на дискетах в комплекте были Space Quest, Larry и прочие радости) было нереально играть, поэтому я освоил ассемблер и стал писать свои игры, используя только два цвета (точнее, полную яркость пикселей и её полное отсутствие). Были викторины, были угадайки, была ходилка по лабиринту с построением его в текстовом режиме из самостоятельно сгенеренного шрифта, где были символы для разной формы стенок. Исходники и бинарники где-то есть до сих пор, но так как все тайминги были рассчитаны эмпирически под производительность процессора, и игры написаны довольно примитивно, так что уже на 80486 это всё работало неиграбельно быстро. Сейчас полез в интернет и понял, что как выглядел тот комп я совершенно не помню — в голове остался только тёмно-серый цвет блока.

GW-BASIC

Восхитительная тема — бейсик от майкрософт, который можно было компилировать, и в который можно было подключать библиотеки. Тогда у меня уже появился 486 комп c SVGA экраном, и возможности были практически безграничны. Друг Макс написал на языке «cи минус минус» драйвер для мыши, а я на GWBASIC нафигачил несколько приложений с её применением — графический редактор, игру типа 4-в-ряд (с оригинальной идеей, когда в клетках были цифры от 1 до 9, а сгорали дающие в сумме случайное для этого хода число), и тому подобное. На нём же писал проги на городских и областных олимпиадах и в областных лагерях программирования в центре Байтик в Троицке (привозя интерпретатор и компилятор с собой на дискетах). Помню что компилируемый бейсик тогда была редкая штука.

Magician of mathematics, 1996. Have a nice brain!

Бейсик для школьных компов

Это был какой-то диалект бейсика, встроенный в школьные бездисковые машины на базе 80286. На момент 11 класса мы с Максом были уже знатные хакеры, поэтому за урок успевали набить приличные программы, от учебных (для нас элементарных) до гонялок-стрелялок пикселами на два человека. Была классная история, когда мы написали простенький демонстратор страницы в псевдографике с сообщением «Внимание! Идёт форматирование жесткого диска! Не отключайте питание компьютера» и бегающим туда-сюда прогресс-баром. Программу мы успели запустить на первой паре на нескольких компах, а уже после четвёртой встретили преподавателя Степана Васильевича, который попросил нас посмотреть «что там с машинами происходит». Уровень Степана Васильевича (при всём уважении) был таков, что распознать фейк о форматировании диска на бездисковой машине, он сам не смог.

Кодим с Максом что-то за теми самыми 286 машинами. Справа в кадре Степан Васильевич

Pascal

Стандартная школьная и институтская тема для моего поколения, там была сделана куча канувших в лету задач, курсовых для друзей и дам сердца, а также некоторый прикладной софт. Например, на нём в 10 классе была написана читалка служебных ресурсов от игры Wolfenstein, показывавшая полностью карту подземелий (когда у меня появился комп, на котором можно было играть в Wolfenstein).

что-то считаю для алгебры в школе

C и C++

Тут была куча проектов на учебе и первой работе. Клиент-серверное ПО, разбиралки сетевого траффика, программы с GUI на  Borland C++ Builder, очередной домашний каталогизатор дисков с фильмами и музыкой, и даже серверная часть новаторской геолокационно-социальной сети CU, на старте которой меня позвали поучаствовать в проекте друзья.

Игра в быки и коровы, и очередная прикладная вещь — генератор номеров страниц, чтобы печатать из ворда в альбомном режиме тексты для последующего сшивания в брошюры

Там ещё много всего, продолжу ностальгировать в следующем посте