В рамках первой статьи цикла будет дан небольшой обзор возможности платформы «1С: Предприятие» говорить сразу на двух языках разработки программного кода. Также будет произведена попытка разобраться, почему было сделано именно так, и какие преимущества нам, как разработчикам, дает такая функциональная возможность, но не обойдется и без пары довольно наглядных примеров.
Вступление будет кратким. Есть миф, и для того, чтобы его сформулировать, много слов не понадобится. А вот на развенчание мифа слов потребуется немало (можно считать маленьким дисклеймером – букв будет много).
Формулировка мифа. Считается, что инженеры, занятые задачами разработки бизнес-приложений на платформе «1С: Предприятие», вынуждены и просто обязаны писать программный код на русском языке. Это первая часть мифа. Вторая часть – программный код на русском – это очень забавно и совсем несерьезно, а самое главное, непонятно – зачем.
Первую часть мифа можно прикончить одним очень коротким и злым словом, но мы проявим инженерную вежливость и возьмем формулировку из лексикона дипломатов – «Это не совсем точные сведения». А именно – с момента своего рождения на свет платформа «1С: Предприятие» позволяла писать программный код на одном из двух языков – на русском и на английском. У встроенного языка есть два полноценных и равноценных наречия.
В качестве аналогии из окружающего нас мира можно посмотреть на Канаду, можно посмотреть на Бельгию, а можно еще на самые разные страны, где в ходу более одного языка. И здесь следует точно знать – наличие английского наречия в языке платформы 1С – это не какие-то усилия по остаточному принципу, паритет двух наречий соблюдается крайне строго, уж поверьте на слово человеку, который не просто работал с этой платформой большую часть сознательной профессиональной жизни, но и видел всю кухню изнутри.
Надеюсь, с вопросом – позволяет ли платформа «1С: Предприятие» программировать на английском – здесь должна наступить полная ясность. Еще как позволяет.
Но нужно пояснить одну очень важную техническую деталь. Да, платформа требует для каждой конкретной конфигурации (термин «Конфигурация» здесь используется в том же значении, что и «Проект» для других языков и сред разработки) явно указать вариант встроенного языка – русский или английский, но это указание вовсе не диктует необходимость написания программного кода только в этой указанной нотации. Свойство «Вариант встроенного языка» используется платформой для некоторых методов и свойств, которые возвращают определенные системные имена (термы) на том языке, который указан в свойствах конфигурации как основной язык разработки.
Здесь следует отдельно пояснить, что у конфигурации существует и другое «Лингвистическое» свойство, определяющее основной язык конфигурации. Но это не язык разработки, а язык интерфейса, то, что в операционных системах называется термином «Локаль». Платформа 1С поддерживает только два языка для написания программного кода, а вот для интерфейса поддерживается множество языков, и при желании можно сконструировать даже свой собственный. То есть, «Интерфейс на валирийском или дотракийском» – это, конечно, шутка, но технически вполне реализуемая.
Вернемся к языку разработки. Вне зависимости от варианта, выбранного для конкретной конфигурации, ее программный код может быть написан как на английском, так и на русском, и более того, интерпретатор языка прекрасно справляется и со смешанной нотацией.
Понятно, что у каждого разработчика существуют свои персональные предпочтения. Например, лично я еще на версии 7.7 в самом конце девяностых и начале нулевых писал строго по-английски. А вот потом, с течением времени, перешел на русскую нотацию. Почему и для чего – об этом чуть ниже. Сперва давайте посмотрим на пример кода.
Программный код здесь синтетический, хотя и похож на промышленный. В промышленном коде уровней стека было бы чуть больше.
Что делает приведенный в этом примере код? Очень простую вещь – получает прокси веб-сервиса сторонней системы, а дальше сперва вызывает метод этого стороннего веб-сервиса, а затем внутренний метод для проверки полученного из внешней системы результата. Можно увидеть, что англоязычную лексему мы пишем там, где обращаемся к системе, умеющей разговаривать только по-английски. Весь остальной код – строго кириллический. И это не требование заказчика, не требование стандарта или регламента, это личный выбор разработчика.
Проект заключался в создании компактного, но мощного решения по интеграции нескольких разнородных систем в гетерогенной среде под высокой нагрузкой с высокой надежностью, словом, все как мы любим. Пример кода упрощен для наглядности.
И теперь мы переходим к вопросу – если можно выбирать один из двух вариантов языка для написания нашего программного кода, какими критериями мы будем при этом руководствоваться? И существует ли относительно четкая инженерная методика, которая позволяет нам без лишних творческих метаний выбрать между Рус/Eng?
Разумеется, такая методика есть. Первый критерий – что по этому поводу написано в требованиях, регламентах, стандартах, которые мы должны использовать при разработке вот этого конкретного программного кода. Если мы не являемся его владельцем, если существуют внешние факторы, они имеют превалирующее значение над всеми другими.
Например, заказчик нашей интеграционной механики располагается и работает в другой, достаточно отдаленной от нас стране. Специалистам, которые будут заниматься приемкой, развертыванием и сопровождением нашего программного кода, понять что-либо на кириллице будет попросту невозможно. Следовательно, вот наш безальтернативный выбор:
Да, это не язык Шекспира, в том смысле, что мой уровень владения английским, мягко говоря, невысокий. Может хромать даже орфография, а уж грамматика хромает точно, и нет уверенности, что в приведенном выше примере комментарий написан без нарушения правил английского правописания. Но если уж на чистоту, и если подсчитать количество фрагментов, написанных не на языке Шекспира, которые я видел в своей жизни в самых разных языках и средах разработки, я бы давно сбился со счета.
Важно, что написанный нами код (включая комментарий) работает, эффективно решает порученную ему задачу и поддается успешному сопровождению специалистами другой языковой группы. Это был крайний случай, когда решение принимаем не мы самостоятельно, а его диктуют нам внешние факторы. Такие ситуации бывают, но не очень часто.
Вполне естественным образом возникает вопрос, программный код – это всего лишь текст, причем далеко не литературный, а технологический и строго формализованный. Неужели не существует способа выполнить машинный перевод программного кода с одного языка на другой?
Спецификация встроенного языка программирования известна, русско-английских словарей существует великое множество, а не имеющие точного перевода имена переменных и методов, придуманных программистом, можно преобразовать методом банальной транслитерации.
Ответ, также вполне естественный – среди довольно обширного набора инструментов разработки, доступных программисту, работающему с платформой 1С, такой инструмент есть.
Это называется Language Tool и технически представляет собой плагин к EDT (аббревиатура из профессионального сленга вселенной 1С, «Enterprise Development Tools», среда разработки нового поколения, но рассказ о EDT и других инструментах разработки, включая Language Tool, все же выходит за рамки статьи и требует отдельного обзора, здесь достаточно будет только упомянуть, что инструмент прямого и обратного преобразования программного кода между русской и английской нотацией существует).
Продолжим разбор методики выбора. На месте специалиста, который не просто пишет программный код, но, например, отвечает за общие архитектурные решения, за технологию разработки на проекте, и в конечном итоге за результат разработки в целом – лично я выберу именно русскую нотацию. Почему?
И тоже довольно важный момент – если мы пишем не для внешнего, а для внутреннего рынка, если в наших планах тиражирование программного кода на территории проживания людей, для которых русский является родным – это фактор из категории превалирующих. Специалисты, которые будут сопровождать и развивать наш программный код, должны обладать возможностью общаться с нами без дополнительных переводчиков и связанных с этим ошибок перевода.
Прежде всего мы имеем в виду предметную область. При помощи платформы «1С: Предприятие» мы в первую очередь решаем задачи автоматизации процессов бизнеса. (Но в скобках заметим, что технологические возможности платформы этим кругом задач отнюдь не ограничиваются, но это уже тема немножко другой беседы).
А в задачах автоматизации экономических процессов одним из ключевых факторов успеха является общее для всей команды «Постановщик, разработчик, эксплуатант, пользователь» понимание особенностей предметной области так, чтобы мы могли разговаривать на одном языке.
Пользователь вряд ли когда-нибудь будет читать наш программный код, но он совершенно точно будет читать надписи на формах, пояснения, сообщения и (здесь многие мне не поверят, но это истинная правда) нашу техническую документацию. А вот специалисты, занятые на задачах эксплуатации, поддержки, сопровождения и развития нашего программного кода, читать его будут и очень внимательно.
А теперь давайте произведем небольшой мысленный эксперимент. Возьмем приведенный выше фрагмент наглядного пособия и уберем из него описывающий функцию комментарий. Получится вот так:
Разумеется, это наглядное пособие из серии «Как делать не нужно», потому что в промышленной разработке такие трюки, как неоткомментированный метод программного интерфейса, являются недопустимыми от слова «Совсем». Но именно как наглядное пособие и как пояснение к тезису «Программный код сам себя документирует» подойдет вполне.
И здесь очень важный момент. Термины предметной области, будь она огромной как отрасль или компактной как отдельно взятое предприятие, имеют строго определенное значение – перевод на другой язык, даже близкий и почти родственный, требует квалификации не только инженера-разработчика, но еще и филолога, потому что перевести нужно так, чтобы все остальные поняли.
Страховочным механизмом служит, разумеется, комментирование кода. И вот здесь мы включим абсолютно циничную инженерную истину – если нам помимо собственно программного кода приходится писать вдумчивые и раскрывающие смысл кода комментарии на другом языке, и объем этих комментариев составляет хотя бы тридцать процентов от общего, то простите мой французский, но примерно тридцать процентов нашего рабочего времени мы отправили туда, где всегда требуется бумага (притом что отпечатанный на ней текст совершенно неважен).
Дело здесь вот в чем. Если русскоязычный программист, занимаясь разработкой для русскоязычного рынка, пишет программный код по-английски, пояснять, а возможно даже пересказывать написанный код ему все равно придется на русском. И общий КПД работы над кодом по сравнению с вариантом «Сразу пишем по-русски, и надобность в подробном комментарии-пересказе отпадает сама собой» будет существенно ниже, возможно даже на десятки процентов.
Еще раз вернемся к примеру кода. Каждое слово понятно. Разумеется, непонятную и нечитаемую программу можно написать на любом языке, но если мы пишем на русском – вероятность того, что коллега нас поймет, увеличивается и довольно серьезно.
Спасибо теории вероятностей и другим базовым теориям нашего с вами ремесла. Документация может содержаться в самом коде. Именно та, которая нам самим же потребуется, когда перед нами будет поставлена задача – да вот зачем далеко ходить? Разобраться, почему информационная система работает, скажем вежливо, небыстро. Добавить новую функцию, которой раньше не было, и чтобы при этом ничего не сломалось. Имплементировать существующую систему управления учетом изменения бизнес-схемы, но так, чтобы базовые правила предметной области нашей новой системой не оказались бы нарушены. И – так далее, все те задачи, которые мы с вами решаем каждый день.
Не постесняемся повторить. Термины предметной области должны четко и однозначно трактоваться всеми, кто имеет отношение к жизненному циклу программного кода, оперирующего этими терминами. В некоторых других отраслях для решения подобной задачи пришлось изобретать свой специальный язык. Например, в морском деле (еще в том, настоящем, парусном) все сколько-нибудь значимые термины – это и не английский, и не голландский, а свой специальный морской язык, который был изобретен именно для однозначного общего понимания.
Мы не плаваем по морям, а пишем программный код, но проблема однозначности понимания для нас так же актуальна, как и для парусных матросов. Цена ошибки трактования термина может быть очень высокой. Перевести терминологию предметной области, увязанную, например, с терминологией типового или отраслевого решения, на английский язык так, чтобы это можно было однозначно прочитать «с листа» — задача очень сложная и даже не всегда имеющая решение.
В качестве маленького упражнения – попробуйте перевести на английский (только «на чистых руках», без Google Translate) следующую конструкцию: “Изменение в алгоритме расчета себестоимости производства по схеме переработки давальческого сырья при ее использовании для закрытия функциональных разрывов в учете гарантийных ремонтов”. А потом проверить, кто из коллег каким образом интерпретирует ваш вариант перевода.
Вот здесь мы приходим к понятию «Командная работа». Никто из нас не работает в одиночку, мы всегда работаем командой, а в командной работе очень важно говорить на одном языке, понятным каждому из нас без перевода, без лишних усилий. Под «Говорить» здесь, конечно же, понимается «Писать программный код».
Очень важно понимать, каждый из нас не просто программист-разработчик, творец-мечтатель. Все, что мы делаем, является решением конкретных и понятных нам задач. Мы помогаем нашему заказчику решать его задачи. И вот здесь мы должны четко знать – наши задачи не решаются в одиночку.
Для решения нашей задачи мы должны обладать возможностью общаться с коллегами. И так, чтобы это общение забирало у нас минимальное количество нашего рабочего временного ресурса и позволяло передать большой, максимально большой объем информации в единицу времени. Просто потому, что все наше время, которое мы тратим на наши рабочие задачи – это рабочее время. И наш инженерный принцип гласит – «Рабочее время должно затрачиваться эффективно».
Те инструменты, которые позволяют это делать, мы включаем в свой набор инструментария. Кириллическая русская речь, описывающая предметную область, позволяющая нам понимать друг друга без лишних деталей, лишних слоев, является одним из таких инструментов. И это не теория, это один из тех принципов, которые помогли лично мне не просто написать какую-то программу, но построить несколько систем уровня «Большая и по-настоящему, по-хорошему страшная информационная система».
Синонимом словосочетания «Командная работа» является слово «Взаимодействие» (или же «Collaboration»). Мы помним о том, что можем выбирать любое наречие. Базой взаимодействия в команде является сигнальная система. Мы подаем сигнал и реагируем на поданные нам.
Да, многие термины настолько точны и устоялись, что их проще и правильнее донести до товарищей языком оригинала, но у сигнальных систем есть один общий родовой недостаток. Чтобы обойтись без очень большого количества букв, пример будет крайне нагляден и прямо из моей жизни.
Представим себе взаимодействие в такелажной команде. У нас есть всего три рабочие специальности. Есть механик-водитель – его основная задача уже закончена, и сейчас ему нужно просто удерживать грузовоз в состоянии покоя. Есть крановщик, который очень-очень высоко, его задачей будет при помощи крана перегрузить десять тонн металлической конструкции с грузовоза на складскую площадку. И есть еще два товарища, профессия которых называется «Стропальщик». В их задачу входит организовать взаимодействие металлической конструкции с погрузочным (он же и разгрузочный) краном.
Казалось бы – все просто, как мычание. Но если даже мычать мы будем, не очень четко понимая друг друга, то есть внесем в нашу сигнальную систему избыточные и перегружающие ее детали, получается примерно следующая картина. Ты зацепил три тонны и дал сигнал наверх – понятно, не голосом, туда не докричишься, но четко показал «Вира» (на всякий случай, на такелажном языке это означает «Поднимай!»), а вот крановщик поднимает как-то медленно и печально. И когда над твоей головой вот так зависают три тонны ржавой трубы – это не очень приятные ощущения, и хочется их побыстрее прекратить. Поэтому ты даешь повторный сигнал – «Вира».
И вот здесь происходит сбой. Крановщик принимает строго противоположное решение и читает твой сигнал не так, а по-своему. Он это понимает как «Зацепили плохо, опусти, перетянем». И вместо «Вира» делает «Майна» (а это, соответственно, «Опускай!»), но уже не так медленно, а резким рывком.
Светлые идеи об удивительном мире сигнальных систем у тебя появятся потом, а пока есть какие-то доли секунды, чтобы увернуться от трех тонн падающего на тебя ржавого железа. Если успеваешь – понимание важности правильной трактовки сигналов приходит как будто из космоса.
Далее, разумеется, следуют производственные моменты, разбор ситуации, корректировка сигнальной системы с обязательной тренировкой на безопасном макете, ну – и так далее. Это уже обычная будничная работа.
И вот здесь мы подходим к одному из центральных моментов, ради которых и был написан этот текст. Не так важно, на каком именно языке мы говорим и пишем наш программный код. Гораздо важнее, чтобы мы – в команде, на предприятии, в отрасли – понимали друг друга с минимальными издержками на трансляцию смысла через текст. Тогда, и только тогда наша работа будет эффективной, а количество ситуаций «Что-то пошло не так» будет сведено к минимально возможному. И еще раз огромное спасибо нашей верной подруге по имени Теория Вероятностей.
Нельзя не отметить два очень серьезных преимущества, которые дает технологический стек разработки, умеющий говорить на двух языках. Первое – низкий порог вхождения. Это не является недостатком нашей профессии, это безусловное конкурентное преимущество. Научиться писать небольшие, но реально работающие решения на платформе «1С: Предприятие» может даже школьник. Не в последнюю очередь потому, что писать он будет на родном и полностью понятном ему языке.
О других преимуществах платформы 1С, позволяющих легко войти во вселенную разработки программного обеспечения – возможно, в следующий раз. Это тема отдельной беседы.
И второе – мы помним, что написанием программного кода его жизненный цикл не заканчивается, а только начинается. И если наш программный код ориентирован на тиражирование, возможности сообщить наши идеи и намерения, заложенные в этот код на понятном для наших коллег языке, увеличивают вероятность применения, сопровождения и развития нашего кода даже не кратно, а здесь скорее нужно вести речь о первом или втором порядке. Сопутствующие экономические эффекты мы просто опустим, они очевидны.
И в заключение нельзя не заметить – возможность разговаривать при написании программного кода на русском ни в коем случае не отменяет необходимости знать и понимать профессиональные термины вне зависимости от того, из какого языка они пришли. Что-то – из английского, что-то – из немецкого, что-то – из итальянского, что-то было написано на санскрите, и далее везде. Вопрос о том, какой язык важнее и правильнее, для нашей с вами профессии даже не ставится. Вопрос звучит совершенно иначе – в какой ситуации какой язык будет более эффективным, и сможем ли мы в нужный момент им воспользоваться.
А ответ очень простой – да, знаем, и сможем.
DMGarikk
ну опять холивар
==
Русский язык в 1С по одной простой причине появился, чтобы «Обыкновенный бухгалтер, мог открыть конфигуратор и сам чтото там исправить» (с)… было это еще в 90х… а потом когда сложность перевалила за все мыслимые (для обычного человека) пределы… русский язык так по привычке и остался
И теперь он один из барьеров почему в 1С никто не идет и все её ненавидят
да ну ерунда, я в 7 классе имея словарик русско-английского языка и мануал на бейсик, научился программировать самостоятельно.
а 1С без её прикладных задач не имеет смысла, ну сможет школьник написать чёнить для учета учебников… ну а смысл, если задачи в основном это исправление всяких платежек, УПД, расчета налога на прибыль и т.п. Куда там «легко входить» если аналитик в постановщик задач в отрасли это какието заповедные животные которые гдето есть но их почти никто не видетю?
==
Потом русский язык чтобы было понятно… вот открываю конфигуратор, а там
ОбменКлиентБанкКлиент
ОбменКлиентБанкКлиентСвервер
ОбменКлиентБанкСервер
ОбменКлиентБанкиКлиентСвервер
Процедура ОбработкаКлиент
Процедура ОбработкаКлиентПереопределяемый
Процедура ОбработкаКлиентСерверПереопределяемый Экспорт
(и они все друг на друга ссылаются)
просто охренеть как всё по русски сразу всё ясно что к чему, было бы по английски то ничего бы не понял (сарказм если что)
apxi
Думаете будет так просто взять и перевести некоторые имена функций и переменных на великий и могучий Инглиш?
DMGarikk
уже поздно переводить, очень много 1Сников которые к этому привыкли и не могут переучится, поезд ушел еще во временя клюшек и первых верий восьмерки
innovaIT
Справедливости ради, есть конфигурации полностью написанные на английском синтаксисе. 1с отель например. Может есть и ещё примеры. Где то на хабре, как то проскакивал комментарий, что 1с двигают где то ещё. При чем не на постсоветском пространстве. Другой вопрос, почему методы нельзя автоматом переводить в зависимости от локали. Вроде раз есть поддержка двух языков то и перевести совсем не сложно. А так получается тут пишу тут не пишу, а тут солянка.
Ta_Da
А смысл?
Ну т.е. строка
«Процедура МояЛучшаяПроцедура(МояПеременная) Экспорт»
станет выглядеть как
«Procedure МояЛучшаяПроцедура(МояПеременная) Export».
Это, мне кажется, не решит проблему.
innovaIT
это решит проблему с адаптацией конфигураций. Как называется процедура и переменные, это второстепенный вопрос. Я видел процедуры и на ломаном английском не в 1с. Но хотя бы будет понятен ход программы. Ведь синтаксис помощник тоже будет на английском. Хотя в этом я начал сомневаться. Давно это было. Но вроде есть описание процедур на английском. Так что, это решит проблему открыли в России значит на русском, открыли в другой локале значит на английском. И не будет такого "пока истина do трампампам. Endчтото там"
Ta_Da
Да, описание дублируется для двух языков.
Не знаю, суть в том, что все равно на одном из языков будет солянка из русского и английского. Я наверное все-таки не понимаю, в чем будет профит от перевода только ключевых слов. Ход программы от этого понятнее не станет.
innovaIT
Это моё личное конечно. Но суть в том что если я могу прочитать что if А equals(Б) then Б. То это понятней чем если А = Б тогда Б. Пример бредовый конечно. Но в первом примере суть всем понятна, а во втором только 1Сникам
Ta_Da
Но на практике, 90% кода все-таки будет не в виде «if A equals(Б) then», а обращение к методам и работа с переменными, которые все равно написаны на великом и могучем.
Но я понимаю проблему. Сам когда сталкивался с кодом на 1С на английском испытывал боль, при этом с кодом на других ЯП такой проблемы нет.
Мягко говоря, спорное утверждение =)
innovaIT
Ну может быть. Но то что они предложили это не решение проблемы. А только её усугубление. Мне чтоб написать под англоязычную конфу, сначало пришлось писать как я привык, а потом переводить. Меня, если честно раздражает их желание залезть во все сферы. Особенно их БСП и библиотека подключаемых драйверов. И их ненасытная мания к асинхронности. Особенно к асинхронности. Такого я даже в страшном сне не мог придумать. А у них это запросто. Понятие нулабле у них нет. Инициализации переменных из их же внешних компонент у них нет. А что самое интересное на мобильной платформе у них нет асинхронных механизмов. Кроме дополнительного потока. И тут начинается жопа с самого начала работы мобильного приложения. И костыль на костыль на костыле костылем погоняет. Всё сто написано в описании порядка выполнения на андроид не работает. А ещё и асинхронщина, реализована через треад.при чем единственный. Ну… Я как писатель драйверов в диком ах… Е
BrennendeHerz
Справедливости ради, поддержка этих решений «на английском» осуществляется 99% русскими разработчиками, потому что дешевле. Внедрения либо в арабских странах и Вьетнаме либо по инициативе вышедших из России финдеректоров и владельцев бизнеса, которые привыкли к 1С еще живя в России. Есть истории когда поставили решение на русском, поддерживать не смогли, начали перевнедрять на английском. Кто знаком с 1С может представить что это такое.
Барьер для поддержи и разработки это не только синтаксис и язык языка программирования (вот даже здесь тавтология получается), но и комьюнити, примеры кода.
Зайти на Stack Overflow и найти решение задачи по 1С? Нет, нужно идти на довольно закрытый русскоязычный Инфостарт или мир троллей — Мисту. Плюс практически полное отсутствие развития технологий по собственной инициативе. Только когда уже невозможно отворачиваться от фактов и со всех сторон кричат нужен SOAP, нужны HTTP-сервисы, нужна работа с двоичными данными, в платформу 1С добавляют их поддержку. Не полностью. С ошибками. Фактически со скрипом, но под видом большого достижения. Невозможностью применять сторонние инструменты.
Идея программировать на английском не находит поддержки и в широких кругах. Потому что рынки на которых происходит продвижение решений 1С написанных на английском, это рынки где стремятся максимально сэкономить на 1С а не заработать с помощью решений 1С деньги. Специалисты это видят и делают вывод что нет смысла выкладываться и двигаться в этом направлении. Не все, но если почитать мнения то так оно и есть, движение в сторону англоязычного программирования оказывается не выгодно конечным исполнителям.
Здесь замкнутый круг. Нет разработчиков на английском — нет востребованности. Нет востребованности — нет разработчиков. Попытки зайти в эту область через восточные страны не сильно меняют ситуацию.
innovaIT
Вы просто не смыслите в абстракциях 1С. На самом деле это классы. И override(переопределяемый). Не знаю как перевести правильно.
DMGarikk
… хватило мне наркомании в 7.7… восьмерки сейчас касаюсь только в качестве халтурки на выходных, и мне можно не особо вникать в то что они там опять наизобрели нетипового для отрасли программирования в целом
innovaIT
Это был сарказм от меня, если что.) сам "люблю" искать на пятой переопределяемой процедуре что значение то и не меняется вовсе. А искать надо было в отложенный процедурах.)
marmyshev
Настоящий программист должен страдать и кодить исключительно на иностранном языке! (даже если плохо его понимает!)
Но вывод, по вашему же словам, что только «тупые американцы» недостойны этой участи, и вынуждены кодить на родном языке!!! Пусть мучаются бедные…
Была бы ваша воля — заставили кодить их на китайском (их ведь большинство на планете!)
DMGarikk
Это стандарт отрасли.
дело не в том чтобы на неродном языке писать, а писать так что поймут ВСЕ программисты, а не избранные
дело не в количестве, в общепринятых стандартах
в медицине рецепты вообще на латинском пишут, иш какие странные… ни в одной стране мира на этом языке не говорят, нет чтобы на русском писать 'ан-ти-би-от-ик-и'
WildHare Автор
Такое утверждение можно применить, наверное, к «Бухгалтерии 6.0», где при помощи макроязыка бухгалтер действительно мог что-то исправить или дополнить. Но уже «Торговля 7.0» (а именно там и появился Конфигуратор» была ориентирована на специалистов, владеющих базовыми навыками программирования, и почти тогда же (в девяностых) была запланирована и развернута программа подготовки таких специалистов, которые бы совмещали умение разрабатывать программный код с пониманием предметной области (учет/управление).
Это не чтобы поспорить, а просто ради исторической достоверности.