четверг, 15 апреля 2010 г.

Что такое программирование?

Я написал эту статейку в 11 классе. Как это ни странно, она до сих пор не утратила своей актуальности. Тут много тавтологии, но я решил ничего не менять. Выкладываю свой опус в первоначальном виде, в котором он увидел свет в 2005 году.

***

Я бы очень хотел рассказать вам о том, что является моим любимым занятием в свободное время. Речь пойдёт, конечно же, о программировании. Я расскажу вам об этом искусстве рассуждая исключительно "со своей колокольни". Не буду утомлять вас терминами и пространными объяснениями, это ни к чему. Я попытаюсь донести до вас все прекрасные черты этого рода человеческой деятельности и всю его очаровательную красоту простым понятным языком.

Итак, поехали.

Я полагаю, что из-за исключительной популярности профессии программиста большинство из посетителей этого сайта лишь высокомерно усмехнулось, прочитав название этой статьи. Но, как показывает практика, даже у высокообразованных людей складывается немного неверное понятие о таком ремесле, как программирование. Большинство воспринимает программирование либо как исключительно сложную профессию, требующую нечеловеческих знаний архитектуры ЭВМ, многих современных языков программирования, сред проектирования, операционных систем и т. п. В общем, программист в понимании этой категории людей - это компьютерный гений и таких гениев очень мало, это очень престижно и почётно, хотя и чрезвычайно сложно. Другая половина общества воспринимает программирование, как обычную профессию. Они считают: ты оканчиваешь школу, поступаешь в вуз на факультет, так или иначе связанный с программированием, там дают все необходимые знания, и ты, являясь прилежным студентом, после окончания института без проблем устраиваешься на работу.

Как это ни странно, ошибаются и те, и другие. Хотя, надо признать, что первая категория ближе к истине.

Трудность понимания обусловлена тем, что сложно провести аналогию с другими профессиями. Чтобы понять, что такое программирование, нужно быть как минимум начинающим, но продвинутым кодером. У начинающих программистов тоже весьма отдалённое представление о том, чем они занимаются. Как ни странно это звучит, но чтобы понять суть вопроса надо перерости категорию начинающих и новичков.

На самом деле, понятие настолько объёмно, что невозможно уловить его смысл через краткие формулировки, которые, как правило, являются просто набором красивых слов для непосвящённых людей.

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

Запрограммировать прибор - значит задать последовательность действий, которые он дожен выполнить и описать как сами действия, так и условия их выполнения.

Примерно так дело обстоит и с программированием для ЭВМ. Думаю, все согласятся, что компьютер - прибор значительно более сложный по строению и более богатый возможностями, чем вышеперечисленные бытовые устройства. Следовательно, его программировать сложнее.

В дальнейшем будем подразумевать под понятием "программирование" написание программ только для ЭВМ.

Итак, программирование - это искусство написания программ для ЭВМ. Ключевое слово здесь - именно "искусство". Учитывая огромное количество разнообразных технологий и подходов, небывалые объёмы и связанные с этим конструктивные сложности программного обеспечения и его поистине неограниченные возможности; беря во внимание то, что истинное программирование - это всегда творческий процесс создания чего-то нового, этот род деятельности из ранга профессии давно перешёл в ранг искусства. Программисты высокого класса из категории кодеров перешли в категорию мастеров этого благородного искусства. Сами же программные продукты перестали быть просто набором команд для работы с данными, а стали произведениями искусства, наиболее удачные стали шедеврами.

Почему же компьютерщикам нравится программировать?

Потому что программирование - это творческий, созидательный процесс, направленный в конечном результате на облегчение жизни людей. Таким оно должно быть и только за это его стоит любить.

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

Упорство, которое вы приобретёте в процессе решения проблем и трудностей, которые будут непременно возникать у вас на пути, будет просто фантастичным и поможет вам в вашей жизни. Вы научитесь не отчаиваться и верить в удачу.

Зная, что продукты вашего труда приносят пользу другим людям, вы сможете с гордостью сказать, что изменили мир к лучшему.

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

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

Если вы потрудитесь на славу, вложите душу в свои творения, то к вам придут мировая известность и признание. Даже если вы не сможете достичь такого высокого уровня, то вас всё равно будут знать и уважать в узком кругу ваших друзей-компьютерщиков. А уважение и поддержка со стороны нескольких единомышленников, да и просто родственных душ дорого стоят.

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

Но всё, описанное выше, не означает, что у вас всё и сразу будет получаться. Даже у высококлассных программистов ничего с первого раза не получается, а у новичков так тем более. Большинство как раз и бросает затею познать искусство программирования из-за значительных трудностях на начальном этапе. Будут и бессоные ночи, и "битьё головой об стену" в надежде решить очередную проблему, и растраченные на ненужную работу месяцы, и горы лишнего кода, несущего в себе плоды титанического труда, и отчаяние, и разочарование... Без этого не обойтись. Но сложности в жизни встречаются сплошь и рядом, поэтому нужно уметь преодолевать трудности. И вы научитесь это делать. А чем больше у вас будет опыта, тем меньше трудностей. Игра стоит свеч.

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

среда, 14 апреля 2010 г.

"Мир за окном стал призрачен и чужд..." Моё скромное стихотворение

Настроение совсем плохое...

Одиноко... Очень стыдно перед людьми, с которыми вёл и веду себя как последняя сволочь... Я подавлен... И мысли как-то совершенно хаотично ведут себя.

Попались под руку мои старые записи. Я когда-то писал стихотворения. Они очень точно отражают то, что у меня на душе, они выставляют мои мысли напоказ. В этих стихотворениях - весь я, самый настоящий, самый подлинный, а не тот, кем пытаюсь казаться. Практически все стихотворения очень пафосные, максималистские и были адресованы конкретным людям, но есть и "взагалі". Хочу продемонстрировать кое-что:


***
Мир за окном стал призрачен и чужд
Я перестал быть его частью
Жизнь - только удовлетворенье нужд
Жить - удел лишь наделённых властью

Лишь личность выживет в водовороте дней
Через себя, через других переступая
Ты крикни на ухо судьбе своей
"Я не нуждаюсь в поучениях, родная!"

Стань сильным и сломи сопротивленье
Других людей - частей толпы
Не жди, а сразу добивайся откровений
Тебя зауважают, даже назовут на "Вы"

Жить хочется всем людям на Земле
Достойно жить - лишь тем, кто осознал своё предназначенье
Немногие пойдут наперекор судьбе
Испытывая муки вместо радости и умиленья

Единицы покорят вершину мира
И смогут наши судьбы изменять
Мы станем лишь объедками с их пира
Будем всем прихотям бесприкословно потокать

Не каждый счастье сможет испытать
Подарить любовь, навеки стать любимым
Забудь обиды, просто научись прощать
И Бог напомнит - все мы им хранимы

Скорей всего на склоне лет поймёшь
В чём заблуждался и за что наказан
Но жизни путь ты снова не пройдёшь
И не дано исправить все ошибки сразу

И по своей дорожке каждый вдаль идёт
В надежде на безоблачное счастье
Которое нас осчастливит иль убьёт
Над чувствами никто не властен...

Посвящается всем тем, кто знает зачем ему была дана жизнь и чего он от неё хочет.

Харьков, 29.08.2006

Не судите строго ;-) А если что-то в этом есть - напишите, мне было бы очень интересно.

суббота, 10 апреля 2010 г.

Образование за рубежом: я восхищаюсь!

Являясь "жертвой" украинского образования, я очень люблю "почесать о нём языком". Люблю поговорить о том, как мы докатились и что нам теперь делать. Возможно, наша система образования когда-то и была одной из самых лучших в мире, но я могу с полной ответственностью заявить, что сейчас она функционирует очень плохо. Особенно это касается высших учебных заведений. Наши университеты далеко не в "ТОП-10" лучших ВУЗов мира; дипломы уже почти перестали что-то значить даже в той стране, в которой были выданы; студенты недовольны; работодатели бьют тревогу, так как на работу брать некого... Можно продолжать очень долго и я как-нибудь уделю этой теме больше внимания. А сейчас, за неимением времени, я хочу дать несколько ссылок на описание учебного процесса в ВУЗах Европы и США. Их подходом к образованию я всегда восхищался и ставил в пример. Нам действительно нужно многому у них поучиться.

  1. "Как учат в СЩА"
  2. "Подход к образованию по-английски"
  3. "Сдача сессии по-английски"
  4. "Как учат информатике в Европе (и в Чехии в частности)"

И вообще, очень полезно почитать раздел Хабрахабра Образование 2.0. Изобилует статьями, которые наводят на правильные мысли.

воскресенье, 4 апреля 2010 г.

