Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 14:39

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 12:23 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Навеяно компиляторами С++ ... Зацените (старт тут):

  • Сообщение компилятора "Ой... переменная объявлена, но не используется!"
  • Я не объявил конструктор класса, и компилятор молча подобрал свой

В плане "чистки" кода - это полнейший абсурд. Кричать о лишнем выделенном слове, и умолчать о неявном преобразовании! В "новом" языке считаю необходимым ввод механизма диалога "программист-компилятор/интерпретатор".

Буквально это должно означать следующее:

  1. Среда разработки сообщает номер и расшифровку неявного преобразования
  2. Программист, используя синтаксис языка имеет возможность "утвердить/подавить" сообщение о преобразовании
  3. В процессе модернизации среды разработки, среда может сигнализировать о неявном преобразовании другими "уточненными" сигналами
  4. После интерпретации/сборки среда разработки обязана составить журнал согласований для последующего анализа разработчиком

Ваше мнение?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 12:37 
Majestio писал(а):
...

Дейкстра:
Цитата:
Оправданием для нашего языка является его гибкость и необычно высокая степень определенности (недвусмысленности), достигаемая благодаря строго последовательной интерпретации и тому, что в программе есть явные указания о выполнении операций, которые обычно неявно подразумеваются (и поэтому часто понимаются превратно). Читатель может считать, что наша машина и язык задуманы для уяснения смысла алгоритмов.

Мур:
Цитата:
Допуская ввод, программа получает язык, позволяющий пользователю управлять ее работой. Естественно, это увеличивает гибкость программы...

Например:
Цитата:
Но он [пользователь] всяко лучше, чем ваша программа, знает, что делать в случае его ошибки. И, конечно, лучше вас решит, что является проблемой, а что - нет.

Т.е. программа не должна делать ничего, кроме того, что явно требует пользователь.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 12:56 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Гуд! 8)

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
Кстати ... это отчасти касается вот этого вопроса.

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:05 
Majestio писал(а):
это отчасти касается вот этого вопроса.
А заодно и недавнего вопроса о записи углов.
Мур:
Цитата:
Вам могут понадобиться и другие виды чисел:
45'6 = 45 футов 6 дюймов, целое число
1,000,000 - целое число
$45.69 - целое число.

Нельзя иметь форматы на все случаи жизни. Некоторые из них просто несовместимы:
3'9 = 3 фута 9 дюймов
12'30 = 12 минут 30 секунд угловой меры
12'30 = 12 минут 30 секунды, время
4'6 = 4 шиллинга 6 пенсов.

Т.е. вопрос в системе координат "A-F-P" решается очень просто, в рамках построения универсальной системы - не решается вовсе.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:15 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Majestio писал(а):
это отчасти касается вот этого вопроса.
А заодно и недавнего вопроса о записи углов.
Мур:
Цитата:
Вам могут понадобиться и другие виды чисел:
45'6 = 45 футов 6 дюймов, целое число
1,000,000 - целое число
$45.69 - целое число.

Нельзя иметь форматы на все случаи жизни. Некоторые из них просто несовместимы:
3'9 = 3 фута 9 дюймов
12'30 = 12 минут 30 секунд угловой меры
12'30 = 12 минут 30 секунды, время
4'6 = 4 шиллинга 6 пенсов.

Т.е. вопрос в системе координат "A-F-P" решается очень просто, в рамках построения универсальной системы - не решается вовсе.

Ну как не решается?! Решается...
Нужно всего лишь определить три понятия:

1) Алгоритм разбора
2) Явная спецификация (в случае наличия спецификатора)
3) Неявное преобразование (без спецификатора, но в случае наличия правила "по умолчанию" + уведомление разработчика!, это крайне важно!!!)

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:31 
Majestio писал(а):
Ну как не решается?! Решается...

Цитата:
Нельзя иметь форматы на все случаи жизни. Некоторые из них просто несовместимы...


Majestio писал(а):
Нужно всего лишь определить три понятия:

1) Алгоритм разбора
2) Явная спецификация (в случае наличия спецификатора)
3) Неявное преобразование (без спецификатора, но в случае наличия правила "по умолчанию" + уведомление разработчика!, это крайне важно!!!)

(1) и (2) явно описывается регулярными выражениями.
(3) - зачем!? Пользователь хочет ввести число (причем не "просто число", а данные для СВОЕЙ задачи). Почему он должен мириться с тем, что программисту НЕ НРАВИТСЯ его формат?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:42 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
(3) - зачем!? Пользователь хочет ввести число (причем не "просто число", а данные для СВОЕЙ задачи). Почему он должен мириться с тем, что программисту НЕ НРАВИТСЯ его формат?

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

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:47 
Majestio писал(а):
Пользователя мы просто обязаны "обеспечить" форматом ввода и явной спецификацией.
Это не MS Excel, это Forth. Это пользователь нас должен обеспечить "явной спецификацией"...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 13:55 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Majestio писал(а):
Пользователя мы просто обязаны "обеспечить" форматом ввода и явной спецификацией.
Это не MS Excel, это Forth. Это пользователь нас должен обеспечить "явной спецификацией"...

Разницы нет. Даете пользователю ввести значение "Год рождения", извольте обеспечить:

1) Ввод целых чисел
2) Ввод неотрицательных чисел
3) Ввод чисел не более текущего года, не менее 150 лет (к примеру)

В поле спецификация "год рождения" прилагается.
Или я не так все понимаю?

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 14:00 
Majestio писал(а):
Даете пользователю ввести значение "Год рождения", извольте обеспечить...
Вот когда он Вас попросит об этом, тогда и будете обеспечивать...

В чем проблема? По Вашему Плану, у Вас будут Perl-Forth (в котором все сведется к правке регулярного выражения) и Perl-переводчик-в-Forth (который переведет распознавание этого регулярного выражения в команды процессора автоматически).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 14:18 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Majestio писал(а):
Даете пользователю ввести значение "Год рождения", извольте обеспечить...
Вот когда он Вас попросит об этом, тогда и будете обеспечивать...

Постановка вопроса принципиально не верная :D
Изначально UI должен давать пространство выбора. Но не в коем случае не выбирать из предложенного самим пользователем.
Иначе пользователь вместо числа "2" может ввести "Два", "Two", "Скорее всего больше или равно двум".

gudleifr писал(а):
В чем проблема? По Вашему Плану, у Вас будут Perl-Forth (в котором все сведется к правке регулярного выражения) и Perl-переводчик-в-Forth (который переведет распознавание этого регулярного выражения в команды процессора автоматически).

Не совсем так. Perl - лишь средство осознания Форт-идеологи, в дальнейшем (возможно) - средство мета-программирования (надстройки). В идеальном, вернее конечном, случае Perl'а не будет.

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 14:26 
Majestio писал(а):
Иначе пользователь вместо числа "2" может ввести "Два", "Two", "Скорее всего больше или равно двум".
А почему бы и нет? Его право. "Извольте обеспечить".
Majestio писал(а):
В идеальном, вернее конечном, случае Perl'а не будет.
Тогда находите бумажку, где был нарисован старый конечный автомат NUMBER, и быстренько его правите. Или правите Словарь/FIND, для понимания слов "скорее всего".


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 14:32 
Не в сети
Аватара пользователя

Зарегистрирован: Пт окт 15, 2010 14:29
Сообщения: 124
Благодарил (а): 68 раз.
Поблагодарили: 1 раз.
gudleifr писал(а):
Majestio писал(а):
Иначе пользователь вместо числа "2" может ввести "Два", "Two", "Скорее всего больше или равно двум".
А почему бы и нет? Его право. "Извольте обеспечить".


Для построения IA нам оооочень далеко. Посему рамки общения, пока, должен регламентировать Разработчик, не не Пользователь.

gudleifr писал(а):
Majestio писал(а):
В идеальном, вернее конечном, случае Perl'а не будет.
Тогда находите бумажку, где был нарисован старый конечный автомат NUMBER и быстренько его правите. Или правите Словарь/FIND, для понимания слов "скорее всего".


Все возможно, но Perl ... "умеет помогать" и это радует)

_________________
Мои программные ништякиhttps://majestio.info


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: µForth :: неоднозначности
СообщениеДобавлено: Вт май 28, 2013 14:34 
Majestio писал(а):
Посему рамки общения, пока, должен регламентировать Разработчик, не не Пользователь.
Мур:
Цитата:
Не пишите код, который может пригодиться когда-то в будущем. Не оставляйте заплаток для будущих расширений. Вещей, которые вы можете захотеть сделать, бесконечное множество; это означает, что каждая из них имеет нулевую вероятности осуществления. Если вам что-то понадобится позже, вы это и запрограммируете позже - и, вероятно, лучше, чем сделали бы это теперь. И если кто-нибудь будет расширять вашу программу, он заметит оставленные вами для этого заплатки? Все ли из них вы аккуратно задокументируете?

Majestio писал(а):
Perl ... "умеет помогать" и это радует
А я не так писал?


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB