[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 25 | 2 | 14
Назад Вниз Каталог Обновить

Самое высокоуровневое программирование. Теория интерпретатора. Аноним # OP  20/05/16 Птн 20:26:14  748665  
14637651745200.png (589Кб, 900x598)
Во-первых о визуальном и текстовом подходах:
У обоих подходов есть плюсы и минусы, поэтому должна быть возможность пользоваться и тем, и другим.
Например, справа от консоли/поля ввода можно отображать (вертикальный) список всех доступных команд, или операндов, предоставляя возможность курсором выбрать нужную, а при начале ввода команды отображать список команд, начинающихся с введённого текста, с возможностью выбрать нужную команду стрелками вверх/вниз.
Стоит отметить, что при наличии списка всех доступных команд можно не учить язык вовсе, а при нарушении правил формальной логики оповещать моментально.

К интерпретатору.
Под интерпретатором я подразумеваю переводчик+визуализатор кода.
Задачи интерпретатора:
1. Переводить человеческий на программный и обратно (http://pastebin.com/wmnkFq9Q).
2. Дополнять код.
2.1 объявлять не объявленные переменные.
3. Визуализировать код.
3.1 Выделять условия, блоки и т.д. рамками/фонами.
3.2 Возможность вставлять изображения, рисовать, прятать код в рисунки.
3.3 Возможность отображать части кода не последовательно.

Ваши идеи?
Аноним 20/05/16 Птн 20:32:35  748669
>>748665 (OP)
>(http://pastebin.com/wmnkFq9Q).
http://pastebin.com/wmnkFq9Q
Аноним 20/05/16 Птн 22:39:17  748778
>>2016
Печатать программы на клавиатуре.
Аноним 20/05/16 Птн 23:07:25  748791
>>748778
функции проще всего печатать на клавиатуре.
а интерфейс – ясно дело, создавать визуально,
Аноним 21/05/16 Суб 06:14:38  748980
Когда ты немого покодишь, "научишься программировать", то быстро понимаешь, что крутить мышкой, искать блоки, тягать их туда-сюда и рисовать стрелочки - это слишком медленно и раздражает. Погугли scratch (визуальный язык/конструтор от мит), и напиши на нём что-нибудь относительно немаленькое, вроде платформера с врагами, возможностью стрелять, прыгать и подбирать предметы. Ты взвоешь уже через десять минут.
Аноним 21/05/16 Суб 10:19:08  749049
>>748980
Он вообще не об этом.
Аноним 21/05/16 Суб 10:27:15  749052
>Например, справа от консоли/поля ввода можно отображать (вертикальный) список всех доступных команд,
Чем это лучше автодополнения?

>Переводить человеческий на программный и обратно
Программный и есть человеческий. Машинам, внезапно, удобнее машинный код.

>3.2 Возможность вставлять изображения, рисовать, прятать код в рисунки.

Ты придумал ipython notebook.
Аноним 21/05/16 Суб 11:43:46  749081
>>748980
не понял в чём ты подразумеваешь разницу между "крутить мышкой, искать блоки, тягать их туда-сюда" в обычном текстовом редакторе и тем же в среде программирования из моей идеи.
рисовать стрелочки – это просто удобство для визуального представления, которым необязательно пользоваться.
Аноним 21/05/16 Суб 11:55:09  749095
>>749049
А, по-моему, об этом. Только ещё существующее хрен знает сколько лет автодополнение прикрутил.
Аноним 21/05/16 Суб 11:56:09  749096
>>749052
>Чем это лучше автодополнения?
>Стоит отметить, что при наличии списка всех доступных команд можно не учить язык вовсе
можно вообще работать исключительно курсором.
>>749052
>Программный и есть человеческий.
Программные не дотягивают до человеческого, взять хотя бы обязательность наличия скобок, или "==" вместо "=", посмотри ссылку >>748669
>>749052
>Ты придумал ipython notebook
догадываюсь, что это для python, а не для любого языка. И придумал я больше, чем возможность работать с картинками.
Аноним 21/05/16 Суб 11:59:43  749100
>>749095
как можно не отличать простое автодополнение от списка всех возможностей…
возможности это то, в чём смысл программирования вообще.
Аноним 21/05/16 Суб 13:40:17  749214
А это не тот же ОП?
>> 744461
Аноним 21/05/16 Суб 13:41:56  749216
>>749214
Бля обосрался
>>744461 (OP)
Аноним 21/05/16 Суб 13:43:49  749217
>>749214
Нет.
Тот о визуализации онли, а я о программировании на человеческом.
Аноним 21/05/16 Суб 13:55:29  749242
>>749217
Ну, может ты передумал
Аноним 21/05/16 Суб 13:56:58  749244
>>749242
Визуализация это очевидно нужная вещь, но это дополнение к программированию, а не её основание.
Аноним 21/05/16 Суб 18:46:20  749543
Самое годное что ты заметил, ОП, это отображение что можно сделать. Когда я нахожусь в определенном месте кода, должен возникать определенный контекст, и от него зависит что конкретно я могу добавить. Конечно можно кататься еблом по клавиатуре, но количество корректных кубиков ввода ограничено. В данном случае less is more.

То есть сбоку от кода должен возникать список корректных конструкций. Стандартные конструкции + контекстные. Стандартные разделяются на стейсменты и экспрешены, когда ты в контексте экспрешена стейтменты из окна контекста изчезают. Рядом с контекстными конструкциями есть хоткеи для их быстрого ввода.

Запретить печатать код напрямую, составлять вместо этого его из кубиков. Например, нужно создать сравнение. Сначала вставляем экспрешен "=", затем слева и справа от него появляются СЛОТЫ, в которые можно вставить выражения.
Аноним 21/05/16 Суб 19:00:12  749565
14638464125420.jpg (202Кб, 1696x2449)
Что не так в "человеческом языке". Твоя интерпретация и современный код несут примерно одну и ту же плотность информации. Более того - ты заменил одно слово несколькими, размазав информацию еще больше. Простая замена слов не облегчит восприятия кода. Более того - конструкция for выделяется из остального кода и можно сразу ее выделить просто при скроллинге.

Я думал над этим и пришел к выводу что лучше заменить стандартные конструкции иконками. Картинки несут еще большую плотность информации чем слова и можно стандартизировать иконки точно так же как и дорожные знаки. Конечно, это только затронет стандартные структуры, для остального нужно использовать именование. Вообще, имена это фундаментальная проблема программирования
http://stackoverflow.com/questions/421965/anyone-else-find-naming-classes-and-methods-one-of-the-most-difficult-part-in-pr
https://www.quora.com/Why-is-naming-things-hard-in-computer-science-and-how-can-it-can-be-made-easier
так как каждая программа создает отдельный чукотский диалект и программист должен держать в своей голове сотню языков ебаных туземцев.

Я думал над этим и пришел к выводу что мы фактически уперлись в ограничение письменного языка. Когда-то язык был самым важным изобретением человечества. Теперь он устарел, и нужно найти более эффективные способы выражать свою волю.
Аноним 21/05/16 Суб 20:01:04  749653
>>749565
>Простая замена слов не облегчит восприятия кода.
конечно облегчит, если код станет более человечно-читабельным.
>конструкция for выделяется из остального кода
а при замене слова "for" на "перебрать" не выделяется?
>>749565
>можно стандартизировать иконки
Любая стандартизация – ограничение свободы воли программистов.
Есть возможности hardware – пусть ОС предоставляет список всех доступных команд СОФТУ, а в софте (в т.ч. для создания программ) этот список команд должен отображаться уже как пользователям угодно, т.е. максимально индивидуально.
Вместо этого люди придумывают большое кол-во языков программирования… В то время как надо просто сделать своеобразный переводчик с пользовательскими словарями, в которые все смогут добавлять свои варианты, при этом можно собирать инфу о самых популярных вариантах.
Аноним 21/05/16 Суб 21:49:37  749766
таки в энтерпрайзе существуют всякие пеги, и вроде норм
Аноним 22/05/16 Вск 02:56:10  750016
>>749543
Проблема в том, что с твоей идеей с кубиками - мы получаем синтаксические дерево.
А у него пиздецки растут ветки лавинообразно, ну ты понел - сотни и тысячи стрелочек и линий.
Собсно, это почему я ненавижу блок-схемы - даже простейшую вещь сложно нарисовать - стрелки, фигуры и ответвления растут лавинообразно, пересекаются - и т д.

А код - он растет только по вертикали, в ширину же можно укладываться в 80 символов, что хорошо вписывается в формат бумажных листов и мониторов.
Аноним 22/05/16 Вск 10:07:50  750109
>>750016
потому любая визуализация должна быть лишь дополнением.
к примеру можно отображать в функциях кнопки перехода к тем местам кода, где она вызывается, по наведению на которую можно даже разворачивать ту часть кода (как с постами на дваче),
Аноним 22/05/16 Вск 11:37:23  750149
>>750109
Так это было еще в 95 году в каком-нибудь Source Insight. И где теперь этот Source Insight?
Аноним 22/05/16 Вск 11:41:16  750151
>>750149
удобства могли много где быть, а то, что среды программирования с удобствами стали неактуальными не умаляет сами удобства,
Аноним 22/05/16 Вск 12:42:50  750192
>>749096
>догадываюсь, что это для python,
Изначально да, а сейчас уже для чего угодно бэкэнды есть.
Аноним 22/05/16 Вск 12:47:42  750194
>>750192
так или иначе, возможности изображений – ерунда, по сравнению с меню возможностей и программированием на человеческом.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 25 | 2 | 14
Назад Вверх Каталог Обновить

Топ тредов