Re: язык заставляющий максимально изменить способ мышления..
От: Sharowarsheg  
Дата: 23.05.11 07:47
Оценка: 8 (3) :))) :))) :))
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Машинного уровня позволяет уйти много не, но тот еще Форт изврат.

Мастер Йода, говорят, старый программер на Форте.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 07:52
Оценка: :))) :))) :))
Здравствуйте, anokata, Вы писали:

A>А кстати, в чём польза использования зависимых типов?


Ученые степени, университетские гранты, уважение среди коллег и любовь знойных женщин.
Re: язык заставляющий максимально изменить способ мышления..
От: alpha21264 СССР  
Дата: 23.05.11 07:40
Оценка: +2 :))) :))
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Русский.
Не шутка.

Течёт вода Кубань-реки куда велят большевики.
Re[20]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 09:31
Оценка: 49 (1) +2
Здравствуйте, WolfHound, Вы писали:

DM>>Именно дерево разбора — то, что используется остальными стадиями компилятора или интерпретатора, это именно то, что им нужно от синтаксического анализатора, вовсе не одно булево значение. Поэтому получение структурированного представления из линейного исходного потока и есть главная функция и определение синтаксического анализа. Это просто парсинг.


WH>Это у тебя полное непонимание предмета.


Это у тебя привычка хамить или иллюзия чтения мыслей.
Постарайся понять или хотя бы запомнить: "не согласен" не означает "не понимаю".

WH>Синтаксис языка задает обычно бесконечное множество конечных строк.


Не спорю.

WH>Главная задача синтаксического анализатора это определить принадлежит строка языку или нет.


Нет. Это не главная задача. От того, что ты много раз повторишь свое мнение, оно не станет более обоснованным.

WH>Генерация кода может, вообще не производится.


Причем тут генерация кода?

WH>Например, в режиме IDE код, отвечающий за кодогенерацию, может вообще отсутствовать.


IDE тоже нужно дерево разбора или другое структурированное представление, а не булево значение.

DM>>Ты считаешь программу с ошибками типизации не принадлежащей языку, синтаксически некорректной, однако в ряде языков такие ошибки могут быть выявлены лишь при исполнении, когда всякий синтаксический анализ уже должен быть завершен. Это явная ошибка.

WH>Явная ошибка это смешивать статическую и динамическую типизацию.

Т.е. определение синтаксическгого анализа у тебя зависит от динамической или статической типизации? Это совсем дико.

DM>>Вот тебе пример:

DM>>
a = map (+1) [1..]

WH>Все что ты тут понаписал, не относится к тому, пропустит компилятор такую конструкцию или нет.

А я не об этом писал, вообще-то. Я пытался показать, что не надо семантику считать поведением. Тогда сложностей с пониманием семантического анализа будет меньше.

WH>Если этот код изменить вот так:

WH>
a = map (+[]) [1..]

WH>То дерево разбора будет построено. Но эту программу отвергнет типизатор.
WH>А если мы работаем в режиме IDE и модуль кодогенерации у нас даже не загружен в память то о каком смысле вообще можно говорить?

Причем тут кодогенерация? Она может всплыть, если считать семантику описанием поведения, но это ошибка, о чем я и сказал.

DM>>Поэтому теперь я тебе скажу, какое отношение к поведению имеют: поиск имен, разрешение перегрузки,... (ты просил)

DM>>Они имеют отношение к определению смысла значений из дерева разбора. Это именно семантический анализ. К синтаксису никакого отношения не имеющий.
WH> Если мы уберем вывод типов и напишем все те типы, которые вывел компилятор руками то, что изменится? Сгенерированный код будет тем же. Бит в бит. Ни смысл, ни поведение не изменятся. Семантика будет ровно той же.

И что? К чему ты это написал? Да, семантика и синтаксис не одно и то же, поэтому можно изменить синтаксис, не изменив семантики.

WH>Я тебе еще раз процитирую кусок своего сообщения:


Процитируй его еще 21 раз, пожалуйста. Вернее он не станет.
В частности, если делать синтаксический анализ руками, он не станет от этого семантическим.

WH>Очевидно синтакс языка не может зависить от деталей реализации конкретного компилятора.


Он и не зависит. Если использовать общепринятую терминологию, то проблем нет — вот есть языки Java и C#, вот есть их грамматики в таком-то формальном виде, вот есть генераторы парсеров, которые по ним строят синтаксические анализаторы. Все четко и ясно. И тут приходишь ты, меняешь определения и превращаешь все в кашу.

WH>Тебе не кажется странным, что согласно "общепринятой" терминологии граница между синтаксисом и семантикой начинает меняться в зависимости от используемых инструментов?


Она не начинает.
Re: язык заставляющий максимально изменить способ мышления..
От: alek.sys Великобритания  
Дата: 23.05.11 08:13
Оценка: 2 (2) +1
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Prolog
Re: язык заставляющий максимально изменить способ мышления..
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 19:59
Оценка: 1 (1) +2
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Пролог/Меркури. А вообще, изменяют сознание не сами языки, а непривычные фичи языков. В прологе — это унификация. В языках потомках ML — это паттерн-матчнинг, АлгТД и манипуляция функциями, в С/С++ — это указатели, в Лиспе и Немерле — это макросы, в Хаскеле — это классы типов, в Агде — это зависимые типы. Все это не просто меняет сознание, а рвет мозг (по началу).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 13.06.11 16:50
Оценка: +1 -1 :)
Здравствуйте, WolfHound, Вы писали:

WH>Это бред.

WH>КС грамматика задает надмножество языка.

Да ладно, нужно просто различать синтаксический и семантический анализ. Синтаксис многих ЯП описывается КС грамматикой, но разумеется не каждая синтаксически корректная программа является семантически корректной.
Re[24]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 14:58
Оценка: +1 :))
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, D. Mon, Вы писали:


DM>>Согласен. И у меня такого непонимания нет. Только это не относится к данному вопросу.

WH>Так, а что ты тогда вообще заговорил об этом?

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

WH>>>Ты лучше скажи, причем тут семантика при ответе на вопрос принадлежит строка языку или нет.

DM>>Нипричем. Я это уже демонстрировал выше.
WH>А раз не причем то почему это вдруг семантический анализ у тебя может отвергнуть программу?

Потому что она может оказаться семантически некорректной. Как предложение про солнечный зайчик. Оно синтаксически корректно, принадлежит языку, но семантически некорректно. Если семантический анализ бракует предложение, это не значит, что оно не принадлежит языку. Вот ключевая мысль, перечитай ее многократно.

WH>>>Синтаксис или семантика?

DM>>Синтаксис.
WH>Замечательно.
WH>Так почему ты считаешь, что семантический анализ может сказать, что программа не принадлежит языку?

Я так не считаю. Если семантический анализ бракует предложение, это не значит, что оно не принадлежит языку.

WH>>>А как определить где у нас синтаксический анализ, а где семантический?

DM>>Пользуясь хорошими определениями.
WH>Хорошее определение в студию.

Уже дал.

DM>>Мы можем грамматику записать в разной форме. Это как одну и ту же мысль выразить разными фразами. Тебя это смущает? Понятие эквивалентности незнакомо?

WH>А тебе известно, что разные генераторы принимают разные классы грамматик?

Да. И что?

WH>А ты понимаешь, что грамматику приходится переделывать?


Да. И что?

WH>А ты понимаешь, что не всегда можно засунуть в данный инструмент эквивалентную грамматику?


Да, понимаю отлично.

DM>>Почему пропал? Необязательно. Я сам делал компилятор с парсингом на ПЕГ, у которого на входе был поток лексем от лексера. Точно так же никто не мешает обойтись без лексера и в LR анализаторах.

WH>То есть ты сам признаешь что границы "общепринятых" терминов плавают в зависимости от деталей реализации?

Нет.

DM>>Линкер тоже относится к синтаксическому анализу? Он же тоже может сообщить об ошибке.

WH>Да. Ибо люди с кашей в голове переложили на него то, что должно выявляться на других стадиях работы.

Спасибо, что поделился этим мнением. Думаю, эти люди сказали бы, что каша в голове у тебя. Некоторые другие уже говорили.

DM>>А рантайм? Он же тоже может сообщить об ошибке.

WH>А причем тут рантайм?

По твоему определению он тоже должен относиться к синтаксическому анализу. Такое вот негодное определение.

DM>>Повторю их еще раз, раз ты так много раз попросил это сделать.

DM>>Синтаксический анализ === парсинг — построение структурированного представления из линейного потока входных данных. Входными данными могут быть символы, лексемы, лошади, верблюды, что угодно. На выходе часто дерево, но тоже необязательно.
WH>Взяли не весть что превратили в черт знает что и получили анализ синтаксиса.

В общем случае примерно так. Только не "не весть что", а то, что я написал. Превращение линейных данных в нелинейные.

DM>> Успешный парсинг означает принадлежность входной последовательности языку. Но это не главная функция, а естественный побочный результат.

WH>Ответ на вопрос принадлежит ли строка к языку побочный эффект. Ага, конечно.

Ага. Конечно.

DM>>Семантический анализ — "осмысливание" данных, полученных от синтаксического анализатора, наполнение результата парсинга информацией, необходимой для дальнейших преобразований. В частности, проверка описанности переменных, проверка типов и т.д.

WH>Выше ты говорил, что принадлежность к языку определяет синтаксис.
Да.

WH>Но твой "семантический" анализ может отвергнуть строку.

Да.

WH>Другими словами на вопрос о принадлежности строки к языку у тебя отвечает семантический анализ.


Нет. Если семантический анализ бракует предложение, это не значит, что оно не принадлежит языку. См. пример с зайчиком.

WH>Смешение разных стадий синтаксического анализа не создает проблем.

WH>Проблемы начинаются, когда сюда же затаскивают генерацию кода.
WH>Народ думает раз и то и то семантика, то почему бы их и не смешать?
WH>И начинается бардак.

Ты волен так считать.
Re[19]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 14.06.11 08:46
Оценка: 10 (1) -1
Здравствуйте, D. Mon, Вы писали:

DM>Именно дерево разбора — то, что используется остальными стадиями компилятора или интерпретатора, это именно то, что им нужно от синтаксического анализатора, вовсе не одно булево значение. Поэтому получение структурированного представления из линейного исходного потока и есть главная функция и определение синтаксического анализа. Это просто парсинг.

Это у тебя полное непонимание предмета.
Синтаксис языка задает обычно бесконечное множество конечных строк.
Главная задача синтаксического анализатора это определить принадлежит строка языку или нет.
Генерация кода может, вообще не производится.
Например, в режиме IDE код, отвечающий за кодогенерацию, может вообще отсутствовать.

DM>Ты считаешь программу с ошибками типизации не принадлежащей языку, синтаксически некорректной, однако в ряде языков такие ошибки могут быть выявлены лишь при исполнении, когда всякий синтаксический анализ уже должен быть завершен. Это явная ошибка.

Явная ошибка это смешивать статическую и динамическую типизацию.

DM>Вот тебе пример:

DM>
a = map (+1) [1..]

Все что ты тут понаписал, не относится к тому, пропустит компилятор такую конструкцию или нет.
Если этот код изменить вот так:
a = map (+[]) [1..]

То дерево разбора будет построено. Но эту программу отвергнет типизатор.
А если мы работаем в режиме IDE и модуль кодогенерации у нас даже не загружен в память то о каком смысле вообще можно говорить?
Все что мы можем это определить принадлежность программы языку и то какие правила были нарушены.

DM>Поэтому теперь я тебе скажу, какое отношение к поведению имеют: поиск имен, разрешение перегрузки,... (ты просил)

DM>Они имеют отношение к определению смысла значений из дерева разбора. Это именно семантический анализ. К синтаксису никакого отношения не имеющий.
Если мы уберем вывод типов и напишем все те типы, которые вывел компилятор руками то, что изменится? Сгенерированный код будет тем же. Бит в бит. Ни смысл, ни поведение не изменятся. Семантика будет ровно той же.

Я тебе еще раз процитирую кусок своего сообщения:

Но по какойто не ведомой мне причине народ начал называть это так:
1)Лексический анализ.
2)Синтаксический анализ.
3)Семантический анализ.

Это бредовая терминология.
Ибо граница между этими тремя пунктами плавает в зависимости от используемых инструментов.
Например если взять ПЕГ то у нас вдруг пропадает лексический анализ.
Или еще очень популярный вариант выкинуть пункт 2 и писать эту часть разбора руками.
В этом случае у нас синтаксический анализ вдруг заменяется семантическим.

Очевидно синтакс языка не может зависить от деталей реализации конкретного компилятора.

Тебе не кажется странным, что согласно "общепринятой" терминологии граница между синтаксисом и семантикой начинает меняться в зависимости от используемых инструментов?
Меня это напрягло в тот момент, когда я первый раз услышал эту терминологию. И было это очень давно. Просто аргументы против этой терминологии у меня появились не сразу.

DM>А теперь скажи: неужели тебе таких аргументов не приводили уже?

Приводили. Но все они, как и твои аргументы были полны ошибок и непонимания.

DM>Неужели нужно много раз рассказывать очевидные всем кроме тебя вещи?

Далеко не всем. Люди, которые копали действительно глубоко, со мной согласны.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: язык заставляющий максимально изменить способ мышления..
От: BulatZiganshin  
Дата: 23.05.11 09:28
Оценка: 2 (1) +1
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


dependent types (спроси в ФП, я деталей не знаю)
Люди, я люблю вас! Будьте бдительны!!!
Re: язык заставляющий максимально изменить способ мышления..
От: March_rabbit  
Дата: 21.06.11 09:38
Оценка: 1 (1) :)
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

кстати, да. тут упоминали похожее. Язык программирования ПЛИС (программируемых логических схем). Выглядит с виду как обычный ЯП, а все иначе. Особенно, когда плиску на 85% заполнишь. Тогда уже начинаешь учиться писать термоустойчивый код
Re[14]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 10:49
Оценка: +1 :)
Здравствуйте, WolfHound.

Раз слова "не каждая синтаксически корректная программа является семантически корректной" вызывают у тебя (одного) улыбку, развлеку еще немного.
Возьмем предложение "Столкнувшись со звуковым барьером, солнечный зайчик получил перелом с красным смещением". Относится ли оно к русскому языку? Да, относится. Оно синтаксически корректно, мы его можем разобрать, структурировать: вот подлежащее, вот сказуемое, вот дополнения, определения, деепричастный оборот. Но имеет ли оно смысл, является ли семантически корректным? Видимо, нет. Можно привести сколько угодно таких синтаксически корректных, но семантически некорректных предложений, относящихся несмотря на это к нашему языку. В ЯП дело обстоит ровно так же в этом аспекте.
Re[16]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 12:04
Оценка: +2
Здравствуйте, WolfHound, Вы писали:

WH>Ты что сказать то хотел?


Я привел пример синтаксически корректных, но семантически некорректных предложений, относящихся несмотря на это к нашему языку.

WH>Что эти предложения не принадлежат русскому языку? Так они принадлежат.


Да, я это написал. Расскажи, пожалуйста, как тебе удается спрашивать ровно то, на что дан ответ в сообщении.
Re[18]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 15:00
Оценка: +1 :)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, D. Mon, Вы писали:


DM>>Я привел пример синтаксически корректных, но семантически некорректных предложений, относящихся несмотря на это к нашему языку.

WH>И?

Если семантический анализ бракует предложение, это не значит, что оно не принадлежит языку.

WH>Я могу написать программу на языке программирования, которая будет скомпилирована и исполнена без единой ошибки.


Тогда это будет семантически корректная программа, а не бредовая.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: FR  
Дата: 23.05.11 09:22
Оценка: 4 (1)
Здравствуйте, dimgel, Вы писали:

FR>>Refal сильно отличается от остальных языков, так как в базе алгорифмы Маркова, а не Тьюринг машина.


D>Смутно вспоминается, что на каком-то далёком курсе нам давали доказательство эквивалентности этих двух вещей.


Конечно математически они эквивалентны, так же как и третья вещь лямбда исчисление. Но на практике от них порождаются
весьма различные языки например от тьюринга императивные от лямбды функциональные, а от машины Поста — Brainfuck
Re[3]: язык заставляющий максимально изменить способ мышлени
От: FR  
Дата: 23.05.11 09:37
Оценка: 2 (1)
Здравствуйте, anokata, Вы писали:


A>Глядело уже и на Рефал. Слабовато мне кажется. хотя гляну ещё..

A>но всё же кто-нибудь читал статью Джона Бэкуса "Можно ли освободить программирование от стиля фон Нейманна?" ?

Давно читал, сейчас перелистываю, во многом ОО языки сейчас уже ушли от того что он называет "Языками фон Неймана",
особенно если брать системы типа Smalltalk.

A>Есть языки на которых невозможно писать в императивном/ооп стиле? но при этом были бы не слабее их. Те же функциональные языки.. среди них есть такие чистые? кроме хаскеля с монадами и clean с чем-то подобным, ну и ocaml/sml и т.п ?


Сложно на такой вопрос однозначно ответить, впечатления от языков сугубо индивидуальны, например Smalltalk
по моему требует гораздо большей смены мышления чем например функциональщина ML семейства, хотя он формально
и ближе к майнстримным языкам.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 06:26
Оценка: 2 (1)
Здравствуйте, anokata, Вы писали:

A>А есть что нибудь про зависимые типы по-русски?


Маловероятно.

A> и в каких языках они ещё есть? в ocaml'е например нету?


В окамле и хаскелле доступны лишь некоторые условные приближения к ним:
http://okmij.org/ftp/Computation/lightweight-dependent-typing.html

По-настоящему они есть в Agda, Coq, и ряде сильно экспериментальных штук вроде Epigram, Ωmega, NuPrl, Twelf, Isabelle, Delphin, Concoqtion, Aldor, Guru. Отдельно можно отметить ATS, он довольно низкоуровневый, но с некоторой поддержкой зависимых типов, за счет чего шибко быстрый.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: deniok Россия  
Дата: 24.05.11 14:20
Оценка: 2 (1)
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, D. Mon, Вы писали:


DM>>Из серьезных можно посмотреть на Agda2, там зависимые типы рвут череп так, как лисперам и немерлистам не снилось.

XC>А кстати, что это такое — зависимые типы? Кто-нибудь разбирался?

(1) Вводятся семейства типов, то есть типы, индексированные значениями некоторого другого типа:
data T : A -> Set

(Set — это, грубо говоря, тип типов).
Семейство типов T в действительности оператор над типами, для получения конкретного типа ему нужны значений типа A.
Например, семейство типов вектор — Vec, в котором хранятся значения типа A и который имеет длину n, индексирован натуральными числами Nat
data Vec (A : Set) : Nat -> Set

Конкретные вектора получаются передачей двух параметров (типа и значения типа Nat)
Vec Double 5
Vec Bool 42


(2) Вводится обобщённый функциональный тип, то есть тип функции из некоторого типа A в тип, зависящий от значения этого типа:
f : (x : A) -> B

Здесь тип B может зависеть от значения x типа A.
Например, конструктор, добавляющий в вектор длины n значение типа A, и возвращающий вектор на единицу большей длины
vcons : {n : Nat} -> A -> Vec A n -> Vec A (n + 1)


(3)...

(4)PROFIT!

http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf
Re[3]: язык заставляющий максимально изменить способ мышлени
От: alek.sys Великобритания  
Дата: 23.05.11 08:27
Оценка: 1 (1)
Здравствуйте, anokata, Вы писали:

A>Здравствуйте, alek.sys, Вы писали:


AS>>Здравствуйте, anokata, Вы писали:


A>>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


AS>>Prolog


A>А Mercury не лучше? У вас есть опыт или только поверхностные знания?


Практического опыта нет. В свое время изучал его в рамках курса "Логическое программирование", потом после университета были скорее периодические набеги на Пролог с целью расширения горизонтов сознания Но главное впечатление осталось именно как от языка, меняющего подход к программированию.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: dimgel Россия https://github.com/dimgel
Дата: 23.05.11 07:52
Оценка: +1
Здравствуйте, anokata, Вы писали:

A>Уточню. такой язык который всё же остаётся языком программирования машины.


Ну дык я к тому, что уже всё изобретено и обсосано. ООП/ФП/МП — ничего нового. Ну можешь ещё на пролог глянуть, типа "хочу результат, а как ты его получишь — мне пофиг".
Re: язык заставляющий максимально изменить способ мышления..
От: FR  
Дата: 23.05.11 08:50
Оценка: +1
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Refal сильно отличается от остальных языков, так как в базе алгорифмы Маркова, а не Тьюринг машина.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: dimgel Россия https://github.com/dimgel
Дата: 23.05.11 09:08
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Refal сильно отличается от остальных языков, так как в базе алгорифмы Маркова, а не Тьюринг машина.


Смутно вспоминается, что на каком-то далёком курсе нам давали доказательство эквивалентности этих двух вещей.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.11 14:22
Оценка: +1
Здравствуйте, anokata, Вы писали:

A>А есть язык с манипуляцией функциями не объектный и не императивный и не ленивый (и желательно с более менее развитый и с доступной документацией). Знаю есть языки гибридные, но если в них можно писать "по-старому" это считаю недостатком, поэтому думаю что нужно не просто поощрять какой то стиль, а не допускать других)


ML, SML. Хотя не очень ясно почему бы в чистом ФЯ не быть ленивости. Если убрать это ограничение, то Хаскель будет первым претендентом. В прочем, ML в сто раз проще.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: язык заставляющий максимально изменить способ мышления..
От: NiJazz Австралия  
Дата: 13.06.11 05:43
Оценка: :)
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


JavaScript или ActionScript, м?

В конце концов, от клавиатуры точно не уйти
Re[2]: язык заставляющий максимально изменить способ мышлени
От: out-of-the-way США www.tehnoromantik.net
Дата: 13.06.11 07:23
Оценка: -1
Здравствуйте, NiJazz, Вы писали:

NJ>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


NJ>JavaScript или ActionScript, м?


NJ>В конце концов, от клавиатуры точно не уйти


По мне js и as вообще это вообще не программирование, цацки одним словом. По сабжу, ну не много пришлось перестраиваться под sql, больше не чего.
Программа — мысли спрессованные в код.
Re[14]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 13.06.11 18:18
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

DM>>Да ладно, нужно просто различать синтаксический и семантический анализ. Синтаксис многих ЯП описывается КС грамматикой, но разумеется не каждая синтаксически корректная программа является семантически корректной.

WH>Это бредовая терминология. Читай до просветления.
Автор: WolfHound
Дата: 11.02.11


Это общепринятая разумная терминология. Ты там дальше признался, что ее не понимаешь ("Честно говоря я вообще не понимаю какую часть компилятора можно назвать семантическим анализатором?"), это твои проблемы. На попытки ввести свои определения тебе там уже возражали, не вижу смысла возобновлять.
Re[15]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 13.06.11 18:58
Оценка: :)
Здравствуйте, D. Mon, Вы писали:

DM>Это общепринятая разумная терминология.

Миллион мух не может ошибаться.
Ага, конечно.

DM>Ты там дальше признался, что ее не понимаешь ("Честно говоря я вообще не понимаю какую часть компилятора можно назвать семантическим анализатором?"), это твои проблемы.

Нет. Это ты не можешь понять написанное.
Прочитай сообщение, на которое я дал ссылку.
Там подробно описана эта терминология и почему она бред.

Семантика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.

(С)
Обрати внимание на выделенное. Семантика это поведение!
Следовательно, семантический анализ это анализ поведения.
А теперь скажи, какое отношение к поведению имеют: поиск имен, разрешение перегрузки,...
А я тебе скажу: Ровно такое же как распознавание выражений и других конструкций языка.

А что в компиляторе можно назвать анализом поведения? Разве что оптимизатор и возможно кодогенератор.


DM>На попытки ввести свои определения тебе там уже возражали, не вижу смысла возобновлять.

Если определения неоднозначные их нужно менять.
Ибо они реально создают проблемы.
Примеры неоднозначностей я опять же приводил.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 13.06.11 19:45
Оценка: +1
Здравствуйте, WolfHound.

Ну вот, началось.

Читай до просветления.

Нет. Это ты не можешь понять написанное.
Прочитай сообщение, на которое я дал ссылку.


Ты серьезно полагаешь, что чтение того сообщения ведет к просветлению, что если я с ним тут же не согласился, то я его не понял, что ты точно знаешь, что я понял, а что нет, и что я то сообщение, которое не понял, вообще не читал (или что оно требует многократного прочтения)? Это мания величия или просто хамство?

И приведи, пожалуйста, полный список неправильных определений из википедии. А то одни определения из нее ты называешь бредовыми, и в доказательство ссылаешься на соседние определения из нее же.
Re[17]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 13.06.11 19:57
Оценка: -1
Здравствуйте, D. Mon, Вы писали:

DM>Ну вот, началось.

Угу. Тебе, как и остальным нечего сказать по существу вопроса.
Единственное на что вы все способны это апелляция к авторитету.

DM>Ты серьезно полагаешь, что чтение того сообщения ведет к просветлению, что если я с ним тут же не согласился, то я его не понял, что ты точно знаешь, что я понял, а что нет, и что я то сообщение, которое не понял, вообще не читал (или что оно требует многократного прочтения)? Это мания величия или просто хамство?

Ты обвинил меня в том, что я что-то там не понимаю.
Но я подробно расписал то, что я якобы не понимаю в том сообщении, на которое дал ссылку. Причем написал, почему оно так получилось. Те я не только это понимаю, но и знаю всю подноготную вопроса.
Ты же выдрал цитату из контекста и попытался построить на ней, черт знает, какие выводы.
И какой я должен сделать из этих фактов вывод?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 03:20
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

WH>Угу. Тебе, как и остальным нечего сказать по существу вопроса.

WH>Единственное на что вы все способны это апелляция к авторитету.

Т.е. ты продолжаешь настаивать на своих сверхспособностях — знании того, что понимают или не понимают, могут или не могут собеседники?

WH>Ты обвинил меня в том, что я что-то там не понимаю.


Я не обвинял, лишь повторил за тобой.

WH>Ты же выдрал цитату из контекста и попытался построить на ней, черт знает, какие выводы.


Какие?

WH>И какой я должен сделать из этих фактов вывод?


Не стоит спешить с выводами из кажущихся фактов.
Я понимаю, что у тебя есть свои определения для устоявшихся терминов. Ничего страшного, медицине известны и более серьезные случаи. Некоторым удается держать себя в руках и продолжать нормальную жизнь в социуме. Некоторым помогают лекарства. Но самых буйных, настаивающих на своем видении, приходится изолировать.
Re[18]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 03:48
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Угу. Тебе, как и остальным нечего сказать по существу вопроса.


По существу вопроса:

Ошибка номер 1:

Синтаксический анализ отвечает на один вопрос: Принадлежит ли текст языку. Да или нет!
Дерево разбора это побочный эффект который некоторые не сознательные личности считают основным.


Именно дерево разбора — то, что используется остальными стадиями компилятора или интерпретатора, это именно то, что им нужно от синтаксического анализатора, вовсе не одно булево значение. Поэтому получение структурированного представления из линейного исходного потока и есть главная функция и определение синтаксического анализа. Это просто парсинг.

Ты считаешь программу с ошибками типизации не принадлежащей языку, синтаксически некорректной, однако в ряде языков такие ошибки могут быть выявлены лишь при исполнении, когда всякий синтаксический анализ уже должен быть завершен. Это явная ошибка.

Ошибка номер 2:

Семантика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.
(С)

Обрати внимание на выделенное. Семантика это поведение!
Следовательно, семантический анализ это анализ поведения.
А теперь скажи, какое отношение к поведению имеют: поиск имен, разрешение перегрузки,...


Ты тоже обрати внимание на выделенное тобою же. Семантика — это смысл. Программа и ее конструкции далеко не всегда вообще описывает поведение.

Вот тебе пример:
a = map (+1) [1..]

Это синтаксически и семантически корректный фрагмент кода на Хаскеле. Он имеет четкий синтаксис (доказательством чего служит соответствующее дерево разбора) и семантику (смысл), но вообще не задает никакого поведения, т.к. в конечной программе значение "a" может не понадобиться и никакого исполняющегося кода сгенерировано не будет. Или обращение будет, но как именно и что именно будет происходить зависит от реализации компилятора и рантайма, а также от вызывающего кода. Конкретное поведение не описывается этим куском кода.

Поэтому теперь я тебе скажу, какое отношение к поведению имеют: поиск имен, разрешение перегрузки,... (ты просил)
Они имеют отношение к определению смысла значений из дерева разбора. Это именно семантический анализ. К синтаксису никакого отношения не имеющий.

А теперь скажи: неужели тебе таких аргументов не приводили уже? Неужели нужно много раз рассказывать очевидные всем кроме тебя вещи?
Re[22]: язык заставляющий максимально изменить способ мышлен
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 14.06.11 11:53
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>>>Главная задача синтаксического анализатора это определить принадлежит строка языку или нет.

DM>>Нет. Это не главная задача. От того, что ты много раз повторишь свое мнение, оно не станет более обоснованным.
WH>А что же еще то?

Я уже писал. Следует ли мне тут поставить ссылку Читать до просветления
Автор: D. Mon
Дата: 14.06.11
или нужно повторить здесь:

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

?

WH>Мы берем строку и проверяем принадлежит ли она языку.


Эта проверка есть лишь следствие основной задачи — парсинга, построения структурированного представления. Получилось построить — принадлежит языку, не получилось — не принадлежит.

WH>>>Генерация кода может, вообще не производится.

DM>>Причем тут генерация кода?
WH>А причем тут семантика, если ничего не генерируется?

Восстанови нить реплик, пожалуйста. Мы тут обсуждали синтаксический анализ, не семантику, а ты вдруг стал говорить про генерацию кода.

DM>>Т.е. определение синтаксическгого анализа у тебя зависит от динамической или статической типизации? Это совсем дико.

WH>Дико это непонимание того что у разных языков разный синтаксис.

Согласен. И у меня такого непонимания нет. Только это не относится к данному вопросу.

DM>>А я не об этом писал, вообще-то. Я пытался показать, что не надо семантику считать поведением. Тогда сложностей с пониманием семантического анализа будет меньше.

WH>Ну так дай определение семантики как ты ее понимаешь.

Я уже упоминал. Следует ли мне тут поставить ссылку Читать до просветления
Автор: D. Mon
Дата: 14.06.11
или нужно повторить здесь:

... к определению смысла значений из дерева разбора. Это именно семантический анализ.

?

Я потом еще повторю, специально для тех, кто считает, что повторение увеличивает понимание.

DM>>Причем тут кодогенерация? Она может всплыть, если считать семантику описанием поведения, но это ошибка, о чем я и сказал.

WH>Ты лучше скажи, причем тут семантика при ответе на вопрос принадлежит строка языку или нет.

Нипричем. Я это уже демонстрировал выше.

DM>>И что? К чему ты это написал? Да, семантика и синтаксис не одно и то же, поэтому можно изменить синтаксис, не изменив семантики.

WH>Ну, так, где проходит граница между синтаксисом и семантикой?
WH>Что отвечает на вопрос: Принадлежит строка языку или нет?
WH>Синтаксис или семантика?

Синтаксис.

DM>>В частности, если делать синтаксический анализ руками, он не станет от этого семантическим.

WH>А как определить где у нас синтаксический анализ, а где семантический?

Пользуясь хорошими определениями.

DM>>Он и не зависит. Если использовать общепринятую терминологию, то проблем нет — вот есть языки Java и C#, вот есть их грамматики в таком-то формальном виде, вот есть генераторы парсеров, которые по ним строят синтаксические анализаторы. Все четко и ясно. И тут приходишь ты, меняешь определения и превращаешь все в кашу.

WH>Так если использовать разные генераторы, то приходится менять грамматику.
WH>Те у нас синтаксис начинает зависеть от инструментов!

Мы можем грамматику записать в разной форме. Это как одну и ту же мысль выразить разными фразами. Тебя это смущает? Понятие эквивалентности незнакомо?

DM>>Она не начинает.

WH>Ну как не начинает то? Взяли ПЕГ, и пропал лексический анализ.

Почему пропал? Необязательно. Я сам делал компилятор с парсингом на ПЕГ, у которого на входе был поток лексем от лексера. Точно так же никто не мешает обойтись без лексера и в LR анализаторах.

WH>Более того грамматику нужно переделать в соответствии с правилами ПЕГ.

WH>А если писать все руками, то у нас вообще в явном виде грамматики нет.
WH>А если это самопальный язык, для которого никто не озаботился ЕБНФом? То как определить где у нас всё ещё синтаксический анализатор, а где уже семантический?

Пользуясь хорошими определениями.

WH>В моем определении все четко. Код, который может сообщить об ошибке синтаксический анализ. Ибо он отвечает на вопрос: Принадлежит ли строка языку?


Линкер тоже относится к синтаксическому анализу? Он же тоже может сообщить об ошибке. А рантайм? Он же тоже может сообщить об ошибке. Твое определение настолько широкое, что теряет практический смысл и должно быть выброшено на помойку.

WH>А как ты определишь вот это у нас синтаксический анализатор, а вот это уже семантический?


Пользуясь хорошими определениями.

Повторю их еще раз, раз ты так много раз попросил это сделать.
Синтаксический анализ === парсинг — построение структурированного представления из линейного потока входных данных. Входными данными могут быть символы, лексемы, лошади, верблюды, что угодно. На выходе часто дерево, но тоже необязательно. Успешный парсинг означает принадлежность входной последовательности языку. Но это не главная функция, а естественный побочный результат.

Семантический анализ — "осмысливание" данных, полученных от синтаксического анализатора, наполнение результата парсинга информацией, необходимой для дальнейших преобразований. В частности, проверка описанности переменных, проверка типов и т.д.

Могут ли эти действия пересекаться и перемешиваться в коде? Могут, но не обязаны обычно. Создает ли это проблемы? Не создает.
Re[14]: язык заставляющий максимально изменить способ мышлен
От: cvetkov  
Дата: 15.06.11 10:08
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

DM>>Да ладно, нужно просто различать синтаксический и семантический анализ. Синтаксис многих ЯП описывается КС грамматикой, но разумеется не каждая синтаксически корректная программа является семантически корректной.

WH>Это бредовая терминология. Читай до просветления.
Автор: WolfHound
Дата: 11.02.11

Интересное мнение. но я бы не сказал что оно общепринятое.
Re[20]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:21
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Все что мы можем это определить принадлежность программы языку и то какие правила были нарушены.


Никому кроме "ученых" не интересно сферическое знание в вакууме о пренадлежности строки языку. Всем, в том числе и IDE, нужна детальная информация. Совершенно не важно загружен модуль генерации кода или нет. Но AST и информация о типах (типизации) этого AST будет нужна IDE.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:55
Оценка: +1
Здравствуйте, D. Mon, Вы писали:

DM>Ага. Конечно.

DM>Да.
DM>Нет...

Потрясающая, выдержка. Снимаю шляпу.

ЗЫ

Одного только не могу понять — зачем весь этот терминологический спор? Ведь от того как называются действия ровным счетом ничего не меняется. Ну, назови типизацию и разрешение имен синтаксическим анализом, и что? Что-то изменится?

Я бы понял если бы WolfHound предлагал смешать стадии парсинга и типизации. Но он же это не предлагает! На оборот он жетско стоит за разделение этих стадий. И вопрос "принадлежит ли строка языку" ему плевать. Ему точно так же нужно AST. Он точно так же хочет его типизировать только после полного его формирования. Но вот называть все это он хочет иначе. Типа дело принципа.

На фиг нужны такие принципы? Особенно в свете того, что его терминологию ему придется объяснять всем кому он хочет хоть что-то рассказать, а с доброй половиной (вместо дальнешего обсуждения прикладных вопросов) он тот час же начет спорить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 17:56
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Самое забавное, что под всей этой терминологической вакханалией лежит в общем-то

Моя терминология абсолютна, логична и полностью соответствует теории формальных языков.

VD>здравая мысль.

Все мои мысли здравы.

VD>Вольфхаунд хочет осуществить, казалось бы, простую мечту — формализовать типизацию и другие стадии языковых тулов.

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

VD>Идея здравая и архи-нужная, но как истинный Дон Кихот, вместо ее решения, наш рыцарь решает побороться с ветряными мельницами, так как это увлекательнее чем писать код и обдумывать проекты.

На решение задачи, об которую обламывала зубы армия ученых на протяжении более чем пятидесяти лет даже мне нужно чуть больше чем пара часов.

Тот, кто подумал, что у меня мания величия лишён чувства юмора.
Ну да. Тролю.
А как мне еще разговаривать с теми, для кого миллион мух важнее логики?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 18:30
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

VD>>

VD>>Сема?нтика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.

WH>Синтаксис задает множество строк языка.
WH>Семантика задает смысл каждой строки.
WH>Согласен?

По фигу. Хоть горшком назови. Ничего не изменится. Людям нужно дело!

Я вообще не понимаю зачем нужны эти наукообразные термины. Для меня есть парсинг. Его результат — это AST. Есть разрешение имен и типизация. Его результат AST в котором все ссылки и имена ссылкаются на четко определенные сущности или на описание ошибок обнаруженных в процессе типизации.

Это железная терминология! Ей и надо пользоваться. Тут нет никаких неоднозначностей. А про споры о значении не нужных терминов нужно просто забыть. Они нужны только в чтобы сделать наукообразные трактаты более наукообразные. За этими терминами невежды и лодыри прикрывают правду о том, что они ничего в своей жизни не придумали и/или сделали.

Так зачем нам уподобляться им?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 19:05
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Молодец. Считай так и дальше. Только окружающих этим не донимай. Им совершенно все равно что ты думаешь о переосмысленных тобой терминах.

Те, кто разбирается в вопросе со мной согласны.

VD>На твоей стороне только упертость. Никакой логики в этом нет. Точнее в твое логике есть ошибки. Потому и выводу мало интересны.

В моей логике ошибок нет.
Она полностью соответствует определениям синтаксиса и семантики.

WH>>На решение задачи, об которую обламывала зубы армия ученых на протяжении более чем пятидесяти лет даже мне нужно чуть больше чем пара часов.

VD>Ты думаешь ты выглядишь круто?
Я просто говорю тебе про размах задачи, которую я решаю. А то ты через одно сообщение в меня тыкаешь, что я до сих пор ее не решил.

VD>Кстати, ее в этой теме вроде как не касались.

Я знал. Чувства юмора у тебя нет.

VD>Отсюда следует вывод, что тебе нужно повзрослеть и понять, что вместо того чтобы безуспешно навязывать окружающим свою терминологию, лучше с умом использовать имеющуюся и дополнять ее так чтобы твои мысли были отчетливо ясны.

Это невозможно.
Ибо терминология противоречит базовым терминам.

VD>Так что прекращай тратить время зря. Лучше посвяти его созданию твоего прототипа (который ты обещал сделать). Ты и здесь делаешь ошибку (опять же из-за своего максимализма), так как объем работ требуемый для создания прототипа с нуля многократно увеличивается и ты рискуешь просто никогда его не сделать.

Объем работы многократно увеличится, если это делать на базе немерла.
Это блин как предложить делать прототип компилятора немерла на базе gcc
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[27]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 19:35
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Да, могу. Но только если он меня интересует. А он меня не интересует.

Просто ты понял, что это ловушка.
Ответ "да" означает что я прав.
Ответ "нет" означает, что ты споришь с определением синтаксиса и семантики.
Короче с чистой совестью засчитываю тебе очередной слив.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[29]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 20:10
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

VD>>Более конструктивно было бы сначала вяснить у людей хотят ли они делать то с чем ты собрался бороться. И тогда тебе откроется чудесное знание — люди, в моем лице, сами не хотят это делать.

WH> Так что же ты со мной тогда с пеной у рта спорил про раскрытие макросов во время типизации?

Я и продолжу спорить. Ведь речь идет о совершенно разных вещах называемых кодогенерацией.
Я против смешения процесса типизации и генерации типизированного кода (того что я называю TAST). Но я за возможность раскрытия макросов в нетипизированном виде, т.е. до типизации и кодогенерации.

Короче, я против смешения разнородных операций. Это увеличивает сложность.

VD>>Вот только это никак не меняет моей позиции относительно других вещей (например, о том, что нужно дать людям возможность переписывать выражения вместо ручной типизации).

WH> Это кодогенерация во время типизации!

Не-а. Это другой вид кодогенерации. И происходит он до типизации. Типизации подвергается уже раскрытый код.

Важно понимать, что смешение — это когда один охотник пытается убить двух зайцев. А если есть два охотника которые независимо ловят разных зайцев в разных местах, то смешения не происходит. А значит и нет проблем.

VD>>Дык, есессно! Плохо спроектированный язык с контекстно-зависимой грамматикой вынужден мешать стадии.

WH>Все языки, где есть требования объявить переменную перед использованием КЗ.
WH>Просто по определению.

Это глупая позиция, так как она ничего не дает. По этому умные люди отделяют... Но повторяться я не буду, так как это глупо .

VD>>Именно по этому в последнее время люди проектируют языки на основе контекстно-свободных грамматик.

WH>Я про это очень подробно написал тут
Автор: WolfHound
Дата: 11.02.11
.


Если повторить что-то много раз, то это что-то умнее не станет. Все что ты там написал подробно разрбрал Ахо в "Карсном драконе". И там же он объяснил почему люди выделили контекстно свободные языки, отдельные стадии парсинга и т.п.

В этом мире все делается для упрощения. И если ты об этом догадался, то не стоит спешить объявлять это слабость. Это как раз сила.

Короче, почитай то что тебе ответил D. Mon. Он очень хорошо продемонстрировал абсурдность твоего мышления.

VD>>И самое интересно, что ты все это знаешь не хуже меня. Но что-то странное подталкивает тебя поспорить на бессмысленные темы.

WH>Это тебя что-то подталкивает спорить с 2*2=4.

Да, ну?

VD>>Это не надо делать. Просто не надо. Таблицы имен за глаза хватает для С++ и любого другого вменямо-контексно-зависимого языка. А для правильно проектируемых языков и этого не надо. Они уже имеют контекстно свободную грамматику.

WH>Они не имеют КС грамматику. Просто по определению.

О, как ты прав КО! В грамматике С++ есть два или три КЗ-места. Примитивная хэш таблица повзволяет парсить эту КЗ-грамматику парсером КС-грамматик.

Будем еще спорить, а КО?

WH>Для "правильно проектируемых" языков есть КС язык, который является их строгим надмножеством.


Молодец! Ты хорошо читал Ахо.
Что с того?

WH>Далее применяются неформальные правила (поиск имен, вывод типов,...) которые исключают из КС надмножества строки, которые не относятся к языку.


Чем же они не формальные то? Эдак и парсинг можно неформально сделать (и ведь делают же!). Что с того?

WH>Именно поэтому это все синтаксический анализ.


О том что это чуешь ты можешь прочесть если вернешся на 10 сообщений выше. Так что не будем повторяться.

Люди отделюят задачи чтобы сделать их проще. Разбиение на синтаксический анализ и семантический сделано именно для этого (ваш КО). Именно по этому сегодня грамматики ЯП проектируют как КС и всеми силами избегают КЗ-грамматик (ваш КО). И именно по этому выдумали стадию семантического анализа. Ее наличие позволяет отделить част сложности в отдельный код и тем самым разбить задачу на подзадачи.

И как из этого можно вывести ненужность выделения стадии семантического анализа я ума не приложу. Ну, а идея называть синтаксическим анализом, то что весь программистский мир называет семантически — это просто очень глупая идея. Она может привести только к путанице и смешению того что можно было бы разделить.

WH>Для С++ тоже можно задать КС надмножество но оно получается настолько общим что ничему не помогает.


Вот пример отлично опровергающий твое утверждение о том, что ты не ошибаешься .
КС-грамматика для С++ описана в его стандарте. Просто она имеет ряд (2 или 3) неоднозначности. И в этом же стандарте говорится как это легко преодолеть. Более того есть такие продвинутые технологии как GLR которые позволяют разбирать исходную, неоднозначную, грамматику С++ (всегда ваш — КО). Они просто строят несколько деревьев разбора. И делается это... в прочем я уже раз сто говорил зачем это делается.

За сим откланиваюсь, ваш КО
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 20:12
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, VladD2, Вы писали:


VD>>Да, могу. Но только если он меня интересует. А он меня не интересует.

WH>Просто ты понял, что это ловушка.

Ну, да. В которую ты себя поймал и убиваешь время.

Отвечать я тебе не хочу потому что ответ тебе давался уже раз сто. Ответ D. Mon очень убедителен и доходчив. Читай его до просветления.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 20:31
Оценка: :)
Здравствуйте, VladD2, Вы писали:

WH>>Все языки, где есть требования объявить переменную перед использованием КЗ.

WH>>Просто по определению.
VD>Это глупая позиция, так как она ничего не дает. По этому умные люди отделяют... Но повторяться я не буду, так как это глупо .
Это не позиция. Это определения.
Спорить с определениями просто глупо.

VD>Если повторить что-то много раз, то это что-то умнее не станет. Все что ты там написал подробно разрбрал Ахо в "Карсном драконе". И там же он объяснил почему люди выделили контекстно свободные языки, отдельные стадии парсинга и т.п.

Ты мое сообщение читал?
Там это все есть.
Причем я смог уместить это в несколько простых предложений.
Все с чем я спорю это бредовость терминологии, которая противоречит исходным определениям.

VD>Короче, почитай то что тебе ответил D. Mon. Он очень хорошо продемонстрировал абсурдность твоего мышления.

Он абсурдность своего мышления продемонстрировал.

VD> О, как ты прав КО! В грамматике С++ есть два или три КЗ-места. Примитивная хэш таблица повзволяет парсить эту КЗ-грамматику парсером КС-грамматик.

VD>Будем еще спорить, а КО?
Математически доказано что СК грамматика не может задать требование объявления переменной перед использованием. Для этого нужна как минимум КЗ грамматика.

VD>Чем же они не формальные то? Эдак и парсинг можно неформально сделать (и ведь делают же!). Что с того?

Тем, что не заданы формально.

VD>Люди отделюят задачи чтобы сделать их проще. Разбиение на синтаксический анализ и семантический сделано именно для этого (ваш КО). Именно по этому сегодня грамматики ЯП проектируют как КС и всеми силами избегают КЗ-грамматик (ваш КО). И именно по этому выдумали стадию семантического анализа. Ее наличие позволяет отделить част сложности в отдельный код и тем самым разбить задачу на подзадачи.

Ты мое сообщение
Автор: WolfHound
Дата: 11.02.11
читал? Я там тоже самое написал.

VD>И как из этого можно вывести ненужность выделения стадии семантического анализа я ума не приложу. Ну, а идея называть синтаксическим анализом, то что весь программистский мир называет семантически — это просто очень глупая идея. Она может привести только к путанице и смешению того что можно было бы разделить.

Глупо называть семантическим анализом то что к смыслу программы не имеет никакого отношения.

WH>>Для С++ тоже можно задать КС надмножество но оно получается настолько общим что ничему не помогает.

VD>Вот пример отлично опровергающий твое утверждение о том, что ты не ошибаешься .
Для С++ можно задать регулярную грамматику.
Она кстати тоже в стандарте описана.
И она тоже нихрена ничему не поможет.

Я просто понимаю вопрос от и до. А ты начитался библии (книга дракона) и веруешь.
Выкинь дракона. Он хармфул.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
язык заставляющий максимально изменить способ мышления..
От: anokata  
Дата: 23.05.11 07:36
Оценка:
Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?
Буду программировать и переводить с японского за еду. Предложения принимаются.
парадигма язык мышление
Re: язык заставляющий максимально изменить способ мышления..
От: dimgel Россия https://github.com/dimgel
Дата: 23.05.11 07:42
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Язык программирования людей. НЛП там, вся фигня. Максимально далеко уводит от машинного уровня — в кресло начальника.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 07:45
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


D>Язык программирования людей. НЛП там, вся фигня. Максимально далеко уводит от машинного уровня — в кресло начальника.


Уточню. такой язык который всё же остаётся языком программирования машины.
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re: язык заставляющий максимально изменить способ мышления..
От: anokata  
Дата: 23.05.11 07:56
Оценка:
А кто-нибудь читал статью Джона Бэкуса "Можно ли освободить программирование от стиля фон Нейманна?" ?
Думаете это возможно? Есть ли какие то достижения в этой области помимо Пролога, его производных и APL/J/K и FPr/FL ?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re: язык заставляющий максимально изменить способ мышления..
От: Mihas  
Дата: 23.05.11 08:00
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


Labview не потянет?
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 08:08
Оценка:
Здравствуйте, Mihas, Вы писали:

M>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


M>Labview не потянет?


Не) не похоже на ЯП. Во-первых, среда. Во-вторых графическая.
Я не против нестандартного способа представления кода и данных, но это что то не то.

ещё интересно есть ли языки находящиеся на грани эзотерических но ими не являющимися.
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 08:14
Оценка:
Здравствуйте, alek.sys, Вы писали:

AS>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


AS>Prolog


А Mercury не лучше? У вас есть опыт или только поверхностные знания?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: Mihas  
Дата: 23.05.11 08:28
Оценка:
Здравствуйте, anokata, Вы писали:

A>Не) не похоже на ЯП. Во-первых, среда. Во-вторых графическая.

Может быть, и не язык (не силен я в терминологии), но точно больше чем среда.

A>Я не против нестандартного способа представления кода и данных, но это что то не то.

Там нет нестандартного способа представления кода.

Исполнение программы больше похоже на работу электрической схемы, нежели на пошаговый алгоритм в привычных языках.
Потому я и вспомнил про него.
Re: язык заставляющий максимально изменить способ мышления..
От: batu Украина  
Дата: 23.05.11 08:31
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

А не кажется Вам что это разные вопросы? Способ мышления и так разный у людей с английским, китайским и русским..Есть еще более отличные языки по способу мышления. Собственно, язык и есть способ мышления.
Желание уйти от машинного уровня зависит от направления. Куда уходить? Опять в какой-то язык, а он и есть способ..
Re[4]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 08:32
Оценка:
Здравствуйте, Mihas, Вы писали:

M>Здравствуйте, anokata, Вы писали:


A>>Не) не похоже на ЯП. Во-первых, среда. Во-вторых графическая.

M>Может быть, и не язык (не силен я в терминологии), но точно больше чем среда.

A>>Я не против нестандартного способа представления кода и данных, но это что то не то.

M>Там нет нестандартного способа представления кода.

M>Исполнение программы больше похоже на работу электрической схемы, нежели на пошаговый алгоритм в привычных языках.

M>Потому я и вспомнил про него.

А есть что то подобное но не коммерческое?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 08:37
Оценка:
Здравствуйте, batu, Вы писали:

B>А не кажется Вам что это разные вопросы? Способ мышления и так разный у людей с английским, китайским и русским..Есть еще более отличные языки по способу мышления. Собственно, язык и есть способ мышления.

B>Желание уйти от машинного уровня зависит от направления. Куда уходить? Опять в какой-то язык, а он и есть способ..

А допустим для расширения сознания) какие есть ещё языки отличные от большинства распрастранённых?
а можно вообще как-то выделить отдельно способы мышления? (описать их на каком то языке может? тогда этот метаязык и будет самым абстрактным)
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[5]: язык заставляющий максимально изменить способ мышлени
От: Mihas  
Дата: 23.05.11 08:41
Оценка:
Здравствуйте, anokata, Вы писали:

A>А есть что то подобное но не коммерческое?


Не слыхал. Знаю лишь про собственные разработки аналогичных языков в паре местных контор.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 23.05.11 09:06
Оценка:
Здравствуйте, FR, Вы писали:

FR>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


FR>Refal сильно отличается от остальных языков, так как в базе алгорифмы Маркова, а не Тьюринг машина.


Глядело уже и на Рефал. Слабовато мне кажется. хотя гляну ещё..
но всё же кто-нибудь читал статью Джона Бэкуса "Можно ли освободить программирование от стиля фон Нейманна?" ?
Есть языки на которых невозможно писать в императивном/ооп стиле? но при этом были бы не слабее их. Те же функциональные языки.. среди них есть такие чистые? кроме хаскеля с монадами и clean с чем-то подобным, ну и ocaml/sml и т.п ?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: BulatZiganshin  
Дата: 23.05.11 09:21
Оценка:
Здравствуйте, dimgel, Вы писали:

FR>>Refal сильно отличается от остальных языков, так как в базе алгорифмы Маркова, а не Тьюринг машина.


D>Смутно вспоминается, что на каком-то далёком курсе нам давали доказательство эквивалентности этих двух вещей.


интуитивно это и так понятно. но к способу мышления никакого отношения не имеет. вообще любой реальный яп — тьюринг-полный
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: язык заставляющий максимально изменить способ мышлени
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 20:00
Оценка:
Здравствуйте, anokata, Вы писали:

A>А кто-нибудь читал статью Джона Бэкуса "Можно ли освободить программирование от стиля фон Нейманна?" ?

A>Думаете это возможно? Есть ли какие то достижения в этой области помимо Пролога, его производных и APL/J/K и FPr/FL ?

Есть — макросы и другие DSL-ориентированные подходы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: язык заставляющий максимально изменить способ мышления..
От: MasterZiv СССР  
Дата: 23.05.11 20:54
Оценка:
On 23.05.2011 11:36, anokata wrote:
> Какой язык/парадигма программирования заставляют максимально изменить способ
> мышления и программирования (в отличие от императивного/ооп/функционального или
> же в их рамках)?

Common Lisp. Ну и Scheme заодно.

А также максимально далеко уйти от машинного уровня?
> Буду программировать (на Lisp/Scheme/J) и переводить с японского за еду.

Не понял. ты уже "наш" ?
Posted via RSDN NNTP Server 2.1 beta
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 03:58
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Не понял. ты уже "наш" ?


Да почти, я изучало и писало на лиспе и схеме несколько месяцев. Поначалу конечно пришлось сознание расширить, но теперь мне этого мало) изучало и другие но теперь мало что так рвёт сознание..
А есть что нибудь про зависимые типы по-русски? и в каких языках они ещё есть? в ocaml'е например нету?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 04:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Пролог/Меркури. А вообще, изменяют сознание не сами языки, а непривычные фичи языков. В прологе — это унификация. В языках потомках ML — это паттерн-матчнинг, АлгТД и манипуляция функциями, в С/С++ — это указатели, в Лиспе и Немерле — это макросы, в Хаскеле — это классы типов, в Агде — это зависимые типы. Все это не просто меняет сознание, а рвет мозг (по началу).


А есть язык с манипуляцией функциями не объектный и не императивный и не ленивый (и желательно с более менее развитый и с доступной документацией). Знаю есть языки гибридные, но если в них можно писать "по-старому" это считаю недостатком, поэтому думаю что нужно не просто поощрять какой то стиль, а не допускать других)
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re: язык заставляющий максимально изменить способ мышления..
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 06:07
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


http://en.wikipedia.org/wiki/Piet_%28programming_language%29
http://en.wikipedia.org/wiki/Befunge
http://en.wikipedia.org/wiki/Malbolge
http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29


Из серьезных можно посмотреть на Agda2, там зависимые типы рвут череп так, как лисперам и немерлистам не снилось.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 07:17
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Из серьезных можно посмотреть на Agda2, там зависимые типы рвут череп так, как лисперам и немерлистам не снилось.


А кстати, в чём польза использования зависимых типов?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: MasterZiv СССР  
Дата: 24.05.11 07:19
Оценка:
On 24.05.2011 7:58, anokata wrote:
> А есть что нибудь про зависимые типы по-русски? и в каких языках они ещё есть? в
> ocaml'е например нету?

А ну извини, если ты в эту сторону копать хочешь, то
0) ты не "наш"
1) тебе lisp тут не помошник.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: язык заставляющий максимально изменить способ мышлени
От: MasterZiv СССР  
Дата: 24.05.11 07:20
Оценка:
On 24.05.2011 10:07, D. Mon wrote:

> Из серьезных можно посмотреть на Agda2, там зависимые типы рвут череп так, как

> лисперам

Лисперам в этом смысле череп разорвать сложно, в лиспах нет статической
типизации вообще.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: язык заставляющий максимально изменить способ мышлени
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.05.11 07:27
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 24.05.2011 7:58, anokata wrote:

>> А есть что нибудь про зависимые типы по-русски? и в каких языках они ещё есть? в
>> ocaml'е например нету?

MZ>А ну извини, если ты в эту сторону копать хочешь, то

MZ>0) ты не "наш"
MZ>1) тебе lisp тут не помошник.

И, например, Qi, работающий на Common Lisp тоже не "ваш"?
Есть подозрение, что не стоит за всех лисперов говорить.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: BulatZiganshin  
Дата: 24.05.11 07:39
Оценка:
Здравствуйте, anokata, Вы писали:

A>Да почти, я изучало и писало на лиспе


так ИИ уже создан?
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: язык заставляющий максимально изменить способ мышлени
От: Sorc17 Россия  
Дата: 24.05.11 07:49
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>1) тебе lisp тут не помошник.


http://groups.google.com/group/comp.lang.lisp/msg/6f75cfb5a289d3f6?pli=1 Лисп не нужен.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[4]: язык заставляющий максимально изменить способ мышлени
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 07:49
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

A>>Да почти, я изучало и писало на лиспе


BZ>так ИИ уже создан?


ИИ мужского рода, это не он.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 07:51
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Лисперам в этом смысле череп разорвать сложно, в лиспах нет статической типизации вообще.


Наоборот, именно поэтому у них он должен рваться быстрее, т.к. с непривычки въехать сложнее, нужно больше усилий.
Re[4]: язык заставляющий максимально изменить способ мышлени
От: Sorc17 Россия  
Дата: 24.05.11 08:06
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, anokata, Вы писали:


A>>А кстати, в чём польза использования зависимых типов?


DM>Ученые степени, университетские гранты, уважение среди коллег и любовь знойных женщин.


Сидение за компьютером в коллективе из двух с половиной 60 летних старцев в разваливающемся нии с зарплатой 300 баксов. А женщины только в чатах.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[5]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 08:37
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>Здравствуйте, D. Mon, Вы писали:


DM>>Здравствуйте, anokata, Вы писали:


A>>>А кстати, в чём польза использования зависимых типов?


DM>>Ученые степени, университетские гранты, уважение среди коллег и любовь знойных женщин.


S>Сидение за компьютером в коллективе из двух с половиной 60 летних старцев в разваливающемся нии с зарплатой 300 баксов. А женщины только в чатах.


ну для моего существования вполне хватит 300 баксов. и от коллектива около 2-3х существ мне более чем достаточно.
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: x-code  
Дата: 24.05.11 09:09
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Из серьезных можно посмотреть на Agda2, там зависимые типы рвут череп так, как лисперам и немерлистам не снилось.

А кстати, что это такое — зависимые типы? Кто-нибудь разбирался?
Re: язык заставляющий максимально изменить способ мышления..
От: 0x7be СССР  
Дата: 24.05.11 09:10
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

Из того, что я знаю, безусловно, Prolog и другие языки из той группы.
Re: язык заставляющий максимально изменить способ мышления..
От: jazzer Россия Skype: enerjazzer
Дата: 24.05.11 09:39
Оценка:
Здравствуйте, anokata, Вы писали:

переводить с японского за еду


Т.е. тебе трехмерный японский язык недостаточно мозг порвал?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 09:45
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Т.е. тебе трехмерный японский язык недостаточно мозг порвал?


Да ничуть. он оказался достаточно понятным.

и мне бы не просто порвать но и чтобы оно ещё и полезно было, то есть пригодилось)
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[3]: язык заставляющий максимально изменить способ мышлени
От: jazzer Россия Skype: enerjazzer
Дата: 24.05.11 09:52
Оценка:
Здравствуйте, anokata, Вы писали:

A>Здравствуйте, jazzer, Вы писали:


J>>Т.е. тебе трехмерный японский язык недостаточно мозг порвал?


A>Да ничуть. он оказался достаточно понятным.

А как насчет примеров типа きょうはみにきてくれてありがとう?

A>и мне бы не просто порвать но и чтобы оно ещё и полезно было, то есть пригодилось)

т.е. это не из чистого искусства? Эх... А то я бы контрапункт предложил до кучи...
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 09:58
Оценка:
Здравствуйте, jazzer, Вы писали:

J>А как насчет примеров типа きょうはみにきてくれてありがとう?


"Благодарю за то, что навестили меня сегодня."

J>т.е. это не из чистого искусства? Эх... А то я бы контрапункт предложил до кучи...


может не совсем чистого но всё же.. предложите)
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[5]: язык заставляющий максимально изменить способ мышлени
От: jazzer Россия Skype: enerjazzer
Дата: 24.05.11 10:07
Оценка:
Здравствуйте, anokata, Вы писали:

A>Здравствуйте, jazzer, Вы писали:


J>>А как насчет примеров типа きょうはみにきてくれてありがとう?


A>"Благодарю за то, что навестили меня сегодня."


Ага. А теперь перепишем на кандзи: 今日はミニ着てくれてありがとう

J>>т.е. это не из чистого искусства? Эх... А то я бы контрапункт предложил до кучи...


A>может не совсем чистого но всё же.. предложите)


DSL-и. Тысячи их А потом попытаться реализовать их на твоем любимом языке общего назначения
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 10:16
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Ага. А теперь перепишем на кандзи: 今日はミニ着てくれてありがとう


кандзи ещё ладно, но катакану хираганай записывать? Оо брр
полностью всё хираганой писать можно похоже только детские книги. то есть где мало неоднозначности.
а в разговорном нужно слушать ещё и интонацию и тон.
вы бы ещё по китайски написали без указания тонов
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[7]: язык заставляющий максимально изменить способ мышлени
От: jazzer Россия Skype: enerjazzer
Дата: 24.05.11 10:26
Оценка:
Здравствуйте, anokata, Вы писали:

A>Здравствуйте, jazzer, Вы писали:


J>>Ага. А теперь перепишем на кандзи: 今日はミニ着てくれてありがとう


A>кандзи ещё ладно, но катакану хираганай записывать? Оо брр

Ну так в ворде в каком-нть ты же пишешь все хираганой, а потом по пробелу он меняет на кандзи/катакану
Причем みに может транслироваться как в ミニ, так и в 見に, в зависимости от того, что ты использовал в последний раз.

A>полностью всё хираганой писать можно похоже только детские книги. то есть где мало неоднозначности.

Ну вот пример без катаканы: きょうはいしゃにいく。 Неоднозначность уже видна, думаю

A>а в разговорном нужно слушать ещё и интонацию и тон.

A>вы бы ещё по китайски написали без указания тонов
Да интонация и тон в разговорном для обоих вариантов будет крайне незначительно отличаться. Но из контекста будет понятно. Если, конечно, она не в мини-юбке приходила на встречу
Прикинь, пишешь ты благодарственное письмо бизнес-партнеру, жмешь пробел, а она тебе такую красоту показывает
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[8]: язык заставляющий максимально изменить способ мышлени
От: anokata  
Дата: 24.05.11 10:35
Оценка:
Здравствуйте, jazzer, Вы писали:

J>... Но из контекста будет понятно...


В том то и дело, что естественные языки контекстно зависимые. в этом то и их прелесть.
А существуют контекстно зависимые языки программирования?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[9]: язык заставляющий максимально изменить способ мышлени
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 11:10
Оценка:
Здравствуйте, anokata, Вы писали:

A>А существуют контекстно зависимые языки программирования?


С++ к таковым относят. Ибо некоторые даже простые штуки, вроде A(3), без контекста не разобрать.
Re[9]: язык заставляющий максимально изменить способ мышлени
От: hardcase Пират http://nemerle.org
Дата: 24.05.11 20:07
Оценка:
Здравствуйте, anokata, Вы писали:

A>В том то и дело, что естественные языки контекстно зависимые. в этом то и их прелесть.

A>А существуют контекстно зависимые языки программирования?

Любой язык где, скажем, нужно переменную перед использованием объявить таковым является.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: язык заставляющий максимально изменить способ мышления..
От: 0xDEADBEEF Ниоткуда  
Дата: 24.05.11 20:26
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

Т.к. для меня "максимально далеко уйти от машинного уровня" сродни ереси, голосую за SQL в кондовом варианте — т.е. без хранимых процедур и прочих триггеров — одни сложносочиненные и сложноподчиненные SELECT-ы и UPDATE-ы. Местами DELETE-ы. С JOIN-ами всех видов. В SQL приходится, в отличии от императивщины, манипулировать множествами.
И, что мне особенно мило, с императивщиной и теплым ламповым C/C++ ни разу не конфликтует — области применения немножко разные.
__________
16.There is no cause so right that one cannot find a fool following it.
Re[5]: язык заставляющий максимально изменить способ мышлени
От: FR  
Дата: 25.05.11 03:43
Оценка:
Здравствуйте, Sorc17, Вы писали:

S>http://groups.google.com/group/comp.lang.lisp/msg/6f75cfb5a289d3f6?pli=1 Лисп не нужен.


Гуглю над открыть услугу по лечению лисп зависимости
Re[10]: язык заставляющий максимально изменить способ мышлен
От: anokata  
Дата: 25.05.11 04:32
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Любой язык где, скажем, нужно переменную перед использованием объявить таковым является.


Контекстно-свободная_грамматика

..КС-грамматики находят большое применение в информатике. Ими задаётся грамматическая структура большинства языков программирования..

Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[5]: язык заставляющий максимально изменить способ мышлени
От: MasterZiv СССР  
Дата: 25.05.11 12:04
Оценка:
On 24.05.2011 11:27, Курилка wrote:

> И, например, Qi <http://www.lambdassociates.org/&gt;, работающий на Common Lisp

> тоже не "ваш"?
> Есть подозрение, что не стоит за всех лисперов говорить.

Нет, не "наш". Между прочим автору Qi в comp.lang.lisp так и сказали,
когда он пришёл туда со своими запросами про типы: "Иди, мол, мил человек,
сказали, отседова, ищи другой язык программирования". Ну, он и пошёл.
Писать Qi.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: язык заставляющий максимально изменить способ мышлени
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.05.11 12:21
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 24.05.2011 11:27, Курилка wrote:


>> И, например, Qi <http://www.lambdassociates.org/&gt;, работающий на Common Lisp

>> тоже не "ваш"?
>> Есть подозрение, что не стоит за всех лисперов говорить.

MZ>Нет, не "наш". Между прочим автору Qi в comp.lang.lisp так и сказали,

MZ>когда он пришёл туда со своими запросами про типы: "Иди, мол, мил человек,
MZ>сказали, отседова, ищи другой язык программирования". Ну, он и пошёл.
MZ>Писать Qi.

И создателям Racket тоже?
Не был я согласен с thesz насчёт лисперов, но, видимо, местами он очень прав
Re[6]: язык заставляющий максимально изменить способ мышлени
От: MasterZiv СССР  
Дата: 25.05.11 12:58
Оценка:
On 25.05.2011 7:43, FR wrote:

> Гуглю над открыть услугу по лечению лисп зависимости


Так мало лисперов-то, денег много не заработаешь.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: язык заставляющий максимально изменить способ мышлени
От: Sorc17 Россия  
Дата: 25.05.11 13:02
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>On 25.05.2011 7:43, FR wrote:


>> Гуглю над открыть услугу по лечению лисп зависимости


MZ>Так мало лисперов-то, денег много не заработаешь.


Платные добровольно-принудительные прививки!
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[3]: язык заставляющий максимально изменить способ мышлени
От: dilmah США  
Дата: 13.06.11 07:40
Оценка:
OOT>По мне js и as вообще это вообще не программирование, цацки одним словом

js это не козюльки трескать, чего стоит только то что он асинхронный с ног до головы
Re: язык заставляющий максимально изменить способ мышления..
От: HunteX http://troyashka.ru/
Дата: 13.06.11 07:43
Оценка:
Здравствуйте, anokata, Вы писали:

A>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

Prolog
Re[4]: язык заставляющий максимально изменить способ мышлени
От: out-of-the-way США www.tehnoromantik.net
Дата: 13.06.11 07:46
Оценка:
Здравствуйте, dilmah, Вы писали:


OOT>>По мне js и as вообще это вообще не программирование, цацки одним словом


D>js это не козюльки трескать, чего стоит только то что он асинхронный с ног до головы


Чихать на него. Он мне просто не нравится. Меня уже как то пытались пересадить на него, с целью дальнейшего понижения.
Программа — мысли спрессованные в код.
Re[4]: язык заставляющий максимально изменить способ мышлени
От: Курилка Россия http://kirya.narod.ru/
Дата: 13.06.11 08:56
Оценка:
Здравствуйте, dilmah, Вы писали:


OOT>>По мне js и as вообще это вообще не программирование, цацки одним словом


D>js это не козюльки трескать, чего стоит только то что он асинхронный с ног до головы


в каком месте js как язык асинхронный? наверное, речь была о рантайме?
для асинхронности яб лучше посоветовал эрланг.
Re[11]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 13.06.11 10:00
Оценка:
Здравствуйте, anokata, Вы писали:

A>Контекстно-свободная_грамматика

A>

..КС-грамматики находят большое применение в информатике. Ими задаётся грамматическая структура большинства языков программирования..

Это бред.
КС грамматика задает надмножество языка.
Это делается по тому, что очень легко построить разбор текста по КС грамматике.
После чего уже не формальными правилами проверяется все остальное.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[13]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 13.06.11 17:13
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Да ладно, нужно просто различать синтаксический и семантический анализ. Синтаксис многих ЯП описывается КС грамматикой, но разумеется не каждая синтаксически корректная программа является семантически корректной.

Это бредовая терминология. Читай до просветления.
Автор: WolfHound
Дата: 11.02.11
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 14.06.11 11:17
Оценка:
Здравствуйте, D. Mon, Вы писали:

WH>>Главная задача синтаксического анализатора это определить принадлежит строка языку или нет.

DM>Нет. Это не главная задача. От того, что ты много раз повторишь свое мнение, оно не станет более обоснованным.
А что же еще то?
Мы берем строку и проверяем принадлежит ли она языку.

WH>>Генерация кода может, вообще не производится.

DM>Причем тут генерация кода?
А причем тут семантика, если ничего не генерируется?

DM>Т.е. определение синтаксическгого анализа у тебя зависит от динамической или статической типизации? Это совсем дико.

Дико это непонимание того что у разных языков разный синтаксис.

DM>А я не об этом писал, вообще-то. Я пытался показать, что не надо семантику считать поведением. Тогда сложностей с пониманием семантического анализа будет меньше.

Ну так дай определение семантики как ты ее понимаешь.

DM>Причем тут кодогенерация? Она может всплыть, если считать семантику описанием поведения, но это ошибка, о чем я и сказал.

Ты лучше скажи, причем тут семантика при ответе на вопрос принадлежит строка языку или нет.

DM>И что? К чему ты это написал? Да, семантика и синтаксис не одно и то же, поэтому можно изменить синтаксис, не изменив семантики.

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

DM>Процитируй его еще 21 раз, пожалуйста. Вернее он не станет.

DM>В частности, если делать синтаксический анализ руками, он не станет от этого семантическим.
А как определить где у нас синтаксический анализ, а где семантический?

DM>Он и не зависит. Если использовать общепринятую терминологию, то проблем нет — вот есть языки Java и C#, вот есть их грамматики в таком-то формальном виде, вот есть генераторы парсеров, которые по ним строят синтаксические анализаторы. Все четко и ясно. И тут приходишь ты, меняешь определения и превращаешь все в кашу.

Так если использовать разные генераторы, то приходится менять грамматику.
Те у нас синтаксис начинает зависеть от инструментов!

А промышленные компиляторы народ вообще руками пишет, ибо ЕБНФные генераторы парсеров все как один УГ. Так как используют порождающие грамматики для распознавания.

DM>Она не начинает.

Ну как не начинает то? Взяли ПЕГ, и пропал лексический анализ. Более того грамматику нужно переделать в соответствии с правилами ПЕГ.
А если писать все руками, то у нас вообще в явном виде грамматики нет.
А если это самопальный язык, для которого никто не озаботился ЕБНФом? То как определить где у нас всё ещё синтаксический анализатор, а где уже семантический?

В моем определении все четко. Код, который может сообщить об ошибке синтаксический анализ. Ибо он отвечает на вопрос: Принадлежит ли строка языку?

А как ты определишь вот это у нас синтаксический анализатор, а вот это уже семантический?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[15]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 14.06.11 11:27
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Раз слова "не каждая синтаксически корректная программа является семантически корректной" вызывают у тебя (одного) улыбку, развлеку еще немного.

DM>Возьмем предложение "Столкнувшись со звуковым барьером, солнечный зайчик получил перелом с красным смещением". Относится ли оно к русскому языку? Да, относится. Оно синтаксически корректно, мы его можем разобрать, структурировать: вот подлежащее, вот сказуемое, вот дополнения, определения, деепричастный оборот. Но имеет ли оно смысл, является ли семантически корректным? Видимо, нет. Можно привести сколько угодно таких синтаксически корректных, но семантически некорректных предложений, относящихся несмотря на это к нашему языку. В ЯП дело обстоит ровно так же в этом аспекте.

Я тебя улыбну еще сильнее: http://lib.ru/PROZA/PETRUSHEWSKAYA/butyawka.txt
Очевидно, что на любом языке можно написать белиберду.
Ты что сказать то хотел?
Что эти предложения не принадлежат русскому языку? Так они принадлежат.
Мы и на языке программирования можем написать полную белиберду.
И если эти белиберда не нарушает правил языка, то компилятор должен ее принять.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 14.06.11 12:27
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Восстанови нить реплик, пожалуйста. Мы тут обсуждали синтаксический анализ, не семантику, а ты вдруг стал говорить про генерацию кода.

Мы тут обсуждаем, где заканчивается синтаксис, а где начинается семантика.

DM>Согласен. И у меня такого непонимания нет. Только это не относится к данному вопросу.

Так, а что ты тогда вообще заговорил об этом?

WH>>Ты лучше скажи, причем тут семантика при ответе на вопрос принадлежит строка языку или нет.

DM>Нипричем. Я это уже демонстрировал выше.
А раз не причем то почему это вдруг семантический анализ у тебя может отвергнуть программу?

WH>>Синтаксис или семантика?

DM>Синтаксис.
Замечательно.
Так почему ты считаешь, что семантический анализ может сказать, что программа не принадлежит языку?

WH>>А как определить где у нас синтаксический анализ, а где семантический?

DM>Пользуясь хорошими определениями.
Хорошее определение в студию.

DM>Мы можем грамматику записать в разной форме. Это как одну и ту же мысль выразить разными фразами. Тебя это смущает? Понятие эквивалентности незнакомо?

А тебе известно, что разные генераторы принимают разные классы грамматик?
А ты понимаешь, что грамматику приходится переделывать?
А ты понимаешь, что не всегда можно засунуть в данный инструмент эквивалентную грамматику?

DM>Почему пропал? Необязательно. Я сам делал компилятор с парсингом на ПЕГ, у которого на входе был поток лексем от лексера. Точно так же никто не мешает обойтись без лексера и в LR анализаторах.

То есть ты сам признаешь что границы "общепринятых" терминов плавают в зависимости от деталей реализации?

DM>Пользуясь хорошими определениями.

Только у тебя его нет.

DM>Линкер тоже относится к синтаксическому анализу? Он же тоже может сообщить об ошибке.

Да. Ибо люди с кашей в голове переложили на него то, что должно выявляться на других стадиях работы.
И что характерно многие языки линкера не имеют.

DM>А рантайм? Он же тоже может сообщить об ошибке.

А причем тут рантайм?

DM>Повторю их еще раз, раз ты так много раз попросил это сделать.

DM>Синтаксический анализ === парсинг — построение структурированного представления из линейного потока входных данных. Входными данными могут быть символы, лексемы, лошади, верблюды, что угодно. На выходе часто дерево, но тоже необязательно.
Взяли не весть что превратили в черт знает что и получили анализ синтаксиса.

DM> Успешный парсинг означает принадлежность входной последовательности языку. Но это не главная функция, а естественный побочный результат.

Ответ на вопрос принадлежит ли строка к языку побочный эффект. Ага, конечно.

DM>Семантический анализ — "осмысливание" данных, полученных от синтаксического анализатора, наполнение результата парсинга информацией, необходимой для дальнейших преобразований. В частности, проверка описанности переменных, проверка типов и т.д.

Выше ты говорил, что принадлежность к языку определяет синтаксис.
Но твой "семантический" анализ может отвергнуть строку.
Другими словами на вопрос о принадлежности строки к языку у тебя отвечает семантический анализ.

DM>Могут ли эти действия пересекаться и перемешиваться в коде? Могут, но не обязаны обычно. Создает ли это проблемы? Не создает.

Кто бы сомневался.
Смешение разных стадий синтаксического анализа не создает проблем.
Проблемы начинаются, когда сюда же затаскивают генерацию кода.
Народ думает раз и то и то семантика, то почему бы их и не смешать?
И начинается бардак.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 14.06.11 12:34
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Я привел пример синтаксически корректных, но семантически некорректных предложений, относящихся несмотря на это к нашему языку.

И?
Я могу написать программу на языке программирования, которая будет скомпилирована и исполнена без единой ошибки.
При этом она будет делать полный бред.
Вот только бредовость программы никак не относится к вопросу принадлежит ли она к языку.
Так что все твое сообщение было в мою пользу.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

DM>>Ну вот, началось.

WH>Угу. Тебе, как и остальным нечего сказать по существу вопроса.
WH>Единственное на что вы все способны это апелляция к авторитету.

Не, он, как и остальные, может понять твою позицию, но не желает принимать твою терминологию, так как не хочется отказываться от общепринятой.

Ничего нового твое видение терминов не несет. То что можно формализовать процесс поиска имен и разрешения перегрузок еще не значит, что эти процессы нужно срочно называть синтаксическим анализом.

Ты можешь разбиться в пух и прах, но вероятность что мир примет твою терминологию стремится к нулю. Так что просто оставь термины как есть и сосредоточься на доведении своих мыслей (смысла своих слов), а не на бессмысленно оспаривании устоявшихся терминов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:06
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Я понимаю, что у тебя есть свои определения для устоявшихся терминов. Ничего страшного, медицине известны и более серьезные случаи. Некоторым удается держать себя в руках и продолжать нормальную жизнь в социуме. Некоторым помогают лекарства. Но самых буйных, настаивающих на своем видении, приходится изолировать.


Хотя я с тобой полностью согласен, но за продолжение медицинской темы пойдешь в баню. Без обид.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:17
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>А теперь скажи: неужели тебе таких аргументов не приводили уже? Неужели нужно много раз рассказывать очевидные всем кроме тебя вещи?


Я тебе больше скажу. Не читая вашей дальнейшей переписки, уверен, что ответ будет в духе — "это все фигня, а вы просто не шарите". Тут имеет место желание заставить окружающих смотреть на мир в извращенной форме придуманной автором.

Самое забавное, что под всей этой терминологической вакханалией лежит в общем-то здравая мысль. В двух словах ее можно изложить так... На сегодня в области разработки средств работы с языками программирования (компиляторы, интерпретаторы, IDE и прочие тулы — далее все это я буду называть "тулы") хорошо формализован и автоматизирован только парсинг. Но другие стадии, обычно называемые мутным термином "семантический анализ" пущены на самотек. Их обычно пишут вручную получая в итоге страшную кашу.

Вольфхаунд хочет осуществить, казалось бы, простую мечту — формализовать типизацию и другие стадии языковых тулов.
Идея здравая и архи-нужная, но как истинный Дон Кихот, вместо ее решения, наш рыцарь решает побороться с ветряными мельницами, так как это увлекательнее чем писать код и обдумывать проекты.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:23
Оценка:
Здравствуйте, D. Mon, Вы писали:

WH>>Это у тебя полное непонимание предмета.


DM>Это у тебя привычка хамить или иллюзия чтения мыслей.

DM>Постарайся понять или хотя бы запомнить: "не согласен" не означает "не понимаю".

+100

2 WolfHound: Реально, твое отношение к людям выглядит как форменное хамство.
Научить уважать чужое мнение.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:31
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>Генерация кода может, вообще не производится.

DM>>Причем тут генерация кода?
WH>А причем тут семантика, если ничего не генерируется?

Похоже суть твоего непонимания общепринятой терминологии заключается в том, что ты под словом "семантика" понимаешь буквальное "то что будет делать код", а на все остальные понимаю "значение конструкций".

Если взять определение из рускоязычной педивикиии:

Сема́нтика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.

то можно заметить, что в нем речь идет не об исполнении, а об определении смыслового значение (смысла) языковых конструкций.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:38
Оценка:
Здравствуйте, WolfHound, Вы писали:

DM>>Причем тут кодогенерация? Она может всплыть, если считать семантику описанием поведения, но это ошибка, о чем я и сказал.

WH>Ты лучше скажи, причем тут семантика при ответе на вопрос принадлежит строка языку или нет.

Смотри. Вот предложение: "Съешь бздынь" синтаксически корректно, но не не факт, что оно корректно семантические. Если под "бздынь" понимается что-то что можно съесть, то корректно. Иначе — нет.

Точно так же предложение a + 1 синтаксически корректно, но корректно ли оно семантические зависит от более сложного семантического анализа.

В прочем, почти уверен, что моя попытка бесполезна.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 17:47
Оценка:
Здравствуйте, WolfHound, Вы писали:

DM>>Восстанови нить реплик, пожалуйста. Мы тут обсуждали синтаксический анализ, не семантику, а ты вдруг стал говорить про генерацию кода.

WH>Мы тут обсуждаем, где заканчивается синтаксис, а где начинается семантика.

А зачем, кстати?

Ну, что тебе даст переиначивание терминов?

Это изменит то как ты будешь обрабатывать код в компилятор? Я уверен, что нет. Так зачем весь этот балаган?

Тебе приятно думать, что все в мире идиоты и не видят истины, а ты один ее видишь? ОК, думай и наслаждайся этим. Но зачем ты этим окружающих то мучаешь?

Я не вижу никакого прикладного смысла в твоем терминологическом жонглировании. А раз так, то ты убиваешь по напрасну свое время и время окружающих.

ЗЫ

На счет "аргументов" D. Mon совершенно прав. Безосновательное утверждение повторенное много раз и даже с пафосом не становится аргументом подтверждающим правоту заявителя.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 18:02
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Вот только бредовость программы никак не относится к вопросу принадлежит ли она к языку.


Смотри. Семантические некорректное предложение на Русском:

Ведро компрессии.

А вот семантически некорректное предложение на C#:
"комрессия".Выпить()

Почему в первом случае ты утверждаешь, что предложение принадлежит языку, а во-втором — нет?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 18:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>

VD>Сема?нтика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.

Синтаксис задает множество строк языка.
Семантика задает смысл каждой строки.
Согласен?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[26]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 18:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Одного только не могу понять — зачем весь этот терминологический спор? Ведь от того как называются действия ровным счетом ничего не меняется. Ну, назови типизацию и разрешение имен синтаксическим анализом, и что? Что-то изменится?

У людей (например тебя) не будет терминологического опрадания мешать типизацию и кодогенерацию.

VD>Я бы понял если бы WolfHound предлагал смешать стадии парсинга и типизации. Но он же это не предлагает! На оборот он жетско стоит за разделение этих стадий.

Ты извращаешь мои слова.
Я против смешения типизации и кодогенерации. Ибо это смешение синтаксиса и семантики.
Но я ни разу не сказал что парсинг и типизация должны быть обязательно разными процессами.
Более того есть языки (например С++) которые невозможно разобрать не совместив эти процессы.
Просто мне пока не ясно как это сделать красиво. Но это техническая задача и я ее со временем решу.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 18:25
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Самое забавное, что под всей этой терминологической вакханалией лежит в общем-то

WH>Моя терминология абсолютна, логична и полностью соответствует теории формальных языков.

Молодец. Считай так и дальше. Только окружающих этим не донимай. Им совершенно все равно что ты думаешь о переосмысленных тобой терминах.

VD>>здравая мысль.

WH>Все мои мысли здравы.

Гы-гы.

VD>>Вольфхаунд хочет осуществить, казалось бы, простую мечту — формализовать типизацию и другие стадии языковых тулов.

WH>Мусье мозговед ничего не понял.

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

Тебе стоит задуматься над этим.

WH>Меня этот терминологический бред начал напрягать еще с тех пор как я его услышал.


Не стоит повторяться. Твои суждения от этого не становятся весомее.

WH>Ни о какой формализации я тогда еще не думал. В тот момент меня формализация вообще не заботила.

WH>Просто раньше меня можно было напугать толпой и авторитетом, а сейчас нет.
WH>Так что вы тут можете размахивать "общепринятостью" сколько угодно, но то, что терминология бредовая это не отменит.

Не стоит повторяться. Твои суждения от этого не становятся весомее.

WH>И заметь на моей стороне логика, а на вашей миллион мух, который, как известно никогда не ошибается.


На твоей стороне только упертость. Никакой логики в этом нет. Точнее в твое логике есть ошибки. Потому и выводу мало интересны.

VD>>Идея здравая и архи-нужная, но как истинный Дон Кихот, вместо ее решения, наш рыцарь решает побороться с ветряными мельницами, так как это увлекательнее чем писать код и обдумывать проекты.

WH>На решение задачи, об которую обламывала зубы армия ученых на протяжении более чем пятидесяти лет даже мне нужно чуть больше чем пара часов.

Ты думаешь ты выглядишь круто?

В прочем, пара часов у тебя есть. Сбацаешь нам что-нить гениальное?

WH>Тот, кто подумал, что у меня мания величия лишён чувства юмора.


Кстати, ее в этой теме вроде как не касались.

Некоторый объем амбициозности (как мании величия) является необходимой составляющей для решения сложных задач. Но чрезмерный ее объем губителен. Так что манку нужно держать в руках.

WH>Ну да. Тролю.

WH>А как мне еще разговаривать с теми, для кого миллион мух важнее логики?

Нет ни миллионов мух (есть пара десятков ученых), ни логики, а есть есть логические ошибки и нежелание признавать очевидных вещей.

А главное — есть море времени убитое на тщетное навязывание своей терминологии окружающим.

Пойми жизнь человека очень коротка (и как говорится, внезапно коротка). Глупо убивать ее на терминологические споры. Термины не меняют ничего. С огромной вероятностью, все с кем ты споришь по поводу терминов согласятся с твоими мыслями если их высказать по существу.

Отсюда следует вывод, что тебе нужно повзрослеть и понять, что вместо того чтобы безуспешно навязывать окружающим свою терминологию, лучше с умом использовать имеющуюся и дополнять ее так чтобы твои мысли были отчетливо ясны.

Так что прекращай тратить время зря. Лучше посвяти его созданию твоего прототипа (который ты обещал сделать). Ты и здесь делаешь ошибку (опять же из-за своего максимализма), так как объем работ требуемый для создания прототипа с нуля многократно увеличивается и ты рискуешь просто никогда его не сделать. Но уж лучше потратить время на дело и в процессе понять, что был не прав, чем тратить время на перемалывание воздуха.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 18:49
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>У людей (например тебя) не будет терминологического опрадания мешать типизацию и кодогенерацию.


Более конструктивно было бы сначала вяснить у людей хотят ли они делать то с чем ты собрался бороться. И тогда тебе откроется чудесное знание — люди, в моем лице, сами не хотят это делать.

Если убрать словоблудие, то я и так согласен с тем, что мешать процессы не стоит. Это перемножает сложность.

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

VD>>Я бы понял если бы WolfHound предлагал смешать стадии парсинга и типизации. Но он же это не предлагает! На оборот он жетско стоит за разделение этих стадий.

WH>Ты извращаешь мои слова.

То есть ты за смешение парсинга и типизации?

WH>Я против смешения типизации и кодогенерации.


О, великий Док Кихот! И против их смешения. Только вот это опять общие слова. А черти они кроются в деталях.

WH>Ибо это смешение синтаксиса и семантики.


А вот это словоблудие. Его лучше просто в дев нал.

WH>Но я ни разу не сказал что парсинг и типизация должны быть обязательно разными процессами.


Ну, так скажи. И я тот час же стану твоим оппонентом.

WH>Более того есть языки (например С++) которые невозможно разобрать не совместив эти процессы.


Дык, есессно! Плохо спроектированный язык с контекстно-зависимой грамматикой вынужден мешать стадии. Именно это и делает парсинг С++ столь сложным. Вот уже есть слухи что MS отказывается от своего парсера в пользу EDG. Супер-корпорация не осилила парсера, примитивного по сути, языка.

Именно по этому в последнее время люди проектируют языки на основе контекстно-свободных грамматик.

Что касается С++, то и при создании его парсеров люди обычно стараются разделять стадии. Обычно в парсерах используется всего лишь таблица имен которая позволяет разрешить грамматические конфликты.

И самое интересно, что ты все это знаешь не хуже меня. Но что-то странное подталкивает тебя поспорить на бессмысленные темы.

WH>Просто мне пока не ясно как это сделать красиво. Но это техническая задача и я ее со временем решу.


Это не надо делать. Просто не надо. Таблицы имен за глаза хватает для С++ и любого другого вменямо-контексно-зависимого языка. А для правильно проектируемых языков и этого не надо. Они уже имеют контекстно свободную грамматику.

Ну, если тебе нужно "решение проблемы частичного смешения", то оно придумано где-то 50 лет назад. Именно тогда люди дпетрили до отложенных вычислений. Они позволяют при кажущейся линейности вычисления выполнять часть из них немедленно, а другие откладывать до того времени когда в них появится необходимость.

Разрешение имен точно так же можно рассматривать как линивый процесс. Если его "дернуть" из парсера, то оно сделать только то что нужно сейчас — добавит тип в таблицу имен и ответит на вопрос было ли некоторое имя туда добавлено.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 19:08
Оценка:
Здравствуйте, VladD2, Вы писали:

WH>>Синтаксис задает множество строк языка.

WH>>Семантика задает смысл каждой строки.
WH>>Согласен?
VD>По фигу. Хоть горшком назови. Ничего не изменится. Людям нужно дело!
Ты можешь на простой вопрос, который подразумевает да или нет ответить да или нет?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 19:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Молодец. Считай так и дальше. Только окружающих этим не донимай. Им совершенно все равно что ты думаешь о переосмысленных тобой терминах.

WH>Те, кто разбирается в вопросе со мной согласны.

Кто же это?

VD>>Ты думаешь ты выглядишь круто?

WH>Я просто говорю тебе про размах задачи, которую я решаю. А то ты через одно сообщение в меня тыкаешь, что я до сих пор ее не решил.

Genius is one percent inspiration and ninety-nine percent perspiration.

Thomas Edison

Сори, что не на русском. На нем игра слов теряется.

VD>>Кстати, ее в этой теме вроде как не касались.

WH>Я знал. Чувства юмора у тебя нет.

Многие считают иначе. В прочем, я не настаиваю.

VD>>Отсюда следует вывод, что тебе нужно повзрослеть и понять, что вместо того чтобы безуспешно навязывать окружающим свою терминологию, лучше с умом использовать имеющуюся и дополнять ее так чтобы твои мысли были отчетливо ясны.

WH>Это невозможно.
WH>Ибо терминология противоречит базовым терминам.

Терминология — это вообще ни что. Это просто условные договоренности между людьми о том какие понятия понимаются под какими словами или словосочетаниями. А ты вместо того чтобы понять это упорно тратишь время в пустую. Мало того, еще и других в это втягиваешь.

VD>>Так что прекращай тратить время зря. Лучше посвяти его созданию твоего прототипа (который ты обещал сделать). Ты и здесь делаешь ошибку (опять же из-за своего максимализма), так как объем работ требуемый для создания прототипа с нуля многократно увеличивается и ты рискуешь просто никогда его не сделать.

WH>Объем работы многократно увеличится, если это делать на базе немерла.
WH>Это блин как предложить делать прототип компилятора немерла на базе gcc

Ты глубоко заблуждаешься. Но чужой опыт и аргументы для тебя ничто. По этому тебе придется пройти по этим глаблям самому. Это долгая дорога. Так что не трать время на ветрянные мельницы. Забудь термины: "семантика", "синтаксис" и используй: "парсить", "AST", "типизация", "разрешение имен", "генерация промежуточного кода". Эти понятия определены неимоверно лучше, так как их вводили не теоретики, а практики.

Вот тебе мой мои мысли. Считай их монологом, так как спорить с тобой я не хочу. Можешь счесть их глупостью, если что.

Для прототипирования идеи нужно иметь окружение. Например, чтобы получить скомпилированный код нужно написать код чтения метаданных, код годогенерации и т.п. В Н1 ты имеешь все что нужно, но не совсем в нужной форме. Сделать обертки которые представять имеющиеся возможности в нужном виде в сто раз проще нежели сделать все с нуля. Например, на одну только подсистему логического вывода для системы типов с подтипами придется убить где-то от недели до двух месяцев работы (в зависимости от качества и начальных знаний). В Н1 она есть. Да, не такая как хотелось бы, но для проверки идеи сойдет. Возможно, будет тормозить, но все же это сбережет уйму времени.

По сему прототип логичнее было бы оформить в виде макры которая получала бы на вход готовый AST, производила типизацию с помощью надстройки над думателем (Solver-ом) и потом, отдельным проходом, преобразовывала бы типизированный АСТ (в твоем, новом, формате) в TExpr.

Такой прототип можно было бы создать за неделю. Его можно было бы использовать для обкатки идей. И он мог бы сильно прояснить твое видение реализации (чисто и качественной).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 19:29
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>Синтаксис задает множество строк языка.

WH>>>Семантика задает смысл каждой строки.
WH>>>Согласен?
VD>>По фигу. Хоть горшком назови. Ничего не изменится. Людям нужно дело!
WH>Ты можешь на простой вопрос, который подразумевает да или нет ответить да или нет?

Да, могу. Но только если он меня интересует. А он меня не интересует.

Так что скажу, что полностью солидарен с D. Mon. А то что ты нас не хочешь понять — это твои проблемы.

Развитие этой темы меня не волнует. Я с детства не любил наукообразные термины. Всегда предпочитал "токен" вместо "терминал" и "парсить" вместо "производить синтаксический анализ".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 19:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Более конструктивно было бы сначала вяснить у людей хотят ли они делать то с чем ты собрался бороться. И тогда тебе откроется чудесное знание — люди, в моем лице, сами не хотят это делать.

Так что же ты со мной тогда с пеной у рта спорил про раскрытие макросов во время типизации?

VD>Вот только это никак не меняет моей позиции относительно других вещей (например, о том, что нужно дать людям возможность переписывать выражения вместо ручной типизации).

Это кодогенерация во время типизации!

VD>Дык, есессно! Плохо спроектированный язык с контекстно-зависимой грамматикой вынужден мешать стадии.

Все языки, где есть требования объявить переменную перед использованием КЗ.
Просто по определению.

VD>Именно по этому в последнее время люди проектируют языки на основе контекстно-свободных грамматик.

Я про это очень подробно написал тут
Автор: WolfHound
Дата: 11.02.11
.

VD>И самое интересно, что ты все это знаешь не хуже меня. Но что-то странное подталкивает тебя поспорить на бессмысленные темы.

Это тебя что-то подталкивает спорить с 2*2=4.

VD>Это не надо делать. Просто не надо. Таблицы имен за глаза хватает для С++ и любого другого вменямо-контексно-зависимого языка. А для правильно проектируемых языков и этого не надо. Они уже имеют контекстно свободную грамматику.

Они не имеют КС грамматику. Просто по определению.
Для "правильно проектируемых" языков есть КС язык, который является их строгим надмножеством.
Далее применяются неформальные правила (поиск имен, вывод типов,...) которые исключают из КС надмножества строки, которые не относятся к языку.
Именно поэтому это все синтаксический анализ.

Для С++ тоже можно задать КС надмножество но оно получается настолько общим что ничему не помогает.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[28]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 20:16
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Короче с чистой совестью засчитываю тебе очередной слив.


Главено первым написать — "Слив засчитан!"
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 20:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, да. В которую ты себя поймал и убиваешь время.

Сказал человек который поднял потонувшую тему.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[28]: язык заставляющий максимально изменить способ мышлен
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.11 20:26
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Да, могу. Но только если он меня интересует. А он меня не интересует.

WH>Ответ "да" означает что я прав.
WH>Ответ "нет" означает, что ты споришь с определением синтаксиса и семантики.

Если бете так уж хочется, то могу ответить. Только не на каждый вопрос можно ответить да или нет. Например — ты уже бросил пить коньяк по утрам?

Так и тут. Синтаксис — это не множество строк. Это определение для дебилов пытающихся защитить PhD не понимая ничего в своей профессии. Синтаксис — это возможность прочесть написанное. А семантика — это возможность интерпретировать написанное.

Любой сложный язык можно прочесть по разному. Можно очень строгой КС-грамматикой с очень хитрыми алгоритмами по факту неизвестными даже самому автору. А можно с помощью сильно упрощенной грамматики допускающей более широкий язык. А потом уже анализировать объектное представление прочитанного. При этом можно даже читать тексты с ошибками и очень умно реагировать на них. Именно так мы делаем когда читаем естественные языки. Мы не пытаемся прочесть сразу логическую фразу, а все что не вяжется признать некорректной строкой и плюнуть на их чтение. Мы читаем более общий язык, превращаем его в некоторое внутреннее представление и потом уже анализируем это представление.

Распознавание этого первого языка называется синтаксическим анализом. Его цель — перевести байты в дерево которое удобно анализировать. Ну, а анализ дерева уже называется семантическим анализом. Он точно так же может быть формализован. Так что ничего страшного в этом нет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: язык заставляющий максимально изменить способ мышлен
От: WolfHound  
Дата: 16.06.11 20:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Если бете так уж хочется, то могу ответить. Только не на каждый вопрос можно ответить да или нет. Например — ты уже бросил пить коньяк по утрам?

Как ты юлишь... это просто феерия.

VD>Так и тут. Синтаксис — это не множество строк. Это определение для дебилов пытающихся защитить PhD не понимая ничего в своей профессии.

Ну, то есть люди давшие определения синтаксису и семантики дебилы?
Ты вообще понимаешь насколько феерический неадекват ты сейчас несешь?

VD>Любой сложный язык можно прочесть по разному. Можно очень строгой КС-грамматикой с очень хитрыми алгоритмами по факту неизвестными даже самому автору.

Ох блин.
1)Грамматики Хомского порождающие.
2)Если в языке есть требование объявить переменную до ее использования то этот язык нельзя описать КС грамматикой. Доказано математически.
Может ты еще с математическими доказательствами спорить начнешь?

VD>А можно с помощью сильно упрощенной грамматики допускающей более широкий язык. А потом уже анализировать объектное представление прочитанного.

А я про что говорю?
Разбираем надмножество языка КС грамматикой, а дальше врукопашную ловим ошибки.

VD>При этом можно даже читать тексты с ошибками и очень умно реагировать на них.

Ага. Выдавать сообщения об ошибке.
За компанию отвергая сам текст, ибо он не принадлежит языку.
Никакой другой реакции быть не может.

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

Мы просто пытаемся угадать, что там написано.
С естественными языками это прокатывает хоть и не всегда.
А с языками программирования нет.
Попытки использовать языки программирования, которые "догадываются" прекратились много десятилетий назад.

VD>Распознавание этого первого языка называется синтаксическим анализом. Его цель — перевести байты в дерево которое удобно анализировать. Ну, а анализ дерева уже называется семантическим анализом. Он точно так же может быть формализован. Так что ничего страшного в этом нет.

Я в курсе как он называется.
Только название бредовое.
Ибо никакого отношения к семантике этот анализ не имеет.
Все что он делает, это отвергает программы, которые прошли через КС парсер, который пропускает надмножество языка.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: язык заставляющий максимально изменить способ мышлени
От: NiJazz Австралия  
Дата: 17.06.11 18:32
Оценка:
Здравствуйте, out-of-the-way, Вы писали:

OOT>По мне js и as вообще это вообще не программирование, цацки одним словом. По сабжу, ну не много пришлось перестраиваться под sql, больше не чего.


А проектов много на нем сделали?
Re[3]: язык заставляющий максимально изменить способ мышлени
От: dilmah США  
Дата: 17.06.11 19:48
Оценка:
D>Смутно вспоминается, что на каком-то далёком курсе нам давали доказательство эквивалентности этих двух вещей.

и что??? подавляющее большинство языков эквивалентны в этом смысле.
Те что не эквивалентны -- недостаточно мощны (это не плохо, но они ограничены для узких задач, типа препроцессора Си).
Re[2]: язык заставляющий максимально изменить способ мышлени
От: hardcase Пират http://nemerle.org
Дата: 21.06.11 09:58
Оценка:
Здравствуйте, March_rabbit, Вы писали:

M_>Здравствуйте, anokata, Вы писали:


A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?

M_>кстати, да. тут упоминали похожее. Язык программирования ПЛИС (программируемых логических схем). Выглядит с виду как обычный ЯП, а все иначе. Особенно, когда плиску на 85% заполнишь. Тогда уже начинаешь учиться писать термоустойчивый код

Только в этом случае не выполняется условие "максимально далеко уйти от машинного уровня" — здесь обратная ситуция: максимально приблизиться к железу.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: язык заставляющий максимально изменить способ мышлени
От: out-of-the-way США www.tehnoromantik.net
Дата: 24.06.11 11:29
Оценка:
Здравствуйте, NiJazz, Вы писали:

NJ>Здравствуйте, out-of-the-way, Вы писали:


OOT>>По мне js и as вообще это вообще не программирование, цацки одним словом. По сабжу, ну не много пришлось перестраиваться под sql, больше не чего.


NJ>А проектов много на нем сделали?


Не одного, js мне просто не интересен.
Программа — мысли спрессованные в код.
Re[2]: язык заставляющий максимально изменить способ мышлени
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.06.11 16:57
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

A>>Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


S>Машинного уровня позволяет уйти много не, но тот еще Форт изврат.


Форт как раз ПРИБЛИЖАЕТ к машинному уровню. Хотя сам язык очень прикольный и концепция у него интересная.
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re: язык заставляющий максимально изменить способ мышления..
От: Figaro Россия  
Дата: 30.06.11 06:21
Оценка:
Здравствуйте, anokata, Вы писали:

a> Какой язык/парадигма программирования заставляют максимально изменить способ мышления и программирования (в отличие от императивного/ооп/функционального или же в их рамках)? А также максимально далеко уйти от машинного уровня?


PROLOG год 1992
Re[3]: язык заставляющий максимально изменить способ мышлени
От: FR  
Дата: 01.07.11 05:03
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Форт как раз ПРИБЛИЖАЕТ к машинному уровню. Хотя сам язык очень прикольный и концепция у него интересная.


Только он приближает к весьма специфической и достаточно высокоуровневой машине
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.