Сначала появился дома компьютер. Затем я вспомнил американский фильм "Хакеры" 1995 и думал над вопросом, как стать хакером. Уже появился журнал "Хакер". Установил отладчик нулевого кольца защиты операционной системы softice - в нем можно делать даже отладку синих экранов смерти windows. Начал разбираться, что такое регистры процессора - eax, ebx, ecx, edx, ebp, edp, esi и другие, флаги процессора, машинные коды, ассемблерные инструкции
call - вызов процедуры
ret - возврат из процедуры
push - положить в стек
pop - выбрать из стека
jmp - безусловный переход
je, jne, jl, jle - условный переход
mov - положить в регистр
cmp - сравнить
test - сравнить
add - сложить
mul - умножить
div - разделить
sub - вычесть
Затем надо было разбираться с тем, как работает ядро операционной системы - адресное пространство процесса, заголовок PORTABLE EXECUTABLE, функции ядра, winapi, кольца защиты операционной системы.
Это была операционная система windows 2000 (где-то до 2007 года).
Первой идеей было программировать на ассемблере, но я не нашел компилятор (сейчас есть masm).
Затем я начал повторять школьный паскаль, школьный visual basic, и с нуля начал учить язык программирования c/c++. Visual studio 6.0
Начал разбираться с вопросом, как работает интернет, какие есть протоколы(arp, tcp, ip, udp и т.д.), читал rfc, как сделать сайт
Разбирался как делать сайты - поставил веб-сервер apache, как работает cgi, изучал perl для создания сайтов.
Упустил, когда начинал, кое-какие очень важные вопросы: объектно-ориентированное программирование, классы, наследование, mfcструктуры данных - стеки, очереди, деки, графы, деревья, односвязные списки, двусвязные списки, кольцевые спискиработа с файлами, создание бинарных файлов, произвольное чтение из файластруктуры и структурное программирование, заголовочные структуры, dat файлылинейная алгебра и аналитическая геометрия - векторы, матрицы, матричные преобразованиярастровая графика - спрайты, шрифтытрехмерная графика - полигоны, вершины, треугольники, asc, 3ds max, max script, создание трехмерных моделейформаты файлов - bmp, gif, jpgвекторная графикапарсинг - лексический анализ, синтаксический анализ, грамматики