Comments 33
Вы, кстати, как к сценариям относитесь? по-русски, или по-английски?
Сценарии это которые скрипты: яваскрипт и прочие? Положительно. Как раз обратный случай: не «исполняемая программа», хотя сказать, что она «неисполняемая», будет противоречить истине. Но видимо всем похрен, продолжаем щебетать по-птичьи.
множественность значений отдельных знаков операцийЧто?
Да, арифметика указателей — фишка C, еще только в C++ она есть, вряд ли где-то еще, ну а в каких-то языках есть оператор возведения в степень. К перегрузке это не имеет никакого отношения.
p + 1 это сдвиг на один элемент. Нет никакой перегрузки.
Если вас попросят взять пятую книгу справа, вы будете считать по книгам или по сотням страниц?
Вот за этим смыслом и рванул преданный друг человека русский переводчик, и в итоге вместо точного (с тонким намёком на субъектность) перевода «выполнимый» — «который может быть выполнен процессором» — получился «исполняемый файл». То есть «может быть и не исполнен», как решит компьютер.Не вижу противоречий в слове «исполняемый», и как по мне он не может значит «может быть и не исполнен», если только он не вызывает ошибки вроде SIGSEGV или что-то еще.
Я понимаю, что тру-программисты говорят просто: «экзэшник», или просто говорят по-английски.В чем смысл тогда вашей статьи, если вы сами сказали что все будут говорить по другому.
Но если кто-то снизойдёт до краткого объяснения, то как правильно говорить? Традиционное «исполняемый» или как?.exe (экзе)
А где тут вообще С, С++ и Ассемблер? Разговоры на предмет каких-то там абстрактных регистров — немного не в тему тегов.
Это ещё что. Раньше, вон, человек, не знающий латынь, считался недостойным вообще приближаться к священному храму знаний. Потом, правда, отпустило, но в России, примерно так до Ломоносова, тоже думали, что русский — это какой-то недоязык, ибо вся наука делается на немецком и французском.
ИТ область пока молодая, так что такие приступы "илитизьма" — это нормально, со временем пройдёт.
И я хочу разобраться в словах «executable program» или «исполняемая программа» (файл, код). Что они значат?
Одно из основных значений слова execute — исполнять заранее составленный план или намеченное заранее действие.
Что очень даже точно отображает суть явления: программа — это план действий, которые должна исполнить железяка, и железякою он, соответственно, исполняется.
То, что между англйискими словами и русскими нет однозначного соответствия — ну да, это факт. Но делать на его основе какие-то глубинные выводы не стоит.
Начнём с наличного перевода: «исполняемая программа» — это программа, которую исполняет машина. Вместе с устойчивыми выражениями «компьютер выполняет», «компьютер думает» в голове рождается картина, что компьютер — это разумное существо, которое соблаговоляет принять программу и её исполнить.
Какой-то у вас неожиданный прыжок мыслию: из слова «исполняет» вы вдруг делаете вывод, что машина «соблаговляет». А рабы в древности, получается, «соблагововляли» исполнить указания господ, и вообще вели себя аки умудренные старцы перед заискивающими бестолковыми сопляками?
Надо сделать усилие воли, чтобы оторваться от этого образа мудрого старшего брата компьютера и никудышной программы, чтобы вспомнить, что вообще-то компьютер — это просто тупая железяка (или «полупроводняка»), которая строго подчиняется приказам этой самой программы.
Для начала нужно сделать усилие воли и понять, как вы вообще пришли к выводу о «мудром старшем брате» на основании слова «исполнять».
То есть, на самом деле то, что называется «executable program», она же ".exe" — это буквально «управляющая программа».
Нет.
Раз уж вы взялись анализировать слова — будьте последовательны. Программа — это «набор приказов, предписаний». А исполняемый — это исполняемый.
Все вместе означает «набор предписаний, который можно (или нужно) исполнить».
набор предписаний, который можно (или нужно) исполнить
это определение любой программы: и asm, и js.
Где отличие программы asm в названии «исполняемый файл»?
Раньше считалось, что слово «выполнимая» означала такую возможность. Не никак не «исполняемая», иначе получается, что это просто синоним слова «рабочая программа».
это определение любой программы: и asm, и js.
Именно так.
Это определение слова «программа». Если вы не заметили, оно у вас в словосочетании «исполняемая программа» идет вторым.
Где отличие программы asm в названии «исполняемый файл»?
Отличие от чего? Исполняемый чем? Так файл или программа?
Для начала — разберитесь с двумя словами, не перепрыгивайте на другие.
Если вы ратуете за кристальную чистоту русской терминологии, да чтоб при этом четко различались программы интерпретируемые, компилируемые и байт-коды — попытаться изобрести что-то свое вы, конечно, можете, но вряд ли у вас что-то получится. В английском, например, программу на джаваскрипте вполне можно назвать «executable» в контексте исполнения в браузере.
Если вы ратуете за максимальное соответствие русской терминологии и английской — эта унификация в пределах разумного происходит прямо сейчас. Просто не нужно жонглировать смыслами, путать контексты и фантазировать про «снисходительные машины».
Раньше считалось, что слово «выполнимая» означала такую возможность. Не никак не «исполняемая», иначе получается, что это просто синоним слова «рабочая программа».
Сосредоточьтесь на сегодняшнем дне. Неважно, как оно было «раньше». Терминология в компьютерной области еще не устоялась и постоянно меняется (особенно русскоязычная).
Для начала откажемся от термина "электрон", ибо называать элементарную частицу янтарем как-то странно.
А если серьезно, то в терминологии в различных языках порой такая ересь с точки зрения литературного или даже разговорного языка встречается, что вообще ни в какие ворота. И ничего, народ не бунтует, а пользуется устоявшейся терминологией.
Где отличие программы asm в названии «исполняемый файл»?
Программа на языке ассемблера не может быть исполнена. Она должна быть переведена в другое представление.
Программа на js в контексте операционной системы тоже не может быть исполнена, потому в этом контексте она не является исполняемой, а в контексте браузера — может, со всеми вытекающими для права именоваться исполняемой (но только в соответствующем контексте.
По моему как-то так.
Конечно, англоязычный мир гораздо шире и является основным законодателем компьютерных мод. И есть, разумеется, неполное соответствие значений при переводе.
Но мне кажется ваш перевод страдает от этого в еще большей степени.
Совершенно необосновано вы наделили некоторые термины некоторой коннотацией (компьютер соблаговолит, компьютер — разумный), от разных терминов взяли разные значения (узкое и широкое значение) и вуаля — у вас значения серьезно не сходятся.
Мне просто кажется неверным утверждение, что executable program — как бы программа только для одной архитектуры и процессора, бинарный нативный код, а «Исполняемая программа» — это типа исполняемая в общем. Это просто не верно — то, что в узком смысле под executable program понимают экзешники — не делает термин узким, он точно так же может означать любую программу или скрипт, как и «исполняемая программа»
В то время как «выполнимая программа» наоборот, актуализируется на качестве, что программа «корректна, может быть выполнена».
Я не то чтобы большой специалист в том, что имел в виду автор термина, но русские термины (как и английские, собственно) применяются не в вакууме, а в контексте, написаном русским же языком и хорошо описывающих детали. Кажется, этого достаточно, чтобы уточнить термин в каждом отдельном случае.
Тут идет спор об объекте-субъекте. Однако неправильно выбраны эти самые субъекты-объекты. Надо рассматривать связь "Пользователь -> ОС -> программа", а рассматривается связь "Программа -> железо"
Программа: исполняемая, управляющая или выполнимая или?