Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
[color=#FF4040]:;[/color] [url=http://forth-standard.org/]This is the official website of the Forth 2012 Standard, and Forth200x committee.[/url] [color=#FFFF40]:;[/color]
|
|
|
|
Добавлено: Вт дек 29, 2015 22:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Hishnik писал(а): ... Опять Вы по ошибке пост Zinger подписали. А, ведь, не выходной.
[quote="Hishnik"]...[/quote]Опять Вы по ошибке пост Zinger подписали. А, ведь, не выходной.
|
|
|
|
Добавлено: Чт дек 10, 2015 02:54 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
gudleifr писал(а): Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите. Вас я "позвал" чисто как скомороха, не обольщайтесь
[quote="gudleifr"] Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите.[/quote] Вас я "позвал" чисто как скомороха, не обольщайтесь :)
|
|
|
|
Добавлено: Чт дек 10, 2015 02:45 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Hishnik писал(а): ... Т.к. Вы сами прекрасно пишете за меня нужные Вам ответы, то, я думаю, Вы еще некоторое время можете поспорить сами с собой. Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите.
[quote="Hishnik"]...[/quote]Т.к. Вы сами прекрасно пишете за меня нужные Вам ответы, то, я думаю, Вы еще некоторое время можете поспорить сами с собой. Когда, наконец, сможете сформулировать свое отношение к включению CELL+ в стандарт, позовите.
|
|
|
|
Добавлено: Чт дек 10, 2015 02:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Я задал простой вопрос: надо писать "+sizeof(int)" или "+4". Вы ответили "+1". Из этого я делаю вывод, что эквивалентной заменой sizeof(int) Вы полагаете число 1. Вы либо не разбираетесь в С, либо не берете на себя труд вчитываться в тексты перед глазами. Вопрос был не об этом, а о том, что вместо чисел, зависящих от платформы, следует использовать функции или константы. Выкручиваться с тем, что компилятор сам вычислит адрес, не к месту.
Я задал простой вопрос: надо писать "+sizeof(int)" или "+4". Вы ответили "+1". Из этого я делаю вывод, что эквивалентной заменой sizeof(int) Вы полагаете число 1. Вы либо не разбираетесь в С, либо не берете на себя труд вчитываться в тексты перед глазами. Вопрос был не об этом, а о том, что вместо чисел, зависящих от платформы, следует использовать функции или константы. Выкручиваться с тем, что компилятор сам вычислит адрес, не к месту.
|
|
|
|
Добавлено: Чт дек 10, 2015 02:37 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Hishnik писал(а): Так Вы и правда еще ни разу не сталкивались с ситуацией, когда в программе на С надо действительно подсчитать размер в байтах? А это-то тут при чем? Опять стрелки переводите? Речь шла о том, что C-программисты прекрасно понимают, что сложение смещений отличается от сложения драконов, хотя используется обычное "+ число", а фортеры почему-то упираются, что CELL+ "нагляднее"... Hishnik писал(а): Вот мой исходный вопрос: "+ sizeof(int), или + 4 "
См. выше. Или надо прокомментировать листинг? И где Вы там только "индекс" усмотрели?
[quote="Hishnik"]Так Вы и правда еще ни разу не сталкивались с ситуацией, когда в программе на С надо действительно подсчитать размер в байтах?[/quote]А это-то тут при чем? Опять стрелки переводите? Речь шла о том, что C-программисты прекрасно понимают, что сложение смещений отличается от сложения драконов, хотя используется обычное "+ число", а фортеры почему-то упираются, что CELL+ "нагляднее"...
[quote="Hishnik"]Вот мой исходный вопрос: "+ sizeof(int), или + 4 " [/quote] См. выше. Или надо прокомментировать листинг? И где Вы там только "индекс" усмотрели?
|
|
|
|
Добавлено: Чт дек 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; Слышал мнение, что так делать нельзя, потому что на разных процессорах будет разное время выполнения цикла. Так ли это?
[quote="gudleifr"]А Ваш скриншот может убедить только в том, что и так все давно знают: споров глупость, Вы будете упираться до конца...[/quote] Так Вы и правда еще ни разу не сталкивались с ситуацией, когда в программе на С надо действительно подсчитать размер в байтах? Выделение буфера, прямое приведение типа для массива из 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) умножать не нужно! А Ваш скриншот может убедить только в том, что и так все давно знают: споров глупость, Вы будете упираться до конца...
[quote="gudleifr"]Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически.[/quote] [code]$ 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 $[/code] На sizeof(int) умножать не нужно! А Ваш скриншот может убедить только в том, что и так все давно знают: споров глупость, Вы будете упираться до конца...
|
|
|
|
Добавлено: Чт дек 10, 2015 01:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
gudleifr писал(а): Не упорствуйте в дурости. Возьмите учебник. Если вас не убеждает скриншот, на котором sizeof(int) возвращает 4, это уже не на технический форум, а на медицинский.
[quote="gudleifr"]Не упорствуйте в дурости. Возьмите учебник.[/quote] Если вас не убеждает скриншот, на котором sizeof(int) возвращает 4, это уже не на технический форум, а на медицинский.
|
|
|
|
Добавлено: Чт дек 10, 2015 01:39 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Hishnik писал(а): Скажите, а Вы вообще давно программировали на С? Не упорствуйте в дурости. Возьмите учебник.
[quote="Hishnik"]Скажите, а Вы вообще давно программировали на С?[/quote]Не упорствуйте в дурости. Возьмите учебник.
|
|
|
|
Добавлено: Чт дек 10, 2015 01:29 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
gudleifr писал(а): Так в С лучше писать + sizeof(int), или + 4 ? Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть! Скажите, а Вы вообще давно программировали на С? Вложение:
sizeof.jpg [ 46.14 Кб | Просмотров: 28362 ]
[quote="gudleifr"]Так в С лучше писать + sizeof(int), или + 4 ? Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть![/quote]
Скажите, а Вы вообще давно программировали на С?[attachment=0]sizeof.jpg[/attachment]
|
|
|
|
Добавлено: Чт дек 10, 2015 01:25 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
Hishnik писал(а): А кто же считает и к кому обращены все эти проникновенные речи? К Вам. Ведь дошло же, наконец-то! Значит, не зря. Hishnik писал(а): Так в С лучше писать + sizeof(int), или + 4 ? Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть!
[quote="Hishnik"]А кто же считает и к кому обращены все эти проникновенные речи?[/quote]К Вам. Ведь дошло же, наконец-то! Значит, не зря. [quote="Hishnik"]Так в С лучше писать + sizeof(int), или + 4 ?[/quote]Нет, пишут "+1" т.к. умножение на sizeof происходит автоматически. Учите матчасть!
|
|
|
|
Добавлено: Чт дек 10, 2015 01:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Forth-2012 |
|
|
gudleifr писал(а): Я не предлагал его запретить. Я лишь предостерегал от очевидной дурости: считать его чем-то универсально полезным и прогрессивным. Ну пусть тогда тут отметятся те, кто считает это конкретное слово чем-то "универсально полезным и прогрессивным". Я не считаю, atar, видимо, не считает. А кто же считает и к кому обращены все эти проникновенные речи? gudleifr писал(а): Я, как бы, не увидел на протяжении всего обсуждения ни одного примера того, что применение CELL+ повышает читабельность. Например в языке C почему-то никто не ввел операций int+, long+ и т.д. И, ничего, живут. пользуются [], sizeof и dim. Так в С лучше писать + sizeof(int), или + 4 ? Следуя такой логике, нужно и sizeof запретить - пусть программисты работают головой и ставят размеры объектов вручную, а не бездумно пользуются готовым? gudleifr писал(а): К сожалению, я вынужден в последнее время заботится, что бы на этом Форуме хоть что-то обсуждалось и объяснялось. А к тому, что Вы постоянно мешаете это делать, флудя "с точки зрения коммерции", я привык. Вот и хорошо. Я все равно не имею стремления разубеждать Вас или что-то доказывать. Если Вам нравится полагать себя экспертом с непробиваемым авторитетом - я к Вам персональным психологом не нанимался.
[quote="gudleifr"]Я не предлагал его запретить. Я лишь предостерегал от очевидной дурости: считать его чем-то универсально полезным и прогрессивным.[/quote] Ну пусть тогда тут отметятся те, кто считает это конкретное слово чем-то "универсально полезным и прогрессивным". Я не считаю, atar, видимо, не считает. А кто же считает и к кому обращены все эти проникновенные речи?
[quote="gudleifr"]Я, как бы, не увидел на протяжении всего обсуждения ни одного примера того, что применение CELL+ повышает читабельность. Например в языке C почему-то никто не ввел операций int+, long+ и т.д. И, ничего, живут. пользуются [], sizeof и dim.[/quote] Так в С лучше писать + sizeof(int), или + 4 ? Следуя такой логике, нужно и sizeof запретить - пусть программисты работают головой и ставят размеры объектов вручную, а не бездумно пользуются готовым?
[quote="gudleifr"]К сожалению, я вынужден в последнее время заботится, что бы на этом Форуме хоть что-то обсуждалось и объяснялось. А к тому, что Вы постоянно мешаете это делать, флудя "с точки зрения коммерции", я привык.[/quote] Вот и хорошо. Я все равно не имею стремления разубеждать Вас или что-то доказывать. Если Вам нравится полагать себя экспертом с непробиваемым авторитетом - я к Вам персональным психологом не нанимался.
|
|
|
|
Добавлено: Чт дек 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 и т.п., что позволяет уже по имени слова предполагать его действие, и соответственно, проверять его в голове без необходимости включения пошаговых отладчиков и прохождения тестов для выявления несложной логической ошибки.
[quote="KPG"]Какие интересные и эффективные схемы вариантов "напоминалок" можно встроить в Форт систему?[/quote] Эта напоминалка относится к приемам 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 , строковый редактор.
[quote="Hishnik"]Это я предлагаю запретить? :) Кто тут негодовал по поводу CELL+?[/quote]Я не предлагал его запретить. Я лишь предостерегал от очевидной дурости: считать его чем-то универсально полезным и прогрессивным. [quote="Hishnik"]Ну это опять позиция "Форт может все, но мы вам ничего конкретного делать не разрешаем, потому что тогда получится уже конкретика". [/quote]Наоборот. [quote="Hishnik"]Или новые слова, повышающие читабельность программы, идут вразрез концепции произвольно расширяемого языка?[/quote]Я, как бы, не увидел на протяжении всего обсуждения ни одного примера того, что применение CELL+ повышает читабельность. Например в языке C почему-то никто не ввел операций int+, long+ и т.д. И, ничего, живут. пользуются [], sizeof и dim. [quote="Hishnik"]что Ваши действия не являются единственно определяющим фактором ситуации[/quote]К сожалению, я вынужден в последнее время заботится, что бы на этом Форуме хоть что-то обсуждалось и объяснялось. А к тому, что Вы постоянно мешаете это делать, флудя "с точки зрения коммерции", я привык. [quote="KPG"]Какие интересные и эффективные схемы вариантов "напоминалок" можно встроить в Форт систему?[/quote]WORDS , SEE , BLOCK , строковый редактор.
|
|
|
|
Добавлено: Ср дек 09, 2015 19:39 |
|
|
|
|