Электронная библиотека

Хакер


Хакер

Вступительное слово

Xakep, номер #009, стр. 009-064-3


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

P.S. Журнал Game.exe намедни объявил конкурс на лучший любительский игровой проект с весьма внушительным призовым фондом. Поучаствуем? ;)

Xenocid

Рабочая лошадка программиста

Что бы там ни говорили поклонники Delphi, Visual Basic'ов и прочих сред программирования в стиле "поводи мышом и сруби капусты", а текстовый редактор остается основной рабочей лошадкой программиста. Рисовать интерфейсы - это, конечно, здорово, но основная часть программы по-прежнему набивается обычным текстом, и я сомневаюсь, что в ближайшее десятилетие прогресс достигнет такой стадии, когда сумбурные мысли программиста будут улавливаться и преобразовываться в программу, минуя стадию набора исходных текстов. Кстати, по этой же причине программист просто обязан уметь печатать "слепым десятипальцевым" методом не хуже профессиональной машинистки. Хороший программист натаптывает в среднем 200-500 строчек отлаженного кода в день. Поэтому неудивительно, что в богатом семействе текстовых редакторов появились и специализированные - программистские, сконструированные специально, чтобы потакать прихотям работников компилятора и отладчика. Чем таким особенным должен обладать программистский редактор? В первую очередь, он должен быть достаточно легким и быстрым. Так как, во-первых, приходится часто прыгать туда-сюда между несколькими файлами, а ждать каждый раз по 2-3 секунды, пока, скажем, Word соизволит переключиться в другое окно, никто не станет. Во-вторых, твоя глючная программа и в одиночку способна подвесить операционную систему, затребовав у нее все ресурсы, а уж если и редактор будет жрать черт знает сколько памяти процессорного времени, то об отладке можешь просто забыть. Другая важная вещь, которую должен уметь делать программистский редактор, - подсветка исходников. Да-да, та самая фича, которая подкрашивает операторы языка в один цвет, названия твоих переменных в другой и т.д. Лучше всего, если редактор умеет подсвечивать синтаксис сразу нескольких языков, тогда ты сможешь работать в своем любимом редакторе вне зависимости от того, на каком языке пишешь. Используй хоть C++, хоть ассемблер, хоть Java. Здесь есть одна тонкость. Дело в том, что подсветку синтаксиса можно делать двумя принципиально разными способами. Можно написать нечто вроде синтаксического анализатора, который будет анализировать то, что ты печатаешь, и определять, где у тебя переменная, где оператор, где комментарий и т.д., соответственно, подкрашивая все в разные цвета. Если в редакторе реализован такой подход, то подсвечивать можно все что угодно - гибкость необычайная. Но есть и два существенных недостатка. Во-первых, такой синтаксический анализатор съедает довольно много ресурсов процессора, а во-вторых, писать такие анализаторы очень нелегко. Поэтому если редактор ориентирован на работку не с каким-либо одним языком, а с целым множеством, то разработчики выбирают второй способ - похалявнее. В редактор просто-напросто забивается список операторов какого-нибудь языка, и как только ты набьешь это самое заветное словечко, оно тут же покрасится в нужный цвет. Программируется такая фича за 5 минут, поэтому большинство редакторов используют именно этот, второй вариант.

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