Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Участники Проекта »   Старая версия домашней страницы XXXX Pro »   Обо мне подробнее »   Мои компьютерные знания
RSS

Мои компьютерные знания

Автор статьи: XXXX Pro
Первоисточник: Объединенный Открытый Проект
Страницы: 1 2 #


Первый компьютер появился у меня в июле 1993 года, когда мне было неполные 11 лет. Это был «Поиск-3» (1 Mhz i8086, 640 Kb RAM, видеокарта CGA, 1 пятидюймовый дисковод для дискет 720 Kb, 0 жестких дисков). Сначала я на нем только играл, однако с самого начала у меня было желание узнать больше. Первое, что я изучил, была операционная система MS-DOS, сначала версии 3.0, потом – 5.0, причем я изучал все тайно от родителей (что, кстати, очень сильно ограничивало время на изучение), поэтому одним из первых навыков стало сокрытие (правда, на самом примитивном уровне) информации. Чуть позже я изучил первый программирования – это был Quick Basic. Через некоторое время я начал изучать Pascal, однако тогда он мне не понравился (в основном из-за того, что не хватало теоретической базы: знаний о том, что такое структурное программирование и зачем оно нужно), и все изучение закончилось тупым перебиванием нескольких программ из книжки написанием двух-трех простейших своих собственных.

Следующий этап начался в январе 1995 года с приобретением нового компьютера: Intel 80386 SX 33 Mhz, 4 Mb RAM, видеокарта VGA 256 Kb, жесткий диск на 80 Mb, увеличенный с помощью Double Space до 120 Mb. Вместе с ним мне попала куча дистрибутивов новых программ (на том этапе самым главным ограничением было именно отсутствие дистрибутивов), наибольшее впечатление из которых на меня произвел Windows 3.11. В том числе среди них была полная версия MS-DOS 6.22 (до этого мне попадали в руки только обрезанные версии, в которых были только загрузочные файлы, COMMAND.COM и самые основные внешние утилиты, типа FORMAT.COM). Началось увлечение написанием BAT-файлов (а также написанием командных файлов для интерпретатора NDOS.COM в составе Norton Utilites, который обладал существенно большими возможностями), а также копанием в настройках системы, написанием многовариантых CONFIG.SYS и вообще мелкой оптимизацией всего, что можно было оптимизировать (т.к. компьютер даже по тем временам был «слабый» и очень хотелось добиться от него большего).

Одновременно с этим я освоил язык программирования Fortran 77 (единственный язык с компилятором, который был в то время мне доступен), а чуть позже – и его более позднюю версию, позволявшую писать 32-разрядные программы под MS-DOS. Кроме этого, 32-разрядная версия содержала возможность вызывать некоторые системные функции, в результате чего я смог попробовать написать свою первую программную оболочку, которую надеялся затем превратить в полноценную операционную систему (чего, естественно, не случилось, т.к. тогда у меня совершенно не хватало знаний для написания своей OS. Впрочем, во многом их не хватает и сейчас).

Летом 1997 года я пересел на Pentium 166 Mhz (не MMX) с 16 Mb RAM (позже расширенной до 32 Mb), 2 Gb HDD, 2 Mb SVGA (S3 Trio VX), а также звуковой картой и CD-ROMом. Последние два устройства были наиболее долгожданными: во-первых, большинство игр к тому времени уже не поддерживало PC Speaker и приходилось играть без звука (до приобретения Pentiumа я очень мечтал достать эмулятор Sound Blasterа на PC Speaker, но он мне так и не встретился), а во-вторых, наличие CD-ROMа существенно расширяло возможности по получению новых игр и дистрибутивов, и в результате основным ограничивающим фактором этого периода стало отсутствие не дистрибутивов нужных программ, а отсутствие документации для их освоения.

Однако вскоре я испытал и первое разочарование: на новый компьютер я был вынужден поставить Windows 95, так как появлялось все больше и больше программ, которые не работали с Windows 3.11, и оказалось, что Pentium 166 с Windows 95 существенно проигрывает по производительности 386-ому с Windows 3.11 как по времени загрузки, так и по времени запуска отдельных программ. Поэтому в то время у меня сформировалась устойчивая неприязнь к всем Windows, кроме 3.11 (забегая вперед, скажу, что она сохранялась до того момента, когда я сел на Pentium 4, но даже до сих пор я крайне недоволен временем загрузки большинства программ и периодически вспоминаю те времена, когда запуск происходил почти многновенно).

Я сильно жалею о том, что тогда мне не попал в руки какой-нибудь дистрибутив Linux. Если бы это случилось, вполне могло бы быть так, что сейчас я был бы крайним фанатом этой системы, так как тогда у меня было достаточное количество времени, чтобы разбираться с ее настройками, и огромное желание уйти от Windows 95 на любую другую OS.

В 1998 году я начал снова изучать Pascal, но не самостоятельно, а в ходе изучения информатики в школе. На этот раз уровень подготовки был у меня достаточный, и Pascal стал одним из моих самых любимых языков программирования. В это же самое время я начал интересоваться программированием на низком уровне, с прямым обращением к портам и прерываниям, и начал осваивать assembler (правда, полностью ассемблерных программ не писал, а применял ассемблерные вставки в программы на Pascal). Однако крайняя ограниченность в документации помешала достигнуть мне серьезных успехов в этом деле. По этой же самой причине я так и не изучил работу в защищенном режиме процессора, хотя очень хотел это сделать (много позже, уже на 4 курсе Института, я частично восполнил этот пробел в своих знаниях, но только в теории, на практике программировать в защищенном режиме на assemblerе мне так и не приходилось).

Весной и летом 1999 года я заинтересовался программированием двухмерной графики, правда, на чисто любительском уровне, без сколько-нибудь серьезного изучения связанной с этим математики. В это время мне в голову пришла идея сделать графическую оболочку, похожую на Windows, которая работала бы под MS-DOS. Я занимался этим почти все лето 1999 года, и в итоге сделал модуль, который мог отрисовывать основные компоненты (окна, кнопки, Checkboxы и Listboxы).

Осенью 1999 года я также решил попробовать самостоятельно освоить объектно-ориентированное программиование на Pascal, однако в очередной раз сказался недостаток источников информации: я не до конца разобрался в том, что такое полиморфизм, и поэтому не смог увидеть преимуществ, которые дает объектно-ориентированное программирование, и в результате счел его бессмысленным извращением. Тогда я еще сказал замечательную фразу: «зачем все это надо, если все то же самое я могу сделать с помощью обычных recordов и процедурного типа». Только спустя несколько лет я понял, что сделать то это я могу, но гораздо лучше, если за меня это сделает компилятор, и самое главное – с меньшим числом ошибок.

Впрочем, в то время основной моей чертой было как раз желание дойти до всего самому, и сделать все самому «с нуля». Объяснялось это во-первых, отсутствием доступа в Сеть, а во-вторых, изолированным оффлайновым образом жизни, который почти полностью исключал общение с другими людьми, которое приводило бы к обмену опытом.
Летом 2000 года я вновь поменял компьютер: у меня появился Penitum III 500 Mhz – это был первый компьютер, мощности которого мне вполне хватало для нормальной работы, в результате чего я стал гораздо меньше уделять вопросам мелкой оптимизации. А 25 ноября того же в моей жизни случилось событие, резко изменившее всю мою жизнь: я впервые получил возможность достаточно регулярно (раз или два в неделю по выходным) выходить в Сеть со всоего домашенего компьютера! После многих лет жизни в состоянии информационного голода я наконец-то получил возможность скачивать любую документацию, а также дистрибутивы многих необходимых мне программ!

Но одновременно с этим произошло и большое разочарование: я узнал, что почти все из того, что я хотел сделать с точки зрения программирования, уже сделано кем-либо другим. Кроме этого я также узнал, что низкоуровневое программирование сейчас нигде не нужно (имеется в виду, в некоммерческих проектах), за исключением узкоспецифических областей применения, например, программирования микроконтроллеров или написания драйверов.

В результате у меня произошло резкое изменение интересов: я перестал интересоваться оффлайновым программирование и занялся всем, что связано с сайтами. Сначала я стал изучать HTML и JavaScript, и в январе 2001 года создал два сайта: Сайт Непразднования для поиска своих единомышленников по данному вопросу (сейчас сайт закрыт), и свою домашнюю страницу, вскоре преобразованную в Объединенный Открытый Проект.

Примерно в это же время началась моя борьба с лицеем 1502, и для ее осуществления мне потребовались знания про то, производится взлом сайтов. Поэтому я стал интересоваться всем, что связано с вопросами безопасности, хакерством, а также просто устройством сетевых протоколов, и к концу 2002 года узнал об этом достаточно много. Однако по-настоящему хакером я так и не стал, так как борьба с лицеем 1502 закончилась, и необходимость применять полученные знания отпала.

Осенью 2001 года я заинтересовался Web-программированием и стал изучать язык Perl. Одновременно с этим я стал переводить и дорабатывать форумный скрипт Ikonboard (любопытно заметить, что впервые я занялся этим скриптом из-за того, что мне потребовался форумный скрипт для форума на захваченном лицейском сайте), который позже был выложен в общий доступ как разработка Объединенного Открытого Проекта.

Одновременно с этим в ходе обучения в Институте я частично изучил язык C (правда, тогда – на самом примитивном уровне, т.к. у меня с самого начала было весьма негативное отношение к этому языку, которое затем значительно усилилось из-за проблем с получением зачета, хотя там дело было не в самом языке, а в том, что препод оказался сволочью), СУБД FoxPro (это была первая среда, в которой я программировал под Windows), также я изучил программирование на Windows API, систему моделирования GPSS, и самостоятельно освоил программирование на Delphi для выполнения одного из курсовых проектов.

В 2002 году я в последний (к данному моменту) раз менял свой стационарный компьютер: теперь я пересел на Pentium 4 2000 Mhz, 512 MB RAM, 60 Gb HDD (но при этом Pentium III у меня остался и через некоторое время я сделал у себя домашнюю локальную сеть), причем собранный полностью своими руками.

Весь 2002 год я занимался развитием Ikonboard, добавляя в него новые возможности, и продолжал изучать Perl. Одновременно с этим я изучил CSS, а также начал серьезно интересоваться вопросами раскрутки сайтов и поисковой оптимизации. В это же время я начинаю задумываться о написании своего собственного сайтового движка, поскольку пришел к выводу, что развитие Ikonboard сильно ограниченно неудачно написанным оригинальным кодом.

В конце 2002 - начале 2003 года мне впервые потребовались знания о программировании на низком уровне, которые я приобрел еще в конце 11 класса (1999 год), – в это время в Институте мы изучали программирование на ассемблере, а также микроконтроллеры. В это же время тоже в ходе учебы в Институте я освоил язык VHDL (и самые основы языка Verilog) – языков для описания микросхем в системах автоматического проектирования (SAPR), в частности, в Active HDL.

Сколь-нибудь серьезных продвижений в изучении чего-либо реально интересного в 2003 года почти не было, т.к. на первую половину года пришелся один из самых напряженных семестров обучения в Институте (восьмой семестр, предшествующий бакалаврской защите), а в течение второй половины года я занялся написанием своего собственного сайтового движка, получившего название Intellect Board. Движок я писал на Perl с использованием обычных текстовых файлов для хранения информации (и даже разработал специальный модуль XAPPI, который выполнял наиболее часто используемые операции над такими файлами с учетом вопросов безоапсности и надежности).

В том же 2003 году случилось очень важное событие: я приобрел ноутбук и мобильник, поддерживающий GPRS, что дало мне возможность выходить в Сеть с оплатой не по времени (как это было при выходе с модема), а по траффику. Это позволило мне больше времени проводить в онлайне, общаясь по ICQ, но зато существенно ограничило возможность познания в ходе «свободного поиска», т.к. GPRS – это самая дорогая, но самая медленная и плохая связь из всех существующих.

Осенью 2003 - весной 2004 года я наконец-то нормально изучил объектно-ориентированное программирование (и на этот раз смог увидеть и оценить все его преимущества), а также язык программирования C++. Теперь я знаю его так же хорошо, как Delphi, который я постепенно изучал с 2001 года (хотя сравнивать трудно, т.к. некоторых возможностей в Delphi просто нет), но все равно против него у меня остается предубеждение.

В феврале 2004 года я впервые серьезно занялся изучением языка программирования PHP и СУБД MySQL, и постепенно убедился, что использование связки PHP+MySQL во-первых, гораздо удобнее, а во-вторых, дает большую гибкость, надежность и производительность по сравнению с работой с текстовыми файлами. Одновременно с этим я освоил (опять же в ходе обучения в МЭИ) программу для проектирования баз данных ErWin.

В результате всего этого я пришел к выводу, что написание сайтового движка на Perl+plain/text не эффективно (к тому же в это время начали активно появляться бесплатные хостинги с поддержкой MySQL, что лишало меня основного аргумента в пользу plain/text – общедоступности), и в итоге в июне 2004 года я начал писать вторую версию своего сайтового движка (получившего название Intellect Board), в этот раз уже на PHP.

Летом 2004 года я начал изучать COM-технологию (правда, все осталось чисто в теории, до применения полученных знаний на практике дело так и не дошло), а также продолжал более детально разбираться в PHP и MySQL в ходе работы над сайтовым движком. Осенью 2004 года я впервые столкнулся с версткой сайта со сложным дизайном с большим количеством графических элементов (все мои сайты были почти полностью текстовыми, кроме того, я создавал их по принципу: внешний вид подчинен простоте HTML-кода), в результате чего серьезно углубил и расширил свои знания в HTML, CSS и JavaScript. В январе 2005 года я впервые попробовал программировать для сочетания Delphi+MS SQL с помощью компонент DBExpress и программного формирования SQL-запросов (как я привык делать на PHP).

Таким образом, я накопил достаточно много знаний о самых разнообразных областях, связанных с компьютерами, хотя то, что перечисленно выше - это далеко не полный перечень: я не указал здесь то, что изучал понемногу и постепенно, например, WinAPI, администрирование Linux-сервера в целом и Web-сервера Apache в частности. Но на самом деле я хотел бы знать гораздо больше (и очень сильно жалею, что так поздно подключился к Сети. Если бы я вышел в Интернет в 1998 году, когда впервые возникла такая потребность я бы успел изучить сейчас гораздо больше): в частности, сейчас я постепенно изучаю XML, WML, а в будущем хочу изучить язык Java и OLE-технологию для Windows, а также, возможно, технологию CORBA. Однако, к сожалению, до сих пор плохая связь остается основным ограничивающим фактором, к которому постепенно прибавляется еще и нехватка времени из-за необходимости работать над коммерческими проектами.



Страницы: 1 2 #

Текущий рейтинг темы: Нет


Быстрый переход в раздел:


Время выполнения скрипта: 0.0167. Количество выполненных запросов: 14, время выполнения запросов 0.0058