Меню Рубрики

глагол русский язык программирования

Язык программирования Глагол

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

Это феерично:
ОТДЕЛ Привет+;
ИСПОЛЬЗУЕТ Вывод ИЗ «. \Отделы\Обмен\»;
УКАЗ
Вывод.Цепь(«Привет!»)
КОН Привет.

P.S. ширвещ и бегунок просто вводят меня в экстаз.

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Почему разработчики влюбляются в функциональное программирование?

Яндекс.Алгоритм возвращается. В рамках чемпионата по программированию Yandex Cup

Если бы языки программирования были женщинами

Вакансии

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 52

Приглядитесь к встроенному языку 1С 😉

Взято со Screenshots.ru — коллекция скриншотов от программистов и не только.

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

М-дя.. Ну да ладно, буду знать.. 😉

Руби да.. Просто детка, особенно, если покопаться;)

Собсно он досих пор существует и входит в поставку kdeedu.
у него даже есть своя IDE, называется kTurtle

А вообще — вы зря смеётесь. Это как бы и не язык вообще то 🙂
Суть его в том что бы научить думать алгортимически.
Программа на языке Logo выглядит как последовательность указаний некоей черепашке.

Например:
ВП 20
ПП 90
ВП 20
ПЛ 90

Будет значить: Пройти вперёд на 20 пикселей повренут вправо, потом опять пройти вперёд на 20 и повернуть на лево.
Есть ещё много других примитивов.
Задачи обычно выглядят как: нарисовать какую-нить фгуру.

То что он на русском, так это что бы школьникам 1-3 классов проще было понять, куда гнаьт эту многострадальную черепаху 🙂

А есть еще язык программирования Brainfuck. Так на нем вообще вывод Hello World! выглядит так:

SHE walks in beauty, like the night
Of cloudless climes and starry skies;
And all that ‘s best of dark and bright
Meet in her aspect and her eyes:
Thus mellow’d to that tender light
Which heaven to gaudy day denies.

One shade the more, one ray the less,
Had half impair’d the nameless grace
Which waves in every raven tress,
Or softly lightens o’er her face;
Where thoughts serenely sweet express
How pure, how dear their dwelling-place.

And on that cheek, and o’er that brow,
So soft, so calm, yet eloquent,
The smiles that win, the tints that glow,
But tell of days in goodness spent,
A mind at peace with all below,
A heart whose love is innocent!

Заимствований из русского в английский тоже прилично, хотя и меньше, чем обратную сторону, конечно. Но звучат они в большинстве своем, право слово, очень смешно.. Для русских, конечно:)

И, к слову, в современном английском языке почти 70% заимствованных слов!

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

А меня просто колбасит от блейковского тигра.

Tiger, Tiger, burning bright
In the forest of the night,
What immortal hand or eye
Could frame thy fearful symmetry?

In what distant deeps or skies
Burnt the fire of thine eyes?
On what wings dare he aspire?
What the hand dare seize the fire?

And what shoulder and what art
Could twist the sinews of thy heart?
And, when thy heart began to beat,
What dread hand and what dread feet?

What the hammer? What the chain?
In what furnace was thy brain?
What the anvil? What dread grasp
Dare its deadly terrors clasp?

When the stars threw down their spears,
And water’d heaven with their tears,
Did He smile His work to see?
Did He who made the lamb make thee?

Tiger, Tiger, burning bright
In the forests of the night,
What immortal hand or eye
Dare frame thy fearful symmetry?

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

Ну ладно — может и про Байрона и про Блейка Вы не слышали (хотя сомнительно) — но неужели и фамилия Шекспир Вам ничего не говорит? 🙂

Tired with all these, for restful death I cry,
As, to behold desert a beggar born,
And needy nothing trimm’d in jollity,
And purest faith unhappily forsworn,
And guilded honour shamefully misplaced,
And maiden virtue rudely strumpeted,
And right perfection wrongfully disgraced,
And strength by limping sway disabled,
And art made tongue-tied by authority,
And folly doctor-like controlling skill,
And simple truth miscall’d simplicity,
And captive good attending captain ill:

Tired with all these, from these would I be gone,
Save that, to die, I leave my love alone.

(Понимая что перевод тоже может быть полезен

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

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

Источник статьи: http://habr.com/ru/post/14874/

Глагол (язык программирования)

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

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

Содержание

Основные черты языка [ править ]

Все данные в Глаголе имеют определённый тип, в рамках Глагола называемый видом.

Основные виды, используемые в Глаголе:

Также в Глаголе предусмотрены вид ДОСТУП — для обеспечения доступа к переменным и вид ЗАДАЧА — для обеспечения доступа к вызову задач.

Данные могут быть постоянными и переменными.

Простейшие преобразования данных выполняются так называемыми действиями. Действия можно объединять в выражения. В выражениях всегда должно соблюдаться соответствие видов. Более сложный порядок для преобразования данных задаётся указаниями. Последовательности указаний и данные можно объединять в задачи и отделы.

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

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

Синтаксис Глагола даёт возможность писать программы, используя русские служебные слова. Это облегчает изучение и применение языка для русских людей, а также делает его весьма пригодным для обучения программированию.

Примеры программ на Глаголе [ править ]

Вывод на экран слова «Привет»:

Отличия Глагола от Оберона-2 [ править ]

Нет в Глаголе [ править ]

  • связанных с типом процедур
  • встроенных процедур: ASH, CAP, SIZE, EXCL, INCL, LONG
  • процедур модуля SYSTEM: BIT, CC, LSH, ROT, GETREG, PUTREG, NEW
  • псевдонимов в IMPORT (ИСПОЛЬЗОВАТЬ) объявлениях
  • второго параметра у встроенной процедуры ASSERT (ПРОВЕРИТЬ)

Изменено в Глаголе [ править ]

  • Изменены размеры некоторых типов данных.
  • Процедуры: LEN (РАЗМЕР), SYSTEM.GET (ОБХОД.ИзПамяти), SYSTEM.PUT (ОБХОД.ВПамять), SYSTEM.ADR (ОБХОД.Адрес), SYSTEM.MOVE (ОБХОД.Образ) определены для типа INTEGER (ЦЕЛ), а не для типа LONGINT (ШИРЦЕЛ).
  • Для переменных меткой экспорта являются знаки ‘-‘ и ‘+’, а не ‘-‘ и ‘*’.
  • Для констант, типов и процедур меткой экспорта является знак ‘-‘, а не ‘*’.
  • У процедуры HALT (СТОП) параметром может быть не только целая константа, но и целая переменная.
  • При объявлении формальных параметров параметры-переменные выделяются при помощи оконечных знаков ‘+’ или ‘-‘. Знак ‘-‘ отмечает параметры, доступные только для чтения.
  • По-другому записывается оператор WITH (ДЛЯ).
  • Для определения чётности-нечётности выражения целого типа вместо процедуры ODD (нечётность) используется процедура ЧЕТ (чётность).
  • Формальные параметры-значения процедур не могут быть массивами и записями.

Добавлено в Глагол [ править ]

  • Условная компиляция исходных текстов. Операторы условной компиляции задаются в скобках. В качестве условий эти операторы могут использовать любые постоянные выражения.
  • Возможность указывать путь к используемым модулям.
  • Внутри строки символов последовательность #nnnn, где nnnn — четырёхзначное шестнадцатеричное число, обозначает знак с кодом nnnn.
  • Процедура ДЛИНА(x), которая для ‘x’ типа ARRAY OF CHAR (РЯД ИЗ ЗНАК) возвращает или позицию первого 0X знака, или LEN(x), если такого знака в массиве не существует.
  • Процедура ДЛИНА(x), которая для строки ‘x’ возвращает её длину.
  • Запуск приложения осуществляется передачей управления модулю, у которого название после слова MODULE (ОТДЕЛ), отмечено «+». Модули, названия которых отмечены «-«, не содержат операторов. Они служат только для объявления понятий из модулей других языков программирования.
  • Процедура NEW (СОЗДАТЬ) может не только размещать строку ARRAY OF CHAR (РЯД ИЗ ЗНАК), но и присваивать ей начальное значение.
  • Объявление ARRAY n OF CHAR (РЯД n ИЗ ЗНАК) можно записывать как ЦЕПЬ[n].
  • Встроенная функция ЗАДАНО(ц) возвращает TRUE (ВКЛ) для строки «ц», если в настройках преобразователя задан ключ -кц.
  • Встроенный тип БЕГУНОК и соответствующие процедуры ПОСТАВИТЬ и СМЕСТИТЬ служат для быстрого последовательного обращения к элементам массивов.
  • Процедура ОБНУЛИТЬ(x), которая заполняет нулями все переменные, входящие в состав ‘x’. ‘x’ может быть типа ARRAY или типа RECORD.

Разработки на Глаголе [ править ]

«Разработки на Глаголе» распространяются свободно. Среду разработки приложений на Глаголе можно изменять по своему усмотрению. Однако исходные коды преобразователя Глагола (написанного на Глаголе) не распространяются, чтобы исключить возможность появления диалектов языка.

Первый выпуск Глагола был произведён 19 мая 2003 года; в настоящий момент язык малораспространён, и обновлений на официальном сайте не было с 2008 года. Участие в проекте, в развитии языка полностью добровольно.

Компиляторы [ править ]

Преобразователь Глагола [ править ]

Преобразователь Глагола (ПГ) — компилятор языка программирования Глагол. Представляет из себя консольный исполнимый файл. Преобразователь Глагола переводит исходные тексты приложений в машинный код формата COFF, далее при помощи редактора связей создаётся исполняемое приложение.

В полученном коде переменные простых видов имеют следующий размер (в битах):

Дополнительно преобразователь Глагола можно настроить для создания кода, содержащего данные для внешнего отладчика, самопроверку работы приложений, отработки встроенной задачи ПРОВЕРИТЬ, установку в ПУСТО переменных доступа при каждом вызове задач, в которых определены эти переменные. Самопроверка следит за тем, чтобы не было выхода за границы ряда, переполнения при арифметических действиях, выхода за границы допустимых значений простых видов, доступа по значению ПУСТО, деления на ноль.

Преобразователь Глагола, реализованный на данный момент только под платформу Windows, способен обрабатывать тексты в Уникоде.

Малый ПГ [ править ]

14 сентября 2006 был произведён новый выпуск разработок на Глаголе. Одним из нововведений был малый преобразователь Глагола (МПГ), исходные тексты которого были добавлены в архив с разработками. Он преобразует код сокращённого Глагола в код ассемблера ARMASM, что позволяет создавать программы под ОС PocketPC. Сокращённый Глагол представляет из себя версию данного языка, упрощённую с целью повысить быстродействие программ и уменьшить нагрузку на процессор.

Источник статьи: http://traditio.wiki/%D0%93%D0%BB%D0%B0%D0%B3%D0%BE%D0%BB_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии