Раздел: Документация
0 ... 6 7 8 9 10 11 12 ... 169 ЯЗЫКИ ПРОГРАММИРОВАНИЯ Как основой самогона являются сахар и дрожжи, основой пива — солод и хмель, так же и основой хакерства является знание языков программирования. Unix Год рождения ARPANET был также годом, когда хакер из «Bell Labs» по имени Кен Томпсон (Ken Thompson) изобрел Unix. Томпсон был вовлечен в работу по разработке операционной системы с разделением времени, называемой МЫ tics. Идея состояла в том, чтобы сделать использование Multics (и программирование для нее) намного более простым, чтобы увеличить производительность работы. Начальство тянуло проект даже когда у Multics появились признаки раздувания в непригодного к использованию белого слона (позже система была выставлена на продажу, но так никогда и не пользовалась успехом). Томпсон отказался от среды Multics и начал обыгрывать смесь идей Multicsa со своими собственными на замусоренном DEC PDP-7. С Другой хакер по имени Деннис (Dennis Ritchie) придумал новый язык, названный «С», для использования под эмбриональным UnixoM Томпсона. Подобно Unix, С был разработан, чтобы быть приятным, естественным и гибким. Интерес к этим инструментам распространился в Bell Labs, и они получили популярность в 1971 году, когда Thompson и Ritchie выиграли предложение сделать то, что мы теперь называем системой автоматизации делопроизводства для внутреннего использования в лабораториях. Но парни имели виды на больший успех. Традиционно операционные системы писались на ассемблере, чтобы извлечь максимально возможную эффективность (КПД) из хост-машин. Томпсон и Ричи были среди первых, кто понял, что аппаратные средства и технология компилирования стали достаточно хо- 29 роши, чтобы операционная система полностью могла быть написана на ик 1974 году среда целиком была успешно перенесена на несколько машин различных типов. Такого раньше никогда не было и результаты были впечатляющими. Раз Unix мог представлять одинаковый интерфейс, одинаковые возможности на машинах многих различных типов, то он мог служить и средой стандартного программного обеспечения для всех них. Пользователям не надо было больше платить за разработку нового программного обеспечения, всякий раз, когда машины устаревали. Хакеры могли переносить программные инструменты между различными машинами, вместо того, чтобы каждый раз заново изобретать велосипед. Помимо переносимости, Unix и С имели еще одну важную силу. Они были сконструированы как философия «для самых тупых». Программист мог легко удерживатьлогическую структуру С в своей голове (в отличие от большинства других языков) вместо того, чтобы постоянно обращаться к справочникам; и Unix был структурирован как гибкий инструментарий простых программ, разработанных для комбинирования друг с другом в необходимых направлениях. Java Начало 1996 года ознаменовано появлениемязыка программирования Java. На домашней странице WWW Consortium Java была внесена в список так называемых Мобильных Кодов — одного из перспективных направлений развития технологии World Wide Web. И вот в конце 1996 года на Западе начался бум Java, который к моменту проведения выставкидокатился и до нашей страны. Согласно истории технология Java (Кофе) родилась из Oak (Дуб), основной целью которого была разработка объектно-ориентированныхописания и коммуникации различного рода электронных устройств. Из-за неудачи этого проекта в 1994 году опыт, накопленный в рамках его реализации, было решено применить к продуктам, ориентированным на применение в Internet. С апреля 1995 года по сети свободно распространяется— интерфейс просмотра страниц World Wide Web для платформ Sun. Буквально через месяц Netscape Communication — законодатель моды в разработке программ-интерфейсов Internet — покупает лицензию на Java . В настоящее время Hotjava реализована не только для SunOS Solaris, но и для многих других ишхшлатформ и Windows NT. Кроме Hotjava, мобильный код Java может интерпретироваться и второй версией программы Netscape Navigator для всех систем, кроме Windows 3.x. 30 Система программирования на Java позволяет компилировать программы для компьютерной платформы, на которой она стоит в том же ключе, как и любая другая, например, С или C++. В этом случае основным отличием Java-программ, которые называются Java-applications, является использование библиотеки Java-классов, которые обеспечивают разработку безопасных, распределенных систем. При этом утверждается, что язык позволяет делать гораздо меньше ошибок при разработке программ. Главным при этом является тот факт, что в Java напрочь отсутствует адресная арифметика. Гораздо более интересным является разработка мобильных Java байт-кодов, которые в терминах Java-технологии называются applets. Модула-2 Язык программирования Модула-2 был создан Н. Виртом в 1979 году и впервые реализован на мини-ЭВМ PDP-11. В 70-х гг. Паскаль получил широкое признание у пользователей ЭВМ и преподавателей, однако первоначально он был разработан для обучения программированию и имел множество недостатков как язык разработки програмно- го обеспечения. В Модуле-2 эти недостатки были устранены, но при этом сохранены логическая структура и характерные черты его предшественника. Кроме того, в Модуле-2 были введены новые мощные языковые средства. В мае 1986 года в ВЦ СОАН СССР состоялся первый Всесоюзный семинар по Модуле-2 и инструментальным системам на его основе. Язык программирования Модула-2 относится к машинонезави-симым языкам. Н. Вирт применил Модулу-2 в написании полной операционной системы для мини-ЭВМ Lilith. Характерной чертой Моду-лы-2 является раздельная компиляция, позволяющая разрабатывать и хранить в библиотеках программы, которые можно использовать повторно. Си++ Первые версии языка программирования Си++ (тогда он назывался «Си с классами») были разработаны в начале 80-х годов Бьяр- ном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны операционная система UNIX и язык программирования Си. По признанию самого автора языка, Си++ никогда не разрабатывался на бумаге. Проектирование, реализация и документирование новых возможностей происходили фактически одновременно. Единственной целью разработки было создание языка, на котором 31 0 ... 6 7 8 9 10 11 12 ... 169
|