Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

ПрограммированиеПервый опыт
Mozg .
  ·   · 9,1 K

В силу возраста, к сожалению, не застал эпоху 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 так и не поменял.

Инженер, немного пилот. Физик, химик, электронщик-...  · 30 окт 2017
После реформы школы 1984 года, в школьной программе появился предмет "Основы информатики и вычислительной техники". В одноимённом учебнике под редакцией академика Ершова был представлен алгоритмический язык, который являл собой... Читать далее
О да, моя бабушка была такой математичкой, переквалифицировавшейся под информатичку. Правда, компьютеры у них в... Читать дальше
PhD, senior scientist AI, неандерталец  · 29 окт 2017
Год 1994. Бабушка, инженер на пенсии, летом растила цветы - тюльпаны, гладиолусы, лилии, хризантемы - и продавала на вокзале. А осенью, на вырученные деньги, отцу для работы купили компьютер. Один из первых в микрорайоне. Тогда... Читать далее
физик-теоретик в прошлом, дауншифтер и журналист...  · 31 окт 2017
Формально мой первый опыт программирования (еще в школе) связан с первым советским программируемым калькулятором **Электроника_Б3-21**, который отец пооучил на работе. Особой пользы от функции программирования не было, так как... Читать далее
Да, перфокарты!!! На первом курсе универа застал работу с перфокартами на ЕС-1033. Методика - пишешь программу на... Читать дальше
Сейчас будет ТэПэшечный отзыв, потому что воспоминания вроде как есть, но очень размытые. В школе, в те времена, у нас ещё ни у кого не было информатики как и компьютеров дома. Хотя у маминого хахоля был, помню там была игрушка... Читать далее
Один из моих одноклассников в бейсике линиями написал "Beavis & Butthead", как на заставке в MTV. Собственно, его... Читать дальше
Экономист, историк, сценарист, отвечаю также по...  · 7 нояб 2017
В школах моих никаких компьютеров не было, когда я учился в своём втором ВУЗе, году в 2001-2002 взял в прокате диск с **Visual Basic** и какую-то простую «игрушку» на нём, по инструкции, на домашнем компьютере сделал. Была... Читать далее
Сначала был программируемый калькулятор Б3-34, благодаря которому я впервые столкнулся с обратной польской записью (впоследствии пригодилось). А первую более-менее полноценную программу я написал на Бейсике (ничего другого на... Читать далее