Компьютерная Эра. Философия компьютера

         

История


Помимо этого, и самое главное, Лейбниц изобрел новую систему счисления — двоичную (0 и 1). Эта его двоичная система и идея базирующейся на этой системе исчисления вычислительной машины положили начало движению мысли в направлении компьютера.

Начиная с XIX века арифмометры получили широкое распространение. Причем вслед за механическими появились и арифмометры на, так сказать, электрической тяге — зубчатые колесики крутились электродвигателями. Однако эта ветка развития усовершенствований для облегчения счета вела в конечном итоге в тупик. В арифмометрах не было главного — возможности перенастройки на другие задачи, многозадачности. Арифмометр помогал человеку считать, но не помогал ему думать.

В 30-е годы прошлого века английский математик, профессор Кембриджского университета Чарльз Беббидж (1791-1864) попытался построить универсальное вычислительное устройство—Аналитическую машину, которая должна была выполнять вычисления без участия человека, избавляя его от монотонного счета и ошибок, с ним связанных. Машину для переработки информации Беббидж мыслил аналогичную машине по переработке хлопка: Аналитическая машина должна была выполнять программы, вводимые с помощью перфокарт—листов плотной бумаги с дырочками; дырочки и несли на себе всю информацию. Перфокарты тогда уже применялись для программирования ткацких станков, позволивших резко ускорить работу по обработке, например, хлопка и оставивших кстати не у дел ( то есть на грани голодной смерти) миллионы ручных прядильщиков  по всему миру. У Аналитической машины должен был быть «склад» или «хранилище» для запоминания данных и промежуточных результатов (то есть память в современной терминологии) и «мельница» (то есть центральный процессор, от англ. processing — «обработка, переработка»). А приводиться в действие все это нагромождение штифтов, зубчатых колес и цилиндров должно было паром.

Беббидж не построил свою машину—она оказалась слишком сложной для техники того времени. И вовсе не машиной он вошел в историю, а высказанными в процессе раздумий над ней идеями. Беббидж высказал ряд таких идей, которые позволили людям, подхватившим их, людям из другой эпохи и другого века, построить наконец настоящий компьютер. Какие же это были идеи?

Беббидж утверждал, что можно построить механическое устройство, способное выполнять последовательность взаимосвязанных вычислений. Если применять разные наборы инструкций, задаваемых машине, то она сможет служить разным целям[1].

Главное в том, что Беббидж первый увидел — одна и та же машина может выполнять разные функции, если только научиться ее программировать. И — еще одна идея Беббиджа: машина сможет манипулировать информацией, если только удастся преобразовать эту информацию в числа. Каким-то образом количество дырочек на перфокарте должно соответствовать поставленной машине задаче. Грубо говоря, сосчитав дырочки, машина ответит на поставленный ей вопрос и останется только перевести ее ответ из цифровой (числовой) формы в привычный для человека вид.

Паскаль писал о своей машине (паскалине), что это «деревянные слуги, инструменты, которым недостает думающей души».

Беббидж  хотел научить арифмометр думать.

Между 1848 и 1850 годами математик Буль озадачил своих современников новой математической логикой. Он ввел операторы (команды управления) И, ИЛИ, НЕ, которые осуществляют связи в логическом высказывании и, благодаря этому, дают возможность развиться новым высказываниям. Эту формальную логику высказывания называют алгеброй Буля, она и образует основы электронной обработки данных. То есть логика высказывания связана с двоичным представлением информации и обслуживает последнюю.

Достигается это конструированием некоторых схем (например, электрических), с одним или двумя входами и одним выходом, которые бы, реализуя принцип НЕ, всякий раз меняли на выходе сигнал на противоположный — если приходит на вход 0, то на выходе получается 1, если же приходит 1, то на выходе получается 0. Происходит как бы отрицание (НЕ - тот). Реализуя принцип ИЛИ, сигнал на выходе формируется однотипным (1) при однотипных (11) или разнотипных (01, 10) сигналах на входе, формируется как бы входная всеядность и выходная строгость (диета) — ИЛИ-тот ИЛИ-этот, а результат всегда один. И наконец реализуя принцип И, сигнал на выходе формируется строго однотипным с обоими сигналами на входе — И-тот И-этот должны быть одинаковыми (1 и 1 = 1), тогда на выходе тоже будет 1, в ином случае (на входе 1 и 0, 0 и 1, 0 и 0) выходной сигнал становится 0.

Идеи Беббиджа, Буля, Ады Ловелас (или Лавлейс по другим переводам)[2] не пропали в толще веков. В 30-е годы XX-го века исследователи Алан Тьюринг (британский математик) и Клод Шеннон (тогда еще студент) развили их дальше. Первый распространил (в теории) возможности вычислительной машины на любой вид информации — была бы нужная конкретная инструкция (программа), а второй доказал, что машина, исполняющая в том числе логические инструкции, может манипулировать информацией, то есть распространил сферу действия вычислительных машин и на нематематическую форму данных.

В своей магистерской диссертации Шеннон рассмотрел, как с помощью электрических цепей компьютер выполняет логические операции, где единица –«истина» (цепь замкнута), а нуль — «ложь» (цепь разомкнута). То есть, манипулируя всего лишь двумя состояниями машины (есть ток — нет тока), можно интерпретировать реальный мир. Здесь речь идет именно о двоичной системе счисления (коде), являющейся азбукой электронных компьютеров, основой языка, на который переводится и на котором хранится и используется вся информация в компьютере.

Шеннон таким образом осознал, как выражать информацию в двоичной форме. Кстати, он явился основателем новой науки, которую впоследствии назвали теорией информации.

В 1941 году немецкий инженер Конрад Цузе, самостоятельно переоткрыв идеи Беббиджа, построил вычислительную машину, а в 1943 году американец Говард Эйкен с помощью работ Беббиджа на основе техники XX века — электромеханических реле — смог построить на одном из предприятий фирмы IBM (International Business Machines Corporation, основана в 1924 году Германом Холлеритом) аналогичную машину, названную «МАРК-1». Информация обрабатывалась на этих машинах в двоичной форме путем срабатывания реле при прохождении электрического тока (эффект электромагнитной индукции).

  Наконец, в годы второй Мировой войны группа математиков из Moore School of Electrical Engineering при Пенсильванском университете, возглавляемая Дж. Преспером Эккертом и Дж. Моучли, разработала ЭВМ ENIAC (Electronic Numerical Integrator And Calculator — электронный числовой интегратор и калькулятор) для ускорения расчетов все тех же таблиц для наведения артиллерии. ENIAC весил 30 тонн и занимал огромное помещение, имел 17000 электронных ламп, 1500 электромеханических реле, потреблял 150 000 ватт электроэнергии, а для его перепрограммирования на решение другой задачи требовалось вручную изменить подключение 6000 проводов. При этом в нем хранился объем информации, эквивалентный всего лишь 80 символам. Солдаты, приписанные к этой огромной машине, постоянно носились вокруг нее с тележками, доверху набитыми электронными лампами. Стоило перегореть хотя бы одной лампе, как ENIAC тут же останавливался и начиналась суматоха — все срочно принимались искать сгоревшую лампу.

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

В современных компьютерах арифметическо-логическое устройство и устройство управления объединены в центральный процессор.



Сплошные стрелки — это управляющие связи (по ним идут сигналы управления), а пунктирные стрелки — это информационные связи (по ним идут данные, информация). К устройствам ввода/вывода относятся клавиатура, мышь, монитор, дисковод, CD ROM, принтер, сканер, микрофон, звуковые колонки, плоттер и т.д.

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

Один из принципов «Архитектуры фон Неймана» гласит: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти. И как только эту идею воплотили на практике, родился современный компьютер.

Как всякая техника, компьютеры развивались в сторону увеличения функциональности, целесообразности и красоты. Есть вообще утверждение, претендующее на закон: совершенный прибор не может быть безобразным по внешнему виду и наоборот, красивая техника не бывает плохой. С компьютерами происходило именно это. Последний писк компьютеростроения — цветные обтекаемые корпуса мониторов, изящные плавные линии системных блоков и цветные прозрачные мышки фирмы Apple. Компьютер становится не только полезным, но и украшающим помещение прибором. Внешний вид современного компьютера, конечно, соотносится со схемой фон Неймана, но (в первую очередь благодаря фирме IBM) в то же время и разнится с ней.

Благодаря фирме IBM восторжествовал принцип открытой архитектуры устройства системных блоков компьютеров. Он заключается в том, что системные блоки можно собирать по принципу детского конструктора, то есть менять детали на другие, более мощные и современные, модернизируя свой компьютер (так называемый апгрейд, upgrade — «повышать уровень»). Новые детали абсолютно взаимозаменяемы со старыми. «Открытоархитектурными» персональные компьютеры делает системная шина, это некая виртуальная общая дорога или жила, или канал, в который выходят все выводы ото всех узлов и деталей системного блока. Надо сказать, что большие компьютеры (не персональные) не обладают свойством открытости, в них нельзя просто так что-то заменить на другое, более совершенное, например.

В еще более «навороченных» современных компьютерах отсутствуют даже соединительные провода между элементами компьютерной системы: мышь(«mouse» – «мышь»), клавиатура («keyboard» – «клавишная доска») и системный блок общаются между собой при помощи инфракрасного излучения, для этого в системном блоке есть специальное окошко приема инфракрасных сигналов (по типу пульта дистанционного управления телевизора).

  В начале 60-х годов на смену электронным лампам пришли транзисторы, которые действуют как электрические переключатели. Транзисторы, потребляя меньше электроэнергии и выделяя меньше тепла, занимают и меньше места. Объединение нескольких транзисторных схем на одной плате дает интегральную схему (чип — chip — «щепка», «стружка» буквально, пластинка).

Какую же роль выполняют колесики в арифмометрах, штифты в машине Беббиджа, электромеханические реле в МАРКе-1, электронные лампы в ENIAC’е, транзисторы в Pentium’е? — да это все счетчики двоичных чисел. Они, эти детали, лязгая или совершенно бесшумно, считают единицы и нули (то есть фиксируют два состояния — наличия тока и отсутствия тока) и тем самым обрабатывают информацию, поданную им именно в таком — двоичном — виде.

Эта схема говорит о том, что «на воле» (в реальном мире) остались события, факты, люди, а в компьютере «перерабатываются» их цифровые модели. Само собой разумеется, что в начале — до закладки в компьютер — события из реальной жизни формализуются в математическую модель, в чем-то похожую, а в чем-то и не похожую на свой реальный прототип. Формализовать реальное событие в математическую модель — это дело математиков и программистов. От точности этой процедуры зависит, насколько точно машина интерпретирует реальное событие на своем единственно доступном ей для понимания языке — языке нулей и единиц.

В электронных компьютерах материальным носителем информации, переложенной на двоичный лад, является, разумеется, электрический ток, но не «сплошной», так сказать, не непрерывный, а «порубленный» на кусочки, чтобы можно было из него составлять комбинации единиц (когда ток присутствует) и нулей (когда ток отсутствует). То есть идет череда тока и пауз. «Рубит» электрический ток на «кусочки» в компьютере так называемый тактовый генератор, вмонтированный в центральный процессор. Выше частота тактового генератора — «мельче» кусочки тока и короче паузы между ними, следовательно, быстрее проходит и обрабатывается информация, закодированная током и паузами, присутствием и отсутствием тока.

Как, например, если бы мы хотели подать некие сигналы свистком, мы могли бы просто свистеть в него непрерывно — но таким путем много информации не передашь, а могли бы свистеть более изобретательно — длинными и короткими свистками, при этом у нас между свистками происходили бы паузы. И если бы двое людей договорились между собой заранее, что означает та или иная серия свистков ( а можно вообще составить таблицу свистков: что означает каждая такая серия), то они могли бы «переговариваться» между собой без слов. Идентичная ситуация и в случае с компьютером: каждой комбинации нулей и единиц ставится в соответствие определенная буква, символ или некое иное явление из реального мира (кодировка символов).

Таким образом, тактовая частота указывает, сколько элементарных операций (тактов) микропроцессор выполняет в одну секунду. Тактовая частота измеряется в мегагерцах (МГц). Кроме того, чем выше модель процессора, тем меньше вообще требуется ему тактов для выполнения данной операции. То есть тем же количеством тактов в секунду становится возможным выполнить больше операций (сложение, умножение и т.д.). Интеловские серии «двушек» (Intel-80286), «трешек» (Intel – 80386), «четверок»(Intel- 80486) и “пеньки ” (Pentium, 80586), а также Pentium-2,3 и процессоры конкурирующей фирмы AMD различаются возрастающей производительностью самих тактов, а не только увеличением непосредственно тактовой частоты тактового генератора.[3] Надо при этом добавить, что ток присутствует в компьютере всегда (порядка до пяти вольт), но роль пауз (нулей) выполняют пониженные участки (2,5 вольта), а роль собственно тока (единиц) — участки с напряжением до 5 вольт.[4] Напряжение тока, разумеется, не является абсолютно стабильной величиной, а постоянно колеблется в каких-то пределах, так вот колебания от нуля до 2,5 вольт принимаются за "ноль", а колебания в пределах выше 2,5 вольт, но ниже 5 вольт принимаются за "единицу".

Итак, двоичное представление информации лежит в основе любого современного цифрового компьютера. Прежде чем отправить информацию в компьютер, ее надо преобразовать в двоичный вид. А цифровые устройства на выходе компьютера возвращают информации ее первоначальную форму. Каждое такое цифровое устройство можно представить как набор переключателей, управляющих потоком электронов. Эти переключатели (обычно из кремния) очень малы и срабатывают под действием электрических зарядов чрезвычайно быстро, тем самым обрабатывают информацию в цифровой форме ("подсчитывают нули и единицы) и тем самым — проходя затем через соответствующие конечные цифровые устройства — воспроизводят текст на экране монитора персонального компьютера, музыку на проигрывателе компакт-дисков или команды банкомату, который выдает вам наличные деньги.

Придет время — и абсолютно вся информация будет переведена в цифровую форму, курсируя по бесчисленным сетям и лишь по мере надобности преобразуемая в другие формы для удовлетворения сиюминутных надобностей. Информация в цифровой форме станет доступна действительно миллиардам людей во всех уголках Земли. Компьютеры придут во все дома, соединятся в широчайшие сети. Человечество перейдет ( и уже переходит) в новое качество. Наступит Век Информации.

Идеи Беббиджа обрели материальную силу и овладели миром. Наверное, он  об этом и не мечтал.

[1] В этом и состоит смысл программного обеспечения: программа — это набор правил, посредством которых машину инструктируют, как решать ту или иную задачу. Для ввода таких инструкций нужен, разумеется, совершенно новый тип языка, который бы позволил программировать аналитическую машину длинными сериями условных инструкций, что позволило бы машине реагировать на изменение ситуации. Беббидж изобрел такой язык из цифр, букв, стрелок и других символов. Но не это главное.

[2] Ада Аугуста графиня Ловелас(1815-1865) продумала идею Лейбница о двоичной системе исчисления дальше и обнаружила, что она очень практична для внедрения на вычислительных машинах.

[3] Сейчас достигнута тактовая частота в 550 МГц, а если специально разогнать процессор в особом охлаждающем оборудовании, то достигают частоты 1,2 ГГц. Более того, процессоры архитектуры RISC уже давно перешагнули рубеж 1Гц.

[4] Процессоры Pentium-II работают на 3,3В, что значительно снижает рассеиваемую ими мощность.

Содержание раздела

Компьютерный слэнг


1С — программистская российская фирма, основана братьями Нуралиевыми, разработала объектно-ориентированную СУБД 1С:Предприятие (включая 1С:Бухгалтерия), предназначенную для автоматизации офисной деятельности. Данная СУБД включает язык программирования, позволяющий гибко перенастраивать ее под конкретные нужды данного предприятия. Фирма 1С обладает широкой сетью франчайзеров (партнеры-внедренцы) и является лидером в России в своей области. (www.1c.ru)

e-mail — electronic mail — электронная почта в Интернете. Примеры почтовых программ: The Bat!, Outlook и др.

ENTER — “ввод”, клавиша на клавиатуре. Подтверждает ввод информации, запускает программу и т.д.

ERROR — ошибка, ошибочная ситуация (баг) в программе или в железе (в самом аппаратном средстве).

ESC, Escape — клавиша на клавиатуре “спасаться, убегать”. Отменяет действие, возвращает назад, закрывает окно.

IBM — International Business Machines Corporation, “голубой гигант”, основанная в 1924 году Германом Холлеритом компьютерная фирма, в основном производящая компьютеры и оборудование, но также не чурающаяся и программного обеспечения. Производитель шахматной программы Deep Blue, обыгравшей в серии встреч чемпиона мира по шахматам Гарри Каспарова. Кроме того, IBM придумала принцип открытой архитектуры, когда компьютеры можно собирать как детские конструкторы и компьютеры IBM PC стали стандартом персональных компьютеров вообще. (www.ibm.com)

LINUX — Линукс, операционная система, разработанная на базе открытой операционной системы UNIX финским студентом Линусом Торвальдсом. Начинает соперничать с MS WINDOWS, сочетает интерфейс командной строки и графический интерфейс, подходит для профессионалов и рядовых пользователей, очень мощная и надежная, но не совместимая с Виндусом и значительно менее распространенная, расходится с открытыми исходными текстами и в основном бесплатно.

MS DOS — операционная система фирмы Microsoft с интерфейсом типа командной строки и черным экраном. Есть ДОСы и от других фирм (например, PTS-DOS, Днепропетровск).

OK, о’кей — “да”, “хорошо”, согласие. Пишется на кнопках подтверждения в диалогах.

SQL (эс-ку-эл, сиквел) — язык запросов к реляционным (табличным, в отличие от иерархических и сетевых) базам данных, позволяет получить из базы данных нужную информацию или произвести некоторое действие.

UPS — ю-пи-эс, упс, источник бесперебойного питания (ИБП), предохраняет компьютер от сбоев в электрической сети и от неожиданного отключения питания. Является аккумуляторной батареей, рассчитан на работу от 10 минут до несколько часов при выключении основного (220 вольт) напряжения сети.

Админ — администратор, руководящая должность в компьютерном мире. Администратор сети, базы данных, сайта…

Антивирус — программа, обнаруживающая и удаляющая вирусы, троянских коней, червей и т.д.

Апгрейд — upgrade, модернизация “железа” компьютера, расширение возможностей, улучшение его функциональных характеристик, а также улучшение программного обеспечения (в меньшей степени).

Архиватор — программа, которая позволяет сжимать информацию путем устранения избыточности (пробелов, повторов и т.д.). Сжатие бывает с потерями и без. Сжимать можно все что угодно: текст, музыку, видео, фото и др. При этом, чем более однородная информация, тем лучше она сжимается.

— язык программирования низкого уровня (см. ЯП). Между ассемблером и машинными кодами есть прямое соответствие (см. дизассемблер), однако ассемблер уже несколько очеловечен, машинные коды заменены мнемоникой (словами). Используется для написания драйверов, когда нужно добиться максимальной скорости и при этом учесть специфику конкретного процессора.

Аська — ICQ, коммуникационная программа для Интернета, позволяющая обмениваться короткими сообщениями (аналог пейджера), а также пересылать файлы, фото и т.д. Одно из средств общения в Интернете. Еще есть почта, форумы, чаты и др. (www.icq.com)

Баг — ошибка, bug – жучок. По легенде, электронные лампы больших и древних ЭВМ часто перегорали из-за мотыльков, летящих на свет и тепло, и машина выходила из строя.

Байт — 8 бит, единица измерения количества информации. Позволяет закодировать одну из 28 комбинаций (256), этого количества хватает для кодировки русского и латинского алфавитов, цифр и т.д. Байт является первым шагом на пути сближения языка компьютеров (битов) и языка людей (слов, цифр, знаков препинания). Килобайт состоит из 1024 байт (210), мегабайт состоит из 1048576 байт (1Кбх1Кб, т.е. 1024х1024=210х210=220). Здесь людьми допущена определенная путаница. В десятичной системе счисления “кило” означает тысячу, а “мега” миллион — тысяча тысяч, или тысяча в квадрате. В компьютерах применяется двоичная система счисления, где основой выступает степень двойки (а не десятки, как в десятичной системе), и чтобы “притянуть” десятичное название “кило” к двоичной системе, приходится лукавить и принимать за двоичную тысячу самое приближенное к десятичной тысяче число. Так как, повторяем, в двоичной системе все вертится вокруг цифры 2, то самым приближенным к десятичной тысяче является число 210, которое составляет 1024. (29=512, а 211=2048). Соответственно мегабайт, то есть тысяча тысяч байтов составляет 210х210=220. Видимо правильнее было бы назвать компьютерную тысячу не “кило”, а как-то иначе, чтобы народ не путался в двух системах счисления сразу. Гигабайт (Гб) содержит тысячу миллионов байт, а терабайт (Тб) содержит тысячу гигабайт (тысячу тысяч миллионов байт — 240), далее идут петабайт и экзабайт. В связи с этим появился неологизм (новое словообразование) — “килобакс” (т.е.тысяча долларов), продвигаемый, например, “Компьютеррой”, но непонятно, сколько это — 1000 или 1024 доллара?

Баннер — один из видов рекламы в Интернете, представляет собой рекламное объявление, содержащее краткую информацию и\или название фирмы, сайта. Возможности Интернета позволяют сделать из баннера гиперссылку, это означает, что щелкнув на баннер, вы попадете на сайт в любой точке планеты. Баннеры могут содержать анимацию (движущиеся части, мультипликация).

БД — база данных, структурированное хранилище информации. В реляционных базах данных информация хранится в таблицах, связанных между собой.

Бейсик — BASIC (Beginners All-purpose Simbolic Instruction Code — символьный универсальный язык программирования для начинающих) — “основной, базовый”, язык программирования для начинающих и профессионалов. Изобретен в 1962г. Дж.Кемени и Т.Курц, сотрудниками Дартмутского колледжа, США, в дальнейшем имел много модификаций.

Билл Гейтс — президент (а теперь главный “архитектор” программного обеспечения) и основатель всемирно известной фирмы Microsoft. Фирма Microsoft выпустила такие программы как операционную системы MS DOS, Windows, Office (Word, Excel, Access…), Internet Explorer, SQL Server и многие другие. Сейчас Биллу Гейтсу что-то около 44 лет, жена Мелинда, двое детей, он является самым богатым человеком на планете по личному состоянию (порядка 100 млрд.долл., в основном в акциях). (www.microsoft.com)

Бипер — beeper, устройство компьютера, издающее несложные звуки. Более сложные звуки и музыку можно получить с помощью звуковой платы (саунд бластера)

Бит — binary digit, двоичная цифра, 0 или 1, минимальная единица измерения количества информации. Электронный компьютер можно кодировать лишь варьированием протекающего в нем электрического тока, снижая и повышая его напряжение, соответственно напряжение в интервале скажем от 2 до 2,5В принимается за 0, а напряжение в интервале от 4,5 до 5В принимается за 1. Все другие значения напряжения компьютером игнорируются.

Браузер (броузер) — программа для просмотра сайтов Интернета. Отображет содержимое сайта на экране и позволяет переходить по ссылкам на другие сайты или на другие странички.

Взлом — нелегальное (несанкционированное) проникновение в компьютерную систему обычно с целью воровства информации, для компрометации, нанесения ущерба и т.д.

Винды — Windows, (переводится как “окна”), очень распространенная операционная система фирмы Microsoft.

Винчестер — жесткий диск компьютера (HDD, hard disk drive), основное хранилище информации (сохраняет данные при выключении питания).

Виртуальная реальность, виртуалка — аналог, подобие реальности, реализованное компьютерными средствами, так чтобы обманывать чувства человека, в первую очередь зрение, а еще слух, осязание. Компьютер, кроме того, позволяет смоделировать совершенно другую реальность, которой нет в природе или которая недоступна человеку. Например, центр Солнца, молекула водорода, несуществущий город. Игры — один из видов виртуальной реальности. Можно смоделировать вполне “реальных” виртуальных людей, красавиц, телеведущих, суперменов и наделить их такими чертами, которых нет у настоящих людей. Можно создать невероятно правдоподобные симуляторы (авиа, авто и др.) и, создавая на них различные экстремальные ситуации, аварии, столкновения, учить пилотов и водителей действиям в таких ситуациях. Можно, разумеется, создать даже модель другой планеты и учить будущих посланцев еще на Земле поведению в различных гипотетических случаях.

Вирус — программа, которая воспроизводит саму себя и тем самым распространяется (заражает другие программы и документы), приписывает себя к ним. Обычно производит вредные действия, мешает работе, уничтожает, искажает данные. (см. троянский конь, червь, антивирус, хакер)

Ворд — WORD (переводится как “слово”), компьютерная программа фирмы Майкрософт, распространенный текстовый процессор, позволяющий оперировать с текстом (печатать, стирать, переставлять слова, буквы, абзацы, пробегать по тексту, попадать сразу в начало, попадать сразу в конец, проверять орфорграфию, находить нужные места текста по каким-то ключевым словам, форматировать текст, т.е. выравнивать абзацы, менять размер шрифта и сам шрифт текста, выделять жирно, подчеркивать, разбивать на страницы и т.д.). В Ворде можно также печатать математические формулы (но не считать по ним, как в Excel), делать простые рисунки, схемы, таблицы.

Выйти — закрыть, завершить работу программы. Обратное от “войти” — запустить, начать работу с программой.

Веб, вэб — WEB (“паутина”) от WWW — World Wide Web — “всемирная паутина”, надстройка над Интернетом, которая уже стала почти синонимом Интернета. Информация в WWW организована в виде гипертекста, т.е. нелинейно: в одном документе встречаются ссылки (указатели) на другие места. Причем ссылки могут быть в пределах одного документа, сайта или указывать на любой другой документ по всему миру.

Геймер — “game”-игра, — игрок, человек, постоянно играющий в компьютерные игры. Страшное ругательство! Геймеры, зацикливаясь на играх, перестают дальше познавать компьютер, деградируют в компьютерном смысле.

Глюк, глючить — проявлять признаки ошибки, ошибаться. Глючат обычно компьютерные программы, но может глючить железо или человек. Видимо, произошло от слова “галлюцинация”.

Голосовой интерфейс — взаимодействие с программой (железом) осуществляемое голосом. Для этого программа должна уметь распознавать человескую речь, выделять слова.

Грохнуть — стереть, уничтожить, испортить (например базу, программу, документ) целенаправленно или по ошибке.

Дебаггер, деблохер, отладчик — средство (программа) для устранения ошибок в программе, помогает программисту найти ошибку в тексте программы — локализовать ее.

Деза — дезинформация, заведомо ложная информация, публикуемая с целью ввести в заблуждение, опорочить, проверить реакцию.

Дизассемблер — программа, которая переводит машинные коды на язык ассемблера. Это возможно, потому что между ними есть прямое соответствие. Перевести машинные коды в язык программирования высокого уровня (Бейсик, Паскаль) невозможно.

Диалоговый режим — вид интерфейса, в котором взаимодействие организовано в виде диалога (вопрос-ответ). Обычно реализуется в виде экранных форм.

Доступ — возможность произвести некоторые действия с объектом. Доступ в сеть, доступ к документу, к сайту, к базе данных и др. Доступ на чтение, на запись, на запуск и др.

Драйвер — программа, управляющая каким-либо внешним или внутренним устройством компьютера (сканером, мышью, клавиатурой, дисководом…). Драйвер является промежуточным звеном между железом (устройством) и операционной системой. Сменив или добавив устройство, нужно сменить или установить его драйвер и операционная система и программы смогут работать с этим устройством. Программу или операционную систему менять не надо.

Железо — HARD — аппаратура компьютера, его физическое воплощение (процессор, жесткий диск, память). В противопоставлении софту — программам.

Зависать, виснуть — не реагировать на действия (нажатия клавиш, движения мышью и т.д.) Зависают программы. Программа может зависнуть, если в ней есть ошибка или такая ситуация не была предусмотрена программистом (что тоже является своего рода ошибкой), или от больших нагрузок или при недостатке памяти.

Загрузка, перезагрузка — при включении компьютера первоначально запускается операционная система, которая подготавливает компьютер к работе и к запуску других программ.

Зайти, войти — запустить программу, начать работу с программой. Но зайти можно еще на сайт в Интернете.

Запись — строка таблицы реляционной базы данных.

Игнор — интернет-чатовское сокращение от слова "игнорировать", особый программный порядок отношения к отдельным чатланам, при котором его обращения не проходят. Игнор бывает частный и всеобщий (тотальный).

Инет — Интернет, пошло из чатов.

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

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

Интернет — Internet — буквально “сеть сетей”, “межсеть”, это совокупность компьютеров, коммуникаций и программ, разбросанных по всему миру и связанных между собой. В Интернете есть электронная почта, сайты и многое другое. В последнее время Интернет часто называют просто Сеть (с большой буквы).

Интерфейс — взаимодействие с системой. Взаимодействовать могут человек, программа и железо во всех комбинациях: человек и программа, человек и железо, программа и программа, программа и железо, железо и железо. Комбинацию человек и человек изучают психология и социология. Интерфейс — это внешний вид системы, за которым скрывается ее внутреннее устройство. Говорят: “дружественный интерфейс”, “сложный интерфейс”, "эргономичный интерфейс".

Инфа — информация, пошло из чатов.

Качать, скачивать, "download" — копировать информацию (файлы) на свой компьютер с удаленного (например, из Интернета). В противоположность закачивать (upload) — копировать со своего компьютера на удаленный.

Клава — клавиатура, пошло от программистов.

Клиент — компьютер (или программа), которая обслуживается сервером. Технология “клиент-сервер”

Клиент-сервер — технология, когда работа разделяется на две части: обслуживание, производство — сервер, использование, потребление — клиент. Используется в базах данных, в Интернете и в др. сферах. Работа по принципу вопрос-ответ (клиент задает вопрос, сервер на него отвечает). Сервер и клиент часто это не физические понятия, а логические, т.е. программы, которые могут выполняться на одном или нескольких компьютерах.

Колонтитул — верхняя или нижняя повторяющаяся часть страницы (выше или ниже текста), где размещается нумерация страниц и т.д. Постоянная или частично изменяемая часть страницы (снизу, сверху, под текстом, слева, справа и т.д.). Постоянная — линии, узоры, название книги, автора, а частично изменяемая — номер страницы, номер главы, название текущей главы и т.д.

Командная строка — интерфейс, в котором взаимодействие с системой осуществляется вводом команд и параметров к ним, в ответ производится некоторое действие. Обладает меньшей наглядностью для восприятия в отличие от пиктограмм виндусообразных программ. В случае с командной строкой на мониторе на фоне черного экрана висит строка, без определенной подготовки не понятная обычному пользователю.

Комп — компьютер (“вычислитель”), пошло от геймеров и из чатов.

Коннектиться — подсоединяться, устанавливать соединение, дозвониться до провайдера (обычно модемное соединение). Коннект - соединение.

Кулер — cooler —вентилятор. Есть кулеры, которые охлаждают процессор, блок питания и другие устройства: графический ускоритель и т.д. То есть в компьютере может быть несколько кулеров. (обычно два)

Ламер — “чайник”, от “lame” — “хромой”,”увечный”,”неудачный”, “неудовлетворительный”, “неубедительный”, “неправильный”, “неполный”) — только-только отошел от игр и пока не умеет пользоваться толком ни одной программой, ругательное слово, категория пользователей компьютеров, которые плохо разбираются в программах или в чем-то еще.

Мастдай — ругательное слово, must die — “пусть сдохнет”, восклицательный возглас, который вырывается у людей при очередной ошибке Windows, повлекшей неприятные последствия. Скоро станет нарицательным словом для других программ, в которых есть ошибки. Часто мастдаем называют Windows 95 или 98. К Windows NT и Windows 2000 отношение более уважительное.

Материнская плата, мать, мама — основное устройство компьютера, в которое подключаются другие устройства: процессор, память, платы, жесткий диск, дисковод и т.д.

Мать — см. материнская плата.

Междумордие — см. интерфейс.

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

Мелкомягкие — фирма Microsoft (т.е. micro — мелкие, soft — мягкие). Издевательское название, данное фирме завистниками.

Меню — вид интерфейса, допускающего выбор действия из нескольких пунктов. Пришло из ресторанов. Появилось еще в эпоху DOS.

Мессага – от англ. message, сообщение, или письмо.

Модем — МОдулятор-ДЕМодулятор, устройство, преобразующее цифровые сигналы компьютера в аналоговые сигналы телефонной линии и наоборот. Таким образом сигналы компьютера передаются по телефонным проводам.

Мыло — письмо, почта, от англ. mail. Отправь мне по мылу (мылом), намыль мне, пришло мыло, скинь мне на мыло.

Мышь — mouse, указательное устройство компьютера, перемещаемое по столу и имеющее 2 или 3 кнопки, и иногда еще колесико (очень удобно!). Основное устройство для работы в Windows. “Компьютер без мыши, что коммерсант без крыши” (шутка Фомы на Русском Радио). Изобретена в США. Было установлено, что человек лучше работает с компьютером (вернее, с экраном монитора), если может как бы водить указкой по изображению, “тыкать пальцем” в нужное место на экране. Был изобретен такой прибор, который перемещал указатель по экрану. далее оставалось лишь написать соответствующую программу (драйвер мыши), чтобы указанное на экране место реагировало должным, необходимым образом.

Навигатор, нафигатор (вульг.) — Netscape Navigator — браузер (программа для просмотра страничек Интернета) фирмы Netscape. Исторически первый, когда-то конкурировал с браузером Internet Explorer от фирмы Microsoft.

Намылить мессагу — послать письмо по электронной почте.

Нетварь — Netware — сетевая операционная система фирмы Novell. Есть пословица: каждой твари по нетвари.

Ник — nickname — прозвище, псевдоним. (пошло из чатов, где все разговаривают под своими никами, например, ЗОНТИЧКА, О’КАТРИН, РЫЖУЛЯ, Ельцин Б.Н., АРОМАТ, МАТЬ ТРОИХ ДЕТЕЙ, СКОРПИОН, БРАНД, ГЕРОИН МАРИХУАНОВИЧ ГАШИШЕВ и т.д.).

Нортон командер — NORTON COMMANDER, NC, оболочка над DOS, облегчающая работу с операционной системой. Командная строка в Нортоне дополняется графическими возможностями и меню.

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

Обнулить — установить в ноль, сбросить, привести в исходное состояние. Пошло от программистов, они любят обнулять переменные.

ОЗУ — оперативная память компьютера, оперативное запоминающее устройство, при выключении питания данные в ОЗУ пропадают. Не путать с винчестером, жестким диском.

ОС, операционка — операционная система, программа (система программ), позволяющая работать с компьютером и запускать другие программы. Без операционной системы компьютер — это груда железа. Операционная система загружается при включении компьютера и выполняет тысячи мелких операций, необходимых для приведения компьютера в рабочее состояние. Примеры операционных систем: DOS, Windows, UNIX.

Оцифровка — перевод информации в цифровую форму для того, чтобы можно было работать с такой информацией с помощью компьютера и других цифровых устройств. Оцифровать можно текст, звук, музыку, изображение и т.д. При оцифровке что-то теряется и что-то приобретается. Теряется из-за того, что оцифровка проводится с определенным шагом (цифра дискретна, прерывна в компьютерном смысле, отсюда проистекает некоторая погрешность), приобретается же возможность копирования, удобство работы и т.д.

Память — аналог памяти человека, устройство компьютера, позволяющее хранить информацию. Память бывает долговременная (жесткие диски, дискеты, CD-ROM) и кратковременная (RAM). В долговременной памяти информация сохраняется при выключении питания, в кратковременной — теряется.

Патч — patch (“заплатка”), пакет исправлений программы. Обычно его делает фирма-разработчик после обнаружения нескольких ошибок в программе, спустя некоторое время после выхода в свет новой версии программы.

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

Персоналка — ПК (рус), PC (англ), пи-си, писюк — персональный компьютер, отличается от больших ЭВМ и мейнфреймов тем, что позволяет работать индивидуально и рассчитан на работу одного человека.

Пиратство — незаконное копирование и распространение программ, баз данных, музыки. Распространять программы можно по сети, на дисках (CD-ROM). Копировать можно музыку, фильмы, книги — это тоже пиратство. Копирование чужого с небольшим изменением с целью выдать за свое творение — это плагиат.

Писи, писюк — ПК, персоналка, от англ. PC — Personal Computer.

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

ПО — программное обеспечение, компьютерные программы, софт.

Поле — столбец таблицы реляционной (т.е.табличной) базы данных или маленькое окошко для ввода информации в экранных формах.

Полуось — OS/2 (оэс надвое, ось надвое, полуось, ось пополам)— операционная система фирмы IBM. В конкурентной борьбе проиграла Windows NT.

Порт — разъем, куда подключаются устройства компьютера (мышь, клавиатура, монитор, принтер). Обычно разъемы располагаются сзади компьютера.

Послать на три кнопки — нажать Ctrl – Alt – Delete, чтобы перезагрузить систему. По аналогии “послать на три известные буквы” в русском матерном языке.

Приват — форма общения в чате, когда видны фразы только двух собеседников, а не всех. Более близкие отношения.

Принтер — периферийное, выводное устройство компьютера, печатающее тексты и графику. Это, так сказать, внешние органы чувств компьютера, через которые он, преобразуя информацию из цифровой формы в воспринимаемую человеком форму, доводит ее до него. Другими периферийными устройствами являются сканер, плоттер, клавиатура, монитор, микрофон, звуковые колонки и т.д.

Провайдер — организация, фирма, предоставляющая доступ в Интернет. От слова provide — предоставлять. Для осуществления этой функции эта фирма должна владеть каналом доступа в Интернет (кабель, оптоволокно, радиоканал, спутник, телефонная сеть и др.). Примеры провайдеров: МТУ-Интел, Элвис-Телеком, Ситилайн, МГТС (телефонная компания Москвы тоже предоставляет Интернет-услуги), Точка RU, Россия-он-лайн и др.

Прога — программа, пошло от программистов и из чатов.

Программер — программист, человек, который пишет компьютерные программы.

Протокол — правила взаимодействия компьютеров и программ. Применяется обычно в сетях. Например, протокол Интернета — TCP/IP. Есть понятие "стек протоколов" - это когда несколько протоколов применяются одновременно.

Рабочий стол — интерфейс Windows организован в форме рабочего стола, на нем располагаются основные, часто используемые вещи, программы, документы, папки (в виде пиктограмм, т.е. значков). Пользователь имеет возможность располагать их так, как ему нравится.

Расширение — это часть имени файла, обозначающая его формат. Раньше в MS DOS расширение файла было не больше трех символов. Теперь оно может быть любой длины, но традиции сохраняются в целях совместимости.

Реал — реальность, физическая жизнь, пошло из чатов.

Резет, ресет — RESET, кнопка на корпусе компьютера, вызывающая его полную перезагрузку. Так называемая “холодная перезагрузка”. Есть еще теплая перезагрузка (частичная), начинающаяся с какого-то промежуточного этапа загрузки.

Роуминг — предоставление информационных услуг (телефон, Интернет) в других городах и районах телефонными операторами, интернет-провайдерами (банковская услуга по обслуживанию своего счета в любой точке планеты, например).

Рунет — русский сегмент Интернета, адреса в рунете обычно заканчиваются на RU. Хотя русскоязычные сайты в других доменах тоже относятся к Рунету. Рунет составляет примерно 1% от общемирового Интернета.

Сайт — место в Интернете, сайт состоит из страничек. Бывают новостные, игровые, поисковые, программные и другие сайты. Сайт содержит информацию о фирме, ее продукции или о чем-то другом. Любой человек или фирма может завести свою страничку в Интернете. Сайт — это развитие странички, возможно для этого выделяется отдельный компьютер (сервер) или даже много компьютеров. Сайт фирмы Microsoft состоит из 350 серверов. Один сервер может содержать несколько сайтов, например Narod.Ru. У сайта есть свой уникальный адрес в Интернете, набрав который вы попадаете на этот сайт. Например, www.mista.ru На сайт также можно попасть по ссылке с другого сайта. Обычно так и бывает.

Сапгрейдить — модернизировать, см. апгрейд.

Сервер, сервак — компьютер, обслуживающий клиентов, предоставляющий им какие-то ресурсы в пользование: место на диске, вычислительную мощность, соединение с Интернетом, документы, базы данных, сайт. Сервером может служить как обычный компьютер, так и специализированный, с большой памятью и дисками, с каналами сети, с уникальными ресурсами (принтер, модем, база данных). Есть физическое понятие сервера (компьютер), а есть логическое понятие сервера (программный процесс, используется в технологии клиент-сервер).

Сетикет — сетевой этикет, правила поведения в сети, в чате, в электронной переписке.

Сетка — локальная (ограниченная) сеть.

Сжатие — уменьшение объема информации. Сжатие бывает с потерями и без потерь. Сжимают информацию специальными программами — архиваторами. Сжатие может производиться программно или “железом” (например, модемами). См. также "архиватор".

Сидиром, сидюк — CD-ROM — устройство компьютера, позволяющее читать компакт-диски с информацией, CD-ROM — это также сами диски.

Сисадмин — системный администратор.

Скинуть, сбросить — переслать по электронной почте, по сети. Говорят “скинь мне на мыло, по сети, на дискету”

Слэнг — жаргон.

Смайлики — улыбки, выражения лица, составленые из спецсимволов. Они похожи на лица, если на них посмотреть наклонив голову влево. Например, :-) — это улыбка, :-( — это огорчение и т.д. Смайлики употребляются в чатах и в письмах, чтобы компенсировать недостаток вербальной формы общения. Сила улыбки может выражаться количеством скобок. :-))) — очень веселый,

:-((( — очень грустный.

Собачка, краказябла, улитка, ухо — символ @. Составная часть адреса электронной почты. Обозначает “около”, “при”. Например, stasmit@mail.ru Пользователь stasmit на сайте MAIL.RU. После собачки указывается сайт или провайдер.

Софт — программы, программное обеспечение, ПО. В противовес харду — железу, аппаратуре.

Спам — нежелательная почта, реклама в вашем электронном почтовом ящике, “мусор”.

Страничка — см. сайт.

Струйник — принтер, использующий технологию струйной печати (из печатающей головки — сопел — вылетают капельки чернил). Бывают еще матричные (ударный принцип через ленту как в печатных машинках) и лазерные принтеры (лазерным лучом происходит намагничивание печатающего барабана, на него притягиваются частички красящего порошка в определенных местах и переносятся на бумагу).

Стучать форточками — работать в Windows, Windows — это окна.

СУБД — система управления базами данных. Специальная программа, которая позволяет создать и поддерживает работу базы данных.

Топтать батоны — нажимать кнопки, button — кнопка.

Транзакция — операция, например, переслать деньги со счета продавцу, внести изменения в базу данных. Транзакцию можно выполнить, отменить (откатить).

Трафик — поток информации по каналу. Количество информации в единицу времени. Байт в секунду, килобайт в час и т.д. Бывает также автомобильный трафик.

Тренд — график, показывающий тенденцию.

Троян, троянский конь — зловредная программа, (возможно вирус), которая тихо прячется в компьютере и может когда-нибудь выполнить какое-то вредное действие. Троянский конь срабатывает при определенных действиях, периодически, на определенные даты или по запросу. Действие — это обычно передача информации на другой компьютер по сети (по Интернету). Пошло от греков, город Троя.

Утилита — вспомогательная программа, выполняющая некоторое действие, например, архиватор, программа просмотра картинок, утилита проверки диска и т.д. Операционная система Windows содержит в себе много утилит.

Файл — поименованный кусок информации на диске, имеющий имя, по которому к нему можно обратиться. Вся информация на диске хранится в виде файлов (см. оцифровка, формат, расширение). Произошло от английского file - папка. Сейчас папкой (folder) называются каталоги, т.е. группы файлов.

Флоп — флоппи-диск, дискета, от англ. floppy, см. память. Пошло от программистов.

Формат — способ хранения, представления информации. Бывают форматы файлов и форматы поля. Есть следущие форматы файлов: графические (BMP, JPG, GIF), музыкальные (WAV, MP3, MIDI), текстовые (TXT, DOC), базы данных (MDB, DBF), странички Интернета (HTML) и другие.

Форум — средство общения людей, когда сообщения каждого выставляются на общей доске объявлений. Сообщения — это обычно просьбы или развернутые ответы на вопросы. В форумах много полезной информации.

Фотка — фотография, пошло из чатов

Хакер— человек, взламывающий компьютерную систему с целью самого процесса взлома, с целью поиска слабых, уязвимых мест, получающий удовлетворение от самого процесса взлома. Хакер — сетевой вампир, он пьет кровь сетей — информацию. Не путать с кракером, который взламывает систему с криминальной целью: воровства информации, компрометации, выкупа. Обычно путают. В уголовном кодексе РФ есть статьи, по которым предусматривается наказание за взлом и написание вирусов: до 7 лет лишения свободы (глава 28, статьи 272, 273, 274).

Хард — железо, hard. Аппаратура, оборудование компьютера, в противовес софту — программам.

Хелп — help, помощь, справка. Нужна тем пользователям, которые еще не освоили систему. Обычно вызывается клавишей F1 или через меню. Помощь может быть общей и контекстно-зависимой. В последнем случае программа по вашим последним действиям и по текущей ситуации сразу показывает вам нужный раздел справки. В общей справке показывается содержание всей справки, организованное по разделам и в виде гипертекста (ссылок на другие разделы).

Чайник — категория пользователей, которые не разбираются в программах. Типа “ламер”. Начинающий пользователь, путающийся в клавишах.

Чат — болтовня, chat, место (сайт), где можно разговаривать с другими людьми (печатать фразы), чатиться. Фразы всех участников высвечиваются на общем экране. Если вас это напрягает, можно попробовать приват (только 2 участника) или другие средства общения (Аська, ODIGO, почта, форумы). В чате приняты определенные правила (сетикет). Есть чаты, где можно все (включая мат), а есть, где нельзя ругаться. Тех, кто ругается или мешает другим общаться, модераторы наказывают устранением из чата. Перед своей фразой принято печатать ник того человека, которому адресована фраза. В чате приняты обычно короткие фразы. Длинные сочинения больше 6 строчек не приветствуются, это породило целую серию сокращений: инфа, фотка, реал. Разговаривать одновременно друг с другом могут несколько человек (2, 3, больше). В чате общаются в режиме вопрос-ответ. В чате все разговаривают под своими никами, прозвищами (см. ник). В чат можно войти одновременно под двумя (и больше) никами. Будет казаться, что это несколько людей. В чате легко ввести другого в заблуждение. Можно представиться женщиной, когда на самом деле вы мужчина и наоборот. Можно соврать о своей внешности, физических данных, интересах. Чтобы с вами разговаривали, надо быть интересным собеседником с чувством юмора. Для начала разговора, если вас пока никто не знает, можно кому-то конкретно сказать “Привет”, или заявить всем “Ну хоть кто-нибудь, поговорите со мной!!!” Народ в чате обычно добрый и обязательно что-нибудь скажет в ответ. Чтобы показать, что вы кричите, можно использовать или много восклицательных знаков или большие буквы. Например, “УРА!!!”. В чате по большому счету нет единого времени для всех, нет времен года и времени суток, у каждого они свои. Ввиду нехватки средств для выражения эмоций, часто используются смайлики. В чате в основном болтают (общаются), много трепа и мало полезной информации. Но как сказал Экзюпери, есть только одна настоящая роскошь — это роскошь человеческого общения. Попробуйте чат Кроватка www.krovatka.ru В последнее время появились голосовые чаты, в которых можно говорить в микрофон и слышать собеседника.

Чатлане — участники чата, пошло из фильма “Кин-Дза-Дза”, так звались элитные жители планеты Плюк, в отличие от пацаков, бывших на ней людьми второго сорта. Планета пацаков — Хонут — потеряла почти всю свою атмосферу.

Червь — зловредная программа, которая размножается (см. вирус) и заполняет память компьютера, тем самым мешая работать.

Экзешник — файл с расширением EXE (см. расширение, формат). В таких файлах хранятся программы, которые можно запускать. В таких файлах могут быть вирусы, поэтому незнакомые файлы лучше не запускать (см. вирус, антивирус, троянский конь, червь).

Экранные формы — это окна, появляющиеся на экране для осуществления диалога с пользователем: сообщения о событии, ввода информации…

Эксель — Excel, программа, позволяющая работать с электронными таблицами. В такой таблице в ячейки могут быть записаны текст, цифры и формулы, обращающиеся к другим ячейкам. Формулы могут быть математические, статистические, поисковые и любые другие. Все формулы быстро пересчитываются.

Эксесс — Access, СУБД от фирмы Microsoft в составе MS Office. Позволяет работать с несложными и небольшими базами данных. Допускает некоторые сетевые возможности.

Эксплорер — Internet Explorer, программа – браузер фирмы Microsoft. Программа для работы в Интернете.

Юзер — от “use” (использовать), категория пользователей компьютера, которые работают с программами, но не пишут их. Продвинутые юзеры немного программируют. Подробнее классификацию на предмет овладения программным обеспечением компьютера см.Эра.

ЯП — языки программирования, на которых пишутся все программы. Языки бывают высокого уровня: Бейсик, Паскаль, Дельфи, Си и низкого уровня: ассемблер. Программа с любого языка программирования переводится на машинный язык, который понимает конкретный процессор. Обратно программу можно перевести только на ассемблер, потому что между ассемблером и машинными кодами есть прямое соответствие (см. дизассемблер).

<

Компьютерный софт


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

  Компьютер может быть телевизором, телефоном, почтой, магнитофоном, проигрывателем, управляющим центром, учителем, счетной либо аналитической машиной, игровым автоматом наконец, — но только при наличии в нем соответствующих программ.

  Чтобы оживить, «разбудить» компьютер, надо загрузить в него некую программу, которая позволит вести диалог с пользователем, которая предоставит пользователю средства для управления, которая «разберется» с оперативной памятью, местом на дисках, произведет тысячи элементарных операций очень низкого уровня, без которых не начнут работать прикладные программы. Эта первая загружаемая программа, наэываемая операционной системой, контролирует размещение файлов (файл – кусок информации, имеющий имя, по которому его и можно разыскать на жестком диске), поиск информации на диске, выделение места для файлов на дискетах и на дисках (сам диск при этом может быть разделен на логические участки — логические диски — диск А, диск В, диск С и т.д.). Операционная система скрывает от пользователя эти сложные и ненужные подробности и предоставляет ему удобный способ общения с компьютером, выполняет различные вспомогательные действия (копирование и печать файлов и другие), загружает другие программы, передает им управление в начале работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую ими оперативную память при их эавершении.

  Можно сказать, что операционная система готовит компьютер к встрече с человеком, будит его, умывает, причесывает, а в процессе общения поддерживает его в подобающем виде, всячески помогая человеку и компьютеру понимать друг друга, общаться легко и непринужденно. Таким образом, первый важнейший класс программ для компьютеров – операционные системы. Для примера назовем, разумеется, MS DOS, WINDOWS (WINDOWS переводится как «окна»), созданы в Microsoft для компьютеров IBM PC и совместимых с ним), UNIX (создана в Bell Labs фирмы АТТ в 1969 году, впоследствии разветвилась на многочисленные клоны (копии), подчас не «понимающие» друг друга), LINUX (написана финским студентом Линусом Торвальдсом в середине 90-х годов), начинающая соперничать с WINDOWS. LINUX — открытая система, любой желающий может заняться ее разработкой и совершенствованием, что обеспечивает наиболее быстрый рост системы, наименьшие ограничения и максимальную интеграцию с другими системами. Например, WINDOWS не воспринимает файловую систему, отличную от FAT, а LINUX поддерживает таких систем больше 20.

Из других операционных систем отметим OS/2 («полуось») фирмы IBM, сетевая операционная система NetWare («нетварь») фирмы Novell.  WINDOWS («винды») фирмы Microsoft начались разработкой с начала 80-х годов и прошли через версии WIN 3.1(начало 90-х годов), WIN95 (с 1995 года), WIN98 (конец 1998), сетевая WIN NT и до ( в перспективе ) WIN 2000.

  Важным классом системных программ (системные программы выполняют, как мы уже поняли, различные вспомогательные функции, в отличие от прикладных программ, выполняющих собственно работу на компьютере) являются драйверы. Они расширяют возможности ОС по управлению устройствами ввода-вывода компьютера (клавиатура, жесткий диск, мышь и т. д.). С помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся.

  Оболочки — весьма популярный класс системных программ, обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS. Можно так сказать, что командная строка – это не отягощенная лишними удобствами дорога, без кафе и рекламы по сторонам, а оболочка — это оазис, где можно передохнуть и осмотреться. Наиболее популярными оболочками являются Norton Commander (NC), PC Shell из комплекта PC Tools.

Новые операционные системы в отличие от обычных оболочек предоставляют дополнительно к услугам первых еще и новые — графический интерфейс (то есть информация выводится на экран в виде изображений, окон, построения меню; в отличие от командной строки, апеллирующей исключительно к голове, интерфейс новых операционных систем обращается к чувствам и привычкам пользователей), многозадачность (возможность выполнения нескольких программ одновременно), расширение средств для обмена информацией между программами.

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

  Утилиты (вспомогательные программы) также относятся к системным и нередко объединяются в комплексы (Norton Utilities, PC Tools Deluxe). К утилитам относятся: упаковщики (сжимают информацию на дисках, объединяют копии нескольких файлов в один архивный файл — так называемые архиваторы, — ZIP, ARJ); антивирусы (ликвидация последствий заражения компьютерным вирусом и предотвращения такого заражения). Из российских антивирусов наиболее известны антивирусы ДиалогНаука — ADINF, Dr Web Данилова, Aidstest Лозинского, AVP Инспектор “Лаборатории Касперского», Norton Antivirus (полная защита от вирусов) и другие;[2] коммуникационные программы предназначены для обмена информацией между компьютерами (пересылка файлов с одного компьтера на другой при соединении кабелем их портов, либо связь по телефонной сети при наличии модема — WinFax Pro, BitFax, Fax-It; программы диагностики компьютера позволяют проверить конфигурацию (количество памяти, ее использования, типы дисков и т.д), — Check-It, System Information. Для проверки работоспособности дисков полезны программы ScanDisk, Norton Disk Doctor из комплекса Norton Utilities — они позволяют выявить «намечающиеся» дефекты дисков (из-за износа магнитной поверхности) и предотвратить потерю данных:; оптимизация дисков позволяет улучшить размещение данных на диске и как следствие убыстрить доступ к информации на нем, — SpeedDisk, динамическое сжатие дисков для увеличения количества хранимой на дисках информации — Drive Space.

  Прикладные программы — это то, ради чего и были изобретены компьютеры, на них, на прикладные программы работают все системные программы, ради них изобретаются языки программирования и разрабатываются целые инструментальные системы (системы программирования). Прикладных программ десятки тысяч, а еще лучше, чтобы их было сотни тысяч и даже миллионы. Наиболее применяемые — это редакторы текстов, издательские системы, табличные процессоры, системы управления базами данных, системы автоматизированного проектирования (САПР), всевозможные бухгалтерские и расчетные программы, а также различные учебные и игровые программы.

  Компьютер прежде всего победил пишущую машинку, и победил ее на ее же поле, так сказать. Компьютер сам стал пишущей машинкой, но — думающей, интеллектуальной пишущей машинкой. Он взял все функции старой пишущей машинки и добавил к ним еще одну — он научился прощать людям их ошибки при работе с текстом. А традиционная пишущая машинка им таких ошибок не прощала.

Вначале вообще появились однофункциональные электронные машины — текстовые процессоры. Это были компьютеры, умеющие именно только работать с текстом, они умели выполнять только одну операцию — обрабатывать текст.

Однако затем появились универсальные персональные компьютеры, способные выполнять и множество других приложений, обеспечивающие совместимость множества программ, в ряду которых были и собственно текстовые процессоры, то есть программы, позволяющие использовать компьютер для манипуляций с текстом, в том числе и с формулами — печатать текст, переворачивать его как угодно, переставлять слова, предложения, абзацы, вставлять и удалять любые куски текста и знаки препинания и в конце концов распечатывать текст на бумаге посредством принтера. Самый известный текстовый процессор (то есть самая известная программа для обработки текста и формул) — MS WORD. Есть и другие, например Works, Лексикон.

  А компьютер шел дальше. От обработки текста он перешел к обработке таблиц. Появилась программа MS EXCEL (переводится как “непревзойденный”, "превосходный”), появилась программа LOTUS 1-2-3.

  Компьютер продолжал свое победное шествие. От обработки таблиц он перешел к обработке картинок, чертежей, звука и изображения и вообще научился писать и выпускать книги и рисовать целые картины, делать фильмы и обрабатывать музыку. Можно записать свой голос с какими-либо словами, а затем пустить его наоборот, или сделать с эхом, как будто вы находитесь в горах или в пещере, возможны вообще любые манипуляции. Компьютер стал инструментом дизайнера, художника и артиста. Появились программы PageMaker (создание макетов книг и печать), Adobe Photoshop (цветоделение и обработка изображений), QuarkXPress (верстка периодики), CorelDRAW (графический редактор), PowerPoint (разработка сценария и стиля презентаций, слайд-фильмы), FaxLine (факсовая связь), Machaon (факсимильная и почтовая связь и безбумажный документообмен), AutoCad (черчение и конструирование), Adobe Illustrator (дизайнерство), Corel ArtShow (библиотека иллюстраций, созданных художниками всего мира), всемирно известные браузеры[3] Internet Explorer и Netscape Navigator. Кстати, первая версия Netscape Navigator была cоздана студентами, устроившимися в бесплатный проект для получения первого опыта.[4] Пришли за опытом — а ушли каждый с новым автомобилем “Порше”.

Компьютер научился работать с большими массивами данных (базами данных) посредством таких программ, как, например, MS Access (переводится как “доступ”), Oracle и других СУБД (систем управления базами данных). Он дал возможность конструкторам вообще видеть свои творения почти что наяву — на экране монитора. Не построенный еще дом можно было увидеть «живьем» да еще покрутить его во все стороны, чтобы получше рассмотреть, подняться над ним на любую высоту, войти внутрь и посмотреть на вид из окна (системы ArchiCAD, AutoCAD, MicroStation). Не подстриженного еще человека можно было увидеть как бы в будущем (своего рода машина времени) — с новой прической.

Робот-манипулятор, управляемый американской компьютеризированной хирургической системой ZEUS в Бакулевском институте в Москве произвел без непосредственного участия человека две сложнейшие операции — минимально-инвазивную с использованием искуственного кровообращения и коронарного шунтирования на работающем сердце. Человек (хирург), ведущий операцию, сидит за компьютером и на расстоянии управляет действиями чудо-машины. Причем, механический монстр управляется голосом (действует программа распознавания голоса). Зрелище, вообще говоря, фантастическое: лежит усыпленный человек, и над вскрытой грудной клеткой, тихо попискивая, шевелятся черные членистые щупальца, запакованные в пластиковые рукава, при этом на экранах с трехмерным изображением можно в мельчайших подробностях наблюдать ход операции. Робот отвечает человеку также приятным женским человеческим голосом, пока правда только по-английски. Получается, что скоро станет возможным делать сложнейшие операции в глухих уголках любых стран на расстоянии. Людей будут исцелять машины! И все это благодаря компьютеру.

Но все это касается профессиональной деятельности людей. А человеку, помимо прочего, нужны и развлечения. И компьютер научился его развлекать. Алексей Пажитнов придумал всемирно известный «тетрис», появились хиты DOOM, DUKE NUKEM, QUAKE, UNREAL (несколько серий стрельбовой игры в лабиринтах с монстрами и врагами), ЦИВИЛИЗАЦИЯ (стратегическая игра с целью построения собственной цивилизации), RED ALERT (“Красная опасность”, стратегия по мотивам попыток советских коммунистов, начиная со Сталина, завоевать мировое господство), WARCRAFT (сказочные баталии, сражения), MORTAL KOMBAT (смертельная битва с силами зла и ада), Need for Speed (гонки на автомобилях), SimCity (градостроительная стратегия по созданию справедливого, безопасного и комфортного устройства городской жизни – с точки зрения мэра, властей, горожан), масса авиа- и автосимуляторов, карточные и шахматные программы. Дошло до того, что компьютер Deep Blue ( «глубокая синева», фирма IBM, США, 1997), вооруженный сильной шахматной программой, обыграл в серии из нескольких партий чемпиона мира Гарри Каспарова.

А, например, игра Tomb Raider (которую советские пираты, не долго думая, перевели как «Тамбовский рейдер») выдвинула новый феномен — девушку по имени Лара Крофт, первую виртуальную красавицу, которая стала реальной супермоделью и секс-символом. Ее имя входит в рейтинг «100 самых красивых женщин планеты», ее фотографии украшают обложки более 40 лучших модных журналов, она рекламировала нижнее белье фирмы Gucci в журнале The Face, была почетным гостем на мировом турне группы U-2, записала поп-альбом, а сейчас по мотивам игры снимается сериал, готовится фильм с мисс Крофт в главной роли, и за право быть реальной ипостасью виртуальной звезды сражаются лучшие актрисы Голливуда. Несуществующая Лара Крофт породила реальные судебные тяжбы между журналом Playboy и компанией Core Design, придумавшей игру. Согласно виртуальной биографии Лары, ей сейчас около 30 лет, она британка голубых кровей. Вместо того, чтобы благополучно закончить колледж и выйти замуж за принца, она стала исследовательницей древних миров. Самолет, на котором она возвращалась домой с каникул, потерпел крушение в Гималаях, и она оказалась единственной уцелевшей. С этого момента начинается действие Tomb Raider. Смелая Лара в мини-юбке и с автоматом в руках стала лучшим женским компьютерным персонажем.

  Как создаются программы? У того, что мы видим на экране монитора, есть обратная сторона. У всех этих графиков, рисунков и бегающих человечков есть невидимые пружины. Если заглянуть за изображение на экране, то мы увидим значки какого-либо языка программирования, либо — на еще более низком уровне — машинные коды в двоичных и шестнадцатиричных числах, понятные лишь профессионалам. Значки состоят из английских (или русских) слов, букв, знаков препинания, точек, запятых, скобок и прочего. Это и есть тот язык, на котором написана эта программа. Машина (компьютер) понимает лишь машинные коды (да—нет, 0—1), а программист пишет на очеловеченном языке, который переводится в машинные коды специальными программами (трансляторами). Обо всем этом речь уже шла.

  Профессия программиста определенно творческая. Написание программы напоминает написание стихов. Сотни тысяч людей пишут программы, но все-таки не сотни миллионов. Программистов не очень много. Много кодировщиков. А программист ведь не только должен перевести задачу из реальной в цифровую форму, он ведь должен ее фактически уже для себя решить. Решить в идее. А уже потом закодировать значками — это кодировочная часть работы. А впрочем весь процесс идет в комплексе, вперемешку. Мышление программиста приобретает черты используемого языка програмирования, он частично думает на этом языке программирования, стирая и вставляя алгоритмические «фразы», стирая и снова вставляя. Написанная программа требует отладки, в ней полно ошибок, и нужно их найти и исправить. Программа написана, синтаксических ошибок не обнаружено, компилятор тебя понял и перевел твое творчество в машинные коды. То есть ошибок в правилах написания данного языка программирования нет. Но программа упорно не делает того, что от нее требуется. Значит, совершена логическая ошибка, или даже неверна идея решения задачи. И опять нужно думать,  думать и думать.

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

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

  Общий план обрастает деталями и тщательно прорабатывается. Схема решения определяет будущую структуру программы: из чего она будет состоять, что в нее войдет, а что останется «за бортом». Схема решения — это логика программы. Ошибка в схеме решения зачастую влечет за собой переработку всей программы.

  После составления схемы решения самая творческая часть программирования завершается и далее требуется лишь безошибочно продвигаться дальше по уже намеченному пути. Более подробно рассматриваются отдельные блоки, конкретизируются требования, выдвигаются новые предложения. Часто возвращаются опять к схеме и корректируют ее. Каждый блок последовательно прорабатывается и реализуется на каком-либо языке программирования. В уже написанной программе компилятор выловит все синтаксические ошибки. Строгая дисциплина программирования, четкое мышление избавляют от логических ошибок на уровне алгоритма.

Таким образом, пройдя все этапы, мы получим готовую программу. Но она еще не работает! Чтобы она заработала, ее надо внедрить и сопровождать. Эти два этапа составляют 50% стоимости программы. Часто внедрение программы натыкается на сопротивление и необученность персонала, порой просто на саботаж вперемешку с ленью. Сопровождение же программы требует специалиста, который в ней разбирается.

Жизненный цикл программы можно представить так:

В несколько другой плоскости все это выглядит так:

А в исходной точке, в истоке всех рассуждений, по нашему мнению, лежит соблюдение (или несоблюдение) «закона неверной предпосылки». [5] Игнорирование требований этого закона может пустить насмарку всю проделанную затем огромную работу.

Вот характерная фраза из встроенного языка программирования системы 1С:Предприятие 7.5:

месяц =месяц+1

  Видно, что это не математика (число само по себе, без дополнительных манипуляций, не может быть равно другому числу, а может быть равно только самому себе), и не житейский здравый смысл (месяц никак не может объединиться с числом, слово и число – разные, вообще говоря, вещи), но тем не менее данная алгоритмическая фраза имеет ясный смысл, – вот только в области программирования. Она означает увеличение значения переменной «месяц» на единицу, т.е. «взять следующий месяц». Эта алгоритмическая фраза имеет аналогом в житейских понятиях слово «счетчик», а знак «=» означает вовсе не равенство (тождество), а оператор (команду) присваивания.

  Или такая алгоритмическая фраза:

Конец цикла для цикла для

  Казалось бы, полная тарабарщина, но — только для непрограммистов. Надо только правильно все это прочитать.

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

Процесс написания программ — долгий и изнурительный труд, большие проекты пишутся сотнями и тысячами людей.

Для написания программ нужны тишина и спокойствие.

  Если взглянуть на дело философски, так сказать, то программируют не только собственно программисты, программируют (в широком, общем смысле слова), бывает, даже те, кто не имеет к компьютеру никакого отношения. Программирование как выстраивание в голове схемы решения какой-либо задачи присуще многим способным в каких-то областях людям. Использование при этом специальных терминов, систем обозначений, вообще всего профессионального антуража придает солидности, но не более того. Средневековая алгебра, развиваемая арабскими математиками, была словесной и обходилась без цифро-буквенно-формульных обозначений. Математические мысли выражались словами, «голым» текстом. Математика того времени, сделавшая великие открытия, обходилась без формул и математических значков ( в их буквальном виде), к которым привыкли мы. Суть математики – не внешнее «математическое» оформление, не значки и «четырехэтажные» формулы. Суть математики, как и всего прочего — не в антураже. Формулы выводятся не из формул, а из неких рассуждений, в самом исходном виде изложенных словами. Или, например, стихи. Кто сказал, что для написания стихов обязательно нужна бумага? Многие люди "пишут" свои стихи у себя в голове, записывая их затем в свою память. Гомер «написал» свою «Илиаду» в своей памяти, а это не отдельное стихотворение, а целая книга, и лишь позже, много позже, даже, кажется, после его смерти, это произведение было занесено на бумажные носители – получилась приличная по толщине книга.

  Возвращаясь к программированию для компьютеров, говорим: программирование – это не значки какого-либо языка программирования, и это не язык программирования, и не машинные коды, и даже не компьютер как таковой. Все перечисленное – это лишь средства достижения некоторой цели, поставленной в повестку дня жизнью. Говорим так: программирование – это создание идеальной умственной модели решения задачи с созданием блоков группировки промежуточных задач и иерархией ходов для достижения промежуточных результатов, а также распределением ресурсов наличных знаний (имеющихся в данной голове) на главных и второстепенных  направлениях поиска ( главных и второстепенных – с точки зрения ищущего решение человека), и сведением затем отдельных результатов в стройную целостную схему действий по достижению главного, конечного результата. То есть, изначально должна быть идея решения задачи, общая схема (в голове исследователя). Проводится анализ ситуации и разделение на подблоки (подсхемы), которые включают разные группы подзадач. Далее проводится анализ имеющихся ресурсов (времени, финансов, инструментов). При необходимости план корректируется в процессе решения. Так мыслят профессиональные автослесари перед отказывающейся заводиться машиной и профессиональные программисты перед какой-либо требующей решения задачей.

  Просто автослесарю удобно думать на своем сленге (жаргоне), а программисту – на своем. Первый говорит – «подтянуть тормоза», второй – «оператор присваивания», первый говорит – «пробуксовка сцепления», второй – «значение по умолчанию». У первого – гаечные ключи, у второго – языки программирования. Впрочем, компьютер сейчас "прописался" и в автосервисах.

  Таким образом, для программного метода мышления характерны выделение ключевых, главных, несущих звеньев, разбиение задачи на блоки подзадач, своеобразный «цинизм» в классификации явлений (неважно, что классифицировать, главное — как, люди ли, "железки" ли есть всего лишь материал для счета), прагматизм (свобода от эмоций), соединение в общей картине рассуждений стройности от математики, логики от философии, силы от здравого смысла, изворотливости от житейской мудрости.

  Все-таки термин «программист» прижился именно в компьютерной сфере. Программистом называют человека, создающего (пишущего и организующего написание) программы для компьютеров. И, добавим, сопровождающего свои программы при реальном их применении.

  Программист-профессионал всегда обладает большими знаниями и умениями. Его «слушаются» компьютеры. Взгляд на экран, пара нажатий на клавиши — и вот уже нестыковка устранена, программа «пошла», проблема, над которой другие бились целых два дня и которая поставила в безнадежный тупик пользователя, решена. Корни этих способностей растут из отточенного логического мышления, из свойства ума быстро представить себе блок-схему решения задачи. Среди нагромождения фактов безошибочно выбираются ключевые пункты (те самые блоки подзадач), от которых зависит дальнейший ход рассуждений. Острое как бритва и быстрое как молния мышление программиста резко контрастирует с тугодумием тех, кто программистом на самом деле не является.

  Программист входит в комнату, смотрит на экран монитора и говорит, что вы делали, какие программы запускали, какие кнопки нажимали.

  Есть кодировщики программ — они пишут свой кусок кода, по принципу разделения труда, а есть программисты — они управляют проектом, генерируют идеи и распределяют задания. Настоящий программист всегда учится (иначе отстанешь!). Учится сам, учит других и учится от них. Одно связано с другим, а другое — с третьим.

  Но надо четко представлять себе, что один программист ничего не сделает. Он стоит «на плечах» многих людей, профессиональных в других областях трудовой деятельности — и без их содействия не сможет «продвинуть» свою программу, заставить ее реально работать. Ошибка программиста коснется очень большого числа людей, она дорого стоит.

  В качестве примера приведем последовательность рассуждений при решении конкретной задачи.

  Пусть поставлена задача: требуется представить в налоговую инспекцию сведения о доходах физических лиц за год в виде справки о доходах по утвержденной форме (на магнитных носителях – дискетах). Проблема есть, она разбивается на подзадачи.  Для заполнения этой справки нужны соответствующие сведения о сотрудниках. Логическим и математическим отображением этой задачи является создание средствами какой-либо СУБД (например 1С) совокупности таблиц, содержащих эти сведения: кадровые данные, данные о годовом и помесячном доходе, виды и суммы доходов и вычетов, итоги (общие скидки, общие вычеты, валовый доход, подоходный налог).

Далее, на базе какого–либо языка программирования (например, встроенного языка 1С из пакета 1С:Предприятие 7.5) составляются алгоритмы справочников, объектов, запросов, кнопочек. Результатом работы программы являются бумажная справка о доходах, распечатанная на принтере, и файл на дискете для ГНИ. Полученный файл проверяется другой тестовой программой (тест – проверка, проверочная программа), взятой в ГНИ или написанной самим программистом.

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

  Системное программирование заключается в написании системных программ — операционных систем, утилит и т.д. Системные программы не видны пользователям, они про них и не догадываются. 

Прикладное программирование состоит в написании на базе системных программ других — прикладных — программ, которые производят всевозможные полезные действия, — учат, развлекают, информируют, управляют, рисуют, пишут и воспроизводят музыку, переводят тексты на другие языки, проверяют правописание и многое другое. Вот эти программы уже, так сказать, «видны» непосредственным пользователям по их явному внешнему эффекту. Прикладной программист использует все программы, которые написаны системными программистами, он работает в среде, созданной ими для него, он вообще стоит на вершине гигантской пирамиды и использует плоды труда массы людей. Для массовых же пользователей предлагаются программные продукты, которые вобрали в себя труд и системщиков, и прикладников, и теоретиков.

«Теоретическое» же программирование — фундаментальное, устремленное вперед, в неизведанные и неоткрытые дали, — не всякому по силам. Не часто рождаются люди, способные указать путь другим. Теория программирования и теория решения возникающих задач заключаются в создании новых языков и принципов программирования и целых инструментальных систем (систем программирования).

Впрочем, границы между видами программирования весьма условны.

Разумеется, не все так гладко, как хотелось бы. Упомянем хотя бы проблему Y2K – второго килогода, проблема 2000 года (Year – год, 2К – два кило, т.е две тысячи). Проблема компьютерного «жука», как ее обозвали, Проблема Y2K потребует определенных расходов, и это отрицательная сторона компьютеризации.

Суть дела заключается коротко в том, что в компьютере есть специальная постоянно работающая от батарейки микросхема, которая отсчитывает время. На заре компьютерной эпохи волевым решением было принято обозначать дату (год) сокращенно двумя последними цифрами (например, вместо 1977 в компьютере хранилась дата 77, а первые две цифры подразумевались сами собой и были «зашиты» в программы). Потом это стало стандартом, и двузначное обозначение года стало использоваться в микросхемах, вошло в «железо».

Казалось бы, чего проще — представляй год четырьмя знаками и дело с концом, никакой проблемы «жука» не было бы. Однако такое решение несколько десятков лет назад было неочевидным из-за национальных стандартов в западных странах на формат представления даты. Год в большинстве стран представлялся двумя последними цифрами. Далее играли роль соображения экономии дисковой памяти: на каждую дату экономился один-два байта, умножаем на миллионы записей…Опять же экономия процессорного времени при арифметике с датами.

Для бизнес-приложений, использующих различные арифметические операции с датами, игнорирование проблемы 2000 года приведет к ужасающим последствиям. «Полетят» начисления процентов, расчеты заработных плат, выплаты по срочным вкладам. Вместе с компьютерными программами и самими компьютерами «полетит» и вся инфраструктура — принтеры, банкоматы, банки, офисы. Придется все это делать вручную, нанимать людей и т.д. А сколько обид, жалоб и судебных исков!

Что произойдет в 2000 году? Компьютер выдаст цифры 00. И что прикажете думать? То ли это 2000 год, то ли 1900.Для компьютера наступил 1900 год, поскольку первые две цифры – 19 – проставятся автоматически. Это может привести к различным сбоям в работе программ, и, например, если в компьютере, управляющем запуском межконтинентальной баллистической ракеты с ядерной боеголовкой, в программу вставлена защита от несанкционированного доступа, то подобный ход дела может быть истолкован компьютером как попытка взлома и будет дана команда на пуск ракеты. Или банковский компьютер может в 2000 году не насчитать вам проценты по вкладу, поскольку для него не будет ясен срок, который ваш вклад пролежал в этом банке. Доход может стать отрицательным (вы должны банку) либо нулевым. Варианты сбоев могут быть различными и непредсказуемыми.

Примерно в 80-х годах представление даты стало четырехзначным, поэтому многие последующие компьютеры проблеме 2000 года не подвержены. Но вообще проблема есть и решать ее придется. Например, оставаясь в рамках двузначности, введением рабочего столетия ( в 1С и в Виндусе 98) – берется, например, отрезок 1937 по 2036 годы. Цифры года 15 явно относятся к 2015 году, а 88 – к 1988 году. Эти границы вводятся в установки, в параметры программ, пользователь их может изменить. Таким образом компьютер однозначно интерпретирует год, не мучаясь сомнениями. Однако это годится только для компьютеров с четырехзначным представлением даты, и придумано только для удобства пользователя.

По уровню освоения программного обеспечения компьютера всех людей условно можно разделить на следующие категории (это мнение может не совпадать с вашим собственным):

1.       Геймеры (игроки, от «game» — «игра») — используют компьютер исключительно как игровой автомат;

2.       Ламеры (чайники, от «lame» — «хромой»,»увечный»,»неудачный», «неудовлетворительный», «неубедительный», «неправильный», «неполный») — только-только отошли от игр и пока не умеют пользоваться толком ни одной программой;

3.       Одно- , двух-программные и кусковые пользователи — умеют пользоваться одной, двумя или , может быть, тремя программами, или некоторыми функциями из разных программ;

У этих трех категорий знания не систематизированы.[6]

4.       Юзеры (от «use» — «использовать»), — хорошо знают несколько программ, знания у них начинают систематизироваться;

5.       Продвинутые юзеры — очень хорошо знают много программ, немного программируют;

6.       Профессионалы — умеют быстро разобраться в любой программе, знают все известные прикладные и системные программы, умеют программировать на нескольких языках, огромный опыт;

7.       Теоретизирующие профессионалы — поднялись над текущим программированием, видят пути его развития, пишут книги[7].

Особняком стоят хакеры и «вирусники», но они не являются созидателями, хотя может быть и нужны как санитары компьютерных программ — они ищут и находят дырки в защите. Они — разрушители. Но средства разрушения всегда на шаг отстают от средств созидания, иначе не было бы прогресса. Хакеры и вирусники идут по уже построенной профессионалами дороге и испытывают ее на прочность.

Хакеры (hack — рана, разрез, ссадина от удара, зарубка, зазубрина, мотыга. Hack — ломать, разрубать, кромсать, зазубривать, обтесывать) — безусловно, профессионалы. И очень даже неплохие профессионалы. Вполне можно допустить, что с развитием глобализации, усилением взаимозависимостей (через финансовые рынки, работающие по компьютерным сетям) ситуация с хакерством окажется вне контроля со стороны правительств и международных институтов. Хакер забирается к вам в компьютер или банк через какую-либо компьютерную сеть, к которой он имеет доступ.

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

Хакеры лезут в машинные коды и исправляют их в своих интересах. Хакеры — эти «черные» профессионалы — дорастут, возможно, до уровня, с которого будут постоянно испытывать на прочность страны и их валюты. Они в состоянии дестабилизировать отдельные предприятия, отрасли и целые страны. Наказание для государства (в виде оттока капиталов в течение нескольких дней и часов) с развитием сетей станет дамокловым мечом, постоянно висящим над головой правительств.

Хакер — это сетевой вампир. Он пьет кровь сетей — информацию. Он ищет и находит ошибки, которые, как правило, всегда присутствуют в программах профессионалов. Он взламывает защиту, используя при этом в том числе и вирусы. Но, пусть это и профессионализм, однако не высшая его фаза. Интеллект оттачивается не на разрушении, а на созидании. Враждебная деятельность «черных» профессионалов всегда будет наталкиваться на противодействие профессионалов «белых».[8]

В качестве примера расскажем об одном великом хакере – Кевине Митнике, «супер-хакере», уже более четырех лет без суда и официального предъявления обвинения находящегося в тюрьме в США. Власти США до сих пор не решаются выпустить его на свободу. Кевин Митник родился в 1964 году. В 16 лет совершил первый взлом — проник в административную систему школы, в которой учился. В 17 лет Кевин играючи взламывает компьютерную систему Североамериканской противовоздушной обороны. Его ловит полиция, а суд приговаривает к году условно. Кроме того, он получает три месяца перевоспитания в специальном Лос-Анджелесском центре для малолетних. Там Митник проникает в военную сеть ARPANet, за что получает 6 месяцев тюрьмы. В тюрьме он совершенствует свои знания о телефонных и компьютерных сетях, и, выйдя на свободу, уже может делать с ними все, что хочет (создавать бесплатные номера, звонить с чужого номера, прослушивать любые линии). В 1987 году Митника арестовывают по обвинению в похищении у ведущей компьютерной фирмы специального ПО и дают три года условно. В 1988 году — новый арест по аналогичному обвинению. На свободу Митник выходит лишь в 1990 году. В 1992 году он, судя по косвенным данным, взломал военную сеть, и кроме того проник в святая святых — в банк данных ФБР, включая раздел персональных досье. Митник был объявлен в федеральный розыск. В феврале 1994 года его арестовали.

Сейчас проходит всемирная акция “FREE KEVIN”(СВОБОДУ КЕВИНУ). Впервые компьютерный андеграунд (подполье) пытается заявить о себе сразу в десятках стран как о некоей общественной силе и находит поддержку у самых различных организаций. Они — хакеры мира — провели крупнейшую по массовости и эффективности атаку на правительственные сайты США. Эпицентром акции затем станет Лос-Анджелес, где арендованный сторонниками Митника «пишущий» самолет должен вывести на небе гигантскими буквами заветное “FREE KEVIN”.

Что касается создания программ-вирусов, то здесь ситуация более-менее под контролем «белых» профессионалов. Хотя время от времени отдельные выдающиеся авторы вирусов прорывают их фронт — «белые» профессионалы терпят локальное поражение. Десять лет назад программа-вирус, написанная Робертом Моррисом, двадцатитрехлетним студентом последнего курса Корнелльского университета, парализовала на два часа всю мировую сеть Интернет. Моррис создал чисто экспериментальный вирус — «червь», который заполнял всю оперативную память компьютера и передавался по сетям от компьютера к компьютеру. Происходило полное торможение, работа становилась невозможной. Червяком, а не вирусом эту вредоносную программу назвали потому, что она не инфицировала другие программы. Она пользовалась незамеченной «щелкой» в системном ПО и получала прямой доступ к памяти атакуемого компьютера. Там «червь» прятался и подсовывал неверные данные. К Моррису применили Computer Fraud and Abuse Act (Закон о компьютерном мошенничестве и намеренном нанесении вреда) от 1986 года и приговорили к трем годам условного заключения, штрафу в 10 000 долларов и 400 часам общественных работ.

  Или, например, вирусы типа «троянский конь» (BackDoor-G ), которые маскируются под программу сохранения экрана, обновление компьютерной игрушки или другие полезные пользовательские приложения (порой распространяемые по электронной почте). После установки этот вирус обеспечивал автору вируса полный доступ к клиентскому компьютеру; при этом вирус посылает команду ping, чтобы уведомить автора вируса об успехе своей миссии. Другими аналогичными вирусами являются Armageddon, BackOrifice и NetBus, и характерны тем, что представляют собой смесь вирусов и средств взлома защиты компьютерных программ, то есть в данном случае атакующий клиентский компьютер человек является одновременно и хакером и вирусником. И чтобы защититься от заражения такого рода вирусами, следует модернизировать как антивирусное программное обеспечение, так и системы, выявляющие попытки нарушения защиты программ.

По данным International Computer Security Association — организации, занимающейся изучением вопросов национальной безопасности — количество случаев заражения компьютерными инфекциями ежегодно удваивается, причем сейчас первенство перешло от зараженных дискет к сообщениям электронной почты.

«Почтовый вирус» Melissa стал причиной (в марте этого года) массовой эпидемии перебоев в работе почтовых служб во многих странах. Этот вирус маскируется под сообщение электронной почты и при открытии пользователем посылает аналогичные сообщения по первым 50 адресам его адресной книги. В данном случае самовоспроизводящийся вирус относится к классу червей, он не разрушает компьютер, но вызывает перегрузки (из-за лавинообразного роста потока сообщений), парализующие работу системы электронной почты.

Первым в истории вирусом, разрушающим «компьютерное железо» является CIH или «Чернобыль», срабатывающий 26 апреля (в годовщину чернобыльской катастрофы). Другая версия вируса проявляет свои разрушительные свойства по 26 числам каждого месяца. Написанный программистом с Тайваня «Чернобыль» портит данные на жестком диске и разрушает базовую системы ввода/вывода (BIOS), что делает невозможным загрузку компьютера, а в итоге нужно менять BIOS, или даже материнскую плату, а некоторые ноутбуки, подвергшиеся атаке этого вируса, дешевле выкинуть, чем починить. Переносчиком вируса является CD-ROM с пиратским ПО.

В июне этого года появился созданный в Израиле вирус Worm.ExploreZip, сочетающий плодовитость «червя» Melissa с разрушительной силой «Чернобыля». Этот вирус также распространяется по электронной почте, но приходит в ответ на реальные сообщения, поэтому не вызывает у пользователя особых подозрений. Вирусное послание содержит файлы, упакованные программой-архиватором ZIP. При попытке разархивирования вирус выдает сообщение об ошибке и заражает компьютер, после чего стирает с жесткого диска все данные.

Все-таки вирусы пишут, как правило, неопытные молодые люди. Вирусописаки — почти сплошное пацанье. С приходом знаний и опыта «вирусная» болезнь у человека, как правило, проходит. Однако детские игры небезопасны. Паралич компьютерных сетей, вызванный вирусной атакой,  вполне возможен.

Суммарный оборот индустрии персональных компьютеров (легальные деньги) достиг 150 млрд. долларов. Кроме того в мире отмывается в год еще 100 млрд. долларов от пиратского копирования программ, от воровства их, проще говоря (кстати, нелегальный оборот пиратского программного обеспечения по стоимости уступает только наркоденьгам. От нелегального оборота программ далеко отстал даже нелегальный оборот оружия).

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

Развитие человечества будет идти путем создания новых и развитием нынешних информационных технологий. Информационные технологии — это многократное уско­рение любого процесса. Это гигантская экономия средств и времени, и, следовательно, гигантское же повышение эффективности любой деятельности. Да хотя бы за возможность полу­чать нужную информацию незамедлительно, лю­бой человек, любая страна отдаст любые деньги. И с этой точки зрения, небольшая компьютерная программа может стоить десятки тысяч американ­ских автомобилей, сотен тысяч видео, миллионов китайских курток.

Можно пытаться сбивать одни ракеты другими. А можно — если обладаешь технологией контроля за компьютерными сетями — не допустить запуска этих самых ракет. Возмож­ность развития новых информационных технологий практи­чески неисчерпаема...

Главными, решающими последствиями раз­вития новых технологий в XXI веке станет то, что развитые страны уйдут в окончательный, непреодо­лимый отрыв от остальных. Пока последние будут проедать свои природные ресурсы, первые спокой­но и, главное, абсолютно бескровно получат над ни­ми контроль. Кто сейчас может предсказать, какое новое супероружие будет изобретено на основе компьютерных технологий? А такое оружие уже сейчас изобретается, и против него будут бессильны танки и корабли. Однажды по телеканалу НТВ промелькнул сюжет о создании в Австралии (!) пулемета, представляющего из себя некую решетку (размером примерно метр на метр), начиненную пулями, к которой тянутся провода от компьютера. Изобретатель на клавиатуре набрал команду и решетка полыхнула молнией – со скорострельностью миллион в минуту пули улетели на поражение. Против такого шквала не устоит ни одна дивизия. Было сказано, что пока эта система будет применяться для разминировния с вертолета минных полей...

Любой человек, способный работать с новы­ми технологиями, но рожденный в стра­не, где его способности не будут востребованы временем, будет вынужден уехать и осесть в развитых странах. И как следствие этой утечки мозгов в "мертвых" странах начнется замедление их технического прогресса, социальная и финансовая деградация.

Уже сейчас компьютер прочно вошел в жизнь людей. Банки и метро, светофоры и продажа билетов на все виды транспорта, управление полетом ракет и космос, коммунальные платежи и учет угнанных машин, разработка новых лекарств и проектирование зданий, лазерная коррекция зрения, моделирование ядерного взрыва и изучение его последствий, спецэффекты в фильмах и управление музыкой на современных радиостанциях, бухгалтерский учет на предприятиях и общенациональные выборы, базы данных для противодействия организованной преступности, программы для разбора спортивных игр и действий игроков (делается видеозапись игры, затем компьютер отбирает из нее одного игрока и монтирует минифильм о мельчайших деталях действий только этого одного игрока на протяжении всей игры или в определенные моменты игры, а также нескольких игроков или всей команды в разных или в однотипных игровых эпизодах, либо при получении соответствующего задания компьютер подбирает наиболее характерные фрагменты игры из имеющихся разных видеосюжетов),  наконец, всемирная связь от телефонной до спутниковой, по проводам и без, – уже сейчас без компьютеров это немыслимо: человек не способен сделать такой гигантский объем вычислений и уследить за таким количеством передающих и принимающих устройств. Даже, если верить газетам, компьютер применяется для такой экзотики, как обучение обезьян человеческому языку (обезьяна может сообщать свои мысли при помощи специального компьютера, который синтезирует речь, когда обезьяна нажимает на клавиши.)

Компьютер востребован временем и изо дня в день доказывает свои преимущества над бескомпьютерным образом ведения хозяйства и жизни. С компьютером удобнее и легче работать, выгоднее торговать, интереснее жить. В отличие от телевизора, который просто «вдалбливает» тебе в голову свои истины, не интересуясь твоим мнением, компьютер приглашает тебя на разговор, он тебя уважает и ты сам себя начинаешь уважать – повышается самооценка личности. Компьютер высвобождает самый ценный ресурс для человека — свободное время, которое можно потратить на придумывание новых технологий. В этом Карл Маркс, видимо, был прав, когда писал, что ценность новых приемов труда и новых орудий производства определяется суммой свободного времени, которое они высвобождают из непосредственного производства и которое человек затем может потратить на себя. Компьютер высвобождает свободное время – вот в чем фокус! А уж куда его, свободное время, потратить – мы найдем!

Только посмотрите —современные жесткие диски персональных компьютеров имеют объем до 12-18 Гбайт, в среднем наиболее доступные по 4-6 Гбайт, а 1 Гбайт составляет около 400 миллионов страниц текста среднего формата, при этом доступ к этой бездне информации происходит за сотые доли секунды! А во многих отраслях (банковское дело, системы резервирования и реализации авиа- и железнодорожных билетов, служба метеопрогнозирования) требуется обрабатывать еще большие объемы информации с еще большей скоростью.

На наших глазах формируется так называемая информационная магистраль (information highway), наиболее заметным элементом которой является сеть Интернет (net - “сеть”). Пока это хаотичный набор взаимосвязанных коммерческих и некоммерческих компьютерных сетей, включая оперативные информслужбы, услуги которых доступны по подписке. Серверы разбросаны по всему миру и подключены к Интернет множеством линий, как скоростных, так и не очень. Большинство пользователей присоединяется к этой системе с помощью персонального компьютера через телефонную сеть посредством модема, который, преобразуя нули и единицы в разные тона, позволяет компьютерам общаться по телефонным линиям.

Одно из самых популярных приложений Интернета — «всемирная паутина» — сеть World Wide Web (W W W), это группа серверов, подключенных к Интернет и предлагающих страницы информации в графическом виде. Присоединившись к одному из таких серверов, можно увидеть на экране своего компьютера страницу с несколькими гиперсвязями. Активизируя гиперсвязь щелчком мыши, можно перейти на другую страницу с дополнительной информацией и другими гиперсвязями.

Основная страница, принадлежащая какой-либо компании или частному лицу, называется «домашней» (home page), создавая ее, регистрируют электронный адрес, по которому вас могут найти пользователи Интернет. Адрес этой страницы входит теперь в реквизиты многих фирм. Программное обеспечение для настройки Web-сервера стоит недорого и подходит практически для любых компьютеров. Ну а программы для просмотра «паутины» (браузеры) обычно предлагаются бесплатно (по крайней мере на Западе). В ближайшей перспективе средства просмотра Internet будут интегрированы в операционные системы. При этом стоимость услуг сервера, удаленного на тысячи километров ничуть не выше оплаты услуг того, что находится в километре от вас.

Развитие техники, видимо, будет идти путем ее «окомпьючивания», то есть в любом приборе (и промышленном и бытовом, вплоть до утюга) будет задействован микропроцессор и материнская плата, и прибор можно будет программировать на выполнение всяческих задач либо непосредственно с его собственной клавиатуры, либо — через спецразъем связав его с компьютером, используя при этом какой-либо язык программирования. Прообразом таких приборов уже сегодня являются телефоны с АОНом. Клавиатурой являются клавиши цифр и дополнительные клавиши, информация выводится на экран дисплея. Вот только программируются пока эти телефоны грубовато, непонятно для большинства людей и не на языке программирования, а в неких кодах, хотя число используемых функций уже сейчас довольно большое (определение номера, часы, календари, будильники, автоответчик, дистанционное управление,переадресация, черный и белый списки, архивы входящих и исходящих звонков, использование пейджера, мини-АТС, записная книжка, разные виды звонков, режимы дня и ночи, коррекция, спикерфон, автодозвон и др.). В еще более отдаленной перспективе появятся приборы все более и более универсальные по функциям — карманные помощники и разведчики человека, подсказывающие человеку решения, предостерегающие от опасностей, освещающие дорогу, согревающие и развлекающие его дома и в пути. Уже есть сотовые телефоны и наручные часы с выходом в Интернет. То есть будет идти, скажем так, универсализация вещей на основе процессоризации их. Фантасты современности же вообще говорят о создании в будущем микроскопических компьютеров, которые будут вводиться внутрь человека в виде инъекций, соответственно человек станет видеть, слышать и считать неизмеримо лучше и быстрее и будет легче справляться с разными внештатными ситуациями (ранения, болезни и т.д.). Хотите верьте — хотите нет.

Или Россия овладеет информационными технологиями, или отстанет уже навсегда.

Надежда умирает последней.

[1] soft – «мягкий», в отлиие от hard – «жесткий». Таким образом, софт символизирует программное обеспечение компьютеров, а хард – аппаратную часть, «железо».

[2] Вирус — это вредоносная программа, которая мешает нормальной работе компьютера. Вирусы способны «размножаться» (приписывая себя к полезным программам и тем самым при выполнении полезных программ распространяются  от программы к программе, от компьютера к компьютеру — по сетям или через диски и дискеты с зараженными программами.). Сейчас известно около 30 000 вирусов.

[3] Браузером называется программа для просмотра страничек Интернета.

[4] Программы выпускаются с номерами версий (1.0; 3.1; 3.11 и т.п.), увеличение первой цифры обозначает крупное, значительное изменение в программе, а изменение второй или третьей цифры обозначает небольшое и малое изменение программы.

[5] Закон неверной предпосылки мы формулируем так: если ты все делаешь правильно, все твои шаги правильные, верные, логичные, оправданные, но в результате многоходовой, абсолютно верной комбинации, в результате всех этих выверенных логичных шагов ты пришел к разбитому корыту, к абсолютно не вписывающемуся в реальность результату, то это означает, что ты сделал один неверный шаг — первый, то есть ты не с того начал, и следовательно, не туда пришел. То есть неверной оказалась исходная предпосылка рассуждений.

[6] Систематизация знаний достигается, по нашему мнению, только теоретической учебой и затем применением полученных знаний на практике. Из одного чистого опыта систематизация не вырастет, а если и вырастет, то будет убогой, отсутствие теоретических знаний сделает такую систематизацию неполной и поверхностной, а значит не вполне достоверной.

[7] А когда говорят — профессиональные пользователи — то имеют в виду профессионалов в некомпьютерных отраслях, использующих для решения своих задач компьютер. Профессиональные пользователи — это в большинстве третья категория пользователей.

[8] Пусть не создастся впечатление (особенно у неустойчивых юнцов), что «белые» профессионалы не способны на такое, на что способны профессионалы «черные». Как раз наоборот: «белые» запросто могут стать «черными» — либо по злому умыслу, либо по недоразумению, либо в силу необходимости. А вот «черным», чтобы стать продуктивными «белыми», нужно еще подучиться.

<< Предыдущая глава | Содержание раздела

Must die переводится как — «черт бы его побрал»


Must die переводится как — «черт бы его побрал». Или даже как — «должен умереть». Или даже как — «пусть сдохнет». Это пожелание, этот клич, этот вопль летит в сторону WINDOWS.

Феномен «виндусов» вырос не из технического совершенства виндусовских программ — в них куча ошибок, не из какой-то исключительной мощности или быстродействия — UNIX работает в 100 раз быстрее, чем WINDOWS, а LINUX лучше защищена, чем WIN NT — а из Идеи, заложенной в них с самого начала.

Microsoft сумела развернуть всю индустрию программных продуктов в сторону среднего человека. Как в свое время Чарли Чаплин выразил, воплотил в своих ролях все чаяния среднего человека, так и Билл Гейтс изначально сделал ставку не на избранных и денежных, а на массовых и средних. «Дешевле и шире» — вот его девиз. Стремление сделать работу с программами (и с компьютерами) простой и приятной, а, главное, доступной всем продолжает влиять на всю индустрию программных продуктов.

«Мелкомягкие» (Microsoft) демонстративно отвернулись от Посвященной Касты и пошли навстречу Диким Чайникам, предлагая им свой товар чуть ли не даром, потому что ими («мелкомягкими») владело железное убеждение: чем больше «расплодится» компьютеров, тем выше станет общественная значимость того дела, которому они посвятили свою жизнь. Тем богаче станут они сами в конце концов, ибо снижение цен на компьютерные программы многократно перекроется расширением рынка их сбыта.

Один телефон или даже двести мало значат, ценность телефонизации возрастает прямо пропорционально ее распространенности. Какая радость говорить изо дня в день с одним и тем же собеседником? Аналогично и ценность компьютеризации растет прямо пропорционально ее расширению. Сотни миллионов компьютеров и миллиарды втянутых в компьютерную орбиту людей — вот что нужно Гейтсу, вот чего он добивается[1].

Когда-то он поверил, что компьютеры придут в каждый дом, в каждую семью, и на этой именно идее построил свою фирму и свою политику (а когда Билл Гейтс начинал, компьютеры были недоступны для основной, подавляющей массы населения, да и не было их, домашних дешевых компьютеров. Телевизопы-то были не частыми в США. А в СССР в то время — 60-70-е годы — народ и слова-то такого — «компьютеры» — не знал). Свой четырехцветный развевающийся флаг он хочет вручить каждому. Его фирма изначально была нацелена на рынок микрокомпьютеров, впоследствии названных персональными.


Ранее существовали лишь большие ЭВМ (мейнфреймы), стоившие миллионы долларов. Самый маленький компьютер PDP-8 фирмы DEC весил 120 килограмм и был под два метра роста. Первый действительно маленький компьютер «Альтаир», для которого Билл Гейтс с своим другом Полом Алленом написали интерпретатор Бейсика, тоже не внушал никому особого оптимизма, и только эти двое — Билл и Пол — разглядели в нем мессию, компьютерного Иисуса Христа. Друзья сделали на него ставку и выиграли — сейчас Microsoft владеет от 80% до 90% рынка ПО для ПК, а сам Билл Гейтс стал мировым чемпионом по личному состоянию (75 млрд. долларов[2]).

Миллионерами стала уже четверть из 30 000 работников Microsoft. Билл Гейтс, пятый год возглавляющий список самых богатых людей планеты, имеет все шансы стать первым на земле триллионером, обогнав самого Рокфеллера. Ближайшие соратники Гейтса тоже не в обиде: Пол Аллен занимает третье место в мире — 30 млрд долларов, а нынешний президент компании Стив Балмер — четвертое место — 19,5 млрд долларов. За последние пять лет акции компании выросли на 1440 %, а с момента акционирования курс акций вырос на 51830 % (100 долларов тогда сегодня стоят 50 000)!

«Республика» Microsoft занимает девятое место по доходам среди крупнейших индустриальных государств мира!

Однако не все разделяли взгляды Гейтса.

В 1983 году Microsoft объявила, что с помощью продукта под названием «Windows» (окна) собирается реализовать на IBM PC графический интерфейс. Идея «окна» была создана в центре PARC (PaloAlto Research Center в Калифорнии) фирмы Xerox группой под руководством Алана Кея, одного из вдохновителей создания компании Apple[3]. В дальнейшем в Apple были построены компьютеры Liza, а затем Macintosch, в которых и был реализован оконный графический интерфейс. Билл Гейтс же сумел «упаковать» основные MAC’овские идеи в IBM PC, назвал это WINDOWS и сделал стандартом в программном обеспечении для персональных компьютеров.

Что же произошло? Произошло создание нового массового стиля работы и стиля жизни — удобного прежде всего, облегчающего и украшающего жизнь. Microsoft очеловечила компьютеры и создала новый массовый стиль жизни, стильную рабочую среду. Microsoft вдохнула душу в ПК, расцветив их всеми красками. Платой за это последовал чрезмерный расход ресурсов компьютера. Но, добывая победу, за ценой не стояли, да и аппаратные средства делались все более мощными. Новый стиль заключался в том, что компьютер из казенного канцелярского рабочего аппарата превращался в своего, родного и близкого друга, члена семьи, удобного и верного помощника. Компьютер перестал строго хмурить брови, он стал улыбаться. Дистанция исчезла, интерфейс из холодно-безразличного стал дружественным и даже дружеским (а ведь был и враждебный интерфейс, интерфейс-окрик: «Нет такого!», не допускался никакой «флирт» с компьютером и не оказывалось никакой помощи в затруднительных случаях — правда,  в основном это касалось советских ЭВМ).



В свое время Microsoft разошлась с IBM и не стала продвигать свое совместное с ней творение — операционную систему OS/2 («ось надвое», «полуось») именно по причине различия взглядов на совместимость программного обеспечения с аппаратными средствами. IBM настаивала на привязке операционной системы к ее конкретным аппаратным средствам, Microsoft же стояла на позициях, что программное обеспечение не должно в принципе быть привязанным к конкретному «харду» («железу»). WINDOWS занимала меньше места на жестком диске и требовала меньше памяти и ей нашлось потом место на машинах, которые никогда не смогли бы работать с OS/2.

В Редмонде (штат Сиэтл , место базирования Microsoft) поняли главное: человек считает каждую принадлежащую ему вещь продолжением самого себя. Каждый человек стремится к уникальности и себя и своего рабочего места. WINDOWS и удовлетворяет неистребимое желание иметь абсолютно индивидуальный компьютер с уникальным рабочим столом, на котором все расположено так, как хочу я, а не как за меня решили разработчики или начальник. Не я приспосабливаюсь к компьютеру, а он ко мне. Чтобы работать, мне не приходится менять свои привычки и пристрастия.

Графический оконный интерфейс и полная совместимость всего со всем победили. Идея массового, открытого, дружелюбного компьютера одержала тотальную победу. Возврата к компьютерной элите, свысока взирающей на «чайников», уже не будет. На платформе WINDOWS разрабатываются десятки тысяч коммерческих (на продажу) программ, подчас более лучших, чем программы самой Microsoft.

  Бывает, что другие ОС и программы работают зачастую лучше, чем Виндус, но не они сформировали стиль общения человека и машины. Стив Джобс (глава фирмы Apple), Питер Нортон ( глава фирмы Symantec) и Билл Гейтс (глава фирмы Microsoft) — три компьютерных кита — идут по пути уменьшения сложности программ и увеличения естественности и функциональности при работе с ними. И они добились того, что с компьютером уже стало возможным общаться, не зная программирования, как не знают многие водители во всем мире, куда заливается бензин в их машинах.



Очеловечивание компьютера будет продолжаться, несмотря ни на что. На очереди — управление голосом — голосовой интерфейс[4] и трехмерный интерфейс, а также программы распознавания рукописных текстов, то есть информацию в компьютер можно вводить «от руки» (посредством светового пера либо специальных программ распознавания рукописей). Это, надо думать, требует еще больших ресурсов от аппаратных средств, однако и техника не стоит на месте — намечается замена в процессорах потока электронов потоком фотонов (частиц света), это даст еще большее увеличение мощности и быстродействия работы компьютеров.

Разрабатываются и нецифровые компьютеры — нейрокомпьютеры, где информация анализируется не в цифрах, а в логике нервных окончаний. Нейрокомпьютеры обладают принципиально новым свойством — возможностью самообучения в ходе решения задач. По своей сути нейрокомпьютер является имитацией человеческой нейронной сети (нейрон — основная элементарная ячейка мозга человека). Нейрон взаимодействует с другим нейроном, посылая ему электрический сигнал — нервный импульс. Каждый нейрон связан примерно с 10000 нейронами. По такому же принципу строится память компьютера, где сначала формируется требуемый массив ячеек, а межсоединения осуществляются практически без искажений оптическим образом — в оптическом тракте системы. Магнитооптические управляемые устройства уже сегодня позволяют сформировать массив бинарной информации из 104 ячеек, причем скорость обработки его по алгоритму нейронной сети на несколько порядков превосходит возможности человеческого мозга.

Компьютеры уменьшаются в размерах при возрастании мощности процессора в соответствии с законом Мура. В 1965 году Гордон Мур, впоследствии (в 1968 году) вместе с Бобом Нойсом основавший фирму Intel — мирового лидера производства процессоров, — предсказал, что число транзисторов в компьютерных чипах ежегодно будет удваиваться. Через 10 лет (закон Мура все десять лет неукоснительно соблюдался) удвоение стало происходить каждые два года (точнее каждые 18 месяцев).



Закон Мура, по всей видимости будет действовать еще лет 20. И тогда вычисления, занимающие сегодня сутки, будут проводиться в 10 000 раз быстрее и потребуют не более 10 секунд. Лаборатории США уже работают с «баллистическими» транзисторами, время переключения которых порядка фемтосекунды, то есть

1/1 000 000 000 000 000 секунды, т.е. такие транзисторы в 10 млн. раз быстрее современных. Вся сложность в том, что необходимо так уменьшить размер чипа и протекающий в нем ток, чтобы движущиеся электроны не сталкивались даже друг с другом.

Следующий этап — создание «одноэлектронного транзистора», в котором единственный бит информации представлен одиночным электроном — это абсолютный предел для низкоэнергетической вычислительной техники. Чтобы воспользоваться преимуществами такого невероятного быстродействия на молекулярном уровне, компьютеры должны стать микроскопическими. Недостает одного — технологического рывка, но за этим, как показывает опыт, дело не станет.

Однако не все мыслили в том же направлении, что и Билл Гейтс. Более того, очень многие мыслили в прямо противоположном направлении.

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

  Каста Посвященных тоже сопротивлялась, потому что чем больше оставалось непосвященных, тем большие доходы Каста имела. Посвященные в компьютерные  таинства выступали в роли всемогущих жрецов, они были посредниками между компьютерами и прочей, не разбирающейся, но нуждающейся в них (в компьютерах) публикой, и чем дремучее оставалась эта публика, тем выше заламывались цены за посредничество. Разумеется, все это делалось с плохо скрываемым презрением к профанам.

Гейтс хочет, чтобы при общении с компьютером не нужно было становиться посвященным. Чтобы было так: чем понятнее — тем лучше. Касте же нужно другое: лучше тогда, когда непонятнее. Чтобы профаны трепетали перед дебаггерами, краками и патчами и послушно раскрывали свои кошельки. Потому апологеты командной строки воспринимают всю деятельность Microsoft как сатанинскую.



Вот сравните, как выглядят экраны для «виндусов» и для командной строки:

Черный экран справа с одинокой строкой – это как мрак черного космоса с затерянной в его глубинах летящей куда-то ракетой, он внущает тревогу неопределенности, он внушает страх и чувство беспомощности, непонятно, куда, так сказать, бежать и что делать; а синенький экран с пиктограммами слева – как кусочек родной планеты, дающий опору и уверенность, что все будет хорошо. По крайней мере можно пощелкать мышкой на квадратики и посмотреть, что будет.

Люди хотят иметь дело с такой виртуальной реальностью, которая минимально отличается от реальности обычной. Билл Гейтс тоже хочет, чтобы купленную программу не нужно было «обслуживать», чтобы фирмы не разорялись на специально обученных учителей для «освоения» и «сопровождения» программного продукта. И это — стиль. Именно это — стиль. Который уверенно проложил себе дорогу к сердцам миллионов и миллионов пользователей, который позволяет им легче, удобнее и производительнее работать. Именно из этого стиля выросло умение нортоновских утилит самостоятельно обновляться через Интернет, даже не трудясь при этом сообщать пользователю, что они оттуда скачали, как и куда все это установили. То же самое теперь умеют делать и «винды» (в версии WIN 98).

Да, объемные (трехмерные) письменные столы с выдвигающимися ящиками на экране монитора требуют тьму вычислительной мощности. Да, возможность работы за компьютером всякого человека, а не только посвященного, оплачивается 90 процентами ресурсов, идущих на рисование картинок на экране. Да, программа без претензий на обслуживание и сопровождение ее со стороны обученных учителей, программа, с которой справился бы любой компьютерный незнайка, должна быть отлично сделана и отлажена, а для этого опять нужны силы, средства, время и деньги.

Но — ценность компьютера прямо пропорциональна его распространенности и доступности. Автомобиль уже научили требовать от своего владельца минимум знаний и навыков. С компьютерами будет происходить то же самое. Ведь никто же не расспрашивает прохожих на улице, как включать и пользоваться телевизором. Наступит время (оно уже наступает) – компьютер придет и к ВАМ!

Гейтс хочет, чтобы мы работали не с компьютером, а – компьютером, с документами посредством компьютера. Чтобы каждый, подошедший к компьютеру, даже если бы он его никогда не видел, сел бы — и начал работать. Чтобы с программой — в принципе с любой — справился бы даже ребенок! Вот он, высший класс программирования — сложнейший наворот, «пропущенный» через компьютер, становится доступен детям!

Именно этого хочет Гейтс.


Оцифрованный мир


Компьютер — это инструмент для обработки информации. Логика компьютера вытекает из реалий его мира, в котором он, так сказать, «живет». Стихия компьютера — однообразие. К сфере его «размышлений» принадлежат продукты машинного производства — большие серии однотипных объектов, различающихся лишь номерами. Компьютер отличит яйцо от курицы лишь по номеру, и не по какому другому признаку (цвет, запах, форма, здравый смысл наконец). Все это компьютеру недоступно в их естественном виде. Вот если мы сможем перевести цвет, запах, форму и здравый смысл в цифры (в числа), соответственно курица и яйцо у нас будут всего лишь разными последовательностями двоичных цифр, и вот тут уже компьютер вступает в свои права и моментально отличит одно от другого. Прежде чем «подсунуть» компьютеру информацию, ее надо предварительно оцифровать, представить в виде длиннющих и не очень цепочек чисел, причем эти числа будут составлены всего из двух элементов — 0 и 1 (есть ток – нет тока).

Мы живем в мире аналоговой информации. Мы ориентируемся в событиях и явлениях по их аналогиям, и соответственно строим приборы по аналоговому принципу. Компьютер же аналогии не приемлет, ему подавай все в цифрах (в двоичных). Вот несколько примеров аналоговой и соответствующей ей цифровой информации. Запись на виниловой (граммофонной) пластинке — это аналоговое представление звуковых колебаний. Звук (аудиоинформация) хранится на ней в виде микроскопических бугорков, расположенных в длинных спиральных канавках. Двигаясь по канавке, иголка звукоснимателя попадает на бугорки и вибрирует. Ее вибрация усиливается и звучит из динамиков как музыка. Если музыка звучит громче, значит бугорки глубже врезаются в канавку, если нота выше, — значит бугорки располагаются ближе друг к другу, теснее. Бугорки являются аналогами исходных колебаний — звуковых волн, улавливаемых микрофоном. Та же информация (музыка) в цифровом виде хранится на компакт-диске как микроскопическая впадинка на поверхности этого диска. Таких впадинок на диске более 5 миллиардов. Лазерный луч внутри проигрывателя компакт-дисков (цифрового устройства) проходит по каждой впадинке, а специальный датчик определяет состояние этой впадинки (0 или 1). Полученную информацию проигрыватель реконструирует в исходную музыку, генерируя определенные электрические сигналы, которые динамики преобразуют в звуковые волны.

Еще пример. Пусть имеется несколько осветительных приборов разной мощности (например, электрические лампочки). Мы говорим — сделай посветлее (потемнее) и включаем (гасим) в какой-то комбинации несколько ламп. Понятно, что на следующий день мы не сделаем точно такого же освещения, как накануне, а будем опять включать или гасить лампы «на глаз», ориентируясь на аналогию — на нашу память. А если придет другой человек, и мы начнем ему объяснять, как нужно включить или погасить лампы, чтобы освещение стало как в прошлый раз, то вероятность расхождения еще больше усиливается. Но можно эту информацию перевести в цифровую форму и тогда уже вероятность ошибки будет равна нулю. Как это сделать? Нужно перенумеровать все лампы и сказать так: включи первую, вторую, пятую и восьмую, то есть информация будет звучать так: 1-2-5-8, или, предварительно расположив (мысленно или на самом деле) лампы в ряд, условившись, что включенная лампа будет обозначаться как 1, а выключенная как 0, тот же ответ приобретет такой вид — 11001001. Вот это уже информация в цифровой (двоичной) форме, и любой человек в любой день, зная этот шифр, сделает освещение точно такое же, какое было вчера или сто лет назад. То есть цифровая информация не искажается в принципе. Пожелание, выраженное в цифровой форме, будет выполнено безошибочно и уровень освещения не будет зависеть от конкретных людей, как в аналоговом варианте. В аналоговом варианте точность воспроизведения освещения будет приблизительной, в цифровом варианте — абсолютной.

Аналоговыми устройствами являются обычные магнитофоны, фотоаппараты, видеокамеры, телефоны. Например, в случае с магнитофоном аналогом звука выступает намагниченность пленки. Даже телефоны с процессорами (кнопочные) представляют из себя аналоговые устройства, потому что посылают все-таки аналоговый сигнал, и удобства, идущие от чипа (запоминание номеров, дозвон, дисплей и другие), картины не меняют.

Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа называются двоичными. Каждый ноль или единица — это бит информации (от англ. binary digit — «двоичная цифра»). Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под цифровой информацией.

Таким образом, вычислительная машина (компьютер) имеет дело не с реальной действительностью, а с ее математическими моделями, которые строит человек, одаренный чувством числа.

Система перевода выглядит как создание числовых и формульных отображений реальных событий. Человек (математик и программист) реконструирует реальное событие, явление, факт в виде математических абстракций четкой формы, создает математический мир — как только возможно приближенный к реальному миру по своим параметрам, а затем передает свое творение в виде нулей и единиц компьютеру. Компьютер оживает. Человек как бы вдыхает душу в компьютер — в это безжизненное нагромождение железа, пластмассы и стекла[1].

0 или 1 — минимальная ячейка информации, есть ток — нет тока, да — нет. Всего два числа, доступных пониманию компьютера. Язык битов. Двоичный разряд. Двоичная система счисления[2].

Однако двух цифр мало для перевода на машинный язык событий и явлений реальной жизни. Из двух цифр (0 и 1) можно составить всего четыре комбинации: 00, 01, 11, 10. Этого мало. В одном лишь русском алфавите 33 буквы. Плюс к этому десять цифр десятичной системы счисления, которой пользуется человек, и другие необходимые символы. Что же делать?

Первый шаг к сближению языка битов и языка людей — объединение 8 бит в один байт. 8 бит в одном байте дают 256 (2 в восьмой степени) различных комбинаций нулей и единиц. Это как раз то оптимальное число, которое способно вместить в себя все буквы двух алфавитов (латинский и русский, прописные и строчные буквы), знаки препинания, цифры и другие символы. Каждой комбинации из 8 бит ставится в соответствие одна буква, цифра или другой символ, понятный человеку. Все это закреплено в международных соглашениях. Соответствие между набором букв и двоичными числами называется кодировкой символов. Заметим попутно, что в 1 килобайте количество байт вовсе не 1000, а 1024 (2 в десятой степени, это самое приближенное к тысяче число: 2 в девятой степени дает 512, а 2 в одиннадцатой —2048), умножение килобайта на килобайт дает 1 мегабайт, который содержит 1024х1024 байт (1048576, то есть 2 в двадцатой степени).

Но писать программы (инструкции) для компьютера на его родном языке — в машинных кодах (то есть в виде цепочек двоичных чисел) — дело крайне неблагодарное, трудоемкое и утомительное. Хотя первые программисты так и делали, но при кодировании алгоритма (последовательности команд) числами (цепочками из 0 и 1) часто допускались ошибки, а весь процесс написания программ был крайне медленным.

Важным и большим шагом вперед стало создание алгоритмических языков — языков программирования. Описание алгоритмов на таких языках допускает использование некоторых слов, букв, знаков «+» и «-» и так далее. При этом стало не требоваться вручную переводить программу в машинные команды — процесс перевода значков алгоритмического языка в машинные коды (в цепочки из 0 и 1) осуществляется автоматически самой ЭВМ при помощи написанной заранее программы — транслятора (translation — перевод, преобразование). Таким образом, транслятор — это специальная программа, которая производит преобразование записи алгоритма с языка программирования в последовательность машинных команд.

Откуда берутся трансляторы? — разумеется, их пишет сам человек. Вернее, очень много людей, большие коллективы (многотысячные) квалифицированных программистов в течение нескольких лет. Однако затем расходы на создание транслятора окупаются, так как он позволяет быстрее писать программы другим тысячам и сотням тысяч программистов — и прикладным, и системным. Объем транслятора составляет десятки тысяч машинных команд, но потом, после его создания, делается возможным писать программы на более очеловеченном языке — языке программирования, в результате повышается производительность труда и программистов и пользователей всех уровней. Одному человеку для создания среднего транслятора потребовалось бы примерно 500 лет.

Трансляторы бывают двух типов: компиляторы (переводят программу в машинные коды целиком) и интерпретаторы (переводят программу в машинные коды построчно). Например, транслятор встроенного языка 1С[3] является интерпретатором. Интерпретатор «читает» программу строка за строкой и параллельно переводит ее смысл (на машинный язык нулей и единиц). Компилятор же подобен профессиональному переводчику: сначала он основательно прорабатывает исходный текст и затем составляет его перевод на машинный язык. Ясно, что интерпретатор более мобилен (на профессиональный перевод по сравнению с простым прочтением уходит гораздо больше времени), а компилятор более эффективен (однажды переведенную книгу затем можно сколько угодно раз читать на своем родном языке).

Таким образом, достоинством компилятора является высокая скорость выполнения самих программ, недостатком — много времени уходит на компилирование (т.е. на перевод программ в машинные коды), что существенно для больших программ, используемых на больших ЭВМ. Достоинством интерпретатора является то, что выполнение программы идет параллельно с трансляцией, недостатком же является низкая скорость выполнения программ.

Повторим те же рассуждения еще раз другими словами. Итак, существует два принципиально различных метода трансляции. Один из них предполагает перевод сначала всей программы на машинный язык (в двоичные коды),а затем ее исполнение. Этот метод называется компиляцией, он весьма эффективен в том смысле, что перевод делается довольно быстро, машинную программу можно сохранить и пользоваться ею неоднократно. Компиляцию применяют таким образом в тех случаях, когда необходимо быстрое и неоднократное исполнение программы, что типично для задач математики, физики, химиии, астрономии, бухучета и т.п.

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

Первые трансляторы (с середины 50-х годов) требовали подробного описания всех производимых действий, когда каждая символическая команда транслируется в одну машинную команду и назывались автокодами (assembler). Сейчас эти языки применяются, когда необходимо учесть специфику данной ЭВМ, достичь максимального быстродействия и минимального размера программ, и называются языками низкого уровня. Одним из трансляторов, который преобразовывал математические формулы в машинные команды, был созданный в 1956 году в США транслятор, которому соответствовал язык программирования, названный FORTRAN (FORmula TRANslation), созданный в 1958 году под руководством Джона Бэкуса на фирме IBM.

Программа на языке FORTRAN состоит уже не из команд, соответствующих одной машинной команде, а из более крупных частей (операторов). Оператор — это либо математическая формула, написанная в соответствии с правилами алгоритмического языка, либо обозначение какого-либо действия машины.

Одним из наиболее распространенных языков программирования высокого уровня является Бейсик (BASIC — Beginners All-purpose Symbolic Instruction Code — символьный универсальный язык программирования для начинающих). Бейсик был изобретен в 1962 году Дж. Кемени и Т. Курц, сотрудниками Дартмутского колледжа, США, и в дальнейшем имел много модификаций. Например, реализованные фирмой Microsoft версии языка программирования Бейсик (семейство Microsoft BASIC): Quick Basic 4.5 и его сокращенный вариант Qbasic, который входит в состав дисковых операционных систем MS-DOS 5.0 и выше.

4] Компьютер, создателем которого был Эдвард Робертс, на свой страх и риск запустивший его в продажу, высылался по почте по смехотворной цене 397 долларов, по сравнению с ценами на большие выпускавшиеся тогда компьютеры (десятки тысяч долларов). Появление первого по- настоящему доступного широкой публике персонального компьютера было настоящей революцией – на смену немногим избранным людям, работавшим в машинных залах больших ЭВМ, пришла целая армия новых людей, с восторгом встретивших возникшую вместе с “Альтаиром” массовую концепцию развития вычислительной техники. Общественный успех был ошеломляющим, неправдоподобным, фантастическим.[5]

Однако Аллен и Гейтс не видели живьем и не держали в руках ни самого компьютера, ни процессора к нему. Они лишь увидели в январском номере журнала Popular Electronics за 1975 год его (компьютера) описание. У него было 16 адресных переключателей и 16 же световых индикаторов. Можно было заставить индикаторы перемигиваться на передней панели, и не более того, ибо тогда еще отсутствовало какое-либо программное обеспечение к этому компьютеру. Без программ он был бесполезной штукой. Но зато в компьютере был тот самый микропроцессорный чип Intel 8080, и надо было «всего лишь» обучить его (чип) какому-либо языку программирования. У друзей была документация на микропроцессор, которую им по их просьбе ранее прислали из Intel, и которую они и принялись изучать досконально. Первый проект, таким образом, стал для них заключаться в создании версии Бейсика для «Альтаира». Написав программу, заставлявшую мейнфрейм – большой компьютер в Гарварде (где учился Гейтс) “строить” из себя крошечный “Альтаир” (так называемая виртуальная машина[6]), друзья создали для него интерпретатор Бейсика. Выполнение этой задачи означало рождение всемирно известной Microsoft — первой в мире компании, взявшейся разрабатывать программы для микрокомпьютеров.

У типичного «Альтаира» память примерно на 4 тысячи символов. Это очень и очень мало ( у большинства современных ПК – не менее чем на 8 миллионов символов), но в эту крошечную память нужно было очень и очень многое втиснуть. Этим определялась сложность задачи.

И вообще-то написание хорошей программы требует больших усилий, а создание версии Бейсика для «Альтаира» оказалось делом просто изнурительным. Как пишет Гейтс в своей книге «Дорога в будущее», в тот период они с Полом мало спали, ни с кем не виделись, иногда ничего не ели и путали день с ночью. Когда их сваливал сон, они засыпали за столом или на полу, Но спустя пять недель они написали свой Бейсик.

С реализации этого проекта началась жизнь языка Бейсик как полноправного языка программирования. Сегодня нет проще и доступнее языка, и вообще вошло в традицию включать интерпретатор языка Бейсик в минимальный комплект поставки программного обеспечения компьютера. Вдобавок, QuickBasic, например, очень привлекателен своей средой программирования[7]. Тут фирма Microsoft потрудилась на славу! Одна из удач — использование своеобразного режима работы. Для быстрой работы в среде (quick — “быстрый”) используется режим интерпретатора, а для окончательного перевода отлаженных программ на машинный язык используется компилятор. Из Qbasic компилятор исключен.

Билл Гейтс и Пол Аллен оказались в нужное время на нужном месте. Впрочем, Гейтс всегда был трудоголиком. Начав с нуля (первая компания, которую он основал — Traf-O-Data, так назывался прибор для подсчета количества транспорта на улицах — была организована на 900 долларов), он всегда предпочитал вкладывать деньги в собственные проекты, в развитие, а не в развлечения.

В 1975 году компания Microsoft состояла из двух сотрудников — самого Билла Гейтса и его друга Пола Аллена; сейчас в компании трудится порядка 30 000 человек, причем очень много программистов из России. Один лишь центральный офис компании занимает 45 зданий!

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

Следующим распространенным языком программирования высокого уровня является PASCAL, изобретатель которого Никлаус Вирт назвал его так в честь французского таланта Блеза Паскаля. Язык Паскаль первоначально был создан для обучения студентов программированию. По сравнению с “расхлябанным” Бейсиком Паскаль был более строгим и стройным. В дальнейшем Паскаль преобразовался в систему программирования DELPHI [8].

Алгоритмический язык С (“си”) был разработан Деннисом Ритчи в лаборатории Bell в начале 70-х годов, США, на основе более раннего языка B («би»). Дальнейшим развитием С стал объектно-ориентированный язык С++, разработанный Бьерном Страуструпом. Объектно-ориентированный означает, что программа представляется как совокупность объектов, которые обладают поведением, могут производить некоторые действия и объединяться друг с другом. То есть проблема, которую надо запрограммировать на компьютере, разбивается на отдельные части (объекты), каждый из которых затем реализуется (программируется) отдельно.

Есть и другие языки программирования — COBOL (1960г.,экономика, бизнес), Ada (назван так в честь Ады Лавлейс — первой женщины, написавшей программу для вычислительной машины), PL/1, APL (язык мейнфреймов — больших компьютеров, вобрал в себя многие черты Алгола, Кобола и Фортрана), Фокал (усеченный Бейсик для инженерных расчетов), Кларион (бухгалтерия), Клиппер (СУБД — системы управления базами данных), Пролог (логическое программирование), SQL (язык для работы с базами данных, в том числе с серверными базами данных),[9] Лисп (создание искусственного интеллекта, списки),[10] Java (С++ для Интернета). Есть и другие языки: Алгол (1959г., устаревший язык), Modula, Альфа, Logo, Smalltalk и другие. Например, встроенный язык 1С создан на основе Паскаля, Бейсика, С++ и SQL , причем кодовые слова и операторы пишутся на русском языке, и для него разработан собственный транслятор (интерпретатор). Всего насчитывается несколько сотен языков программирования.

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

[1] Конечно, на физическом уровне в памяти компьютера не существует никаких двоичных чисел, а только электрические элементы, которые могут находиться либо в возбужденном, либо в невозбужденном состоянии. Однако при программировании удобно не учитывать этот факт, а представлять себе, что в компьютере действительно фигурируют единицы и нули.

[2] Двоичная система при переводе больших десятичных чисел в двоичные дает очень длинные ряды цифр. И тогда была придумана 16-тиричная система счисления: число в двоичной системе разбивается на тетрады — по четыре двоичных знака в каждой. Каждая тетрада дает 2 в четвертой степени = 16 комбинаций. Каждой из этих шестнадцати комбинаций ставится в соответствие одна десятичная цифра от 0 до 9, таким образом обозначаются первые десять шестнадцатиричных цифр, а оставшиеся шесть шестнадцатиричных цифр обозначаются первыми шестью буквами латинского алфавита. Например, десятичное число 396 в двоичной системе обозначается как 110001100, а в шестнадцатиричной системе как 18С.

[3] Фирма 1С основана в 1991 году братьями Сергеем и Борисом Нуралиевыми (на снимках).

[4] Корпорация INTEL была основана в середине июня 1968 года Робертом Нойсом и Гордоном Муром, затем сразу к ним присоединился нынешний председатель совета директоров Эндрю Гроув, а в 1974 году в корпорацию пришел ее будущий президент и главный управляющий Крейг Барретт, и уже с тех пор Intel превратилась в крупнейшего в мире производителя микропроцессоров с числом сотрудников свыше 64 тысяч и годовым доходом на конец 1997 года свыше 25 миллиардов долларов.

[5] В 1981 году фирма IBM выпустила свою модель ПК – IBM PC, ставшую, в сочетании с программным обеспечением от Microsoft, эталоном, стандартом для всего парка персональных компьютеров современного мира.

[6] Виртуальной машиной называют некую программу-транслятор, использующую все ресурсы окружающей среды-метрополии, но позволяющую выполнять программы, чужеродные этой среде. То есть пишется программа, которая в чужой среде программирования и аппаратных средств подчиняется своим командам управления, своим операторам и своим синтаксическим правилам. Таким образом Пол и Билл заставили большой компьютер сымитировать из себя маленького — того самого «Альтаира».

[7] Среда программирования, или интерфейс, — это удобства, необходимые для написания программ и заключающиеся в наличии программы обработки текста — текстового процессора — для ввода программ и их исправления, затем в возможности запуска готовых программ для их отладки (устранения ошибок).

[8] Система программирования включает в себя среду программирования — текстовый процессор + транслятор + библиотеки функций и объектов.

[9] Сервером («serve» – служить, работать на кого-либо, оказать услугу, подходить, годиться) является мощный сетевой компьютер, центр сети, хранилище данных, своего рода приемо-распределительный центр, оптовая база информации. Сервером может быть и совершенно обычный компьютер – при отсутствии денег на настоящий. Вообще язык SQL — специфический язык, он используется в связке с каким-либо другим языком программирования.

[10] Списками являются совокупности элементов, с которыми можно производить действия (сортировка и т.д.). В свое время существовала гипотеза, что мозг человека работает именно со списками — с перечисленным множеством образов, слов, понятий. И если бы удалось сделать кучу процедур для работы с этими списками, то удалось бы на каком-то этапе приблизиться к уровню сложности человеческого мозга. Сведя работу мозга к набору команд процессора, удалось бы создать таким образом искусственный мозг.

<< Предыдущая глава | Содержание раздела

и не подробное описание программ


Эта брошюра — не техническое руководство и не подробное описание программ для компьютера. Эта брошюра – своего рода дайджест, выжимка из книг, газет, журналов и личного опыта, определенным образом обработанная. Весь тот конкретный материал, что здесь есть, взят из известных книг и журналов и работает на одну, вполне определенную цель.
Цель этой брошюры —попытаться утвердить Идею компьютера. Попытаться настроить на восприятие компьютера. Подготовить для этого «почву» в голове. А уже потом «удобренная» таким образом голова сможет постичь (из других книг и от других людей) все технические тонкости. Если захочет.
ХХI век будет веком информационных технологий. Не останется предприятий, не приобщившихся к этим технологиям, не овладевших ими. Таким предприятиям, не внедрившим компьютерный стиль жизни, попросту не достанется никакой оплаченной работы — всю работу расхватают на дальних подступах, в информационно-компьютерных сетях, в Интернете, на электронных биржах. Некомпьютеризованное предприятие утонет во всевозможных отчетах, в налогах, в огромных управленческих расходах. Некомпьютеризованная страна будет отрезана от мирового разделения труда и погрузится в примитивизм натурального хозяйства, помимо того, что всегда сможет стать легкой добычей компьютеризированного оружия агрессивных государств.
Как любая техника, компьютеры ломаются, зависают, сбоят. Данные пропадают, стираются. Программы отказываются работать. Ну и что? Слишком велико облегчение труда, создаваемое компьютерами, чтобы из-за этих неприятностей от них отказаться. Слишком уж велико..
Эта брошюра предназначена тем, кто только-только ступил на великую дорогу постижения компьютера, для которых он пока абсолютный темный лес. Эта брошюра призвана вселить в таких людей крепость духа и заставить оценить титанический труд бесчисленных поколений фанатиков науки.
Следующая глава >>

Список использованной литературы


Билл Гейтс «Дорога в будущее» 1996

В.Э. Фигурнов «IBM PC для пользователя», изд.5,6,7 

А.И. Салтыков, Г.Л. Семашко «Программирование для всех»,1986

Стефан Р. Дэвис «С++ для чайников» 1996

Ж-л «Компьютерра» 1998-99

Ж-л «Домашний компьютер»

Ж-л «Computer week» Москва 1997

Газеты «Сегодня», «МК» 1998-99

В.Ф.Очков, М.А.Рахаев Этюды на языках Qbasic, QuickBasic, Basic Compiler

С.Х. Карпенков, Концепции современного естествознания, 1997

Англо-Русский словарь, Москва 1992, “Русский язык”

Е.В.Алтухов,Л.А.Рыбалко,В.С.Савченко

Основы информатики и вычислительной техники,1992

[1] Сейчас в мире насчитывается 2 миллиарда персональных компьютеров, 90% из них работает с ПО от Microsoft.

[2] По подсчетам английской газеты Daily Telegraph, личное состояние Билла Гейтса в 1999 году превысило 100 млрд. долларов, и к 2004 году должно составить 1 трлн. долларов, и к 2005 году, например, по доходам он сможет обогнать Великобританию. Уже сейчас его состояние превышает ВНП Сингапура и Израиля, вместе взятых. Кстати, доходная часть российского бюджета в 1999 году составляет 20 млрд. долларов (меньше, чем у некоторых штатов США). По подсчетам же влиятельного американского журнала «Форбс», публикующего списки двухсот самых богатых людей планеты, капитал Билла Гейтса в 1999 году оценивается в 90 миллиардов долларов (в 1998 году – 51 млрд.долл.). Увеличение его личного состояния произошло за счет роста курса акций на мировых рынках и за счет бурного роста сети Интернет. При этом Гейтс и его жена Мелинда обещают истратить 95% своего состояния на благотворительные цели.

[3] Кстати, в Xerox PARC изобрели и мышку. Сотрудники этого центра, рассматривая принципы общения человека с компьютером, сделали такое открытие: оказывается, компьютером легче управлять, если есть возможность выбирать свои действия, указывая что-то на экране и видя соответствующие картинки. Они использовали устройство, которое назвали мышью — его можно было перемещать по поверхности стола и тем самым передвигать указатель по экрану. Далее нужна всего лишь соответствующая программа (драйвер мыши), чтобы указанные на экране места реагировали должным образом. Однако сама компания Xerox эту идею с мышкой не реализовала в коммерческом плане, так как ее компьютеры были слишком дороги и в них применялись нестандартные микропроцессоры. Вообще, компания Xerox у нас больше известна по аппарату «ксерокс» (сочетание сканера и принтера), размножающего документы на основе процесса ксерографии, который был изобретен Честером Карлсоном в 1940 году, а он уже сумел в 1959 году заинтересовать своим изобретением фирму, впоследствии известную как Xerox. Она принялась выпускать ксерокопировальные аппараты, да так успешно, что в первый же год продала их 200 000 штук.

[4] Программы распознавания речи становятся все более совершенными — программы фирмы DRAGON Dictates, США, российская программа «Горыныч» и другие.

<< Предыдущая глава | Содержание раздела