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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Оставить среднее
Автор Сообщение
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Эхх. Ну сколько можно мусолить эти стековые манипуляторы? Нет, ну честно, вот лично я уже устал читать про них на "каждом углу форума". Вот сколько лет эта тема уже обсуждается, а? Вообще, я не только про них. Тут есть еще несколько злободневных тем, которые при упоминании в какой-то теме вызывают прямо-таки безумную волну флейма. Причем совершенно однородного. Это типа такой троллинг? Или что? Вот лично я за эти годы троллинга обсуждения стековых манипуляторов увидел лишь один, ОДИН(!) полезный плюс в них - наглядная перестановка данных на стеке. Сколько лет прошло с их появления? Почему бы не развивать это направление? Или например сделать их более похожими на локальные переменные? Или еще что-нибудь? Фантазии не хватает? Я вообще их не использую. Не вижу более серьезных преимуществ. Как-то привык к формулировкам типа SWAP OVER DUP. Мне вполне хватает. Раскрутить пяток элементов на стеке этого вполне достаточно. Хотя, конечно не отказался бы от удобного и простого инструмента для управления стеком. В целом, стековые манипуляторы больше похожи на математическую формулу. Реализовывать в них ветвление, циклы и прочее - это уже лишнее. Ибо форт вполне легко и доступно все это позволяет выразить. Он же ведь для это был создан? Ведь так? Или нет? Куча символов намного понятнее обычного предложения на русском языке? Или может тогда сразу научиться мыслить в бинарной системе? А что, удобно - нужна клавиатура всего из двух кнопок. О, а ведь есть еще такая штука, как архитектура программы. Надеюсь об этом никто не забыл? Форт способен её выразить. Когда она есть конечно. А как её могут выразить стековые манипуляторы? А поток управления? Как они его могут выразить? Разве для этого они предназначены? Для чего они вообще созданы? Универсальный комбайн? Разве это соответствует "духу Форта"?
Вот раз и два. Всего лишь пара скромных примеров. Как бы несколько полных переработок, объем тем и их популярность сами за себя говорят.
А вообще, это все моё личное мнение. И меня совершенно не волнует кто и что об этом думает. Я не говорю, куда надо идти. Я просто подсказываю возможное направление. Одно из многих. А куда идёте Вы? ...
Сообщение Добавлено: Пн фев 13, 2012 00:31
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Alex писал(а):
вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже.

Существуют такие алгоритмы - интерпретаторы. Вот существуют, и все. Да, можно брать текст и раскладывать его по самым разным правилам на элементы. Кто ж с этим спорит? Можно придумывать языки с самыми разными свойствами. Это хорошо и правильно. Теперь берем конкретный язык - язык стековых манипуляторов. Компактно, пробелов нет, позволяет адресовывать элементы стека. При этом
Цитата:
он уже который год об этом талдычит

Можно вопрос - а зачем талдычит? Кто-то мешает использовать? Кто-то недодал библиотек, денег, последователей внимания? Для полноценного использования нужно, чтобы кто-то сказал "ах, как прекрасно!" и побежал все переделывать на манипуляторах?
Цитата:
ИМХО есть в его делах и словах правда, не растоптать бы.

А что растоптать? Проект не может быть реализован, или что? Требуются дополнительные программисты, инвестиции? Ведь нет этого всего, на манипуляторах написаны примеры. Человеку нравится. Да, непривычно, ну и что? По усилиям и результаты.
Сообщение Добавлено: Вс фев 12, 2012 23:19
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
рядышком я написал правильно, пример - 13<&1;t здесь ; означает exit. не хотел заострять,
понимая что это копипаст и случайно. вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже. ИМХО есть в его делах и словах правда, не растоптать бы. Есть отдельная тема по манипуляторам, если есть желание можно продолжить там.
Сообщение Добавлено: Вс фев 12, 2012 22:58
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Чтобы доказать, что стековые манипуляторы яйца выеденного не стоят, надо придумать задачу на "их территории" (однородный массив маленького фиксированного размера в стеке), решение которой окажется им не по силам.
Предлагаю описать на них алгоритм решающий (путем перебора, наверное) задачи о переправе ("волк-коза-капуста", "3туземца-3миссионера", "папа-2сына-мама-2дочки-мент-бандит"...).
Сообщение Добавлено: Вс фев 12, 2012 22:04
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Alex писал(а):
копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед
THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи?


А вот это кто писал?

Alex писал(а):
Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись


Выходит, стековые манипуляторы, с одной стороны, "одно и то же", а с другой - запись более привычными словами провоцирует ошибки... которые каким-то волшебным образом исчезают при использовании манипуляторов?
Сообщение Добавлено: Вс фев 12, 2012 21:47
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Цитата:
А это решение я привел только затем, чтобы можно было заметить, что там набран блок в две строки, а дальше он повторен копипастом еще 5 раз с заменой индексов и знаков сравнения.

копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед
THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи?
Сообщение Добавлено: Вс фев 12, 2012 21:29
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Alex писал(а):
есть уже такие попытки

Надо же, прелесть какая! :)

И это в то время, как ведется поиск способов сделать программу на Форте все более выразительной, пользуясь способностью создавать удобный синтаксис, позволяющий анализировать программу и непрограммисту.
Сообщение Добавлено: Вс фев 12, 2012 20:05
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
есть уже такие попытки :) - но мы же здравомыслящие люди, нам и небольшого количества символов хватит :)
Сообщение Добавлено: Вс фев 12, 2012 19:31
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Alex писал(а):
А человек может выбрать любую запись.

Еще сейчас бывают такие двумерные варианты штрих-кода - куча пикселов. Вот ими, ими надо программы оформлять! :)
Сообщение Добавлено: Вс фев 12, 2012 19:02
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Alex писал(а):
Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись.
Конгениально! Придумать для стека нотацию, уподобляющую его массиву, и с блеском доказать, что оно, действительно, похоже на массив!
Сообщение Добавлено: Вс фев 12, 2012 18:18
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Цитата:
Если еще вспомнить, что стек - не элемент поклонения, а рабочий инструмент, а данные все-таки чаще бывают в памяти...
Код:
: middle ( a b c -- middle | _ )  3\12>13<&i1;t12<13>&i1;t21>23<&i2;t23>21<&i2;t31>32<&i3;t31<32>&i3;t ;

CREATE DATA[] 3 CELLS ALLOT

: middle                                   
  DATA[] !                                       
  DATA[] 1 -TH !                                             
  DATA[] 2 -TH !______________________________________________3\                                 
                                                       
  DATA[] @ DATA[] 1 -TH @ >___________________________________12>
  DATA[] @ DATA[] 2 -TH @ < AND IF DATA[] @ THEN______________13<&i1;t

  DATA[] @ DATA[] 1 -TH @ <___________________________________12<
  DATA[] @ DATA[] 2 -TH @ > AND IF DATA[] @ THEN______________13>&i1;t
                                                             
  DATA[] 1 -TH @ DATA[] @ >___________________________________21>
  DATA[] 1 -TH @ DATA[] 2 -TH @ < AND IF DATA[] 1 -TH @ THEN__23<&i2;t

  DATA[] 1 -TH @ DATA[] @ <___________________________________21<
  DATA[] 1 -TH @ DATA[] 2 -TH @ > AND IF DATA[] 1 -TH @ THEN__23>&i2;t

  DATA[] 2 -TH @ DATA[] @ >___________________________________31>
  DATA[] 2 -TH @ DATA[] 1 -TH @ < AND IF DATA[] 2 -TH @ THEN__32<&i3;t

  DATA[] 2 -TH @ DATA[] @ <___________________________________31<
  DATA[] 2 -TH @ DATA[] 1 -TH @ > AND IF DATA[] 2 -TH @ THEN__32>&i3;t
;

2 3 4 middle .

Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись.
Сообщение Добавлено: Вс фев 12, 2012 18:08
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
gudleifr писал(а):
Маленькое замечание:
LESSER + GREATER + EQUAL = DATASIZE - 1,
и второе: после нахождения одного решения перебор можно прекращать,
и третье: сортировка все равно быстрее.

Сколько сразу полезных замечаний, как только текст стал выглядеть вменяемо! :))
Сообщение Добавлено: Вс фев 12, 2012 15:53
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Шутники...
Хищник писал(а):
Код:
VARIABLE LESSER
VARIABLE GREATER
VARIABLE EQUAL
3 CONSTANT DATASIZE
CREATE DATA[] 2 , 3 , 4 ,
...
Маленькое замечание:
LESSER + GREATER + EQUAL = DATASIZE - 1,
и второе: после нахождения одного решения перебор можно прекращать,
и третье: сортировка все равно быстрее.
Сообщение Добавлено: Вс фев 12, 2012 15:50
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
Хищник писал(а):
Эээ... в робота?


аха, пусть из клавиатуры информацию выбивает...
Ведь, как известно, вся информация находится в клавиатуре. Надо только уметь ее из клавиатуры выбивать...
Сообщение Добавлено: Вс фев 12, 2012 15:41
  Заголовок сообщения:  Re: Оставить среднее  Ответить с цитатой
gudleifr писал(а):
И куда теперь прикажете вставить манипуляторы?

Эээ... в робота? :)
Сообщение Добавлено: Вс фев 12, 2012 15:38

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


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