Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русскоязычное программирование » предлагаемые стандарты » Инфраструктура средств разработки и языков программирования


Инфраструктура средств разработки и языков программирования

Сообщений 1 страница 16 из 16

1

Предлагаю сделать уже, поскольку из-за него уже было куча вопросов и Лису приходится постоянно говорить то, что и так всем известно.
Пока же вот план, текстовка позже. Давайте обсуждать:http://s5.uploads.ru/eFALZ.jpg

ЗЫ. С манифестом не согласовывалось.

Отредактировано utkin (2018-03-29 15:08:18)

0

2

Инфроструктура это внешние вещи по отношению к чему либо конкретно языку программирования но без которых он неможет.
А тут у вас много внутренних вещей.

И да электронную подпись замените на цифровую.

Стандарт на что? И почему не спецификация?

Между 2٫2٫4 и 2٫2٫5 пропущено много всего: по крайней мере
рендер, виджеты.

Пропущена стандартная библиотека:
// Отрывок памятный.
// методы целочисленной арифметики
// методы арифметики реальных чисел
// Арефметические
// Методы округления
// Методы тригонометрии
// Методы степенней и логарифмов
// Дополнительные методы
// Отрывок строковый
// Отрывок стандартного ввода и вывода
// Отрывок стыкующий с файловой системой
// Методы файлов
// Методы папок

Не хватает регулярных выражений.
Нету библиотеки коллекций

В И1 не хватает программ для тестирования даже МС выпускает программы для верификации.
А вообще в ваш ряд между И16 и И17 так и просится генератор.

А так же ряд мождно продолжить после сборки исполняемого файла идет инеграционное тестирование и сборка дистрибутива.

Дальше не плохо бы иметь программу которая бы ещё это забросила на удалённый сервер да хотя бы по SSH.

Не хватает системы учета версий такой как git.

0

3

Структурная и функциональная схемы это одно и тоже. Зачем разные блоки?

0

4

Ещё транслятор заголовочных файлов очень нужен.

0

5

И да электронную подпись замените на цифровую.

Нет. Правильное именование цифровых подписей - электронная подпись. Есть куча государственных документов в которых используется именно термин ЭП. Если хотите соответствия ГОСТам надо именовать ЭП.

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

Нет же, в заголовке написано и средств разработки, а не только ЯП. То есть комплекс такой более широкой.

И почему не спецификация?

Давайте именовать спецификацией.

// методы целочисленной арифметики
// методы арифметики реальных чисел
// Арефметические
// Методы округления
// Методы тригонометрии
// Методы степенней и логарифмов
// Дополнительные методы

И2.2:2 - Математические вычисления
Что такое Отрывок памятный :)?

Не хватает регулярных выражений.

Да нету, надо добавлять :).

Нету библиотеки коллекций

И2.2:1 Абстрактные типы данных

А так же ряд мождно продолжить после сборки исполняемого файла идет инеграционное тестирование и сборка дистрибутива.

Если никто не против, давайте добавим.

Дальше не плохо бы иметь программу которая бы ещё это забросила на удалённый сервер да хотя бы по SSH.

Это не прямо уже такая фича. Наверно нужно как-то выделить один пункт, иначе это станет очень большим бюрократическим текстом. Например, Прочие инструменты. То есть идея - перечислить основное и часто используемое. И выделить пункт под всякую специализацию и удобства.

Структурная и функциональная схемы это одно и тоже. Зачем разные блоки?

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

Ещё транслятор заголовочных файлов очень нужен.

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

0

6

Вот обновленная версия
http://s4.uploads.ru/FlMU4.jpg
Давайте определимся со схемами. Оставим две практически дополняющих друг друга функциональную и структурную или одну выкинем? И если выкинем, то какую?

Отредактировано utkin (2018-03-30 07:46:31)

0

7

utkin

utkin написал(а):

Нет же, в заголовке написано и средств разработки, а не только ЯП. То есть комплекс такой более широкой.

Тогда значит из списка надо выкинуть ещё больше.

utkin написал(а):

Что такое Отрывок памятный ?

Отрывок в системной библиотеке отвечающий за работу с памятью. В часности узнать размер доступной динамической памяти выделить кусок освободить.
Математическую библиотеку я вижу, а строковая так и не появилась.  А без неё никуда! Язык будет не полноценным даже в ассемблере есть строки.
Да и файлов нет!

Лучше просто напишите системная библиотека.

utkin написал(а):

Интерпретаторам? Значит не очень нужен.

Интерпретаторам в первую очередь. Есть куча библиотеку, которые хочется подключить к интерпретатору.  А получается что-бы внести функции их придётся описать ручками.  А теперь представь те тысячи единообразных строк и не очень с описанием формата передачи параметров с описанием способа вызова функций с описанием загрузки DLL. 
Ещё раз вы как системщик должны думать о внешних системах. Вот существующие библиотеки это и есть внешнее окружения внешняя структура. Но они никак не связаны с вашим интерпретатором, а должны! Вы должны хотя бы задокументировать этот процесс. Но лучше его автоматизировать. Питон только так и пошёл в гору.
http://www.swig.org/compare.html

И Delphi 2 имел в своём составе транслятор заголовочных файлов с Си на паскаль.  Поэтому быстро обрёл популярность ещё до 3 версии в которой появились СУБД.

0

8

Отрывок

Вы еще огрызок назовите. Часть/компонент/том/фрагмент/элемент/член/участок/пакет/секция/модуль/фракция чем не устроили? Обязательно какая-то экзотика должна быть? Балалайка, матрешка, водка на потеху всему миру.
Этимология слова часть:

Происходит от праслав. *čęstь, от кот. в числе прочего произошли: др.-русск. часть «доля, земельный участок, наследство», ст.-слав. чѩсть (др.-греч. μέρος), русск., укр. часть, белор. часць, болг. чест ж. «часть, доля, счастье», сербохорв. че̑ст ж., чешск. část, стар. čiest ж. «часть», словацк. čаsť, польск. część, в.-луж. časć. Праслав. *čęstь связано чередованием гласных с kǫsъ (ср. кусо́к), польск. kądek «кусок» (из *kǫdъkъ), лит. kándu, ką́sti «кусать», kañdis «укус», латышск. kuôst, kuožu «кусать»

Вполне себе русское слово.

Тогда значит из списка надо выкинуть ещё больше.

Что именно Вас не устраивает в составе? Давайте конкретики.

Математическую библиотеку я вижу, а строковая так и не появилась.  А без неё никуда!

Пропустил. Куда же без косяков-то.

Да и файлов нет!

Файлов я даже вначале и не помнил - перечитал, да. Аналогично :).

Интерпретаторам в первую очередь. Есть куча библиотеку, которые хочется подключить к интерпретатору.  А получается что-бы внести функции их придётся описать ручками.  А теперь представь те тысячи единообразных строк и не очень с описанием формата передачи параметров с описанием способа вызова функций с описанием загрузки DLL. 
Ещё раз вы как системщик должны думать о внешних системах. Вот существующие библиотеки это и есть внешнее окружения внешняя структура. Но они никак не связаны с вашим интерпретатором, а должны! Вы должны хотя бы задокументировать этот процесс. Но лучше его автоматизировать. Питон только так и пошёл в гору.

И1:8 Прочие инструменты. Мы не можем бесконечно все перечислять, это станет абсолютно бесполезным инструментом. Потому что нельзя объять необъятное.

0

9

Очередная итерация
http://sd.uploads.ru/pKRP3.jpg
В средства языка можно добавить Взаимодействие с внешней средой, или что-то такое. Типа как подключить сторонние библиотеки.

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

Это частности. Язык может не обладать такими возможностями (в микроконтроллерах тех же, в моем случае В-2 не разрешает так прямо делать). Мы сейчас опять раздуем до пупец каких размеров. Я не против добавить конкретно память. Но просто опять надо придумать что-то - невозможно добавлять все - и статистику, и астрономию, и биоинформатику, и работу с портами компьютера и пр.
Как вариант добавить Аппаратные ресурсы

Отредактировано utkin (2018-03-30 13:09:19)

0

10

utkin
Огрызком думал но это закос на эппел скажут.  В русском языке мало слов которые начинаются на гласную. А тут хотелось её вставить уже не помню почему.

utkin написал(а):

ЭП. Если хотите соответствия ГОСТам надо именовать ЭП.

Не хочу соответствовать гостам.   Просто в программной инжинирии они очень плохие.

Даже вот сейчас из-за этого у вас пропущено нечто важное. Нету перечня протоколов, регламентов, стандартов.

К примеру Глагол и 1Срипт для отладки используют:
https://code.visualstudio.com/docs/exte … -debugging

А GNU любит свой
https://ftp.gnu.org/old-gnu/Manuals/gdb … b_129.html

И ещё лицензию пропустили.

0

11

Лицензия да, я согласен. Поэтому документ на обсуждении.

Даже вот сейчас из-за этого у вас пропущено нечто важное. Нету перечня протоколов, регламентов, стандартов.

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

0

12

Очередная итерацияhttp://s9.uploads.ru/xiqbl.jpg
Меня по-прежнему интересует вопрос функциональной/структурной схем.

Отредактировано utkin (2018-03-31 10:46:19)

0

13

http://s7.uploads.ru/2fDBQ.jpg
Поправил ошибку, добавил Аппаратные ресурсы

0

14

Есть такая прога, "FreeMind" называется, она выдаёт вот такие весёлые картинки, эта - в svg формате:

Спецификация - здесь.

Тело спецификации

[html]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
          'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg fill-opacity="1" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="1230" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="551" xmlns="http://www.w3.org/2000/svg" font-family="&apos;Arial&apos;" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto"
><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
  /><g
  ><defs id="defs1"
    ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
      ><path d="M0 0 L4394 0 L4394 1897 L0 1897 L0 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"
      ><path d="M0 0 L0 651 L1330 651 L1330 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"
      ><path d="M0 0 L0 72 L145 72 L145 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"
      ><path d="M0 0 L0 120 L223 120 L223 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"
      ><path d="M0 0 L0 20 L10 20 L10 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"
      ><path d="M0 0 L0 20 L123 20 L123 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"
      ><path d="M0 0 L0 480 L551 480 L551 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"
      ><path d="M0 0 L0 36 L10 36 L10 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"
      ><path d="M0 0 L0 36 L147 36 L147 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"
      ><path d="M0 0 L0 26 L26 26 L26 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"
      ><path d="M0 0 L0 120 L251 120 L251 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"
      ><path d="M0 0 L0 20 L151 20 L151 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"
      ><path d="M0 0 L0 120 L240 120 L240 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"
      ><path d="M0 0 L0 20 L140 20 L140 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
      ><path d="M0 0 L0 120 L276 120 L276 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
      ><path d="M0 0 L0 20 L176 20 L176 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
      ><path d="M0 0 L0 244 L392 244 L392 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
      ><path d="M0 0 L0 36 L129 36 L129 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
      ><path d="M0 0 L0 120 L215 120 L215 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"
      ><path d="M0 0 L0 20 L115 20 L115 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"
      ><path d="M0 0 L0 120 L219 120 L219 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"
      ><path d="M0 0 L0 20 L119 20 L119 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"
      ><path d="M0 0 L0 120 L252 120 L252 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"
      ><path d="M0 0 L0 20 L152 20 L152 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"
      ><path d="M0 0 L0 120 L270 120 L270 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"
      ><path d="M0 0 L0 20 L170 20 L170 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"
      ><path d="M0 0 L0 120 L165 120 L165 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"
      ><path d="M0 0 L0 20 L65 20 L65 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"
      ><path d="M0 0 L0 120 L266 120 L266 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"
      ><path d="M0 0 L0 20 L166 20 L166 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"
      ><path d="M0 0 L0 407 L696 407 L696 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"
      ><path d="M0 0 L0 120 L568 120 L568 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"
      ><path d="M0 0 L0 20 L129 20 L129 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"
      ><path d="M0 0 L0 120 L419 120 L419 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"
      ><path d="M0 0 L0 20 L191 20 L191 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"
      ><path d="M0 0 L0 120 L206 120 L206 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"
      ><path d="M0 0 L0 20 L106 20 L106 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"
      ><path d="M0 0 L0 373 L446 373 L446 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"
      ><path d="M0 0 L0 20 L85 20 L85 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"
      ><path d="M0 0 L0 120 L246 120 L246 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"
      ><path d="M0 0 L0 20 L146 20 L146 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"
      ><path d="M0 0 L0 120 L273 120 L273 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"
      ><path d="M0 0 L0 20 L173 20 L173 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"
      ><path d="M0 0 L0 120 L156 120 L156 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"
      ><path d="M0 0 L0 20 L56 20 L56 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"
      ><path d="M0 0 L0 120 L158 120 L158 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"
      ><path d="M0 0 L0 20 L58 20 L58 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"
      ><path d="M0 0 L0 120 L145 120 L145 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"
      ><path d="M0 0 L0 20 L45 20 L45 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"
      ><path d="M0 0 L0 120 L254 120 L254 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"
      ><path d="M0 0 L0 20 L154 20 L154 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"
      ><path d="M0 0 L0 120 L154 120 L154 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"
      ><path d="M0 0 L0 20 L54 20 L54 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath54"
      ><path d="M0 0 L0 120 L284 120 L284 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath55"
      ><path d="M0 0 L0 20 L184 20 L184 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath56"
      ><path d="M0 0 L0 120 L341 120 L341 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath57"
      ><path d="M0 0 L0 20 L241 20 L241 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath58"
      ><path d="M0 0 L0 120 L260 120 L260 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath59"
      ><path d="M0 0 L0 20 L160 20 L160 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath60"
      ><path d="M0 0 L0 120 L192 120 L192 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath61"
      ><path d="M0 0 L0 20 L92 20 L92 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath62"
      ><path d="M0 0 L0 339 L389 339 L389 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath63"
      ><path d="M0 0 L0 36 L132 36 L132 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath64"
      ><path d="M0 0 L0 120 L184 120 L184 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath65"
      ><path d="M0 0 L0 20 L84 20 L84 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath66"
      ><path d="M0 0 L0 120 L233 120 L233 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath67"
      ><path d="M0 0 L0 20 L133 20 L133 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath68"
      ><path d="M0 0 L0 120 L210 120 L210 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath69"
      ><path d="M0 0 L0 20 L110 20 L110 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath70"
      ><path d="M0 0 L0 120 L237 120 L237 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath71"
      ><path d="M0 0 L0 20 L137 20 L137 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath72"
      ><path d="M0 0 L0 120 L171 120 L171 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath73"
      ><path d="M0 0 L0 20 L71 20 L71 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath74"
      ><path d="M0 0 L0 120 L193 120 L193 0 Z"
      /></clipPath
      ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath75"
      ><path d="M0 0 L0 20 L93 20 L93 0 Z"
      /></clipPath
      ></defs
    ><g font-size="11" transform="translate(-1582,-673)" fill="white" text-rendering="optimizeSpeed" font-family="&apos;Tahoma&apos;" shape-rendering="crispEdges" stroke="white"
    ><rect x="0" width="4394" height="1897" y="0" clip-path="url(#clipPath1)" stroke="none"
    /></g
    ><g text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(-50,-50)"
    ><line y2="142" fill="none" x1="659" clip-path="url(#clipPath2)" x2="684" y1="292"
      /><line clip-path="url(#clipPath2)" fill="none" x1="659" x2="684" y1="292" y2="441" stroke="rgb(104,0,0)"
      /><line y2="280" fill="none" x1="515" clip-path="url(#clipPath2)" x2="500" y1="292"
      /><line clip-path="url(#clipPath2)" fill="none" x1="515" x2="494" y1="292" y2="479" stroke="rgb(104,0,0)"
    /></g
    ><g fill="white" text-rendering="optimizeSpeed" font-weight="bold" font-family="sans-serif" transform="translate(465,206)" stroke="white"
    ><ellipse rx="71.5" ry="35" clip-path="url(#clipPath3)" cx="72.5" cy="36" stroke="none"
      /><ellipse clip-path="url(#clipPath3)" fill="none" rx="72" cx="72" ry="35.5" cy="35.5" stroke="gray"
    /></g
    ><g transform="translate(465,206)" fill="rgb(153,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" shape-rendering="crispEdges" stroke="rgb(153,0,0)" font-weight="bold"
    ><image x="12" y="28" clip-path="url(#clipPath3)" width="28" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAQCAYAAAAFzx/vAAAEIklEQVR42q1VXWwU
VRT+7szszM7uDrPdbmvb3aV0i0lLRP7jT6NREBtiAtEnfQF9scYnxMQHE0MbgxI1
avTBpITEEB8lJuKDSEggBFigLT+1AqW4pd1tt9v9Gba7M7Pz613CwqoPBuRLTu7c
O3fOd86535lLQLF7s2+9wJL9LOvEBJ7ork0uKxXP7q9PKAoeEVzXJRQuef8FKSx4
7bN+ESsZBggFgWUBIDlDTnz4U2VzbW/Dd35qUWrT1KoPQ8w+G+f2B0T0UzLCEMAn
AhIlDMqIxrzCycS0cYvu41mWPSAI/JeSJO0JhUI7eZ7fpGnaUfrOrEU/NDR0L5PB
wUHf9m+GjAERg8M6hhoJOdsB4xXlCsc6kkUnVdNCegFuW3OV87JunO45yXHcPtEr
vEVLAr/Pj0g00h0KNXePjo5q2Wz27VpAlMioOayVjQ7qSAf8RENltAnuhiJInZC8
tzW8cceW+OnlsTAfoKlOXVjAuV9vwMhqjsR4kg6L3z9KKattjzdOvWGZLCMWi1Fb
jomJiXFqT9ac/lcp66TcV8dyo0+sDF5oDvn7lEwFpw9NwKs66GqVmGiLv7s1KHab
XlZJtIgoqhaqNgPXLGDqj5xpmoR/0DPkgE+D3x1Nx7yhpJI/NiZbeYOEHgsgLHvR
EhQh+3k819okd3WyWNvfBUnyU/PhlQ9OWekF5Upj9A2K5EeDJEYYTNXm6wsuU6vO
HdEAr38/V9zeF3/mKTOQSghmAG5LVysxvF7kxQBy8wW3XKqSlKnpHT0yVzvHmo1f
mzueuF7cR9OcuysUhgrnTmnpaA/4UKgHUxdUDbQR5BUgLCZndGMqbZg9fVHy8t7X
sOWzd/H8x3swqzlkOrOEy4bhJksx++ossQ9eyCsj68y29oFQsUEobl2ldaJ65vW1
u4SMjwkw+O3itCcTXuO5YUiwKouw1EXAUpBbqjq52zqyYZddt+sT9lhHVE305cW1
b3SubYoKX9xTHyWlYO+S/6v9Gh627SJcJEpWKEKq8010zoyBW1aCzKtIJnPq5MX5
6mS3Jvy5WWDHblzTs5FLnra4LNTOuTCvVW4ezg7XndVL+k/QdaeB8OnDVHXNDpeT
eq+OczsmBcGMr7E9sThzaVgvb+t5R56wSshsSCNdSNntjwcElmWglg1kbpbmbh3J
H3igPw1wXAd+PgLl6Lc79cimLrStqkbsQu7UbbN/9UvB1t4ISvmyeb79DEs4hhP8
DKqaiVJORep6eWbxROngA7bFffjgaeJED7LnZ7mtG1+UWZ6FbViIoEMvJzw/6B16
r3rbdFzTXapq9khBMT5/iD68jzI0w7YtSI4v6FQslNIK1FwZ6mzJv/7MqgOHrF/O
/t9b42+EtzD1qmmYe/misNW4YsgMz6hLpj6/sJT5UbPE84/imvoLCw3XPXExTi8A
AAAASUVORK5CYII=" height="16" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="44" xml:space="preserve" y="33" clip-path="url(#clipPath3)" stroke="none"
      >РЯП</text
      ><text text-rendering="geometricPrecision" x="69" xml:space="preserve" y="33" clip-path="url(#clipPath3)" stroke="none"
      > </text
      ><text text-rendering="geometricPrecision" x="44" xml:space="preserve" y="49" clip-path="url(#clipPath3)" stroke="none"
      >Спецификация</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(322,419)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath6)" fill="none" width="122" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="optimizeSpeed" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(322,419)"
    ><image x="102" y="5" clip-path="url(#clipPath6)" width="12" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAYAAACALL/6AAAAa0lEQVR42mNgIBL8
//+fkYFsgKwbxAZirrOCDP9BGF0tI1QRO5D6BRZgZAQrOiPFwMX4neEriG38noER
RQM2k9ABTBMTAzUA0IlsZ/gZlGH+wAghqEdRbMPlaYyQwhbeOOMAKMGMQ5wFxgYA
gyQ/K3S6aGAAAAAASUVORK5CYII=" height="10" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="8" xml:space="preserve" y="15" clip-path="url(#clipPath6)" stroke="none"
      >Форум по языку</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(-50,-14)" stroke="rgb(17,17,17)"
    ><line y2="73" fill="none" x1="354" clip-path="url(#clipPath7)" x2="336" y1="244"
      /><line y2="96" fill="none" x1="354" clip-path="url(#clipPath7)" x2="333" y1="244"
      /><line y2="119" fill="none" x1="354" clip-path="url(#clipPath7)" x2="333" y1="244"
      /><line y2="244" fill="none" x1="354" clip-path="url(#clipPath7)" x2="341" y1="244"
      /><line y2="374" fill="none" x1="354" clip-path="url(#clipPath7)" x2="333" y1="244"
      /><line y2="397" fill="none" x1="354" clip-path="url(#clipPath7)" x2="336" y1="244"
      /><line y2="420" fill="none" x1="354" clip-path="url(#clipPath7)" x2="333" y1="244"
    /></g
    ><g fill="white" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(304,212)" stroke="white"
    ><rect x="0" y="0" clip-path="url(#clipPath9)" width="146" rx="5" ry="5" height="35" stroke="none"
      /><rect x="0" y="0" clip-path="url(#clipPath9)" fill="none" width="146" rx="5" ry="5" height="35" stroke="black"
    /></g
    ><g text-rendering="optimizeSpeed" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(304,212)"
    ><image x="122" y="10" clip-path="url(#clipPath9)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACoklEQVR42o2S70uT
URTHz31+2JyTkUNSMa2lKQWtiHqlLxZR/QMbiCBBuWWTKFrMBHFSUC/qhVD4A0Rq
hjARDKwsCB+C9sJ+obURVEYvzLac2+rZD7c9z+3clTC1sAuHe+HwOed8z/0S2OS4
3W6uu7ubEkLoKYBHZkKOK5SmswDic4Ak2YRnecpum0532yHLrbX4jgBwP/DuxRy3
GWyz2cSzGo3nkiy37UMwhrGEiW8Yyr8KsLEZ7HQ6izQez3hHKtVsJCSzgEWDGAjT
RQyUkd0gwWKx8GNjY4rD4TBoh4a8zlTqiAHhr5QKYYRDCGIRijLoDAC/ZgKv15uD
Wxoaqgz9/VOXEd6KXRi89Ls7sM7LAGoAYZzoDlmvucVk2l0/O3u/nZD6AkozCOXg
1c5RQpR3lIofCwtvSsmkk8+Hu5qbD1XGfk62xeVdxakU07wGjuFXzuE081rtNYRd
AwMDIkcpzcHDw8Oaky7XiNXrqfLZWzMv9XoxzBGy+GdhEY5TZynl53U693Qi0ck4
u92e4dEgBZIkKU1NTSeMNTvbM7GwkiwzCL7SUhJ/5qMrCC8xWFWFL1ptlxSPX2G/
ZDabmT+A8/v9CntUVVacXpGj8D0UBINAoHLHNvrQWK1+xgJvEQ6bTB1SInGVLRoL
qKuL4wOBANwaHNxbW1dzPRUJCdl0kgSDi7RcX6Ro64zCyGOJKz54+OLEm9c3GGy1
WpX8n8st8ZhO1wkf3jeI1dvTNJ3gILvCv5oL8HfvjX/SG2udD17M9DF/9PT0KOt9
I5xvbCyH0dGjftx2hbZAEykUYWLyiS+pCIPVew6Moy9kphlD+avfu0pKerdEo+dC
qhpeLi+TFkz7+6anpp7m2zpf84bjApi+AHDGbbHo8h3JRob/OL8AdBdD40lwPYcA
AAAASUVORK5CYII=" height="16" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="8" xml:space="preserve" y="15" clip-path="url(#clipPath9)" stroke="none"
      >Документационное</text
      ><text text-rendering="geometricPrecision" x="8" xml:space="preserve" y="31" clip-path="url(#clipPath9)" stroke="none"
      >обеспечение</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(133,396)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath12)" fill="none" width="150" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(133,396)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath12)" stroke="none"
      >Функциональная схема</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(147,373)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath14)" fill="none" width="139" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(147,373)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath14)" stroke="none"
      >Техническое задание</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(108,350)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath16)" fill="none" width="175" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(108,350)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath16)" stroke="none"
      >Структурная схема системы</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(-50,140)" stroke="rgb(17,17,17)"
    ><line y2="136" fill="none" x1="213" clip-path="url(#clipPath17)" x2="201" y1="90"
      /><line y2="159" fill="none" x1="213" clip-path="url(#clipPath17)" x2="201" y1="90"
      /><line y2="184" fill="none" x1="213" clip-path="url(#clipPath17)" x2="201" y1="90"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(163,212)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath18)" fill="none" width="128" rx="5" ry="5" height="35"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(163,212)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath18)" stroke="none"
      >Стандарт языка</text
      ><text x="8" xml:space="preserve" y="31" clip-path="url(#clipPath18)" stroke="none"
      >программирования</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(37,314)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath20)" fill="none" width="114" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(37,314)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath20)" stroke="none"
      >Синтаксис языка</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(33,289)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath22)" fill="none" width="118" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(33,289)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath22)" stroke="none"
      >Семантика языка</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(0,266)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath24)" fill="none" width="151" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(0,266)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath24)" stroke="none"
      >Общее описание языка</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(114,95)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath26)" fill="none" width="169" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(114,95)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath26)" stroke="none"
      >Руководство пользователя</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(219,72)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath28)" fill="none" width="64" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(219,72)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath28)" stroke="none"
      >Паспорт</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(121,49)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath30)" fill="none" width="165" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(121,49)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath30)" stroke="none"
      >Общее описание системы</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(584,194)" stroke="rgb(104,0,0)"
    ><line y2="197" fill="none" x1="178" clip-path="url(#clipPath31)" x2="202" y1="197"
      /><line y2="347" fill="none" x1="178" clip-path="url(#clipPath31)" x2="178" y1="197"
    /></g
    ><g fill="white" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(634,373)" stroke="white"
    ><rect x="0" y="0" clip-path="url(#clipPath18)" width="128" rx="5" ry="5" height="35" stroke="none"
      /><rect x="0" y="0" clip-path="url(#clipPath18)" fill="none" width="128" rx="5" ry="5" height="35" stroke="rgb(104,0,0)"
    /></g
    ><g text-rendering="optimizeSpeed" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(634,373)"
    ><image x="8" y="10" clip-path="url(#clipPath18)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACoklEQVR42o2S70uT
URTHz31+2JyTkUNSMa2lKQWtiHqlLxZR/QMbiCBBuWWTKFrMBHFSUC/qhVD4A0Rq
hjARDKwsCB+C9sJ+obURVEYvzLac2+rZD7c9z+3clTC1sAuHe+HwOed8z/0S2OS4
3W6uu7ubEkLoKYBHZkKOK5SmswDic4Ak2YRnecpum0532yHLrbX4jgBwP/DuxRy3
GWyz2cSzGo3nkiy37UMwhrGEiW8Yyr8KsLEZ7HQ6izQez3hHKtVsJCSzgEWDGAjT
RQyUkd0gwWKx8GNjY4rD4TBoh4a8zlTqiAHhr5QKYYRDCGIRijLoDAC/ZgKv15uD
Wxoaqgz9/VOXEd6KXRi89Ls7sM7LAGoAYZzoDlmvucVk2l0/O3u/nZD6AkozCOXg
1c5RQpR3lIofCwtvSsmkk8+Hu5qbD1XGfk62xeVdxakU07wGjuFXzuE081rtNYRd
AwMDIkcpzcHDw8Oaky7XiNXrqfLZWzMv9XoxzBGy+GdhEY5TZynl53U693Qi0ck4
u92e4dEgBZIkKU1NTSeMNTvbM7GwkiwzCL7SUhJ/5qMrCC8xWFWFL1ptlxSPX2G/
ZDabmT+A8/v9CntUVVacXpGj8D0UBINAoHLHNvrQWK1+xgJvEQ6bTB1SInGVLRoL
qKuL4wOBANwaHNxbW1dzPRUJCdl0kgSDi7RcX6Ro64zCyGOJKz54+OLEm9c3GGy1
WpX8n8st8ZhO1wkf3jeI1dvTNJ3gILvCv5oL8HfvjX/SG2udD17M9DF/9PT0KOt9
I5xvbCyH0dGjftx2hbZAEykUYWLyiS+pCIPVew6Moy9kphlD+avfu0pKerdEo+dC
qhpeLi+TFkz7+6anpp7m2zpf84bjApi+AHDGbbHo8h3JRob/OL8AdBdD40lwPYcA
AAAASUVORK5CYII=" height="16" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="28" xml:space="preserve" y="15" clip-path="url(#clipPath18)" stroke="none"
      >Средства языка</text
      ><text text-rendering="geometricPrecision" x="28" xml:space="preserve" y="31" clip-path="url(#clipPath18)" stroke="none"
      >и библиотеки</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(712,481)" stroke="rgb(104,0,0)"
    ><line y2="60" fill="none" x1="178" clip-path="url(#clipPath32)" x2="199" y1="60"
    /></g
    ><g fill="white" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(762,531)" stroke="white"
    ><rect x="0" y="0" clip-path="url(#clipPath33)" width="128" rx="5" ry="5" height="19" stroke="none"
      /><rect x="0" y="0" clip-path="url(#clipPath33)" fill="none" width="128" rx="5" ry="5" height="19" stroke="rgb(104,0,0)"
    /></g
    ><g text-rendering="optimizeSpeed" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(762,531)"
    ><image x="8" y="2" clip-path="url(#clipPath33)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACoklEQVR42o2S70uT
URTHz31+2JyTkUNSMa2lKQWtiHqlLxZR/QMbiCBBuWWTKFrMBHFSUC/qhVD4A0Rq
hjARDKwsCB+C9sJ+obURVEYvzLac2+rZD7c9z+3clTC1sAuHe+HwOed8z/0S2OS4
3W6uu7ubEkLoKYBHZkKOK5SmswDic4Ak2YRnecpum0532yHLrbX4jgBwP/DuxRy3
GWyz2cSzGo3nkiy37UMwhrGEiW8Yyr8KsLEZ7HQ6izQez3hHKtVsJCSzgEWDGAjT
RQyUkd0gwWKx8GNjY4rD4TBoh4a8zlTqiAHhr5QKYYRDCGIRijLoDAC/ZgKv15uD
Wxoaqgz9/VOXEd6KXRi89Ls7sM7LAGoAYZzoDlmvucVk2l0/O3u/nZD6AkozCOXg
1c5RQpR3lIofCwtvSsmkk8+Hu5qbD1XGfk62xeVdxakU07wGjuFXzuE081rtNYRd
AwMDIkcpzcHDw8Oaky7XiNXrqfLZWzMv9XoxzBGy+GdhEY5TZynl53U693Qi0ck4
u92e4dEgBZIkKU1NTSeMNTvbM7GwkiwzCL7SUhJ/5qMrCC8xWFWFL1ptlxSPX2G/
ZDabmT+A8/v9CntUVVacXpGj8D0UBINAoHLHNvrQWK1+xgJvEQ6bTB1SInGVLRoL
qKuL4wOBANwaHNxbW1dzPRUJCdl0kgSDi7RcX6Ro64zCyGOJKz54+OLEm9c3GGy1
WpX8n8st8ZhO1wkf3jeI1dvTNJ3gILvCv5oL8HfvjX/SG2udD17M9DF/9PT0KOt9
I5xvbCyH0dGjftx2hbZAEykUYWLyiS+pCIPVew6Moy9kphlD+avfu0pKerdEo+dC
qhpeLi+TFkz7+6anpp7m2zpf84bjApi+AHDGbbHo8h3JRob/OL8AdBdD40lwPYcA
AAAASUVORK5CYII=" height="16" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="28" xml:space="preserve" y="15" clip-path="url(#clipPath33)" stroke="none"
      >Средства языка</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(861,481)" stroke="rgb(104,0,0)"
    ><line y2="60" fill="none" x1="240" clip-path="url(#clipPath34)" x2="263" y1="60"
    /></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(911,531)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath35)" fill="none" width="190" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(911,531)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath35)" stroke="none"
      >Средства структуризации кода</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(1124,531)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath37)" fill="none" width="105" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(1124,531)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath37)" stroke="none"
      >Подпрограммы</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(736,205)" stroke="rgb(104,0,0)"
    ><line y2="60" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="83" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="106" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="129" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="152" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="175" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="198" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="221" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="244" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="267" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="290" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
      /><line y2="313" fill="none" x1="134" clip-path="url(#clipPath38)" x2="155" y1="186"
    /></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,381)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath39)" fill="none" width="84" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,381)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath39)" stroke="none"
      >Библиотеки</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,508)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath41)" fill="none" width="145" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,508)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath41)" stroke="none"
      >Электронные подписи</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,485)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath43)" fill="none" width="172" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,485)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath43)" stroke="none"
      >Форматы обмена данными</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,462)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath45)" fill="none" width="55" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,462)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath45)" stroke="none"
      >Файлы</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,439)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath47)" fill="none" width="57" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,439)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath47)" stroke="none"
      >Строки</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,416)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath49)" fill="none" width="44" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,416)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath49)" stroke="none"
      >Сети</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,393)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath51)" fill="none" width="153" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,393)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath51)" stroke="none"
      >Регулярные выражения</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,370)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath53)" fill="none" width="53" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,370)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath53)" stroke="none"
      >Медиа</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,347)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath55)" fill="none" width="183" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,347)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath55)" stroke="none"
      >Математические вычисления</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,324)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath57)" fill="none" width="240" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,324)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath57)" stroke="none"
      >Графический интерфейс пользователя</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,301)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath59)" fill="none" width="159" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,301)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath59)" stroke="none"
      >Графические примитивы</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,278)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath61)" fill="none" width="91" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,278)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath61)" stroke="none"
      >Базы данных</text
    ></g
    ><g fill="rgb(104,0,0)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(891,255)" stroke="rgb(104,0,0)"
    ><rect x="0" y="0" clip-path="url(#clipPath30)" fill="none" width="165" rx="5" ry="5" height="19"
    /></g
    ><g text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(891,255)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath30)" stroke="none"
      >Абстрактные типы данных</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-size="11" font-family="&apos;Tahoma&apos;" transform="translate(584,-48)" stroke="rgb(17,17,17)"
    ><line y2="60" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="83" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="106" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="129" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="152" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="233" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="256" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
      /><line y2="279" fill="none" x1="181" clip-path="url(#clipPath62)" x2="202" y1="140"
    /></g
    ><g fill="white" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(634,74)" stroke="white"
    ><rect x="0" y="0" clip-path="url(#clipPath63)" width="131" rx="5" ry="5" height="35" stroke="none"
      /><rect x="0" y="0" clip-path="url(#clipPath63)" fill="none" width="131" rx="5" ry="5" height="35" stroke="black"
    /></g
    ><g text-rendering="optimizeSpeed" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(634,74)"
    ><image x="9" y="10" clip-path="url(#clipPath63)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACoklEQVR42o2S70uT
URTHz31+2JyTkUNSMa2lKQWtiHqlLxZR/QMbiCBBuWWTKFrMBHFSUC/qhVD4A0Rq
hjARDKwsCB+C9sJ+obURVEYvzLac2+rZD7c9z+3clTC1sAuHe+HwOed8z/0S2OS4
3W6uu7ubEkLoKYBHZkKOK5SmswDic4Ak2YRnecpum0532yHLrbX4jgBwP/DuxRy3
GWyz2cSzGo3nkiy37UMwhrGEiW8Yyr8KsLEZ7HQ6izQez3hHKtVsJCSzgEWDGAjT
RQyUkd0gwWKx8GNjY4rD4TBoh4a8zlTqiAHhr5QKYYRDCGIRijLoDAC/ZgKv15uD
Wxoaqgz9/VOXEd6KXRi89Ls7sM7LAGoAYZzoDlmvucVk2l0/O3u/nZD6AkozCOXg
1c5RQpR3lIofCwtvSsmkk8+Hu5qbD1XGfk62xeVdxakU07wGjuFXzuE081rtNYRd
AwMDIkcpzcHDw8Oaky7XiNXrqfLZWzMv9XoxzBGy+GdhEY5TZynl53U693Qi0ck4
u92e4dEgBZIkKU1NTSeMNTvbM7GwkiwzCL7SUhJ/5qMrCC8xWFWFL1ptlxSPX2G/
ZDabmT+A8/v9CntUVVacXpGj8D0UBINAoHLHNvrQWK1+xgJvEQ6bTB1SInGVLRoL
qKuL4wOBANwaHNxbW1dzPRUJCdl0kgSDi7RcX6Ro64zCyGOJKz54+OLEm9c3GGy1
WpX8n8st8ZhO1wkf3jeI1dvTNJ3gILvCv5oL8HfvjX/SG2udD17M9DF/9PT0KOt9
I5xvbCyH0dGjftx2hbZAEykUYWLyiS+pCIPVew6Moy9kphlD+avfu0pKerdEo+dC
qhpeLi+TFkz7+6anpp7m2zpf84bjApi+AHDGbbHo8h3JRob/OL8AdBdD40lwPYcA
AAAASUVORK5CYII=" height="16" preserveAspectRatio="none"
      /><text text-rendering="geometricPrecision" x="29" xml:space="preserve" y="15" clip-path="url(#clipPath63)" stroke="none"
      >Инструментарий</text
      ><text text-rendering="geometricPrecision" x="29" xml:space="preserve" y="31" clip-path="url(#clipPath63)" stroke="none"
      >и утилиты</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,221)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath65)" fill="none" width="83" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,221)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath65)" stroke="none"
      >Транслятор</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,198)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath67)" fill="none" width="132" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,198)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath67)" stroke="none"
      >Текстовый редактор</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,175)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath6)" fill="none" width="122" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,175)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath6)" stroke="none"
      >Среда разработки</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,94)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath69)" fill="none" width="109" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,94)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath69)" stroke="none"
      >Система сборки</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,71)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath71)" fill="none" width="136" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,71)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath71)" stroke="none"
      >Прочие инструменты</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,48)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath65)" fill="none" width="83" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,48)" stroke="rgb(17,17,17)"
    ><text x="9" xml:space="preserve" y="15" clip-path="url(#clipPath65)" stroke="none"
      >Профайлер</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,25)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath73)" fill="none" width="70" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,25)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath73)" stroke="none"
      >Отладчик</text
    ></g
    ><g fill="rgb(17,17,17)" text-rendering="optimizeSpeed" font-family="sans-serif" transform="translate(786,2)" stroke="rgb(17,17,17)"
    ><rect x="0" y="0" clip-path="url(#clipPath75)" fill="none" width="92" rx="5" ry="5" height="19"
    /></g
    ><g fill="rgb(17,17,17)" text-rendering="geometricPrecision" shape-rendering="crispEdges" font-family="sans-serif" transform="translate(786,2)" stroke="rgb(17,17,17)"
    ><text x="8" xml:space="preserve" y="15" clip-path="url(#clipPath75)" stroke="none"
      >Оптимизатор</text
    ></g
  ></g
></svg
>
[/html]

В ней каждый квадратик можно снабдить и картинками и ссылками, а также исполнением определённого скрипта. Каждую группу в ней можно свернуть/развернуть.
- А эту картинку может отредактировать каждый вот по этой ссылке, сохранить в формате .png и после выложить сюда:
https://cacoo.com/diagrams/SBDARvPlWQHKaxSL-19BC9.png

0

15

За нас уже помаленьку думают. Те же янки. Только не бесплатно. Русский язык даже внедряют, но увы - порциями... А удобства - да, удобства-то есть, даже применять хочется. Эксперимент - под катом;

Спецификация-менюшка

На данный момент это - кнопки-ссылки. (смотря что в них вписать)...
[html]<iframe frameborder="0" style="width:90%;height:500px;" src="https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%20%D0%B4%D1%80%D0%B0%D0%B2%D0%B0.html#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1xLwEx-klan1rZKNkSw5MEMnxxn4gnmy-%26export%3Ddownload"></iframe>[/html]

0

16

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

0


Вы здесь » Русскоязычное программирование » предлагаемые стандарты » Инфраструктура средств разработки и языков программирования