Клавишные алгоритмы,- новая технология программирования
От: bondpant  
Дата: 23.09.13 12:04
Оценка:
Я написал программу Иерархический Блокнот от 13.01.2010 (в дальнейшем,- Блокнот). Ее можно использовать для создания и чтения электронных книг, можно использовать в качестве блокнота, дневника, редактора HTML и для много чего другого.

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

Содержит оригинальный язык программирования. Команды этого языка,- комбинации клавиш. Все клавишные команды, используемые для чтения и редактирования файлов могут быть как изданы с клавиатуры, так и запомнены в программах (алгоритмах). При вводе команд в алгоритмы они могут одновременно выполняться (как "макрокоманды"). Названия запомненных команд совпадают с названиями комбинаций клавиш, поэтому если освоена диалоговая работа, то нужно только изучить небольшое количество команд для управления алгоритмами и можно программировать.

Клавишный язык программирования Блокнота несложен, доступен даже школьникам. Упомянутая ниже электронная книжка "Все очень просто от 8.2013" содержит "визуальную реализацию" трех вариантов машины Тьюринга (табличную, ассемблерную и структурную), написанные на клавишных алгоритмах. Вполне возможно, например, вместо "непонятных квиточков" с начислениями и удержаниями при выдаче заработной платы передача на компьютеры пользователей алгоритмов (в терминологии Блокнота,- транзакцию) начисления заработной платы. И если работнику что- то непонятно, за что его наградили или оштрафовали, он может сам выполнить эту транзакцию по шагам (внизу,- калькулятор с вычислениями, вверху,- комментарии, Ctrl+Enter- шаг вычислений). Блокнот содержит удобный калькулятор с научными функциями, который используется как "АЛУ" в клавишных алгоритмах.

Архив программы называется VSE_OCHEN_PROSTO_OT_8_2013.EXE, в нем кроме программы есть книжка автора "Все очень просто от 8.2013", в которой описываются некоторые инновационные технические решения, касающиеся программирования. В частности, описывается новый формат данных ФФ (Формат Флекс),- "бинарный XML". Доступ к данным этого формата может быть осуществлен поиском строк непосредственно в файлах данных ФФ (без предварительной трансляции, как это имеет место с XML).

Программу и книгу можно бесплатно скачать с адреса http://hinote.ucoz.ru , там же можно подробнее почитать о концепции алгоритмического программирования.
Re: Клавишные алгоритмы,- новая технология программирования
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 23.09.13 12:07
Оценка: +1
Судя по описанию, вы изобрели emacs.
Ce n'est que pour vous dire ce que je vous dis.
Re: Клавишные алгоритмы,- новая технология программирования
От: 0x7be СССР  
Дата: 23.09.13 12:10
Оценка:
Здравствуйте, bondpant, Вы писали:

B>Содержит оригинальный язык программирования. Команды этого языка,- комбинации клавиш. Все клавишные команды, используемые для чтения и редактирования файлов могут быть как изданы с клавиатуры, так и запомнены в программах (алгоритмах). При вводе команд в алгоритмы они могут одновременно выполняться (как "макрокоманды"). Названия запомненных команд совпадают с названиями комбинаций клавиш, поэтому если освоена диалоговая работа, то нужно только изучить небольшое количество команд для управления алгоритмами и можно программировать.

Можешь в двух словах сравнить твой подход с обычными макросами? В чем преимущество твоего подхода?
Re[2]: Клавишные алгоритмы,- новая технология программирования
От: monax  
Дата: 23.09.13 12:53
Оценка: +1
Здравствуйте, Don Reba, Вы писали:

DR>Судя по описанию, вы изобрели emacs.


или vim, с его нормальным режимом.
Re[3]: Клавишные алгоритмы,- новая технология программирования
От: bondpant  
Дата: 23.09.13 23:41
Оценка:
Макрокоманды (например, редактора vim) не могут быть циклическими и условными. Поэтому они не позволяют полноценно программировать. В Блокноте же они таковыми могут быть. Кроме того, макрокоманды вводятся, в частности, мышкой что очень затрудняет программирование. В Блокноте же все можно сделать с клавиатуры. Мышка используется, но только для основных команд навигации. Все можно сделать клавиатурой и названия команд совпадают с названиями клавиш. Например, вместо load пишется команда F6 O (F6- команды навигации, O- открыть файл).
Re[4]: Клавишные алгоритмы,- новая технология программирования
От: мыщъх США http://nezumi-lab.org
Дата: 24.09.13 00:41
Оценка:
Здравствуйте, bondpant, Вы писали:

B>Макрокоманды (например, редактора vim) не могут быть циклическими и условными.

получи фашист гранату

условие
:echo i > 5 ? "i is big" : "i is small"

цикл
:let i = 1
:while i < 5
: echo "count is" i
: let i += 1
:endwhile

B>Все можно сделать клавиатурой и названия команд совпадают с названиями клавиш.

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

B> Например, вместо load пишется команда F6 O (F6- команды навигации, O- открыть файл).

и как это программировать? если я захочу перееопределить Ф6 на что-то свое? почему Ф6 О лучше чем load?
где ловить ошибку открытия файла и как ее обрабатывать? а если я хочу запустить скрипт так, чтобы файл загружался, но редактор не отображался?

кстати, новый язык изобретать смысла нет. лучше поддержать интеграцию с питоном. вот только пользоваться макроязыком будут единицы. и это признак того, что редактор плохо продуман -- не умеет делать из коробки то что нужно.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: Клавишные алгоритмы,- новая технология программирования
От: dilmah США  
Дата: 24.09.13 00:50
Оценка:
B>>Макрокоманды (например, редактора vim) не могут быть циклическими и условными.
М>получи фашист гранату

так более того, vi(m) интегрирован в UNIX шелл; скажем он может буфер через любой скрипт прогнать.
Re[6]: Клавишные алгоритмы,- новая технология программирования
От: мыщъх США http://nezumi-lab.org
Дата: 24.09.13 00:56
Оценка:
Здравствуйте, dilmah, Вы писали:

B>>>Макрокоманды (например, редактора vim) не могут быть циклическими и условными.

М>>получи фашист гранату

D>так более того, vi(m) интегрирован в UNIX шелл; скажем он может буфер через любой скрипт прогнать.

виндовый ворд, кстати, тоже. например, я так документы офисом конвертирую -- из скрипта на бацике. там только один подводный камень. при вылетах офиса -- скрипт зависает , т.к. появляется диалоговый экран. приходится отдельно писать демона который отслеживает его появление и жмем на пимпочку.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[7]: Клавишные алгоритмы,- новая технология программирования
От: Plague Россия 177230800
Дата: 24.09.13 06:05
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, dilmah, Вы писали:


B>>>>Макрокоманды (например, редактора vim) не могут быть циклическими и условными.

М>>>получи фашист гранату

D>>так более того, vi(m) интегрирован в UNIX шелл; скажем он может буфер через любой скрипт прогнать.

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

О! У меня та же проблема, а можно поподробнее про демона? )
Re[2]: Клавишные алгоритмы,- новая технология программирования
От: Кодт Россия  
Дата: 30.09.13 14:09
Оценка: :)
Здравствуйте, Don Reba, Вы писали:

DR>Судя по описанию, вы изобрели emacs.


Вот так всегда, изобретёт человек что-нибудь, а тут или C-x M-c M-butterfly, или вообще стихи Пушкин украл.
Перекуём баги на фичи!
Re[3]: Клавишные алгоритмы,- новая технология программирования
От: bondpant  
Дата: 02.10.13 23:53
Оценка:
В конце текста http://hinote.ucoz.ru есть следующие два абзаца, которые отвечают на некоторые вопросы, затронутые в обсуждении:
Обычно есть два способа ввода макрокоманд. Первый: ввод команд с непосредственным выполнением и одновременным запоминанием в текстовом файле. При этом может использоваться не только клавиатура, но и мышка. При таком вводе невозможно редактирование,- макрокоманда вводится однократно. Такой способ часто используется в качестве "справки",- какой текст будет введен при издании той или иной команды для второго способа ввода макрокоманд,- с помощью текстового редактора. В Блокноте такая справка не нужна. Названия всех команд совпадают с названиями клавиш для их издания (например, вместо load пишется F6 O,- F6- команды навигации O- открыть файл). Вообще говоря, макрокомандой логично было бы называть только текст, введенный первым способом (запоминание с одновременным выполнением). Если же используется текстовый редактор, то это уже не макрокоманда а скрипт.

В Блокноте алгоритмы не запоминаются в виде плоского текста и при вводе команд с запоминанием и одновременным выполнением тут же можно редактировать алгоритм (он отображается справа в виде столбца комбинаций клавиш). И другого способа редактирования алгоритмов нет. И еще одно отличие,- алгоритмы не имеют "своих собственных данных", как, например, переменные скриптовых языков макрокоманд. Все переменные, с которыми работают алгоритмы непосредственно видимы,- это так называемые "атомы", которые присутствуют в основном тексте файла Блокнота (могут содержать числа, даты, строки), 20 строк "редактора строки" (он используется для самых различных нужд, когда нужно ввести строку текста, для удобства можно выбрать одну из уже введенных 20 строк) и 26 (по количеству латинских букв) регистров калькулятора (могут содержать даты). Иерархическая организация текстов делает такое программирование возможным. Что такое иерархическая организация текстов кратко описано в тексте http://hinote.ucoz.ru этого нет ни в одном текстовом редакторе.
Re[3]: Клавишные алгоритмы,- новая технология программирования
От: bondpant  
Дата: 03.10.13 00:03
Оценка:
В конце текста http://hinote.ucoz.ru есть два абзаца, в которых есть ответы на некоторые вопросы, затронутые в обсуждении. Иерархической организации текстов нет ни в одном текстовом редакторе. Что это такое кратко описано в тексте http://hinote.ucoz.ru
Re[4]: Клавишные алгоритмы,- новая технология программирования
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 03.10.13 00:22
Оценка:
Здравствуйте, bondpant, Вы писали:

B>В конце текста http://hinote.ucoz.ru есть два абзаца, в которых есть ответы на некоторые вопросы, затронутые в обсуждении. Иерархической организации текстов нет ни в одном текстовом редакторе. Что это такое кратко описано в тексте http://hinote.ucoz.ru


Пять параграфов о том, какая эта организация замечательная, и ни слова о том, что она, собственно, из себя представляет. Самое близкое к какой либо конкретике это:

При любых манипуляциях Блокнота с его файлом правильность иерархической структуры текстов файла автоматически сохраняется.


Что это означает и зачем это нужно остаётся за кадром.
Ce n'est que pour vous dire ce que je vous dis.
Re[4]: Клавишные алгоритмы,- новая технология программирования
От: LaptevVV Россия  
Дата: 03.10.13 00:26
Оценка:
Здравствуйте, bondpant, Вы писали:

B>В конце текста http://hinote.ucoz.ru есть два абзаца, в которых есть ответы на некоторые вопросы, затронутые в обсуждении. Иерархической организации текстов нет ни в одном текстовом редакторе. Что это такое кратко описано в тексте http://hinote.ucoz.ru

А режим Структура в ворде — разве это не иерархическая организация текста?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Клавишные алгоритмы,- новая технология программирования
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 03.10.13 00:29
Оценка: +1
Здравствуйте, bondpant, Вы писали:

B>Обычно есть два способа ввода макрокоманд. Первый: ввод команд с непосредственным выполнением и одновременным запоминанием в текстовом файле. При этом может использоваться не только клавиатура, но и мышка. При таком вводе невозможно редактирование,- макрокоманда вводится однократно.


Вообще-то, в Виме, с которым проводится сравнение, макрос записывается в буфер и элементарно редактируется.

B>Такой способ часто используется в качестве "справки",- какой текст будет введен при издании той или иной команды для второго способа ввода макрокоманд,- с помощью текстового редактора.


Советую таки ознакомится с макросами и скриптами в Виме, либо убрать это слово из описания.

B>В Блокноте такая справка не нужна. Названия всех команд совпадают с названиями клавиш для их издания (например, вместо load пишется F6 O,- F6- команды навигации O- открыть файл).


Я правильно понимаю, что для команд нужно переключаться на русскую раскладку? Код то пишется на английском.
Ce n'est que pour vous dire ce que je vous dis.
Re: Клавишные алгоритмы,- новая технология программирования
От: wildwind Россия  
Дата: 03.10.13 09:42
Оценка:
Здравствуйте, bondpant, Вы писали:

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