(Довёл до логического конца рассуждение о зависимости современного российского программирования от английского языка. Получил свою умеренную порцию негатива на Хабре.)
Программа: исполняемая, управляющая или выполнимая или?
Русскоязычному программисту тяжело. Смыслы программирования рождаются на Западе и потом переводятся на другие языки, и этот перевод часто страдает. А вместе с ним страдает русскоязычный программист.
Если на английском языке слова о программе - это просто слова, они более или менее точно передают мысль, то на русском языке - это поиск, судорожные движения понять, угадать, найти, не исказить и всё такое.
Это можно сравнить с картиной, когда хозяин ест за столом, и роняет крошки на пол, а его пёс вскакивает, бросается к крошкам, щёлкает пастью, потом крутится в поисках других крошек, и долго пытается найти ещё, слизывает мусор, а сами крошки либо попадают в пасть, либо оказываются затоптаны, либо вообще ложная тревога - псу показалось. Трогательное и жалкое зрелище.
Так что лучше уж учить господский "ангельский" язык и на нём говорить, думать и писать. Что большинство нашего брата программиста и делает.
Кстати, про ангелов (последнее краткое отступление). Есть частное богословское мнение, что именно человеческий язык стал причиной падения ангелов и появления сатаны. Человеку была дана власть над вселенной, которая выразилась в том, что Человек дал имена всему творению (Божию), чему старший брат человека, ангел Десница, позавидовал и устроил сначала мятеж, а потом подставу с последовавшим изгнанием людей из рая. То есть дело в языке - чей язык важнее. Так что уж действительно: "в начале было слово".
И я хочу разобраться в словах "executable program" или "исполняемая программа" (файл, код). Что они значат?
Начнём с наличного перевода: "исполняемая программа" - это программа, которую исполняет машина. Вместе с устойчивыми выражениями "компьютер выполняет", "компьютер думает" в голове рождается картина, что компьютер - это разумное существо, которое соблаговоляет принять программу и её исполнить. Или нет, если программа с ошибками. Или исполнить, но с ошибками, если куда-нибудь попадёт жучок.
Надо сделать усилие воли, чтобы оторваться от этого образа мудрого старшего брата компьютера и никудышной программы, чтобы вспомнить, что вообще-то компьютер - это просто тупая железяка (или "полупроводняка"), которая строго подчиняется приказам этой самой программы.
Машинный приказ состоит из 3х чисел (вольное изложение ассемблера):
- номер узла обработчика (процессора) (примеры узлов: "читатель переменной", указатель приказов, вычитатель),
- обрабатываемое число №1 (адрес переменной, сдвиг адреса к другому приказу, уменьшаемое),
- обрабатываемое число №2 (адрес регистра, не нужно, вычитаемое).
Такой трех-числовой приказ полностью управляет всеми действиями машины через её главную часть - обработчик (приказов), процессор, "мозг". (Хотя "мозгами" у нас раньше называли ещё и память RAM, почему бы?...)
То есть, на самом деле то, что называется "executable program", она же ".exe" - это буквально "управляющая программа".
А буквально выражение "executable program" означает: "выполнимая программа" (ассемблерный код, а отличии от си-шного или другого расчётного кода). То есть та запись, которую компьютер может выполнить, но с лёгким английским намёком на субъектность компьютера, на его разумность и искусственную интеллектуальность. Наверняка, в английском есть синоним слова executable, который не содержал бы этого намёка, но идея "разумного компьютера" очень мила английскому тьюрингованному сердцу.
Вот за этим смыслом и рванул преданный друг человека русский переводчик, и в итоге вместо точного (с тонким намёком на субъектность) перевода "выполнимый" - "который может быть выполнен процессором" - получился "исполняемый файл". То есть "может быть и не исполнен", как решит компьютер. Вот итог собачьего рвения найти и подобрать все крошки смысла.
В итоге уравновешенный термин "выполнимая" превратился в озадачивающий "исполняемая", хотя по сути - "управляющая".
Я понимаю, что тру-программисты говорят просто: "экзэшник", или просто говорят по-английски. Но если кто-то снизойдёт до краткого объяснения, то как правильно говорить? Традиционное "исполняемый" или как?
P.S. Слова "лучше уж учить господский <английский>" я говорю с горечью, но как единственный предлагаемый русскому программисту выбор (если слово "выбор" тут уместно).
Комментарии
Так ли это важно?
... с кем и где ты провела эту ночь, моя сладкая N. (ц)
В МКБ-11 это кодируется как MB26.6
Хорошо сформулировали))
выздоравливайте
Не проецируйте на окружающих свои проблемы.
Как без этого подлизнуть западенцам?
вы - тупое существо без права на своё мнение. это неоспоримо
попробуйте оспорить, что вы существо. а какое оно и что оно имеет право делать - так ли вам это важно?
если вы не поняли смысла, это лишь значит, что вы не поняли смысла.
Или смысл размазан очень тонким слоем
что и не виден. Имею опыт программирования на ассемблере и ряда компиляторов уровня повыше
тоже самое. плюс неплохо владею английским. поэтому чот ржу.=D
да там полная хурма.
если начать по порядку, то "execute' никакой коннотации к субъектности - не несёт! ничего, что я не по-русски фасилитирую тут? бгг
"execute" - "carry out or accomplish a course of action", т.е. выполнить некие действия, причём "execute" изначально несёт оттенок "приказа" в силу его происхождения (из латыни, "воспоследовать последствиями" - в таком вот аксепте). т.е. только "исполняемый код" - ср. проверочное выражение "POTUS Executive Order" ))))
в общем - бред! тем более что есть команды с одним "обрабатываемым числом" (ROL) и вообще без оного (NOOP).
/me припомнил изящество PDP-11 и аж всплакнул от ностальгии! 14747 MOV -(7), -(7) и этот вот всё!
К PDP-11 кое-что из вышесказанного вполне имело смысл, но кто про них нынче помнит)
Для нынешних x86/amd64 с их количеством операндов от 0 до 4, защищенным режимом и гипервизором - все уже сильно не так.
Напиши свой язык программирования и программируй на нем.
Или охота писать на собачьем языке но использовать русские слова?
Да, просто, переквалифицируйтесь в разработчики на 1С. Всё по русски будет.
Все уже сделано задолго до нас - алгоритмический язык программирования (подпольная кличка "алг нач кон"). У Дональда Кнута в первых томах его знаменитого четырехтомника тоже помнится было что-то подобное, но имхо более громоздкое.
Надо еще чтоб врачи отказались от латинских терминов. Потому как выучить тыщу слов на латинице - неподъемный труд
как бы латинские термины скрывают от пациента разговор/переписку врачей. А что делают английские? И зачем?
Не сочиняйте.
Врачи не разговаривают латинскими терминами. Специальная терминология используется для выписки рецептов и обозначения болячек. Части организма еще специально латиницей "пронумерованы"
И от больных ничего не скрывают
Или думаете, что пациента отправляя в онкологическое отделение при этом говорят, что у него грипп?
Речь доктора изобиловала греческими и латинскими терминами — наименованиями болезней и анатомической лексикой, что считалось признаком «учёности» и, следовательно, профессиональной компетенции. По мнению М. Фуко, это придавало профессии «некоторый медицинский эзотеризм <…> что заставлял говорить на латыни медиков Мольера: тогда речь шла только о том, чтобы не быть понятым и сохранять на уровне доходов языкакорпоративные привилегии профессии…»
Пожалуйста, не забудьте правильно оформить цитату:
Пономаренко, Е. А. Исторические и методологические предпосылки возникновения и развития медицинского дискурса / Е. А. Пономаренко, Ю. А. Герасименко. — Текст : непосредственный // Молодой ученый. — 2015. — № 20 (100). — С. 609-613. — URL: https://moluch.ru/archive/100/22402/ (дата обращения: 09.03.2021).
А почему программы должны быть на русском языке ? какие предпосылки ?
Вот так вот создатель, например, Python, вдруг решил использовать русский язык и все такие (кто ему помог и участвовал в разработке), да, да будем писать на русском.
Это естественно, кто стоял у истоков, кто внес больше всего труда, того и тапки.
Хотите на русском ? Создавайте, переверните мир и заставьте всех говорить на русском. Респект вам будет.
Уже.
1С бухгалтерия для своего программного языка использует русский...
Ну вот ! )) все просто
ТС надо просто либо заниматься 1С ))
Вполне может понять и английские слова - там русские слова скорей как несколько корявый перевод.
Для базовых команд да. А для функций уже нет. Уникальный по своему язык. Аналогов некоторым его фишкам нет.
вы не поверите! было и такое! программы на русском языке в смысле. и текли куда надо каналы! но потом пришёл кукурузник и полимеры были просраны
При как ты выразился "кукурузнике" в СССР был написан первый в мире оптимизирующий компилятор и первый в мире язык описания схем. И начали строить ЕГСВЦ на советских серийных ЭВМ. Только вот после смены власти в 1964 году было принято решение все отечественные разработки свернуть и копировать буржуйское. В 1965 году была создана комиссия. Она выбрала IBM/360.
это было всё тяжкое сталинское наследие! и именно при кукурузнике от него начали избавляться.
т.к. именно при нём был совершён поворот на возврат капитализма в СССР, дальнейшее было лишь делом времени.
а с учётом пикантной подробности, что пролоббировал именно такое решение (свернуть свою разработку) именно вдохновитель "перестройки" - Андропов, то всё встаёт на свои места.
При "тяжёлом сталинском наследии" в СССР не было ни одной серийной ЭВМ. При Хрущёве появились, даже целая линейка совместимых ЭВМ Урал. Ещё построили центры электроники в Зеленограде и Минске.
Возврат капитализма - это реформа Косыгина, 1965 год (Хрущёва сняли в 1964 году)
Это так как есть. Поезд ушел.
Альтернатива ???
Почему бы и нет.
Реализуйте ))
Уже. И пишут на нём десятки тысяч.
Реализовали. 1С называется. На русском программировать удобнее.
Ну вот ! не надо останавливаться ! надо создавать больше программ на русском
что толку ныть что вражеские программы на вражеском языке
Бизнес профинансировал, была потребность появился уникальный продукт. Видимо в остальных направлениях всех все устраивает или скорее не выстреливают аналоги - не хватает уникальности. Основное развитие было в 80х-90х - нам было не до этого.
Ну вот и я о том же.
Вопрос не в "скрепности" и "западопоклонстве", вопрос в целесообразности и инструментах.
ТС этого почему то не понимает.
И нам ли вообще плакать. У нас свои соцсети, поисковики, почтовики. Есть свои архитектуры процессоров, свои языки программирования. Литература есть на эту тему своя уникальная. Да так вышло, что нужно знать английский чтобы не изобретать велосипеды. Но и то не всегда. Тот же Яндекс он живет только на своих велосипедах, чужие не надо. 80% литературы переводится. Комменты читать переводчики в помощь. В общем если работаешь тут и заказчик тут - то язык и не нужен. Если вот на иностранные фирмы тут сложнее, но если согласен получать поменьше и стабильно то пожалуйста крупные конторы где менеджмент договаривается, а ты пишешь.
Можно:
отсюда: https://i-v-k-1.livejournal.com/911.html
это 5+! как я это пропустил!? ))))
А делает оно что ибо из текста не понятно а библитотеки у меня нет
по моему автор фантазирует.
Я в теории программирования не силен, поэтому спрошу -- а что, бывают программы, которые не исполняемые?
Хороший вопрос. Программы на яваскрипт не "исполняемые", но не "неисполняемые". То есть они исполняются, но не являются "исполняемыми".
Этим утверждением вы сейчас вызвали зависание моего центрального отдела нервной системы. Зачем множить сущности?
Попробуйте выкл./вкл.
По существу возражения имеете? Утилита file недвусмысленно говорит, что возразить вам нечего.
Утилита file показывает описание для домохозяйки.
javascript - это типичный императивный язык, от ассемблера ничем принципиально не отличается.
Похоже, ТС хотел сказать, что JS-код в текстовом файле не является executable. На что я ответил примером выше.
Вы взаправду считаете JS executable? То есть его не программа-интерпретатор выполняет?
Между исполнением интерпретатором и исполнением напрямую процессором нет принципиальной разницы.
Страницы