Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Эхх. Ну сколько можно мусолить эти стековые манипуляторы? Нет, ну честно, вот лично я уже устал читать про них на "каждом углу форума". Вот сколько лет эта тема уже обсуждается, а? Вообще, я не только про них. Тут есть еще несколько злободневных тем, которые при упоминании в какой-то теме вызывают прямо-таки безумную волну флейма. Причем совершенно однородного. Это типа такой троллинг? Или что? Вот лично я за эти годы троллинга обсуждения стековых манипуляторов увидел лишь один, ОДИН(!) полезный плюс в них - наглядная перестановка данных на стеке. Сколько лет прошло с их появления? Почему бы не развивать это направление? Или например сделать их более похожими на локальные переменные? Или еще что-нибудь? Фантазии не хватает? Я вообще их не использую. Не вижу более серьезных преимуществ. Как-то привык к формулировкам типа SWAP OVER DUP. Мне вполне хватает. Раскрутить пяток элементов на стеке этого вполне достаточно. Хотя, конечно не отказался бы от удобного и простого инструмента для управления стеком. В целом, стековые манипуляторы больше похожи на математическую формулу. Реализовывать в них ветвление, циклы и прочее - это уже лишнее. Ибо форт вполне легко и доступно все это позволяет выразить. Он же ведь для это был создан? Ведь так? Или нет? Куча символов намного понятнее обычного предложения на русском языке? Или может тогда сразу научиться мыслить в бинарной системе? А что, удобно - нужна клавиатура всего из двух кнопок. О, а ведь есть еще такая штука, как архитектура программы. Надеюсь об этом никто не забыл? Форт способен её выразить. Когда она есть конечно. А как её могут выразить стековые манипуляторы? А поток управления? Как они его могут выразить? Разве для этого они предназначены? Для чего они вообще созданы? Универсальный комбайн? Разве это соответствует "духу Форта"? Вот раз и два. Всего лишь пара скромных примеров. Как бы несколько полных переработок, объем тем и их популярность сами за себя говорят. А вообще, это все моё личное мнение. И меня совершенно не волнует кто и что об этом думает. Я не говорю, куда надо идти. Я просто подсказываю возможное направление. Одно из многих. А куда идёте Вы? ...
Эхх. Ну сколько можно мусолить эти стековые манипуляторы? Нет, ну честно, вот лично я уже устал читать про них на "каждом углу форума". Вот сколько лет эта тема уже обсуждается, а? Вообще, я не только про них. Тут есть еще несколько злободневных тем, которые при упоминании в какой-то теме вызывают прямо-таки безумную волну флейма. Причем совершенно однородного. Это типа такой троллинг? Или что? Вот лично я за эти годы [s]троллинга[/s] обсуждения стековых манипуляторов увидел лишь один, [b]ОДИН[/b](!) полезный плюс в них - наглядная перестановка данных на стеке. Сколько лет прошло с их появления? Почему бы не развивать это направление? Или например сделать их более похожими на локальные переменные? Или еще что-нибудь? Фантазии не хватает? Я вообще их не использую. Не вижу более серьезных преимуществ. Как-то привык к формулировкам типа SWAP OVER DUP. Мне вполне хватает. Раскрутить пяток элементов на стеке этого вполне достаточно. Хотя, конечно не отказался бы от удобного и простого инструмента для управления стеком. В целом, стековые манипуляторы больше похожи на математическую формулу. Реализовывать в них ветвление, циклы и прочее - это уже лишнее. Ибо форт вполне легко и доступно все это позволяет выразить. Он же ведь для это был создан? Ведь так? Или нет? Куча символов намного понятнее обычного предложения на русском языке? Или может тогда сразу научиться мыслить в бинарной системе? А что, удобно - нужна клавиатура всего из двух кнопок. О, а ведь есть еще такая штука, как архитектура программы. Надеюсь об этом никто не забыл? Форт способен её выразить. Когда она есть конечно. А как её могут выразить стековые манипуляторы? А поток управления? Как они его могут выразить? Разве для этого они предназначены? Для чего они вообще созданы? Универсальный комбайн? Разве это соответствует "духу Форта"? Вот [url=http://www.nncron.ru/forums/viewtopic.php?f=5&t=10296&p=25257#p23848]раз[/url] и [url=http://www.nncron.ru/forums/viewtopic.php?f=5&t=11161#p28774]два[/url]. Всего лишь пара скромных примеров. Как бы несколько полных переработок, объем тем и их популярность сами за себя говорят. А вообще, это все моё личное мнение. И меня совершенно не волнует кто и что об этом думает. Я не говорю, куда надо идти. Я просто подсказываю возможное направление. Одно из многих. А куда идёте Вы? ...
|
|
|
|
Добавлено: Пн фев 13, 2012 00:31 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Alex писал(а): вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже. Существуют такие алгоритмы - интерпретаторы. Вот существуют, и все. Да, можно брать текст и раскладывать его по самым разным правилам на элементы. Кто ж с этим спорит? Можно придумывать языки с самыми разными свойствами. Это хорошо и правильно. Теперь берем конкретный язык - язык стековых манипуляторов. Компактно, пробелов нет, позволяет адресовывать элементы стека. При этом Цитата: он уже который год об этом талдычит Можно вопрос - а зачем талдычит? Кто-то мешает использовать? Кто-то недодал библиотек, денег, последователей внимания? Для полноценного использования нужно, чтобы кто-то сказал "ах, как прекрасно!" и побежал все переделывать на манипуляторах? Цитата: ИМХО есть в его делах и словах правда, не растоптать бы. А что растоптать? Проект не может быть реализован, или что? Требуются дополнительные программисты, инвестиции? Ведь нет этого всего, на манипуляторах написаны примеры. Человеку нравится. Да, непривычно, ну и что? По усилиям и результаты.
[quote="Alex"]вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже. [/quote] Существуют такие алгоритмы - интерпретаторы. Вот существуют, и все. Да, можно брать текст и раскладывать его по самым разным правилам на элементы. Кто ж с этим спорит? Можно придумывать языки с самыми разными свойствами. Это хорошо и правильно. Теперь берем конкретный язык - язык стековых манипуляторов. Компактно, пробелов нет, позволяет адресовывать элементы стека. При этом [quote]он уже который год об этом талдычит[/quote] Можно вопрос - а зачем талдычит? Кто-то мешает использовать? Кто-то недодал библиотек, денег, последователей внимания? Для полноценного использования нужно, чтобы кто-то сказал "ах, как прекрасно!" и побежал все переделывать на манипуляторах? [quote]ИМХО есть в его делах и словах правда, не растоптать бы.[/quote] А что растоптать? Проект не может быть реализован, или что? Требуются дополнительные программисты, инвестиции? Ведь нет этого всего, на манипуляторах написаны примеры. Человеку нравится. Да, непривычно, ну и что? По усилиям и результаты.
|
|
|
|
Добавлено: Вс фев 12, 2012 23:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
рядышком я написал правильно, пример - 13<&1;t здесь ; означает exit. не хотел заострять, понимая что это копипаст и случайно. вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже. ИМХО есть в его делах и словах правда, не растоптать бы. Есть отдельная тема по манипуляторам, если есть желание можно продолжить там.
рядышком я написал правильно, пример - 13<&1;t здесь ; означает exit. не хотел заострять, понимая что это копипаст и случайно. вся идея chessa вот как раз и состоит в том чтобы придумать и сделать инструмент чтоб подобных моментов было меньше. Гляньте историю, он уже который год об этом талдычит. да форма не привычна, но она краткая и логичная. Давайте хотя бы попытаемся понять что это, не отвергать сходу и помочь товарищу, конечно и доброй критикой тоже. ИМХО есть в его делах и словах правда, не растоптать бы. Есть отдельная тема по манипуляторам, если есть желание можно продолжить там.
|
|
|
|
Добавлено: Вс фев 12, 2012 22:58 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Чтобы доказать, что стековые манипуляторы яйца выеденного не стоят, надо придумать задачу на "их территории" (однородный массив маленького фиксированного размера в стеке), решение которой окажется им не по силам. Предлагаю описать на них алгоритм решающий (путем перебора, наверное) задачи о переправе ("волк-коза-капуста", "3туземца-3миссионера", "папа-2сына-мама-2дочки-мент-бандит"...).
Чтобы доказать, что стековые манипуляторы яйца выеденного не стоят, надо придумать задачу на "их территории" (однородный массив маленького фиксированного размера в стеке), решение которой окажется им не по силам. Предлагаю описать на них алгоритм решающий (путем перебора, наверное) задачи о переправе ("волк-коза-капуста", "3туземца-3миссионера", "папа-2сына-мама-2дочки-мент-бандит"...).
|
|
|
|
Добавлено: Вс фев 12, 2012 22:04 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Alex писал(а): копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи? А вот это кто писал? Alex писал(а): Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись Выходит, стековые манипуляторы, с одной стороны, "одно и то же", а с другой - запись более привычными словами провоцирует ошибки... которые каким-то волшебным образом исчезают при использовании манипуляторов?
[quote="Alex"]копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи?[/quote]
А вот это кто писал?
[quote="Alex"]Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись[/quote]
Выходит, стековые манипуляторы, с одной стороны, "одно и то же", а с другой - запись более привычными словами провоцирует ошибки... которые каким-то волшебным образом исчезают при использовании манипуляторов?
|
|
|
|
Добавлено: Вс фев 12, 2012 21:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Цитата: А это решение я привел только затем, чтобы можно было заметить, что там набран блок в две строки, а дальше он повторен копипастом еще 5 раз с заменой индексов и знаков сравнения. копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи?
[quote]А это решение я привел только затем, чтобы можно было заметить, что там набран блок в две строки, а дальше он повторен копипастом еще 5 раз с заменой индексов и знаков сравнения.[/quote] копипаст идеальный инструмент для размножения ошибок и неточностей. Вот упустили перед THEN слово EXIT - вроде работает, результат выдает, но зачем проходить все случаи?
|
|
|
|
Добавлено: Вс фев 12, 2012 21:29 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Alex писал(а): есть уже такие попытки Надо же, прелесть какая! И это в то время, как ведется поиск способов сделать программу на Форте все более выразительной, пользуясь способностью создавать удобный синтаксис, позволяющий анализировать программу и непрограммисту.
[quote="Alex"]есть уже такие попытки [/quote] Надо же, прелесть какая! :)
И это в то время, как ведется поиск способов сделать программу на Форте все более выразительной, пользуясь способностью создавать удобный синтаксис, позволяющий анализировать программу и непрограммисту.
|
|
|
|
Добавлено: Вс фев 12, 2012 20:05 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
есть уже такие попытки - но мы же здравомыслящие люди, нам и небольшого количества символов хватит
[url=http://habrahabr.ru/blogs/crazydev/128120/]есть уже такие попытки[/url] :) - но мы же здравомыслящие люди, нам и небольшого количества символов хватит :)
|
|
|
|
Добавлено: Вс фев 12, 2012 19:31 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Alex писал(а): А человек может выбрать любую запись. Еще сейчас бывают такие двумерные варианты штрих-кода - куча пикселов. Вот ими, ими надо программы оформлять!
[quote="Alex"]А человек может выбрать любую запись.[/quote] Еще сейчас бывают такие двумерные варианты штрих-кода - куча пикселов. Вот ими, ими надо программы оформлять! :)
|
|
|
|
Добавлено: Вс фев 12, 2012 19:02 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Alex писал(а): Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись. Конгениально! Придумать для стека нотацию, уподобляющую его массиву, и с блеском доказать, что оно, действительно, похоже на массив!
[quote="Alex"]Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись.[/quote]Конгениально! Придумать для стека нотацию, уподобляющую его массиву, и с блеском доказать, что оно, действительно, похоже на массив!
|
|
|
|
Добавлено: Вс фев 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 .
Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись.
[quote]Если еще вспомнить, что стек - не элемент поклонения, а рабочий инструмент, а данные все-таки чаще бывают в памяти...[/quote][code] : 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 . [/code] Мы с Вами сказали компьютеру одно и тоже. А человек может выбрать любую запись.
|
|
|
|
Добавлено: Вс фев 12, 2012 18:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
gudleifr писал(а): Маленькое замечание: LESSER + GREATER + EQUAL = DATASIZE - 1, и второе: после нахождения одного решения перебор можно прекращать, и третье: сортировка все равно быстрее. Сколько сразу полезных замечаний, как только текст стал выглядеть вменяемо!
[quote="gudleifr"]Маленькое замечание: LESSER + GREATER + EQUAL = DATASIZE - 1, и второе: после нахождения одного решения перебор можно прекращать, и третье: сортировка все равно быстрее.[/quote] Сколько сразу полезных замечаний, как только текст стал выглядеть вменяемо! :))
|
|
|
|
Добавлено: Вс фев 12, 2012 15:53 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Шутники... Хищник писал(а): Код: VARIABLE LESSER VARIABLE GREATER VARIABLE EQUAL 3 CONSTANT DATASIZE CREATE DATA[] 2 , 3 , 4 , ... Маленькое замечание: LESSER + GREATER + EQUAL = DATASIZE - 1, и второе: после нахождения одного решения перебор можно прекращать, и третье: сортировка все равно быстрее.
Шутники... [quote="Хищник"][code]VARIABLE LESSER VARIABLE GREATER VARIABLE EQUAL 3 CONSTANT DATASIZE CREATE DATA[] 2 , 3 , 4 , ...[/code][/quote]Маленькое замечание: LESSER + GREATER + EQUAL = DATASIZE - 1, и второе: после нахождения одного решения перебор можно прекращать, и третье: сортировка все равно быстрее.
|
|
|
|
Добавлено: Вс фев 12, 2012 15:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
Хищник писал(а): Эээ... в робота? аха, пусть из клавиатуры информацию выбивает... Ведь, как известно, вся информация находится в клавиатуре. Надо только уметь ее из клавиатуры выбивать...
[quote="Хищник"]Эээ... в робота?[/quote]
аха, пусть из клавиатуры информацию выбивает... Ведь, как известно, вся информация находится в клавиатуре. Надо только уметь ее из клавиатуры выбивать...
|
|
|
|
Добавлено: Вс фев 12, 2012 15:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: Оставить среднее |
|
|
gudleifr писал(а): И куда теперь прикажете вставить манипуляторы? Эээ... в робота?
[quote="gudleifr"]И куда теперь прикажете вставить манипуляторы?[/quote] Эээ... в робота? :)
|
|
|
|
Добавлено: Вс фев 12, 2012 15:38 |
|
|
|
|