суббота, 9 февраля 2013 г.

какие языки программирования необходимо знать нынешнему программисту

Оказалось, что программирование на Delphi сильно напоминает работу с редактором карт для Neverwinter Nights. Только вместо пещер и тоннелей мы имели форму и кнопочки на ней. Вместо рычага и события OnPull было поле ввода и событие OnEdit. К сожалению, радость открытия омрачала сложность языка. Я был плохо знаком с концепцией переменных, процедур, условных операторов и циклов, а про ООП вообще ничего не слышал. Несколько дней я упорно перебивал исходный код из журнала в свою программу и изучал сообщения компилятора об ошибках. И вот однажды программа заработала! Это было ни с чем не сравнимое чувство! Мне казалось, что я повелеваю вселенной. Я написал свой текстовый редактор.

Помимо третьей части «Беспредела простоты», рубрика «Самопал» журнала «Игромания» 5(68) 2003 содержала статью за авторством Константин Артемьева. статьи была опубликована в июньском номере. Повествование шло о языке Delphi.

ActionScript — это то, на чем программируют Flash-игры и Flash-сайты. С этим языком я познакомился благодаря серии статей «Беспредел простоты», опубликованным в рубрике «Самопал» все той же «Игромании». Серия состоит из трех частей, опубликованных в период с декабря 2002-го по май 2003-го ( , , ). Из трех частей к программированию имеет отношение только последняя. Припоминаю, что я не сильно проникся ActionScript и писал на нем всего пару раз в своей жизни.

Писалось все это фактически методом проб и ошибок. Много сложностей вызывала необходимость искать названия функций и констант в англоязычной документации, которая шла в комплекте с редактором карт. Дело в том, что я учился в . Английский нам начали преподавать, кажется, только в 8-м классе. Да и вообще с иностранными языками у меня как-то не ладилось, поэтому документацию я переводил с помощью программы-переводчика. Уже не помню название этой программы, но помню, что качество перевода было скверным.

Именно на нем я написал свои первые программки. Программки были самые элементарные. Например, в событии OnEnter какой-нибудь локации прописывался код, предписывающий найти NPC по его идентификатору и заставить его потянуть за напольный рычаг. В свою очередь у этого рычага в событии OnPull был прописан скрипт, создающий в определенной точке карты голема и вызывающей в этой же точке некий спецэффект определенной продолжительности.

В декабре того же года была опубликована , а в январе 2003-го — последняя, , которую Александр писал совместно с Антоном Лысенко. Вот эта статья и стала для меня дверью в мир программирования. В ней речь шла о скриптовом языке редактора карт.

Это оказалось несложно. Сначала создается локация определенного типа и размера. Например, пещера размером 12×12 полей. Затем с помощью визуального редактора в этой пещере (точнее — скале) «прорываются» тоннели, которые заполняются монстрами и сундуками с сокровищами. Можно создавать несколько локаций и связывать их переходами в виде дверей, порталов и тп. Понятно, что программированием тут и не пахнет.

Однажды я открыл «Игроманию» и нашел в ней статью, посвященную редактору карт Neverwinter Nights. Я не поленился найти эту статью на сайте журнала. Она называется . Статья была написана Александром Таракановым и опубликована в 62-м номере «Игромании» в ноябре 2002-го года. Мне стало интересно и я попробовал создать свою карту.

В 9-м классе я сильно «подсел» на игру Neverwinter Nights. Трехмерная графика, яркие спец-эффекты, захватывающий сюжет и от 60-и до 120-и часов расчетного времени игры, в зависимости от желания игрока отвлекаться на побочные квесты. По тем временам это был настоящий шедевр, да и сегодня игра смотрится в общем-то неплохо. Я играл до глубокой ночи, вырезал и собирал в специальную папочку статьи из журналов, имеющие отношение к Nwn, и даже видел сны с сюжетами из игры.

Скрипты для Neverwinter Nights (2003-2004)

Будучи отрезанным от всемирной паутины, да и мало представляя, что это такое, информацию о новых играх я черпал из журналов «Игромания» и «Game.exe». Причем в этих журналах меня интересовали не столько новости игровой индустрии, сколько прилагающиеся CD диски. Можете себе представить, что такое целых 650 Мб демо-версий, патчей, модов, читов и похождений игр для 14-и летнего подростка, не имеющего выхода в интернет? Я бережно хранил все диски в верхнем ящике стола и внимательно следил, чтобы каждый диск был упакован в защищающий от грязи и царапин полиэтиленовый пакетик.

Какие это были игры! Counter-Strike, Unreal Tournament, Gorky 17, I.G.I, Wizardry 8, Neverwinter Nights, Imperor: Battle for Dune… В CS и UT мы обычно играли с ботами, ведь чтобы поиграть с друзьями, нужно было выпросить у родителей деньги, собраться всем вместе и пойти в компьютерный клуб. Вы не поверите, но рефераты мы тогда тоже обычно писали самостоятельно. Родители почему-то не склонны давать детям деньги для того, чтобы те сходили в интернет-кафе и скачали сочинение по литературе. Да и самих интернет-кафе, как и сайтов с сочинениями/рефератами, было немного.

Итак, на дворе был 2002-ий год, я учился в 9-м классе. В 2002-ом мало кто мог похвастаться высокоскоростным доступом в интернет. В 9-м классе у меня не было даже Dialup. Ходить по выходным в гости для того, чтобы поиграть в Sega Mega Drive II или даже Dendy, было нормальным явлением. Компьютеры или PlayStation были у немногих, притом иметь PlayStation было так же круто, как иметь компьютер. У моих родителей был компьютер. Персональный ноутбук появился у меня чуть позднее, так что приходилось делить компьютер с братом. Как и полагается уважающему себя школьнику, компьютер я использовал в основном для игр.

Как все начиналось (2002-ий год)

Например, мне удалось вспомнить, что когда-то я программировал на таких языках, как Modula-2 и GPSS, а моим первым языком программирования был вовсе не Delphi, как мне казалось. А еще я почему-то думал, что начал программировать в 8-м классе. Однако сопоставив свои воспоминания с фактами, я выяснил, что ошибался. Свою первую программу я никак не мог написать ранее 2003-го года. Тогда мне было 14 лет и я учился в 9-м классе. Вот такая ненадежная штука эта человеческая память.

Внимание! В отличии от типичных заметок, публикуемых в блогах, в этой статье очень много букв. Если вы перешли на эту страницу из Twitter или Google Reader в разгаре рабочего дня, советую добавить ее в закладки и прочитать позже. Например, дома, в тишине и покое, с чашечкой зеленого чая в руках.

На написание этой статьи меня вдохновили заметки Дениса Филонова и Даркуса. В них авторы вспоминают, как они начинали программировать, какие языки программирования в каком порядке учили и какое впечатление эти языки на них произвели. Вот и я решил написать такую заметку. Уже во время составления ее плана я сделал для себя много удивительных открытий.

Эволюция используемых языков программирования

Операционные системы, скрипты, компьютерные сети, безопасность, алгоритмы, блогинг, девайсы и пр

Эволюция используемых языков программирования | Записки программиста

Комментариев нет:

Отправить комментарий