Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #65, АПРЕЛЬ 2006 г.

спроси эксперта

 

Спецвыпуск: Хакер, номер #065, стр. 065-082-3


Денис Батранков: Беспроигрышного варианта нет. Вряд ли можно сразу начать изучать то, что точно пригодится тебе в жизни. Нужно чтобы тебе повезло. А чтобы повезло, нужно просто начать заниматься программированием. Неважно, на каком языке: Java, С# или другом. Когда ты программируешь, ты накапливаешь опыт написания алгоритмов. И когда у тебя есть опыт, тебе уже все равно, какой язык программирования нужен для решения поставленной задачи. Естественно, перейти с Delphi на MSVC будет непросто, но реально. Когда-то у меня получилось.

ВОПРОС: Чтобы написать сложную программу, нужен достаточно большой практический опыт. Чтобы получить необходимый практический опыт, нужно писать сложные программы... Получается, замкнутый круг?

Денис Батранков: Что такое сложная программа? Когда я в шестом классе показывал своим одноклассникам обучающую программу по физике, которую я написал на Фокале под БК0010 и которая занимала 1000 строк, все были повергнуты в шок ее размером. А теперь у меня в проекте, состоящем из нескольких десятков исходников, один .cpp-файл может быть 3000 строк. Сложность и опыт идут вместе. Нужно постепенно развиваться, начиная с программы Hello World, и дальше все потянется одно за другим само за собой. Главное — не бояться и смело браться за сложные программы.

Еще нужно заметить вот что. Чтобы писать сложные программы, нужно знать английский язык. Вся свежая литература выходит на английском языке, и ждать несколько лет, когда выйдет перевод, просто нет возможности. На всех серьезных конференциях, где можно что-то спросить, тоже говорят на английском языке. Да и имена переменных тоже не мешало бы писать английскими словами :).

ВОПРОС: Если есть классная задумка, но нет опыта в программировании, как определиться, на чем и как программировать? Метод проб и ошибок съест кучу времени, если вовсе не отобьет желание делать что-либо...

Денис Батранков: Пробы и ошибки неизбежны. Даже программа Hello World почему-то никогда с первого раза не компилируется :). Если ты не опускаешь руки, а находишь в себе силы найти ошибку, то ты — программист. Если нет опыта, но есть другие программисты, которые всегда готовы помочь, — обращайся к ним. Однажды (когда был классе в восьмом) я около месяца пытался найти баг в программе на ассемблере для БК0010. Программа не работала, а я уже использовал все приемы: в уме проходил по строкам и на листочке записывал ход изменения данных. Но это было, когда я учился в школе, и в тот момент надо мной не было менеджеров, жаждущих срочного конечного результата. Я тогда отложил программу и вернулся к ней через месяц. Ошибка была найдена (не хватало одного символа: вместо MOV нужно было написать MOVB), и ощущение триумфа не оставляло меня еще долгое время. Ощущение, что ты побеждаешь компьютер, а не он тебя, поддерживает желание программировать.

Как-то раз меня попросили помочь хирургу настроить SQL-запросы. Для написания диссертации и сбора статистики он завел базу данных. Видимо, кто-то посоветовал ему использовать MS Access. Когда я приехал и посмотрел, что он делает, я был поражен тем, насколько хирург оказался способным в программировании. Он вел статистику проведенных операций, сам наделал различных форм и запросов, чтобы выявлять зависимости между различными условиями проведения операций, и в конце концов запросы стали настолько сложными, что стандартных wizard'oв перестало хватать. В течение нескольких дней мы с ним написали нужные запросы, хотя опыта в программировании у него не было никакого... Вот что творит желание.

Назад на стр. 065-082-2  Содержание  Вперед на стр. 065-082-4