На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

ТЕХНОЛОГИЯ ХАКИНГА

ЯЗЫКИ ПРОГРАММИРОВАНИЯ


Как основой самогона являются сахар и дрожжи, основой пива — солод и хмель, так же и основой хакерства является знание языков программирования.
Unix
Год рождения ARPANET был также годом, когда хакер из «Bell Labs» по имени Кен Томпсон (Ken Thompson) изобрел Unix.
Томпсон был вовлечен в работу по разработке операционной си­стемы с разделением времени, называемой Multics. Идея состояла в том, чтобы сделать использование Multics (и программирование для нее) намного более простым, чтобы увеличить производительность ра­боты. Начальство тянуло проект даже когда у Multics появились при­знаки раздувания в непригодного к использованию белого слона (поз­же система была выставлена на продажу, но так никогда и не пользо­валась успехом). Томпсон отказался от среды Multics и начал обыгры­вать смесь идей Multics'a со своими собственными на замусоренном DEC PDP-7.
С
Другой хакер по имени Деннис Рлчи (Dennis Ritchie) придумал новый язык, названный «С», для использования под эмбриональным Unix'oM Томпсона. Подобно Unix, С был разработан, чтобы быть при­ятным, естественным и гибким. Интерес к этим инструментам рас­пространился в Bell Labs, и они получили популярность в 1971 году, когда Thompson и Ritchie выиграли предложение сделать то, что мы теперь называем системой автоматизации делопроизводства для внут­реннего использования в лабораториях. Но парни имели виды на больший успех.
Традиционно операционные системы писались на ассемблере,
чтобы извлечь максимально возможную эффективность (КПД) из хост-машин. Томпсон и Ричи были среди первых, кто понял, что аппа­ратные средства и технология компилирования стали достаточно хо-
роши, чтобы операционная система полностью могла быть написана на ик 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.


Система программирования на Java позволяет компилировать программы для компьютерной платформы, на которой она стоит в том же ключе, как и любая другая, например, С или C++. В этом случае основным отличием Java-программ, которые называются Java-applica­tions, является использование библиотеки 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 и язык програм­мирования Си. По признанию самого автора языка, Си++ никогда не
разрабатывался на бумаге. Проектирование, реализация и документи­рование новых возможностей происходили фактически одновремен­но. Единственной целью разработки было создание языка, на котором
было бы удобно программировать автору и его друзьям. За основу был взят популярный в среде профессиональных разработчиков язык программирования Си. Первыми средствами, которыми был расши­рен Си, стали средства поддержки абстракций данных и объектно-ори­ентированного программирования. Как это принято в AT&T, описание нового языка не было опубликовано сразу. Первыми его пользователя­ми стали сами сотрудники Bell Labs.
Форт
Язык программирования Форт был разработан Чарльзом Му­ром. Первоначально язык назывался FOURTH, однако на ЭВМ, на ко­торой он работал, символьные имена могли иметь только пять букв. Так язык стал называться FORTH. Несмотря на конкуренцию других языков программирования, в частности языка Си, Форт мало-помалу стал завоевывать популярность, особенно при решении задач управле­ния сложными объектами в реальном времени. Характерные черты языка Форт:
стек — единственная структура данных;
основной тип данных — целый;
простой синтаксис и компактная запись;
малая потребность в ресурсах;
быстрая интерпретация на основе машинного кода;
отсутствие контроля за переменными.
Язык Форт использовался для математического обеспечения ко­рабля многоразового использования типа Шаттл, спутников Земли,
для разработки телеигр, при создании мультфильмов Stars Wars и т.д.
В 1976 году Комитет международного астрономического союза при­нял Форт в качестве стандартного языка программирования. Позднее Форт применялся для создания экспертных систем, систем искусст­венного зрения, автоматизации анализа крови и кардиологического контроля.
Perl
Когда встает вопрос о создании приложений системного уровня, в частности сценариев Web-серверов, на первый план выходит язык программирования Perl — прежде всего, благодаря своей проверенно-сти и богатству возможностей. Perl (Practical Extraction and Reporting
Language, или, как иногда расшифровывают это название создатель
Perl и другие его фанатичные приверженцы, — Pathologically Eclectic Rubbish Lister) является одним из наиболее мощных и популярных языков программирования.

История Perl началась в 1987 году, когда человек по имени Лар-ри Уолл занялся разработкой языка, необходимого ему для решения проблем системного программирования, с которыми он сталкивался как администратор Unix-систем. Несмотря на такое скромное начало, Perl вырос в полнофункциональный сложный язык. Он привлекате­лен тем, что заполняет разрыв между методами программирования ко­мандного процессора Unix и С-приложениями, обладая простотой первых и функциональностью последних.
Уолл характеризует его так: «Perl — это интерпретируемый язык, оптимизированный для сканирования произвольных текстовых фай­лов, извлечения информации из этих файлов и печати отчетов на ос­нове этой информации. С его помощью также можно решать многие задачи системного управления. При разработке этого языка целью бы­ла не столько красота (небольшой объем, элегантность и оптималь­ность), сколько практичность (простота в использовании, эффектив­ность и Уолл указывает также, что синтаксис выражений Perl находится в полном соответствии с синтаксисом выражений язы­ка С; Perl не ограничивает произвольно объем ваших данных — «если вы располагаете памятью, Perl может загрузить в нее весь ваш файл
как одну строку»; рекурсия может быть неограниченной глубины, а,
кроме того, язык применяет изощренные методы сопоставления с об­разцом для быстрого сканирования больших объемов данных.
Оберон
Язык Оберон был создан в 1987 году Никлаусом Виртом, про­фессором Института компьютерных систем Федерального техничес­кого университета (ЕТН, Цюрих, Швейцария), автором языков Пас­каль и Модула-2. Язык носит имя спутника планеты Уран.
Оберон отличается от отсутствием многих необяза-
тельных конструкций; добавлены же в язык средства объектно-ориен­тированного программирования     расширяемые записи. Оберон -
это самый простой универсальный язык. При этом, продолжая тради­цию Паскаля и Модулы-2, он обеспечивает строгий контроль на этапе
трансляции, способствуя созданию надежных программ,
Оберон-2
В 1992 году были приняты расширения языка Оберон, предло­женные Ханспетером Мёссенбёком. Расширенный язык получил название Оберон-2. Основное нововведение — связанные с типами
процедуры. Сейчас Оберон-2 является фактическим стандартом язы­ка.
Летом 1993 года в лондонском пригороде Кройдон в отеле «Oakwood» состоялась конференция разработчиков Оберон-компиля-торов и программистов, на которой были согласованы требования к составу библиотечных модулей, сопровождающих реализации Оборо­на. Принятый документ известен под названием «Oakwood guidelines* («Дубовые требования»).

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика