Передовица » Software » Текст » Диалект

Диалект

Скачать архив с диском. АГАТ-9. НГМД 840.

Автор: Вадим Игоревич Шахнович. Москва 1991 год.
ИТО НМЦ АГАТ & Школа 231

Учебно-производственный текстовый редактор. Обеспечивает набор и редактирование текста в естественном виде, работу с двумя наборами шрифтов и создание новых типов шрифта, совместим с другими текстовыми редакторами.

Вадим Шахнович:

Расскажу про то, как Диалект появился. Я изучал документацию на Агат и нашёл там упоминание об известной ошибке процессора. Она вместо того, чтобы останавливаться на границе байта, при организации циклов, перескакивала снова на ноль и, таким образом, зацикливалась. Доки предлагали учитывать это при программировании. Я решил попробовать, как это работает, а поскольку параллельно тогда изучал работу видеопамяти, написал цикл, который выводил квадратик 8х8 в видеопамять. Один байт - одна строка, всего 8 байт = 8 строк. Получилось забавно. Я подумал, что так можно всю страницу текстом заполнить, причём любым. А поскольку у нас остро стояла проблема хорошей визуализации текстов, так, чтобы на печати было ровно то, что на экране, а не как Агату вздумается, я начал работу над своим редактором. И тут мне сказали, что в каникулы надо провести курсы для учителей-агатчиков Москвы. Каким-то способом мы их спросили, на какую тему им интересны будут курсы? Самые продвинутые захотели про ассемблер. Я взялся - фигли нам, кабанам? ;) Короче, для десятка учителей такой курс был на ходу сочинен и прочитан. Я им сказал, что проще всего осваивать новый язык на примере конкретной задачи (Бейсик все уже знали). И в качестве варианта предложил задачку про формирование своих символов на экране. Готовясь в очередной лекции, писал дома программу с условным названием "Знакогенератор" - она потом вошла в Диалект как его часть. Ну, та, которая визуально знаки на экране даёт рисовать. На лекции рассказывал логику принятия решений по алгоритму, попутно затрагивая особенности и процессора, и памяти, и системы команд - комплексно получилось, и очень живенько. Всем понравилось, были в восторге. Постскриптум: лет через десять после этого мне понадобилось подтвердить свою учительскую квалификацию (высшую) - повышение зарплаты, все дела. Пошёл в РОНО к методисту, типа, что надо сделать для этого? Ну, тетка там какая-то меня встречает: я ее первый раз в жизни вижу. Лет на 10 меня старше. А она ко мне чуть ли не с объятиями лезет: "Вадим Игорич, дорогой, я Ваша ученица?..." Я прям обомлел: как так? И тут она мне про тот курс ассемблера рассказывает :) Короче, высшую квалификацию я получил без сучка и без задоринки :) Считай, по блату.

При решении задачи о выводе произвольных символов на экран быстро выяснилось, что все работает, но обновление экрана с таким текстом занимает что-то типа нескольких секунд времени (непозволительно медленно при перелистывании страниц). Я занялся оптимизацией основного цикла своего знакогенератора. Потратил кучу времени: выписывал, сколько тактов работает каждая команда, суммировал, менял алгоритм, снова суммировал. Перебрал штук десять вариантов, пока, наконец, не доказал сам себе, что очередной вариант - самый короткий (быстрый). И очень гордился этим доказательством. Ну и в школе перед коллегами похвастался, конечно. А тут рядом - Лёва наш, Мельниковский. Он хоть и девятиклассником был - мы его за своего принимали, поскольку программист он был крутой (см. тут про компилятор Си для Агата). Лёва мне и заявляет: "Фигня все это, я быстрее напишу!" Ну мне прикольно, я же себе уже доказал, что быстрее нельзя! Говорю ему: "Мой цикл работает 35 тактов!" (точное число не помню, конечно). Он говорит, что сделает быстрее, типа, поспорим? Ну, поспорили - буквально - на три щелбана :) Учитель с учеником, прилюдно (при своих, правда). Он, бедолага, примерно неделю парился, пока не пришёл, и не сказал, что у него даже 35 не получается. И как, типа, у Вас это получилось, В.И.? Ну, получил свои три щелбана, конечно :) а потом - рассказ про ошибку процессора. А все почему? Потому что меня ещё в детстве отец научил, что "из двух спорящих один всегда дурак, а другой - подлец" :))) А дураком я себя никогда не хотел ощущать. Вторым, правда, тоже. Поэтому с учениками больше потом не спорил - нехорошо это. А историю им при случае всегда рассказывал.

Фирменная брошюра к диску ДИАЛЕКТ.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *