thedeemon: (office)
Dmitry Popov ([personal profile] thedeemon) wrote2014-12-23 05:51 pm

Turing completeness

"A property of universal computation — Turing completeness — is that a computer program can write a computer program." - пишет Rob Pike на сайте golang.org, рассказывая об очередной прорывной инновации в тулчейне Go. Я раньше думал, они там лишь последние 30-40 лет пропустили, простите, был неправ.
wizzard: (Default)

[personal profile] wizzard 2014-12-23 12:10 pm (UTC)(link)
Долбаный стыд.

[identity profile] volodymir-k.livejournal.com 2014-12-23 12:27 pm (UTC)(link)
очевидно димон не читал классическую книгу пайка от 1978 года, где в 4 и 7 главе ЕМНИП он как раз и писал компиляторы и тд

мысль про "инновацию" скорее всего спонтанно выросший таракан димона, а не пайка
wizzard: (Default)

[personal profile] wizzard 2014-12-23 12:32 pm (UTC)(link)
эм... то есть ты согласен с этим определением тьюринг-полноты? о_О
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 04:07 pm (UTC)(link)
Пайк и не написал, что это определение.
wizzard: (Default)

[personal profile] wizzard 2014-12-23 04:15 pm (UTC)(link)
Там именно "is that" а не "implies that".

Если бы было "implies that", вопросов бы не было. Хотя нет, вру, вопросов к Go всё равно очень много.
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 04:16 pm (UTC)(link)
Property это свойство, а не определение.

[identity profile] nealar.livejournal.com 2014-12-23 04:35 pm (UTC)(link)
Turing completeness — is that a computer program can write a computer program

WUT?
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 05:04 pm (UTC)(link)
Читать предложение с начала не пробовали?

[identity profile] nealar.livejournal.com 2014-12-23 07:27 pm (UTC)(link)
Давайте свой перевод "предложения с начала".
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 07:48 pm (UTC)(link)
На русский computationally universal и Turing complete переводят одинаково (http://en.wikipedia.org/wiki/Turing_completeness), так что получится просто "Одно из свойств полноты по Тьюрингу, это что программа может написать программу."

[identity profile] nealar.livejournal.com 2014-12-23 08:57 pm (UTC)(link)
Одно из - в оригинале где?
Значок между computation и Turing в переводе где?
Второе правильно переведено это что, а куда первое ушло?
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 09:08 pm (UTC)(link)
> Одно из - в оригинале где?
"A" в данном случае, это "одно из". Учите английский.

> Значок — между computation и Turing в переводе где?
Похоже вы не знакомы с использованием тире вместо запятых: en.wikipedia. org/wiki/Dash#Parenthetic_and_other_uses_at_the_sentence_level

[identity profile] nealar.livejournal.com 2014-12-24 06:22 am (UTC)(link)
где?
Похоже вы не знакомы

От ответа уклонился, оок.

Для того, чтобы перевести это предложение так, как Вам хочется, достаточно предположения, что первое и второе здесь переводятся по-разному. Но версия, что я дурак и не учил в школе английский тоже подходит.
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-24 06:39 am (UTC)(link)
Во-первых, знаки препинания не переводятся. Использование тире в этом предложении объяснено по ссылке, которую я дал. Если вы учили английский, то пойдите и прочитайте.
Во-вторых, мне ничего не хочется. Пайк написал слегка пафосное, но вполне понятное предложение. Вы пытаетесь доказать, что оно значит что-то другое. При этом для Пайка английский язык родной, а для вас нет. Занавес.

[identity profile] nealar.livejournal.com 2014-12-24 06:50 am (UTC)(link)
Я пытаюсь доказать? Где??
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-24 06:51 am (UTC)(link)
http://thedeemon.livejournal.com/94444.html?thread=1553644#t1553644

[identity profile] maxim.livejournal.com 2014-12-24 03:18 am (UTC)(link)
Программа на Coq может написать программу на Haskell.
Следует ли из этого, что Coq тюринг полный?
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-24 05:15 am (UTC)(link)
Не оригинально. Эту же логическую ошибку уже сделал [livejournal.com profile] wizzard0 в комментарии прямо под этим ↓.
wizzard: (Default)

[personal profile] wizzard 2014-12-23 04:53 pm (UTC)(link)
Хм, с этим согласен. Тем не менее, это свойство не только тьюринг-полных программ.
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 05:03 pm (UTC)(link)
Обратной импликации в этом предложении тоже нет :)

[identity profile] thedeemon.livejournal.com 2014-12-23 05:19 pm (UTC)(link)
"Свойство шариковой ручки в том, что ей можно написать программу". Т.е. в принципе оно так, но при чем тут...
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 07:35 pm (UTC)(link)
Согласен, не совсем понятно причем. С таким вступлением, я думал они JIT в го добавили.

[identity profile] nealar.livejournal.com 2014-12-23 09:03 pm (UTC)(link)
Почему JIT? Разве это не о метапрограммировании?
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 09:13 pm (UTC)(link)
Я думал, что генерацией кода в процессе билда особо никого не удивишь. В процессе исполнения еще куда ни шло. А тут и вообще весь пост про синтаксис комментария для запуска внешней программы.

[identity profile] nealar.livejournal.com 2014-12-24 06:19 am (UTC)(link)
С точки зрения "программы, которые пишут программы" JIT от AOT же ничем принципиально не отличается?
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-24 06:26 am (UTC)(link)
В широком понимании под "программы, которые пишут программы" подходит и сам компилятор. Я после такого помпезного вступления думал, что будет гораздо более существенная фича объявлена.

[identity profile] Аrthg Бhrw (from livejournal.com) 2014-12-23 12:47 pm (UTC)(link)
Когда вывалилась шестая старуха, мне надоело смотреть на них, и я пошел на Мальцевский рынок, где, говорят, одному слепому подарили вязаную шаль.

[identity profile] soonts.livejournal.com 2014-12-23 12:54 pm (UTC)(link)
Там дальше ещё ёбанный стыд, где про stringer tool - ради экономии 3 байтов на диске они совершенно на пустом месте попали на динамическое выделение памяти и сборку мусора.
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 04:05 pm (UTC)(link)
А где там динамическое выделение памяти?

[identity profile] soonts.livejournal.com 2014-12-23 05:02 pm (UTC)(link)
Я конечно не знаю шо там за рантайм у них, однако мне кажется что в линии "return _Pill_name[_Pill_index[i]:_Pill_index[i+1]]" конструируется новая строка.
Если бы не их "оптимизация", метод бы возвращал статические экземпляры строк, а не новые создавал.
ext_659502: (Default)

[identity profile] some41.livejournal.com 2014-12-23 05:08 pm (UTC)(link)
Конструируется, ага. Но строка в го это структура из двух слов, передаваемая по значению (примерно как в D), так что никакого выделения памяти здесь нет.

[identity profile] sober-space.livejournal.com 2014-12-23 05:40 pm (UTC)(link)
Да не реагируйте вы на них, это стадный инстинкт :))

[identity profile] zerthurd.livejournal.com 2014-12-23 01:38 pm (UTC)(link)
Декаданс какой-то у них начался. То значит генерики не нужны, то давайте всё будем кодогенерить. Но если учесть, что все популярные технологии программирования сделаны бредово (C, C++, Ruby, PHP, C#), двигаются они в правильном направлении.
wizzard: (Default)

[personal profile] wizzard 2014-12-23 02:07 pm (UTC)(link)
Хм, а что сделано не бредово?
(Это не сарказм, но любопытно узнать вкусы на сей счёт)

[identity profile] maxim.livejournal.com 2014-12-23 02:15 pm (UTC)(link)
Как это, разве ты не знаешь? :-)
wizzard: (Default)

[personal profile] wizzard 2014-12-23 02:20 pm (UTC)(link)
Я спрашивал про *вкусы* [livejournal.com profile] zerthurd'a!

[identity profile] maxim.livejournal.com 2014-12-23 02:34 pm (UTC)(link)
Ну так а шо ты думаешь он на чем-то другом пишет?
wizzard: (Default)

[personal profile] wizzard 2014-12-23 04:15 pm (UTC)(link)
Бинго!

[identity profile] zerthurd.livejournal.com 2014-12-23 02:22 pm (UTC)(link)
Хаскель, окамль. Rust вроде бы, но я его плохо смотрел.

[identity profile] nealar.livejournal.com 2014-12-23 03:05 pm (UTC)(link)
Erlang? Или ты ему изменил?

[identity profile] zerthurd.livejournal.com 2014-12-23 03:46 pm (UTC)(link)
В ерланге платформа хорошая, а язык сам по себе не очень.

[identity profile] gineer.livejournal.com 2014-12-23 02:18 pm (UTC)(link)
Knowing how to code is like knowing a foreign language. It doesn’t matter much if you have nothing to say. (С)

[identity profile] zerthurd.livejournal.com 2014-12-23 05:07 pm (UTC)(link)
Секта свидетелей цитат пожаловала. «Милости прошу к нашему шалашу!» ©

[identity profile] sober-space.livejournal.com 2014-12-23 05:52 pm (UTC)(link)
дельта-функцию изобрел именно Хевисайд, но не стал ее выпячивать, чтобы не дразнить математических гусей... короче, Пайк, даже если бы ты написал "the definition of Turing completeness is" мое уважение к тебе нисколько бы не уменьшилось. :)

[identity profile] fi_mihej.livejournal.com 2014-12-25 02:35 am (UTC)(link)
Здравствуйте!
Я Пайк, и я есть очень благодарен за ваши коментарий. Я настолько благодарен, даже выучил русский язык и сейчас это говорю. Спасибо еще раз!

С уважением, Пайк

[identity profile] sober-space.livejournal.com 2014-12-25 03:44 am (UTC)(link)
Тебе спасибо. Давай, покажи этим снобам где раки зимуют :D