Gudleifr: Все сообщения за 30 Ноября 2019 года

 
ПнВтСрЧтПтСбВс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Gudleifr

опытный

с.т.> абстрагируйся от этого - есть программа, а есть то что её исполняет, для обучнения программированию второе неважно на начальном этапе.
Дык, это и есть самая большая проблема. Т.к. только для того, чтобы "второе было не важно" мы держим совершенного бездельника - "современного программиста". Единственное полезное свойство которого - эрудиция в мелочах ОС. А главное вредное - недопущение инженера до компьютера.

Допустим, тот же BASIC. Пишем простую реал-тайм игрушку.
- На Синклере - да, обычно, ОС - сам BASIC. Просто пишем, просто запускаем, просто сохраняем...
- Под DOS - уже сложнее. Нужно понимать, что такое файл и почему basic.exe - тоже файл. Нужно учить команды command.com или Нортона.
- Под Windows - еще сложнее. Нужно понять, в чем состоит "трехфиговое проклятье" - описание отдельно интерфейса "объекта", его функции и привязки последней к обработчику сообщений...
- Под чистым .NET приходится понять как можно всю эту "визуальность" сделать "руками".
- В VBA-, CGI- или HTML-программировании - свои заморочки...

Приведу описание этой программы "в кубиках" (из моих Записок):

В наличии два Пользователя - ПРОГРАММИСТ и ИГРОК.
ПРОГРАММИСТ лупит по клавишам, посылая ТЕКСТОВЫЕ Сообщения редактору-БЛОКНОТУ, которые тот в два новых - ПРОГРАММУ и СКРИПТ (второе - только для удобства).
СКРИПТ передается Интерпретатору ОПЕРАЦИОННОЙ СИСТЕМЫ, который организует вызов Компилятора БЕЙСИКА и запуск РЕЗУЛЬТАТА компиляции ПРОГРАММЫ на исполнение, ведя при этом простейший обмен Сообщениями о ГОТОВНОСТИ с ПРОГРАММИСТОМ. Загрузчик РЕЗУЛЬТАТА живет внутри ОПЕРАЦИОННОЙ СИСТЕМЫ.
РЕЗУЛЬТАТ-игра (Интерпретатор) обменивается ИГРОВЫМИ Сообщениями с ИГРОКОМ. На самом деле, все сложнее, т.к. РЕЗУЛЬТАТ, кроме скомпилированной ПРОГРАММЫ) включает в себя .NET-Интерпретатор и загрузчик ПРОМЕЖУТОЧНОГО РЕЗУЛЬТАТА.
Очевидные Семафоры-ОСТАНОВЫ (pause) включены в СКРИПТ для организации его диалога с ПРОГРАММИСТОМ и ожидания компиляции/исполнения.
Файловый канал ДИРЕКТОРИЙ, очевидно используется для зацикливания работы и сохранения ПРОГРАММЫ и СКРИПТА.
Таблиц много. Больше, чем перечисленных Сообщений. Например, для написания ПРОГРАММЫ нужны три - собственно, языка программирования, оо-конструкций .NET (все эти Public и Overrides) и операций с окошками .NET. Есть и менее очевидные, например, список файлов ДИРЕКТОРИЯ.
Конфликты и несуразности встречаются на каждом шагу. Антивирус, например, болезненно реагирует на передачу РЕЗУЛЬТАТА через ДИРЕКТОРИЙ, считая его вирусом из-за .NET-Интерпретатора, спрятанного внутри.

Возвращаясь к вариантам программы под разные ОС (от Синклера до HTML) можно видеть, что 1) кубику в одной примерно соответствует такой-же кубик (пусть даже вырожденный) в другой; и 2) кубики достаточно слабо связаны между собой, благодаря чему их можно заменить, при переходе от одной ОС к другой, не меняя "функциональности".

с.т.> он при помощи кубиков в результате должен написать АРМ ?
Он должен пройти по списку кубиков, нужных для программы и подобрать нужные для своей машины.
После чего он будет иметь среду, в которой сможет писать-запускать свою программу.

с.т.> ну кубике то в них одни и теже, если мы про программирование говорим.
Например,
- в языке C при несовпадении типов операндов происходит их очевидное преобразование.
- в языке C++ это преобразование может быть переопределено и сделано совершенно неочевидным.
- в языке Python можно связать преобразование даже просто с упоминанием имени операнда без "несовпадения с чем-то"...
Вы можете предложить блок-схему, в которой подобные финты могут быть описаны в виде пригодном для правки программистом?
(Конечно, это все Машина Тьюринга, но каковы ее размеры?)

Прошу, извинить и переспросить, если пропустил важный вопрос.

P.S. И, да, очевидно, что другой подход к программированию породит другие кубики. И посмотреть на них было бы интереснее, чем искать блох в моем подходе.
 70.070.0

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru