КОМПЬЮТЕРНЫЕ ЯЗЫКИ

 

 

 

 

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

Термин компьютерный язык (computer language), часто отождествляют с термином язык программирования, однако это соответствие не является взаимооднозначным.

Людвиг Витгенштейн (Ludwig Josef Johann Wittgenstein, 1889—1951, австро-английский философ, ярчайший мыслитель XX века): Границы моего мира определяются границами моего языка.

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

 

 

США:  программирование с 5 лет?

 

17.12.2013

На рассмотрение Конгресса США представлен законопроект под названием 416d65726963612043616e20436f646520 (это  фраза America Can Code (Америка может программировать) в шестнадцатеричном коде).

Законопроект предлагает рассматривать компьютерные языки программирования в качестве иностранных языков и  ввести их изучение в школах с Kindergarten — начального класса школы, в который дети в США идут в возрасте 5-6 лет.

К 2020 году в США будет на 1 400 000 вакансий программистов 400 000 выпускников вузов по этой специальности.

 

 

 

Гласные - вон?

 

Интернет - пока ещё относительно свободное сообщество.

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

Выход был найден - теперь модераторы просто выкидывают из ругательств гласные. Например, вот так: fck btch.

 

 

 

Типы компьютерных языков

 

  • Языки программирования (C++, C#, PHP, Ruby и др.)

  • Информационные языки (SQL, UNL, языки поисковых запросов)

  • Языки описания данных (SDL, TeX, HTML, XML, CCS и др.)

  • Языки описания аппаратуры ( VHDL, Verilog и др.)

  • Протоколы взаимодействия (TCP, IP, FTP, HTTP и др.)

  • Языки персонажей компьютерных игр?

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

Языки программирования (programming language) определяют обмен командами и данными между программистами и компьютерами. О них отдельный разговор.

 

 

 

Информационные языки

 

Информационные языки (information language, IL) — специализированные искусственные языки, используемые в  системах обработки информации, обеспечивающие однозначную запись информации, её последующее распознавание с определённой полнотой и точностью и формализацию логического вывода.

  • информационно-логические языки баз данных (пример: SQL).

  • семантико-синтаксические языки (пример: UNL).

  • информационно-поисковые языки выражения смыслового содержания информационных запросов с целью реализации информационного поиска (пример: язык обращений к поисковой системе Yandex).

 

 

 

 

Structured Query Language

 

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

SQL основан на реляционной алгебре и делится на три части:

  • операторы определения данных
    (Data Definition Language, DDL)

  • операторы манипуляции данными
    (Data Manipulation Language, DML)

  • операторы доступа к данным
    (Data Control Language, DCL).

SQL стандартизован, но имеет нестандартные варианты (диалекты), преодолевающие ограничения стандартного SQL.

Самые известные диалекты SQL:

  • PL/SQL, используемый в СУБД Oracle;

  • Transact-SQL, используемый в Microsoft SQL Server.

 

 

 

 

 

Universal Networking Language

 

 

UNL (Universal Networking Language, универсальный сетевой язык) -  универсальный семантико-синтаксический язык описания, хранения и распространения информации в Сети, в не зависящем от естественного языка виде.

Японский проект UNL возник в связи с потребностью перевода документов при пересылке в Интернете.

Разрабатывается  под эгидой Института передовых исследований токийского университета ООН (UNU/IAS).

UNL имеет свой словарь (лексикон) - UW ( universal word - универсальное слово), который содержит сведения о единицах языка UNL (концептуальных элементах, UW).

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

UNL-система состоит из трех модулей: конвертера (enconverter), деконвертера (deconverter) и просмотрщика (UNL viewer). Первый осуществляет анализ и преобразование входного текста в текст на UNL.

Деконвертор синтезирует из входного UNL-представления (любого документа на языке UNL) текст на необходимом естественном языке.

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

 

3-6.12.2008 Состоялся 3 международный форум по вопросам управления Интернетом (Internet Governance Forum, IGF). В центре обсуждения — проблема привлечения следующего миллиарда пользователей.

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

Аджит Балакришнан (президент портала Rediff.com): Спрос на содержание и инструменты на местных языках не высок. Для Индии языком высшего образования является главным образом английский. IGF должна сосредоточиться на системах речевого ввода текста, на технологиях распознавания речи, потому что это будущее Интернета.

 

 

 

 

Языки  запросов

 

 

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

Синтаксис оператора Назначение оператора Пример запроса

$title (запрос)

Поиск текста в заголовке страниц (title)

mime="тип_файла"

Ограничивает поиск определенным типом файла:

  • HTML,

  • PDF,

  • DOC (Microsoft Word),

  • SWF (Macromedia Flash).

lang="язык"

Отбирает для поиска страницы, написанные на определенном языке:

  • белорусском (be),

  • английском (en),

  • французском (fr),

  • немецком (de).

date="ГГГГ{*|ММ{*|ДД}}"

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

 

 

 

 Языки описания данных

 

Языки описания данных - высокоуровневые непроцедурные языки декларативного типа, предназначенные для описания физической и/или логической структуры данных.

Среди языков представления данных можно выделить:

  • Языки спецификаций — предназначенные для проведения системного анализа, анализа требований и разработки архитектуры создаваемых программно-аппаратных систем.

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

 

SDL (Specification and Description Language, язык спецификаций и описаний) универсальный язык спецификаций, используется для моделирования поведения реагирующих и распределенных систем, чье поведение определяется событиями реального времени.

SDL создан для телекоммуникационных систем, а в настоящее время широко применяется в различных сферах от авиации и управления поездами до медицинских и упаковочных систем.

SDL обеспечивает воспроизведение в графической форме моделей на основе процессов связи и объектно-ориентированное описание компонентов.

Для современных телекоммуникационных архитектур распространены также следующие языки спецификаций: ASN.1 (Abstract Syntax Notation One),  TTCN (Tree and Tabular Combined Notation), IDL (Interface Definition Language), ODL (Object Definition Language).

 

 

 

Языки разметки

 

Языки разметки (Markup Language) обеспечивают структурирование и форматирование данных для вывода.

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

Логическая разметка определяет роль фрагмента документа в его общей структуре (например, «данная строка является заголовком»).

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

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

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

 

 

 

TеΧ

 

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

Система  TeX являетсяся стандартом международных научных публикаций. ТеХ применяется и в исходных текстах Википедии для набора математических формул.

Язык TeX реализован в виде  ASCII-файлов, содержащих информацию о форматировании текста или выводе изображений.

 

 

 

Hypertext Markup Language

 

HTML  (Hypertext Markup Language) - язык разметки гипертекста применяемого для создания страниц WWW.

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

HTML создал Тим Бернерс-Ли (Tim Berners-Lee).

В начале 2008 года опубликован черновой вариант пятой версии HTML. 

HTML 5 позволяет рисовать  средствами языка двухмерные изображения, эффективнее вставлять на страницы аудио- и видеоклипы, хранить данные на стороне клиента. Из новой версии языка предлагается убрать около 15 тегов.

Предыдущая версия языка, HTML 4, вышла десять лет назад, в декабре 1997 года. Работа над HTML 5 ведется с марта 2007 года.

11.08.2009 Корпорация Microsoft заинтересовалась разработкой разметки HTML 5. В Internet Explorer 8 HTML 5 почти не поддерживался. Частичная поддержка HTML 5 уже есть в таких браузерах, как Apple Safari, Google Chrome, Mozilla Firefox и Opera.

 

 

 

Cascading Style Sheets

 

здесь

 

 

 

 

Extensible Markup Language

 

XML  (Extensible Markup Language) - расширяемый язык разметки гипертекста.

XML - это метаязык , позволяющий создавать языки разметки документов World Wide Web, учитывающие специфику заданной предметной области (например: MathML, XLink, SMIL, XSL).

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

XML-документ состоит из собственно документа и определения используемого языка, задаваемого с помощью шаблонов DTD (Document Type Definition, определение типа документа).

Всё будет XML!

 

 

 

Языки Semantic Web

 

В 2002 году Тим Бернерс-Ли представил  концепцию Semantic Webинтеллектуальной информационной сети, которая являлется языковой и программного-технологической надстройкой над Интернетом.

Одной из главных целей языков Semantic Web является предоставление данных в одинаково распознаваемом виде для машин и человека.

В Semantic Web сами программы будут заказывать билеты на авиарейсы и бронировать места в отелях, вносить новые записи в истории болезни и давать однозначные ответы на запросы, избавляя нас от самостоятельного анализа результаты поиска.

Semantic Web  использует:

  • Resource Description Framework (RDF, общий язык представления данных) - именует каждый блок данных и каждую взаимосвязь между ними таким образом, что компьютерные программы могут автоматически обмениваться информацией.  понятный всем видам программных агентов. Для имен и связей используется URI (Universal Resource Identifier, универсальный идентификатор ресурса ). URL - являются частными формами URI.

  • Web Ontology Language (OWL, язык определения онтологий) - набор опеределний и операторов для перевода данных с различной структурой в общие RDF-термины;

  • Машины логического вывода - программы исследующие онтологии и находящие новые связи между содержащимися в них терминами и данными, которые позволяют программным агентам «осмысливать» информацию, описанную в этих терминах.

Для Семантической сети уже созданы приложения — от мобильной службы Vodafone Live! до систем раннего обнаружения эпидемий гриппа. Новые продукты IBM, Adobe, Hewlett-Packard, Nokia, Oracle  уже поддерживают язык RDF.

Веб-консорциум разрабатывает и другие технологии Semantic Web:

  • язык запросов SPARQL, позволяющий приложениям искать конкретную информацию в RDF-данных,

  • технология GRDDL, дающий возможность пользователям публиковать данные в тех форматах, которыми они пользуются, например HTML или XML, и определять способы перевода этих данных в RDF.

Всё будет RDF?

 

 

 

 

Языки описания аппаратуры

 

VHDL (Very high speed integrated circuits Hardware Description Language) — язык описания аппаратуры высокоскоростных интегральных схем.

VHDL является базовым языком проектирования и разработки аппаратуры современных вычислительных систем.

VHDL разработан в 1983 г. с целью формального описания логических схем для всех этапов разработки электронных устройств (от модулей микросхем до крупных вычислительных систем).

 

 

 

Протоколы взаимодействия

 

 

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

 

TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/межсетевой протокол) - платформонезависимый набор протоколов для коммуникации в глобальных  и локальных вычислительных сетях. Состоит из трех базовых наборов протоколов: IP (сервис нижнего уровня), TCP (передача данных).

IP (Internet Protocol)  - протокол сетевого уровня (часть набора протоколов TCP/IP), отвечающий за передачу и маршрутизацию сообщений между узлами Internet. Определяет правила, по которым данные разбиваются на пакеты, передающиеся между оконечными системами и маршрутизаторами. Текущая версия - 4.0, внедряемая - 6.0 (IPv6)

TCP (Transmission Control Protocol, протокол управления передачей) - протокол  транспортного уровня из набора TCP/IP. Гарантирует доставку передаваемых пакетов данных в нужной последовательности. Протокол TCP опирается на установление логического соединения между клиентом и сервером и включает в себя механизм контроля перегрузки сети, обеспечивая автоматическое снижение скорости обмена данными.

 

 

 

Весной 2008 года Microsoft опубликовала 14 000 страниц исходных кодов и технической документации на внутренние протоколы, которые используются для передачи данных между  своими ключевыми программами: Microsoft Office SharePoint Server 2007, Microsoft Office, Microsoft Office Outlook и другими серверными продуктами Microsoft.

 

 

Среди компьютерных языков доминируют языки программирования.
Но это уже другая история..