Обсуждение:Лого (язык программирования)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

"для различных платформ и операционных систем: Mac OS, Unix, IBM PC, X Window и др. " по-моему эта фраза полная каша из терминов. (Антон)

префиксная форма арифметики[править код]

правка с убиранием префиксной формы арифметики как-то слишком смелая. Чтоб не начинать войну откатов, попробую обсудить тут. Там убран вот такой абзац:

В связи с тем, что сначала идёт команда а потом её параметры, и базовые арифметические 
операции тоже построены на командах, выражения принимают вид «УМНОЖЬ СЛОЖИ 2 3 5». 
Однако, в некоторых реализациях есть и поддержка выражений на привычных операторах, типа «(2 + 3) * 5»

с обоснованием

Префиксная форма арифметических операций - это какая-то экзотика для Лого и никак не основной синтаксис

Уважаемый Vadimr, можете привести какие-нибудь обоснования для такого утверждения? Убранное той же правкой упоминание синтаксиса маскировки пробелов мне не столь жалко. --Nashev 10:12, 4 июля 2009 (UTC)[ответить]

UPD: Я погуглил сам, и обнаружил на страничке Logo Foundation только краткий текст с примерами привычной записи, без полного описания базового языка, а на сайте LCSI, на страничке документации, нашёл PDF-ку со словарём "для распечатки", в котором на первом месте в разделе математики даётся обычная запись операторами, а далее есть команды difference, sum, product, quotient, power и прочие, в родном лого-стиле вызова команд. Так что говорить, что привычный операторный стиль это лишь у некоторых - действительно было не верно. Видимо, для упрощения читаемости языка они сразу пошли на их введение. Но родной стиль тож насколько я понимаю был всегда, ибо он родной. Надеюсь, не будете возражать, если я верну абзац, исправив его к следующему виду:
В связи с тем, что по основным правилам языка сначала идёт команда а потом её параметры, для базовых арифметических 
операций тоже существуют команды, с использованием которых выражения принимают вид «УМНОЖЬ СЛОЖИ 2 3 5». 
Однако, с целью облегчения использования языка, есть и поддержка выражений на привычных операторах, типа «(2 + 3) * 5»
--Nashev 10:42, 4 июля 2009 (UTC)[ответить]
Формальным обоснованием является книга, приведённая в списке литературы. В описанном там диалекте (являвшемся в то время стандартом Лого де-факто) арифметические операции не построены на командах, и никаких УМНОЖЬ и СЛОЖИ там нет (это следует как из текста само́й книги, так и из моего опыта работы с Apple Logo). Ну и по сути, Лого — это язык для обучения детей, было бы странно обучать их такой необычной форме записи арифметических выражений. Возможно, в каких-то диалектах такой способ записи допусти́м, но это не даёт никаких оснований объявлять его основным или даже просто описывать его в статье о языке Лого, иначе как в разделе курьёзов. Язык Лого определяет инфиксную запись арифметических выражений, а если в каком-то диалекте она построена как надстройка над префиксными командами, то это просто особенности реализации. Почти то же самое относится к маскировке пробелов вертикальными чертами, это какое-то маргинальное расширение синтаксиса, если оно вообще существует (беру ACSLogo, оно такого синтаксиса не поддерживает). Лого не является диалектом Лиспа, это самостоятельный язык со своей собственной идеологией и своим собственным назначением. Точно так же мне непонятны причины, по которым Вы снабдили оговорками использование черепашьей графики. Ради Черепахи всё Лого и затеяно. Vadim Rumyantsev 10:58, 4 июля 2009 (UTC)[ответить]
Разумеется, я буду возражать :) Ничего «родного» для Лого в префиксной записи арифметических операций нет. Vadim Rumyantsev 10:58, 4 июля 2009 (UTC)[ответить]
а с таким вариантом ?
Поддерживается использование привычной инфиксной формы выражений математики и логики на привычных операторах, типа «(2 + 3) * 5» и "2 > 5"
Но в связи с тем, что по основным правилам языка сначала идёт команда а потом её параметры, для базовых арифметических и логических 
операций в некоторых диалектах (LCSI ЛогоМиры и LogoWriter, например) также существуют команды, с использованием которых выражения 
принимают вид «умножь сложи 2 3 5» и "больше? 2 5". 

хотя вот у меня в руках книжка В.П. Дьяконова "Язык программирования ЛОГО" 1991 года, издательство "Радио и связь" ISBN 5-256-000343-7 - так там автор рассматривая "современные версии, входящие в типовое программное обеспечение наиболее массовых отечественных и зарубежных ПЭВМ: ЕС-1840, ЕС-1841, Искра-1030, Агат, IBM PC, MSX, ZX-Spectrum, Apple-II и др." - префиксную форму упоминает и приводит примеры с командами SUM, DIFFERENCE, PRODUCT, QUOTIENT, POWER, говорит что на ZX-Spectrum вместо громоздкого слова QUOTIENT есть DIV. Далее он пишет, что логические операции AND и OR - только префиксные. А вот префиксных сравнений он не приводит даже в словаре, в приложении... но "датчики" "больше?" и "меньше?" есть в ЛогоМирах.--Nashev 06:18, 8 июля 2009 (UTC)[ответить]

Против такого варианта я не возражаю. А Дьяконов - известный путаник, ещё по его книгам о Бейсике заметно :) Уже то, что он навалил в одну кучу совершенно разные реализации, заставляет критически относится к материалу. Vadim Rumyantsev 16:04, 9 июля 2009 (UTC)[ответить]
Перенесено со страницы Обсуждение участника:Викидим.

Я 3 ГОДА занимаюсь программированием на платформе GoGo Board. Там используется язык LOGO!!!!!! Krasnoiarec 02:18, 19 декабря 2015 (UTC)[ответить]