Mozg .
октябрь 2017.
3705

Расскажите о своем опыте первого изучения языка программирования?

Ответить
Ответить
Комментировать
0
Подписаться
4
7 ответов
Поделиться

Год 1994. Бабушка, инженер на пенсии, летом растила цветы - тюльпаны, гладиолусы, лилии, хризантемы - и продавала на вокзале. А осенью, на вырученные деньги, отцу для работы купили компьютер. Один из первых в микрорайоне. Тогда я не знал его характеристик, но позже выучил - процессор Intel x386, тактовая частота 34МГц, 4Мб оперативной памяти, 200Мб винчестер, разъём под 5 и 3.5 дюймовые дискеты. Синие колонки Norton Commander. Стоял и Windows 3.1, но им особо не пользовались - видимо, он тогда жрал слишком много оперативки, и чтобы программировать.

Отец всё время жаловался, что на работе - а работал он в ЦУПе - народ постоянно играет на единственном в отделе компьютере, не давая ему поработать. Плюс, он хотел углублённо изучать языки - только что вышла Java, хоть узнал он об этом только через год: доинтернетная эпоха была такая доинтернетная. 

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

Моей программой был не Hello World. Если я правильно помню, это была белая точка. Да, мы сразу начали с рисования. Но следует учесть - я, десятилетний, впервые в жизни сидел за клавиатурой. Это сейчас я печатаю вслепую, а тогда я по минуте искал каждую букву. Так что длилось всё медленно.

Вообще, за год до того мне купили приставку Dendy - кто не знает, это был такой пиратский порт NES. И я решил для себя, что буду делать компьютерные игры. Мои первые опыты с бейсиком и пейнбрашем показали мне, что дело это несколько более сложное, чем я себе представлял. Поэтому программированию я таки предпочитал игру на компьютере - к вящему неудовольствию отца, прочувствовать которое на собственном опыте мне предстояло ещё только через очень-очень много лет. 

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

13
-1
Прокомментировать

В силу возраста, к сожалению, не застал эпоху DOS и 386-го процессора, так как в те года мои родители даже не знали друг друга.

Компьютер я впервые увидел, вероятно, в 2001 году, когда мне было пять лет. Сразу же запомнил слова "Windows 98" и "Pentium III". В те года в нашей якутской деревне компьютеры были у считанных людей. Так как на том компьютере у тётки игр не было, а из сторонних программ только Office 97, в редкие моменты, когда мы шли к ней гости, я набирал буквы разными шрифтами и удивлялся, почему в большинстве шрифтов вместо букв прямоугольники. И пытался рисовать в Пейнте, куда же без этого.

Вообще, программистов у нас, конечно, не было. Примерный уровень компьютерной грамотности можно иллюстрировать следующей историей. В 2004, вроде, году, отмечали день рождения моей двоюродной сестры. Тогда я знал уже слова "Windows XP" и "Целерон", которые почему-то никому не нравились. Из этого события запомнился момент, когда дядя, пытаясь запустить какую-то игру, случайно передвинул значок на рабочем столе. Помню, как все собравшиеся вокруг компьютера были ошарашены: оказывается, значки на рабочем столе можно передвинуть!

Собственный компьютер мы купили на последние деньги 6 июня 2006 года. Использовался он только для игр. В те годы я думал, что программы создаются на каком-то специальном оборудовании, а слова "программирование" даже не знал. Единственный "компьютерщик" из 11 класса тогда мог переустановить Windows и я считал это чем-то очень сложным. Уже через три года компьютер был заменён на топовый по тогдашним меркам, с которого я сейчас и пишу этот ответ.

В январе 2010 года я получил доступ в интернет. Дела с ним на севере Якутии даже сейчас плохи, а уж в 2010, когда мегабайт стоил два рубля, было страшно за каждую просмотренную страницу. Тогда, наконец, я смог получить то, о чём мечтал последние пару лет -- инструменты для моддинга GTA: SA и Half-Life. Собственно, с GTA: SA и началось фактическое изучение программирования как такового, но тогда я этого не осознавал. Я даже не знал, что исходный текст компилируется в бинарный файл, я думал, что работаю сразу с бинарным файлом.

В трёхмерной серии GTA (с GTA III по GTA LCS) есть файл MAIN.SCM. Это бинарный файл, скомпилированный из исходников на неком внутреннем языке программирования. Rockstar North никакой документации по формату файла и исходников не предоставляет, поэтому сообщество моддеров дизассемблировало этот формат и создало некий язык, который инструкция к инструкции (опкод к опкоду) ассемблируется в MAIN.SCM. Понятно, что этот язык очень низкоуровневой, похож на ассемблер и достаточно трудно понять, например, как правильно пишутся условия и циклы, особенно школьнику, который даже не слышал слова "программирование". Тем не менее, я смог создать пару миссий и пройти их.

Следующим этапом стал Half-Life. Для начала я хотел сделать что-то простое и просто поменять количество патронов в обойме пистолета. Уже до этого я точно знал, что игровая логика хранится в файле hl.dll (или другой .dll в зависимости от аддона), но не знал, как же можно изменить этот файл. Да, я был уверен, что любой файл можно просто так взять и отредактировать, как картинку. Гугление привело меня к HEX-редакторам. Открыв файл я понял, что что-то не так и игры вряд ли делаются таким странным способом.

В течение двух-трёх дней я набрёл на форум HLFX и читал там все темы подряд в разделе, посвящённом как раз этому -- программированию. Кто-то даже выложил обрезанный для компиляции hl.dll Microsoft Visual C++ 6.0 и я, не жалея 200 рублей, скачал эту сборочку вместе с HLSDK -- исходниками для злополучного hl.dll. Видимо, ещё в значительной части России было туго с трафиком или скоростью. С горем пополам разобравшись с открытием проекта и его сборкой, первое время я просто копировал и вставлял кусочки кода из форумных постов. Затем стал вчитываться в копируемые куски и различать основные ключевые слова, такие как void, if, while, switch, case... Тем не менее, попытки самому написать что-то приводили к порче кода, который я сам восстановить был не в состоянии.

Через полмесяца я понял, что весь этот код написан на определённом языке -- C++. И код этот называется исходным. Происходит, оказывается, какая-то комплиментац... компиляция из текста в DLL или EXE, тут уж на выбор. Оказывается, существует не один язык программирования и даже не два. Интернет был дорогим и я не стремился лишний раз туда лезть, изучая язык по примерам с фруктами из VC++ 6.0. Удивительно, но английский текст не казался чем-то очень сложным. Попытка скомпилировать свою первую программу провалилась -- Visual C++ же был неполон! Тогда пришлось скачивать уже полный вариант VC++ 2008 Express Edition. Так и прошла весна, была написана куча вариантов небезызвестной программы "Hello, World!" и списаны сотни строк из туториалов по всему интернету. Вспоминается адрес shatalov...

Первую настоящую программу написал уже осенью того же 2010 года, когда в 8-м классе проходили удельную теплоёмкость. Было лень решать однотипные задачи, подставляя значения в кучу формул, вот и набросал программу, в которую просто надо было вписать числа из условия. Помню, как гордился собой. Когда в 10 классе начали проходить Паскаль, я был уже хорошо знаком со всем этим.

А количество патронов в пистолете в Half-Life так и не поменял.

7
0
Прокомментировать

Формально мой первый опыт программирования (еще в школе) связан с первым советским программируемым калькулятором Электроника_Б3-21, который отец пооучил на работе. Особой пользы от функции программирования не было, так как программу невозможно было сохранить и после выключения приходилось вводить заново.

Намного интереснее и полезнее было изучение языка FORTRAN в университете. Собственно, никакого особого изучения не потребовалось. Была любовь с первого взгляда: прочел и запомнил навсегда, в отличие от нескольких других языков программирования, забытых сразу после того, как перестали быть нужны для какой-то конкретной цели. Реальное использование выглядело так:

  • на специальном бланке следовало написать необходимые программе операторы
  • через несколько часов (или через сутки) можно было получить перфокарты (карточки из спецкартона с дырками), к самим перфораторам студентов не допускали, число набиваемых в день перфокарт было ограничено
  • из перфокарт формировалась колода, которая и была программой
  • колода сдавалась для вычислений
  • через сутки колоду возвращали с распечаткой текста программы и результатов
  • основными результатами были, в основном, синтаксические ошибки при набивке перфокарт или логические ошибки (типа деления на ноль, например) в самой программе
    В итоге, отладка программы длилась ужасно долго - даже после того, как проверку синтаксиса брал на себя сам человек, вычитывая свеженабитые перфокарты. В СССР были и перфораторы, писавшие над дырками еще и выбитый символ, но в университете таких не было: читали по самим дыркам (их комбинациям).

Интерактивное взаимодействие с компьютером стало возможно только после университета. Конкретно это была работа с машиной МИР-2, использующей язык Аналитик и с одной из машин серии ЕС_ЭВМ (то ли 1010,то ли 1020) через диалоговый монитор PRIMUS.

МИР-2 была неплоха, но программа хранилась на перфоленте, а считыватель перфоленты работал с ошибками и кучу времени приходилось тратить на их устранение. А аренда ЕС стоила отделу бешенных денег. Поэтому программу для ЕС (на FORTRAN, но можно было и на других языках) приходилось по-прежнему формировать из перфокарт, не тратя машинное время. Сами перфокарты можно было, хотя бы, набивать самому, а готовую программу хранить на магнитном барабане (или как там назывались эти здоровенные штуки) и/или на обычной магнитной ленте. Ну, и перфокарты тоже никуда не исчезали.

А потом в отделе появился первый персональный компьютер - один на два десятка человек - и наступило счастье.

6
0

Да, перфокарты!!!

На первом курсе универа застал работу с перфокартами на ЕС-1033. Методика - пишешь программу на листочке в клеточку. Длина строчки кода не более 72 символов. Одна перфокарта - одна строчка кода, на ней 80 колонок с цифрами от 0 до 9, кроме того, в верхней части карты были два "невидимых" ряда - 10 и 11. Каждая колонка - один символ. Последние 8 символов-колонок - служебные.

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

Когда дело подходило к сессии и время поджимало, нередко лезвием вырезалась вся программа, а потом дупликатором делались "нормальные" карты.

Из-за загнутого уголка, считыватель мог "зажевать" перфокарту и приходилось пробивать новую.

+2
Ответить
Прокомментировать

После реформы школы 1984 года, в школьной программе появился предмет "Основы информатики и вычислительной техники". В одноимённом учебнике под редакцией академика Ершова был представлен алгоритмический язык, который являл собой Паскаль, переведённый на русский язык, и прозванный злыми языками "Ершол". Разумеется, компьютеры мы все видели только на картинках, а наша математичка, которой пришлось "эту информатику" вести, похоже, вообще не видела никогда.

Первый реальный, компьютерный язык, на котором я написал свою первую программу, был Basic c интерпретатором Basic SCPX никому не известной тогда фирмы "Microsoft" на компьютере Robotron-1715.

5
0

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

0
Ответить
Прокомментировать

Сейчас будет ТэПэшечный отзыв, потому что воспоминания вроде как есть, но очень размытые. В школе, в те времена, у нас ещё ни у кого не было информатики как и компьютеров дома. Хотя у маминого хахоля был, помню там была игрушка Флаундер, по типу Пакмана. Но вот, чтобы у кого-то из класса был дома компьютер - точно нет. И в 6-ом классе мы с подругой пошли на компьютерные курсы в ДЮЦ. Помню два слова Бейсик и Паскаль :))) Помню по координатам рисовали обезьянку, с учётом, что в точных науках я была отличницей, всё удавалось, но муторно было выстраивать эти точки, каждый раз вбивать x и y. Информатика появилась позже, на УПК в 9 классе, но увы я туда не попала, а жаль. 

Сейчас смешно всё это вспоминать, информационные технологии сильно прогрессировали, чего не скажешь о других аспектах жизни.

4
0

Один из моих одноклассников в бейсике линиями написал "Beavis & Butthead", как на заставке в MTV. Собственно, его, кучерявого шатена, и его блондинистого друга иначе как Бивисом и Батхедом в школе не называли.

+2
Ответить
Прокомментировать
Читать ещё 2 ответа
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью