ЖУРНАЛ ХАКЕР

Глоссарий кодера, или С Самого Начала

группа товарищей

Спецвыпуск Хакер, номер #004, стр. 004-004-9


.........

IF получилось 0 THEN считай там;

IF юзер нажал пимпу "А" THEN закругляйся ELSE запускай Кваку;

.........

Дабы комп просек, куда ему, собственно, обратиться за данными в каждом случае, была придумана МЕТКА (LABEL). То есть комп читает программу сверху вниз, как и все нормальные перцы. И доходит до места, где надо проверить, например, не нажал ли юзер кнопец, - и дальше работать в зависимости от этого обстоятельства. Но код-то для разных вариантов поведения проги находится в разных местах, так? Так вот, в каждом конкретном месте ставится метка со своим именем. И в проге описывается: если так-то, то иди к метке 1, а если не так, то - к метке 2. Только не увлекайся. Есть правило: крутость программера обратно пропорциональна числу меток в программе.

ВОТ ЕЩЕ НЕСКОЛЬКО ПОНЯТИЙ КОДИНГА

СТЕК. Упорядоченный набор элементов (составляющих частей стека), в котором добавление новых элементов или выбрасывание старых может происходить только с одного конца. Этот конец, вдобавок ко всему, в умных книжках вершиной стека обзывают. Представь, что ты занимаешься изготовлением пиратских CD на дому. :) Сидишь, лепишь себе с болванок заветные алюминиевые, потом свет отрубается, дверь выламывается... доблестная милиция пожаловала! Ну, ты первым делом куда диски денешь? Нет, смывать в биде их не надо! :) Ломишься на кухню и в вентиляцию все: там узко, не упадут. Вот тебе и стек настоящий в вентиляции получился: нижний диск не вытащишь - придется сверху по одному тянуть :). В этом случае элементы стека - это твои кровные самые что ни на есть компактные диски. Стеки в умных книжках еще называют структурами LIFO (Last In First Out) - последним пришел, первым ушел.

ПРОЦЕДУРА. Часть программы, реализующая свой алгоритм. Она же подпрограмма (все зависит от языка разные названия). Процедуры обычно - это ни что иное, как отдельная небольшая "программка" (т.е. подпрограмма), все ее команды выполняют небольшую (по сравнению с основной), но конкретную задачу. Пример: процедура очистки окна в досявых прогах (`CLS' в васике).

ФУНКЦИЯ. Часть программы (подпрограмма), которая после окончания выполнения своего алгоритма выдает определенный результат (значение функции). Грубо говоря, процедура, которая дает результат. Функции могут иметь аргументы. Короче, все как в школьной математике 8-9 классов: функции от аргументов (или ты математику не учил?).

БИБЛИОТЕКИ DLL (Dynamic Linked Library) - библиотеки динамической компоновки (так говорят в любимых умных книгах :)). Работают они как юниты в Паскале/Дельфях. Только, грубо говоря, код юнитов паскалевых во время компиляции цепляется к проге, да так, что потом не отлепишь (т.е. линкуются статически), а dll-ки существуют свободно от проги, их использующей. Юзать dll удобно тем, что она грузится только тогда, когда это нужно твоей (или спиратченной :) ) софтине. При этом процедуры, функции и прочая шняга из dll могут использоваться и другими прогами или dll`ами. Самое веселое, что библиотеки dll могут быть написаны хз на каком языке: пишешь ты прогу на Вижуал Васике и юзаешь dll-ку, забацанную на Си. :) Короче, dll - это рулезная фича :), в которую удобно напихать, например, функции, используемые несколькими твоими прогами.

Назад на стр. 004-004-8  Содержание  Вперед на стр. 004-004-10