LINUX.ORG.RU
ФорумTalks

Что такое язык программирования


0

2

Допустим, есть строка «foo bar baz» есть два транслятора A и B. Tранслятор A транслирует строку в строку «1» транслятор B — в строку «2». Давайте попробуем разобраться, где в этой цепочке язык (языки). Начнем с транслятора А. Очевидно, что «foo bar baz» — синтаксически корректная программа для транслятора A. Является ли текст (программа) языком программирования? Очевидно нет. Является ли транслятор A языком? Нет. Все сказанное для A справедливо и для B.

Нет никакого языка программирования, ЯП - это иллюзия.

Что, сука, характерно, как видно из примера, синтаксис языка A невозбранно может оказаться синтаксисом языка B, как впрочем и языка С. И, разумеется, строки «1» и «2» — тоже могут оказаться таким синтаксисом.

Вот такие дела. А мы еще рассуждаем о какой-то там семантике...

UPD Ах, да, забыл сказать, трансляторы A и B также являются синтаксически корректными строками (программами) для своих трансляторов.



Последнее исправление: anonimous (всего исправлений: 3)

Является ли текст ... языком? Очевидно нет.

Очередной срыв покровов

goingUp ★★★★★
()

Нет ни одного слова «парадигма».

Zubok ★★★★★
()

«Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.»

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

Sadler ★★★
()

А мы еще рассуждаем о какой-то там семантике...

Кто, где???

sin_a ★★★★★
()

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

Нет никаких языков, языки — это иллюзия.

Демагогия какая-то.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)

Если твои foo, bar и baz - это инструкции, а на выходе транслятора тоже инструкции для чего-нибудь, то почему бы входному сорцу и не быть сорцом на языке программирования?

blexey ★★★★★
()
Последнее исправление: blexey (всего исправлений: 1)

Отсыпь мне тоже этого чудесного порошка.

ubiquitine
()

Ты все скучнее становишься

pi11 ★★★★★
()
Ответ на: комментарий от blexey

Просто бритва оккама отсекает как лишнюю сущность. С натяжкой, мы бы могли назвать ЯП совокупностью юзер-интерфейса и процессов, но это другая история.

anonimous
() автор топика
Ответ на: комментарий от blexey

то почему бы входному сорцу и не

Ну да, так оно и есть в общепринятом понимании. Инерция мышления...

anonimous
() автор топика
Ответ на: комментарий от quantum-troll

Спасибо за ссылку, очень интересно, и в тему, вроде.

anonimous
() автор топика

Язык=="свод правил синтаксиса и его поведения, всё остальное нюансы реализации"

Dron ★★★★★
()

13 ответов и до сих пор никто не вспомнил о Тьюринг-полноте. ЛОР уже не торт.

Deleted
()
Ответ на: комментарий от Deleted

13 ответов и до сих пор никто не вспомнил о Тьюринг-полноте

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

Dron ★★★★★
()
Ответ на: комментарий от J

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

anonimous
() автор топика

Парадокс китайской комнаты, адаптация для формальных языков, версия 0.1

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)

Допустим, ты шизофреник.

Deleted
()
Ответ на: комментарий от anonimous

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

pylin ★★★★★
()
Последнее исправление: pylin (всего исправлений: 1)
Ответ на: комментарий от anonimous

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

Интерпретатор — это виртуальная машина, т.е. «выполнятор» в более общем случае. А компилятор — да, подвид траслятора. А вообще я смотрю на твои треды и не пойму, ты дурачок, тролль или тебя реально так прет поделиться с миром всеми своими «открытиями»?

staseg ★★★★★
()
Последнее исправление: staseg (всего исправлений: 1)
Ответ на: комментарий от pylin

И он типа, вякает любое слово, и ты интерпретируешь любое слово из возможных «лес», «дрова», «космос» как провокацию?

Понимаешь

Да совершенночетко понимаю, okey.

anonimous
() автор топика
Ответ на: комментарий от Dron

Но тема называется «язык программирования», так что речь идет именно о нем, а не просто о каком-то языке.

Deleted
()
Ответ на: комментарий от pylin

Ладно, не буду приставать, ты можешь быть интересным собеседником, так что, будем считать, что какая-то [е*аная_неведомая] логика в твоих словах присутствует:)

anonimous
() автор топика
Ответ на: комментарий от anonimous

Транслятор — машина превращения одного языка в другой. Интерпретатор выполняет команды. Это два совершенно разных действия.

staseg ★★★★★
()
Ответ на: комментарий от anonimous

Здесь ключевое слово.

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

staseg ★★★★★
()
Ответ на: комментарий от anonimous

Так ты пиши сразу в треде: я прав и это не обсуждается. Ладно, я больше не буду отвечать в твои треды.

staseg ★★★★★
()
Ответ на: комментарий от staseg

много

Ну, конкретно в этом треде вас не так уж и много (к моему удивлению).

anonimous
() автор топика

Вообще-то ЯП сам по себе это просто некая формальная грамматика, строго говоря, даже необязательна ее реализация и да ЯП это некая условность, абстракция удобная людям, но не надо путать иллюзию с абстракцией, но ведь это и КО понятно.

pylin ★★★★★
()
Ответ на: комментарий от pylin

иллюзию с абстракцией

Сначала так и хотел написать, но сознательно написал так как написал, чтобы подчеркнуть мысль.

anonimous
() автор топика
Ответ на: комментарий от anonimous

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

pylin ★★★★★
()
Ответ на: комментарий от pylin

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

формальная модель

Не нужна.

Но тема достаточно сложна, вообще-то. Это как дзен, наверное, невозможно адекватно описать словами. Человек может все формулировать «правильно» но ни хрена не понимать. Эта тема о взгляде на...

anonimous
() автор топика
Ответ на: комментарий от anonimous

достаточно сложна

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

anonimous
() автор топика

синтаксис языка A невозбранно может оказаться синтаксисом языка B

да

Tранслятор A транслирует строку в строку «1» транслятор B — в строку «2»

потому что семантика разная. потому и

рассуждаем о какой-то там семантике

jtootf ★★★★★
()
Ответ на: комментарий от pylin

Скорей, конструировать бассейн и моделировать плавание в нем != плавать в бассейне. Мы можем сами определять, будет ли это бассейн с голубой водой и жирным п*дором внутри, или с зеленой водой и красивой женщиной. Язык и его семантика - вторичны, мы сами можем задавать все произвольным образом.

anonimous
() автор топика
Ответ на: комментарий от anonimous

КО просто бьется от треда в истерике, небезызвестный Э. Таненбаум вообще свое описание компьютера построил по приципу от ВМ мы переходим к новой ВМ(вирт. машине), а вместе с тем и к новому языку

pylin ★★★★★
()
Ответ на: комментарий от pylin

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

anonimous
() автор топика
Ответ на: комментарий от staseg

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

mentalmenza
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.