Два слова об отладке JavaScript

Здоровенькі були!

На днях по роду своей деятельности мне пришлось разбираться с JavaScript. Скажу сразу, мнение о языке у меня пока не сформировалось. С написанием скрипта проблем не было, только с отладкой. Тут стоит отдать должное разработкам компании Mozilla. Наверное, ничего удобнее Firefox с плагином Firebug для отладки веб-приложений ещё не придумали. Кстати, эта же компания сделала JavaScript Debugger с кодовым названием Venkman. Говорят, вещь хорошая, но я так и не воспользовался, потому как вполне хватило связки Firefox+Firebug. Залог успеха этих инструментов - хроническая простота (можно разобраться методом "тыка" за пять минут), удобство, бесплатность и отсутствие лишнего. Firebug - это плагин из разряда тех, которые нужно просто сразу устанавливать, потому как вопрос "А зачем оно мне?" в данном случае просто неуместен.

Перед тем, как приступить к отладке, я просмотрел статейку "Современная отладка JavaScript" на Хабре. Просто и понятно, как раз для таких чайников, как я ;-).


В процессе работы уточнял непонятные моменты на ресурсе JavaScript.ru. Очень информативный сайтик, подойдёт начинающим и заканчивающим.

Вот и всё. Остальное - дело техники и ваших личных амбиций. Экспериментируйте.

суббота, 3 апреля 2010 г.

Об олимпиаде, Микрокаде и музыке

Здравствуйте, мои дорогие!

Последняя пара недель стала сплошным водоворотом событий. У меня было совсем мало свободного времени и потому я немного запустил свой бложек ;-). Буду исправляться.

Ну, во-первых, я побывал на всеукраинской олимпиаде по компьютерной инженерии. Как и в прошлом году, олимпиада проводилась в ЗНТУ, в Запорожье. Результаты выступления нашей команды можно посмотреть на соответствующем сайте (напомню, что учусь я в НТУ "ХПИ"). Результатом мы недовольны. Я не хочу махать кулаками после драки, не хочу обвинять организаторов, жюри и т. д.
Лично мы (наша бравая команда) объясняем свой провал так:

  1. Некорректная работа сетевого оборудования на туре по компьютерным сетям.
  2. Неподготовленность апелляционной комиссии. Резюме главы комиссии после нашей апелляции было такое: "Всего предусмотреть невозможно. Мы не можем подтвердить или опровергнуть ваше заявление. Оборудование уже перенастроено под учебный процесс."
  3. Недостаточная подготовка нашей команды и особенно меня лично.

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

Вторая новость заключается в том, что 25 марта мы с одногруппниками-единомышленниками и не без помощи преподавателя кафедры вычислительной техники и программирования Сергея Геннадьевича Межерицкого подали тезисы для участия в конференции Микрокад-2010, которая пройдёт в НТУ "ХПИ" с 12 по 14 мая текущего года. Мероприятие довольно серьёзное и масштабное, в число организаторов входят: Национальный технический университет "Харьковский политехнический институт"; University of Miskolc, Мишкольц, Венгрия; Magdeburg University, Магдебург, Германия; Petrosani University, Петрошаны, Румыния; Poznan Polytechnic University, Познань, Польща; Sofia University, София, Болгария.

Мы будем рассказывать о планировщиках процессорного времени и менеджерах памяти в современных операционных системах с учётом многопроцессорности и многоядерности. Тему я считаю очень интересной и актуальной. Так что подготовка идёт полным ходом!

Третья новость: наш небольшой, но дружный коллективчик гитаристов "Take Five" стал лауреатом первой степени первого всеукраинского фестиваля-конкурса инструментального аматорского искусства детей и молодёжи "Волшебный камертон". Фото прилагается ;-).


Волнуемся перед концертом. Глеб, Аллочка и я
Волнуемся перед концертом. Глеб, Аллочка и я.
Горячо любимая мной девочка, она же наш руководитель с наградой.
Горячо любимая мной девочка, она же наш руководитель с наградой.
Слева направо: Сержик, Глеб, Аллочка и я.
Слева направо: Сержик, Глеб, Аллочка и я.
С наградой на сцене
С наградой на сцене
Скромно празднуем победу
Скромно празднуем победу.

Могу добавить ещё что у меня сейчас полный завал с учёбой. Традиционно всё дотянул до последнего.

Вот в принципе и всё, что хотел рассказать. До скорого!