Русскоязычному программисту тяжело. Смыслы программирования рождаются на Западе и потом переводятся на другие языки, и этот перевод часто страдает. А вместе с ним страдает русскоязычный программист.
Если на английском языке слова о программе - это просто слова, они более или менее точно передают мысль, то на русском языке - это поиск, судорожные движения понять, угадать, найти, не исказить и всё такое.
Это можно сравнить с картиной, когда хозяин ест за столом, и роняет крошки на пол, а его пёс вскакивает, бросается к крошкам, щёлкает пастью, потом крутится в поисках других крошек, и долго пытается найти ещё, слизывает мусор, а сами крошки либо попадают в пасть, либо оказываются затоптаны, либо вообще ложная тревога - псу показалось. Трогательное и жалкое зрелище.
Так что лучше уж учить господский "ангельский" язык и на нём говорить, думать и писать. Что большинство нашего брата программиста и делает.
Кстати, про ангелов (последнее краткое отступление). Есть частное богословское мнение, что именно человеческий язык стал причиной падения ангелов и появления сатаны. Человеку была дана власть над вселенной, которая выразилась в том, что Человек дал имена всему творению (Божию), чему старший брат человека, ангел Десница, позавидовал и устроил сначала мятеж, а потом подставу с последовавшим изгнанием людей из рая. То есть дело в языке - чей язык важнее. Так что уж действительно: "в начале было слово".
И я хочу разобраться в словах "executable program" или "исполняемая программа" (файл, код). Что они значат?
Начнём с наличного перевода: "исполняемая программа" - это программа, которую исполняет машина. Вместе с устойчивыми выражениями "компьютер выполняет", "компьютер думает" в голове рождается картина, что компьютер - это разумное существо, которое соблаговоляет принять программу и её исполнить. Или нет, если программа с ошибками. Или исполнить, но с ошибками, если куда-нибудь попадёт жучок.
Надо сделать усилие воли, чтобы оторваться от этого образа мудрого старшего брата компьютера и никудышной программы, чтобы вспомнить, что вообще-то компьютер - это просто тупая железяка (или "полупроводняка"), которая строго подчиняется приказам этой самой программы.
Машинный приказ состоит из 3х чисел (вольное изложение ассемблера):
номер узла обработчика (процессора) (примеры узлов: "читатель переменной", указатель приказов, вычитатель),
обрабатываемое число №1 (адрес переменной, сдвиг адреса к другому приказу, уменьшаемое),
обрабатываемое число №2 (адрес регистра, не нужно, вычитаемое).
Такой трех-числовой приказ полностью управляет всеми действиями машины через её главную часть - обработчик (приказов), процессор, "мозг". (Хотя "мозгами" у нас раньше называли ещё и память RAM, почему бы?...)
То есть, на самом деле то, что называется "executable program", она же ".exe" - это буквально "управляющая программа".
А буквально выражение "executable program" означает: "выполнимая программа" (ассемблерный код, а отличии от си-шного или другого расчётного кода). То есть та запись, которую компьютер может выполнить, но с лёгким английским намёком на субъектность компьютера, на его разумность и искусственную интеллектуальность. Наверняка, в английском есть синоним слова executable, который не содержал бы этого намёка, но идея "разумного компьютера" очень мила английскому тьюрингованному сердцу.
Вот за этим смыслом и рванул преданный друг человека русский переводчик, и в итоге вместо точного (с тонким намёком на субъектность) перевода "выполнимый" - "который может быть выполнен процессором" - получился "исполняемый файл". То есть "может быть и не исполнен", как решит компьютер. Вот итог собачьего рвения найти и подобрать все крошки смысла.
В итоге уравновешенный термин "выполнимая" превратился в озадачивающий "исполняемая", хотя по сути - "управляющая".
Я понимаю, что тру-программисты говорят просто: "экзэшник", или просто говорят по-английски. Но если кто-то снизойдёт до краткого объяснения, то как правильно говорить? Традиционное "исполняемый" или как?
P.S. Слова "лучше уж учить господский <английский>" я говорю с горечью, но как единственный предлагаемый русскому программисту выбор (если слово "выбор" тут уместно).
Tiriet
Так это ж давно превратилось в самостоятельный термин- «исполняемая программа» в контексте компьютеров- это именно оно- лежит на диске, не отсвечивает и можно при желании запустить (сейчас, потом, когда угодно, а можно и не запускать, может исполнится, а может и нет), вот если вы в контексте театра оперы и балета скажете «исполняемая программа»- то эта мгновенно превратится в совершенно другую программу- в песни и пляски, исполняемые именно сейчас и именно на этой сцене согласно сценарию. У русского программиста- у него же сначала компьютерная грамотность, потом (если повезет) — литературная, и потом (вне зависимости от везения)- уже английский.
Вы, кстати, как к сценариям относитесь? по-русски, или по-английски?
vtoragram Автор
Ваш ответ я засчитаю как «традиционно».
Сценарии это которые скрипты: яваскрипт и прочие? Положительно. Как раз обратный случай: не «исполняемая программа», хотя сказать, что она «неисполняемая», будет противоречить истине. Но видимо всем похрен, продолжаем щебетать по-птичьи.
Tiriet
вы еще бухгалтерии попробуйте объяснить, что правильно говорить договоры, а не договора, а нефтянику- что правильно добЫча, а не дОбыча- особенно нефтянку, настоящему, с буровой, и заверните ему что-нибудь про «щебетание» :-). Есть профессиональная терминология, которая к общечеловеческому переводу неизвестно каким боком и при переводах- очень неожиданна. Вот вам обратная ситуация: есть в нашей научной среде термин «исследуемый образец». А «образец» на «птичий» переводится как «sample, template, swatch, exemplar», еще «specimen» будет где-то в списке «less common»- потому что термин специализированный- обозначает «образец, экземпляр, особь, препарат». И с чего это образец металла с мелкокристаллической структурой, полученный методом динамического равноканального углового прессования я должен переводить как «особь, препарат или экземпляр»? А с того, что терминология такая в среде принята и общепринята, и пофиг этой среде на лингвистов и филологов. Вы зачем-то стали разбираться в словах, забыв, что группы слов могу образовывать термины, а у терминов есть смысл, специфический для предметной области.
vtoragram Автор
Да, я стал разбираться в словах. Русский перевод неточен и тяготеет к запутыванию профанов. С теоретической точки зрения — это плохо, с практической — по-разному. Мне было важно услышать мнение других.
Tiriet
что именно забыли профаны в узко-специальной среде? в этой среде есть своя терминология, если человек профан настолько, что даже терминологию освоить не может- так может ему и не стоит этим заниматься? а если человек может освоить специальную терминологию- то и проблем с «неправильно перевели» у него не возникает.
vtoragram Автор
Вопрос в другом: программирование для всех, или для «посвящённых».
Tiriet
только для тех, кто готов обучаться.