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

...
Google Search
Forth-FAQ Spy Grafic

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




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

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

Обзор темы - Forth-2012
Автор Сообщение
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
:;
This is the official website of the Forth 2012 Standard, and Forth200x committee.
:;
Сообщение Добавлено: Вт дек 29, 2015 22:30
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
...
Опять Вы по ошибке пост Zinger подписали. А, ведь, не выходной.
Сообщение Добавлено: Чт дек 10, 2015 02:54
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите.

Вас я "позвал" чисто как скомороха, не обольщайтесь :)
Сообщение Добавлено: Чт дек 10, 2015 02:45
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
...
Т.к. Вы сами прекрасно пишете за меня нужные Вам ответы, то, я думаю, Вы еще некоторое время можете поспорить сами с собой. Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите.
Сообщение Добавлено: Чт дек 10, 2015 02:41
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Я задал простой вопрос: надо писать "+sizeof(int)" или "+4". Вы ответили "+1". Из этого я делаю вывод, что эквивалентной заменой sizeof(int) Вы полагаете число 1. Вы либо не разбираетесь в С, либо не берете на себя труд вчитываться в тексты перед глазами. Вопрос был не об этом, а о том, что вместо чисел, зависящих от платформы, следует использовать функции или константы. Выкручиваться с тем, что компилятор сам вычислит адрес, не к месту.
Сообщение Добавлено: Чт дек 10, 2015 02:37
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
Так Вы и правда еще ни разу не сталкивались с ситуацией, когда в программе на С надо действительно подсчитать размер в байтах?
А это-то тут при чем? Опять стрелки переводите? Речь шла о том, что C-программисты прекрасно понимают, что сложение смещений отличается от сложения драконов, хотя используется обычное "+ число", а фортеры почему-то упираются, что CELL+ "нагляднее"...

Hishnik писал(а):
Вот мой исходный вопрос:
"+ sizeof(int), или + 4 "

См. выше. Или надо прокомментировать листинг? И где Вы там только "индекс" усмотрели?
Сообщение Добавлено: Чт дек 10, 2015 02:27
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
А Ваш скриншот может убедить только в том, что и так все давно знают: споров глупость, Вы будете упираться до конца...

Так Вы и правда еще ни разу не сталкивались с ситуацией, когда в программе на С надо действительно подсчитать размер в байтах? Выделение буфера, прямое приведение типа для массива из char/byte, да и вообще sizeof как таковой - за пределами Вашей практики? Кстати, не я завел разговор о sizeof.
Вот мой исходный вопрос:
"+ sizeof(int), или + 4 "

Я уже понял, что Вы смогли представить только обращение к массиву int, где вместо адреса байта выступает индекс массива, который домножается на размер элемента автоматически. Исходный же вопрос фокусировался на том, что следует пользоваться встроенными функциями, а не численным представлением констант, которые имеют разный размер на разных платформах.

Ну кстати, для контроля. Вот пример описания схемы на VHDL, в целом синтаксически корректный. Подразумевается описание задержки. В чем его некорректность?

variable i : integer;

process(clk)
begin
for i in 0 to 10000 loop
if rising_edge(clk) then
i := i + 1;
end if;
end loop;
end process;

Слышал мнение, что так делать нельзя, потому что на разных процессорах будет разное время выполнения цикла. Так ли это?
Сообщение Добавлено: Чт дек 10, 2015 02:12
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически.

Код:
$ cat ex5.c
#include <stdio.h>

int *a, b[10];
main() {
        a = b;
        printf("%d + 1 = %d\n", a, a + 1);
}

User@comp ~/work
$ gcc ex5.c -oex5

User@comp ~/work
$ ./ex5
4211040 + 1 = 4211044

User@comp ~/work
$

На sizeof(int) умножать не нужно!
А Ваш скриншот может убедить только в том, что и так все давно знают: споров глупость, Вы будете упираться до конца...
Сообщение Добавлено: Чт дек 10, 2015 01:41
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
Не упорствуйте в дурости. Возьмите учебник.

Если вас не убеждает скриншот, на котором sizeof(int) возвращает 4, это уже не на технический форум, а на медицинский.
Сообщение Добавлено: Чт дек 10, 2015 01:39
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
Скажите, а Вы вообще давно программировали на С?
Не упорствуйте в дурости. Возьмите учебник.
Сообщение Добавлено: Чт дек 10, 2015 01:29
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
Так в С лучше писать + sizeof(int), или + 4 ?
Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть!


Скажите, а Вы вообще давно программировали на С?
Вложение:
sizeof.jpg
sizeof.jpg [ 46.14 Кб | Просмотров: 28349 ]
Сообщение Добавлено: Чт дек 10, 2015 01:25
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
А кто же считает и к кому обращены все эти проникновенные речи?
К Вам. Ведь дошло же, наконец-то! Значит, не зря.
Hishnik писал(а):
Так в С лучше писать + sizeof(int), или + 4 ?
Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть!
Сообщение Добавлено: Чт дек 10, 2015 01:08
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
gudleifr писал(а):
Я не предлагал его запретить. Я лишь предостерегал от очевидной дурости: считать его чем-то универсально полезным и прогрессивным.

Ну пусть тогда тут отметятся те, кто считает это конкретное слово чем-то "универсально полезным и прогрессивным". Я не считаю, atar, видимо, не считает. А кто же считает и к кому обращены все эти проникновенные речи?

gudleifr писал(а):
Я, как бы, не увидел на протяжении всего обсуждения ни одного примера того, что применение CELL+ повышает читабельность. Например в языке C почему-то никто не ввел операций int+, long+ и т.д. И, ничего, живут. пользуются [], sizeof и dim.

Так в С лучше писать + sizeof(int), или + 4 ? Следуя такой логике, нужно и sizeof запретить - пусть программисты работают головой и ставят размеры объектов вручную, а не бездумно пользуются готовым?

gudleifr писал(а):
К сожалению, я вынужден в последнее время заботится, что бы на этом Форуме хоть что-то обсуждалось и объяснялось. А к тому, что Вы постоянно мешаете это делать, флудя "с точки зрения коммерции", я привык.

Вот и хорошо. Я все равно не имею стремления разубеждать Вас или что-то доказывать. Если Вам нравится полагать себя экспертом с непробиваемым авторитетом - я к Вам персональным психологом не нанимался.
Сообщение Добавлено: Чт дек 10, 2015 00:58
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
KPG писал(а):
Какие интересные и эффективные схемы вариантов "напоминалок" можно встроить в Форт систему?

Эта напоминалка относится к приемам meaningful naming. Например, если я пишу a = b + c*d, это ни о чем особенно не говорит. Если я пишу final_position = start_position + velocity * time, это позволяет сопоставить выражение с известными соотношениями и отметить, что вроде бы все так. Опять-таки, в формуле start_position + velocity / time логическая ошибка бросается в глаза, хотя компилятор ничего не скажет. В Форте такими приемами являются скобки в именах массивов - DATA[] , использование запятых для слов, компилирующих данные, разнообразные стрелки S>D SEC=>MIN:SEC и т.п., что позволяет уже по имени слова предполагать его действие, и соответственно, проверять его в голове без необходимости включения пошаговых отладчиков и прохождения тестов для выявления несложной логической ошибки.
Сообщение Добавлено: Чт дек 10, 2015 00:49
  Заголовок сообщения:  Re: Forth-2012  Ответить с цитатой
Hishnik писал(а):
Это я предлагаю запретить? :) Кто тут негодовал по поводу CELL+?
Я не предлагал его запретить. Я лишь предостерегал от очевидной дурости: считать его чем-то универсально полезным и прогрессивным.
Hishnik писал(а):
Ну это опять позиция "Форт может все, но мы вам ничего конкретного делать не разрешаем, потому что тогда получится уже конкретика".
Наоборот.
Hishnik писал(а):
Или новые слова, повышающие читабельность программы, идут вразрез концепции произвольно расширяемого языка?
Я, как бы, не увидел на протяжении всего обсуждения ни одного примера того, что применение CELL+ повышает читабельность. Например в языке C почему-то никто не ввел операций int+, long+ и т.д. И, ничего, живут. пользуются [], sizeof и dim.
Hishnik писал(а):
что Ваши действия не являются единственно определяющим фактором ситуации
К сожалению, я вынужден в последнее время заботится, что бы на этом Форуме хоть что-то обсуждалось и объяснялось. А к тому, что Вы постоянно мешаете это делать, флудя "с точки зрения коммерции", я привык.
KPG писал(а):
Какие интересные и эффективные схемы вариантов "напоминалок" можно встроить в Форт систему?
WORDS , SEE , BLOCK , строковый редактор.
Сообщение Добавлено: Ср дек 09, 2015 19:39

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


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