Здравствуйте, Максим Зелинский, Вы писали:
МЗ>Но пользоваться этим не советую. Так как лично меня запаривает переключать кодировки при наборе кода.
Я использовал для не публичных типов и функций. Весьма, так сказать, пикантный код получается.
На паре с Punto Switcher раскладке переключается достаточно удобно.
МЮ>Я использовал для не публичных типов и функций. Весьма, так сказать, пикантный код получается. МЮ>На паре с Punto Switcher раскладке переключается достаточно удобно.
Использовал. Этот приём имеет оправдание в тех случаях, когда ведётся разработка в какой-то узкой предметной области с использованием большого количества специализированных терминов, трудно переводимых на английский язык. В моём случае — это разработка шаблонов медицинских документов, содержащих подчас сотни полей. Идентификатором поля является GUID, а подпись поля представлена на русском языке. После шаблон компилируется в сборку .NET, при этом подписи преваращаются в имена идентификаторов. Сборка отдаётся программисту, который подключает её в проект и всякий раз пищит от радости, когда ставит точку и видит выпадающий список с более-менее понятными именами.
Ну началось всё того, что в программе надо было описать типы с именами-терминами, которые на английский коротко и дословно не перевести было, а транслитерацию применять не хотелось, а дальше как-то пошло само-собой, когда не нужно выдумавать название переменным и типам, а пишешь, как думаешь .
Здравствуйте, stasukas, Вы писали:
S>Здравствуйте, <Аноним>, Вы писали:
А>>И кто использовал в реальных проектах? S>Не советую, т.к. импортные друзья могут не понять Достаточно представить, что к Вам попали исходнико от братьев-китайцев...
Другой вариант: вы очень хотите, сделать свою библиотеку компонентов бесплатной для русскоязычных пользователей, но платной для остальных (встречается в России не так уж редко). Делаете для русской версии библиотеки публичный интерфейс полностью на русском и делаете её бесплатной
"Практика — критерий истины" (c) Маркс
Кто знал , что С# допускает русские имена?
От:
Аноним
Дата:
28.10.05 08:29
Оценка:
Я написал небольшую прогу по-русский.
Но пользоваться не советую, мало ли что еще может произойти потом
Рксский язык — вещь такая специфическая...
Джедай Азат
Используя данную информацию, вы соглашаетесь с тем, что (i) Орден Джедаев не несет ответственности за использование вами данной информации (ii) вы не являетесь ситхом
OT>>Самое смешное, что те, кого можно назвать хорошими программистами 1С, пишут ИМХО в английской нотации.
DC>Самое смешное, что это не совсем правда. Из всех 1сников, которых я знаю (а знаю немало), английские буквы использую только я. И то иногда...
это говорит только о том, что у нас с Вами разный круг общения, мои знакомые ХОРОШИЕ программисты пишут (или писали) уже лет 6 на 1С и живут на юге страны.
Я для 1С никогда не писал. И не буду. Принципиально.
Здравствуйте, OnThink, Вы писали:
V>>Может это от того, что начинали они писать не на 1С а просто на С?
OT>Нет. таких несчастных я ещё не встречал. начинали все на бейсике в 90-е. OT>Просто так удобнее. OT>Помнится, школьный русский псевдоязык не воспринял никто.
Да действительно у меня классическое образование.
Но начанал я на ассемблере IBM370... еще в школе (1983г.).
После этого нашему классу с любым языком высокого уровня проблем не стало,
что FORTARN, что BASIC, что PASCAL, что C наконец — все равно понятно к чему
это сводится.
Поэтому когда прилось писать на 1С, то я просто применил все свои знания по назначению.
Более того. В 1988г. мне принесли RATFOR для PDP11... А поскольку на СМ-4 БОЛЬШИЕ русские
буквы совпадали по кодировке с строчными английскими, то я сразу свой проект для FORTAN-77
сдалал на русском. Заказчик ахнул, когда исходный текст увидел: НЕ МОЖЕТ БЫТЬ!
Поэтому наличие русских индентификаторов для меня лично не проблема.
Что касается C#, то пока я такой возможностью еще не пользовался.
Пока не нужно было.
Здравствуйте, <Аноним>, Вы писали: А>>Кто знал, что С# допускает русскием имена А>>классов, переменных , функций и тд? А>>И кто использовал в реальных проектах? А>Ещё вб6 их допускал. Никогда не использовал, контролшифт сломается.
В бытность мою инженером лаборатории студенты за названия переменных и т.п. на русском изгонялись с позором. Лично.
Здравствуйте, OnThink, Вы писали:
AB>>Я видел программы, написанные на Access с использованием русских букв. Зрелище еще то. И потом мой опыт показывает, что использование английского языка в наименованиях методов и свойств делает их более короткими, чем если то же самое было написано на русском языке. А английский язык в той или иной степени должен знать любой программист, а иначе он может программировать только на 1С Best regards, AB>>Andrey Barashkin
OT>Самое смешное, что те, кого можно назвать хорошими программистами 1С, пишут ИМХО в английской нотации.
Я пишу в данный монмент на 1С 7.7, перехожу плавно на 8.0.
Раньше писал на Дельфи 1-7, Паскаль, АСМ, чуть-чуть С++.
Сечас в качестве самообразования пишу еще и на C#.
Так вот, в C# желания использовать русские имена нет (пока нет). А при переходе на 1С, я сперва как истинный программист, типа "да 1С = отстой", начал руагать ее, предложил написать все на Дельфи (благо в ней не только контролы на формочки кидать умею), меня послали со словами "мальчик, учи 1С".
Выучил и начал прогать на ней. И ты не поверишь насколько удобно писать все идентификаторы переменных/функций по-русски. Все поля справочников по-русски. Мне заказчики платят не за то что язык там рус/англ исполльзуется, а за работу программы, и за скорость ее разработки. Когда я пишу по русски всякие бухгалтерские/расчетные_ЗП заморочки, мне не надо думать как это написать па английски, а писать вместо "Количество" слово "Kolvo" — это не серьезно.
Так что не надо кричать что писать по-русски плохо — это очень удобно. А как писать IF или ЕСЛИ мне все равно, т.к. это не отменя зависит, по мне хоть закорючку рисуй.
ЗЫ. Английский я то знаю, но зачем тратить свое время на перевод слов. Думаю я то по-русски как и ты наверно.
Здравствуйте, DenisCh, Вы писали:
DC>Здравствуйте, OnThink, Вы писали:
OT>>Самое смешное, что те, кого можно назвать хорошими программистами 1С, пишут ИМХО в английской нотации.
DC>Самое смешное, что это не совсем правда. Из всех 1сников, которых я знаю (а знаю немало), английские буквы использую только я. И то иногда...
А у меня даже знакомых таких нет, которые на английском бы кодили
А>Кто знал, что С# допускает русскием имена А>классов, переменных , функций и тд?
А>И кто использовал в реальных проектах?
Народ. А у меня будет немного другой вопрос. Кто знаек как сделать синонимы методов.
Т.е.:
public class MyObject
{
[Synonimable("Загрузить")]
void Load();
}
что-то вот такое. Т.е. изначально весь исходник рисуется на английском, но можно делать "дубликаты" методов с локализованными именами.
Кто знал , что С# допускает русские имена?
От:
Аноним
Дата:
30.10.05 08:14
Оценка:
>Аноним, 27.10.05 20:06
Кто знал, что С# допускает русскием имена
классов, переменных , функций и тд?
И кто использовал в реальных проектах?
Всегда использовал и использую русский язык в идентификаторах, если это допускает язык и среда разработки. Для префиксов элементов оставляю трехбуквенный английский стандарт. Имена обычно многословные. Стремлюсь не набивать, а копировать — пока получается. В MS SQL использую также.
Но не перегибаю паку, и использую разумно — только для элементов прикладного уровня, мною разрабатываемых.
В C# всё работает прекрасно.
Все мои проекты, и "К вопросу построения защищенных ..." в том числе, написаны полностью в этом стиле.
Хотел бы тоже высказаться, немного может быть резко, но что поделаешь. В общем о том что настоящий профессиональный программист должен использовать переменные только на английском языке все это панты. И о том, что он должен знать чуть ли не в совершенстве английский язык это не серьезно. Настоящий профессиональный программист это тот человек, который может понять сущность проблемы и решить ее как можно быстрее. А уж там как он называет эти переменные это уже право выбора программиста, как ему удобно, так и называет. Это, как правило, на заказчика не влияет. А про то, что данный проект является командным то, на сколько я знаю обычно утверждается какое то соглашение для оформления кода. Но все таки чаще всего проекты пишутся под конкретные нужды предприятия и одним программистом.
И еще тут выше было сказано, что хороший программист 1С пишет с английским синтаксисом, так вот скажу как в большей части программист в 1С, а не в dotNET'е. Это не программисты это извращенцы, если только они не хотят что бы другие мене опытные программисты 1С у которых может быть доступ к исходным кодам модулей не могли разобраться в коде.
У меня достаточное количество хороших знакомых, которые являются программистами 1С, а также являются сертифицированными 1С Специалистами и сотрудниками франзайзи так вот они ни когда не используют английскую возможность написания кода в модулях.
Извиняюсь за некоторые резкие моменты и надеюсь, я ни кого не обидел некоторыми моментами.
Здравствуйте, Данил, Вы писали:
Д>Настоящий профессиональный программист это тот человек, который может понять сущность проблемы и решить ее как можно быстрее. А уж там как он называет эти переменные это уже право выбора программиста, как ему удобно, так и называет. Это, как правило, на заказчика не влияет. А про то, что данный проект является командным то, на сколько я знаю обычно утверждается какое то соглашение для оформления кода. Но все таки чаще всего проекты пишутся под конкретные нужды предприятия и одним программистом.
Категорически не соглашусь! Есть такое понятие, и _немаловажное_, как "программерское наследие". И насколько бы человек не "понимал сущности" и не "быстро решал", продуктом труда является код, а благодарность заказчика-начальства (за быстроту) — лишь результатом. Выполнять работу "абы как", лишь бы добиться результата — стремление недальновидного менеджера. Остальные должны иметь понятие о циклах разработки и представление о том, "что же мы дальше с этим делать будем".
Д>И еще тут выше было сказано, что хороший программист 1С пишет с английским синтаксисом, так вот скажу как в большей части программист в 1С, а не в dotNET'е. Это не программисты это извращенцы, если только они не хотят что бы другие мене опытные программисты 1С у которых может быть доступ к исходным кодам модулей не могли разобраться в коде.
Если "мене опытные программисты" настолько "менее" что не понимают ключевых слов на английском и не хотят развиваться до уровня "хороший программист 1С пишет с английским синтаксисом" то они сами себе враги.
Д>У меня достаточное количество хороших знакомых, которые являются программистами 1С, а также являются сертифицированными 1С Специалистами и сотрудниками франзайзи так вот они ни когда не используют английскую возможность написания кода в модулях.
А почему они так делают? Может быть им приходится так делать, потому что на чуть более опытных сотрудников нет возможности расчитывать?
Д>Извиняюсь за некоторые резкие моменты и надеюсь, я ни кого не обидел некоторыми моментами.
ИМХО, если за аргументами дело не стоит, то обида потеряет свою значимость на фоне обсуждения сути
Help will always be given at Hogwarts to those who ask for it.
Re: Кто знал , что С# допускает русские имена?
От:
Аноним
Дата:
30.10.05 12:39
Оценка:
Д>У меня достаточное количество хороших знакомых, которые являются программистами 1С, а также являются сертифицированными 1С Специалистами и сотрудниками франзайзи так вот они ни когда не используют английскую возможность написания кода в модулях. А почему они так делают? Может быть им приходится так делать, потому что на чуть более опытных сотрудников нет возможности расчитывать?
Да все потому что в 1С заведено использовать русскоязычный синтаксис, это намного проще писать (держать в голове русскоязычные методы, свойства и т.д. намного легче чем англоязычные). И к тому же это намного удобочитаемо и понятно для быстрого восприятия назначения блока кода. Приведу не большой пример. И программист не знающий синтаксиса 1С легко может понять что данный кусок кода пытается выполнить:
Русскоязычный пример
Функция ПоискКонтрагентаВСправочнике(Контрагент)
СпрК = СоздатьОбъект("Справочник.Контрагенты");
Если СпрК.НайтиЭлемент(Контрагент) = 1 Тогда
//Код
КонецЕсли
КонецФункции
а вот его аналог на английском, я думаю на первый взгляд мало понятен
Function InSearchCounteragentInReference(Counteragent)
RefC = CreateObject("Reference.Контрагенты");
If RefC.FindItem(Counteragent) = 1 Then
//Code
EndIf
EndFunction
Хочу заметить что данный небольшой кусок импровизированного кода заняло секунд 30, а перепись его в английскую транскрипцию да еще к тому же с человеческим переводом переменной и названием функции да еще к тому же пришлось заглянуть в Синтаксис Помощник в 1С, что бы не ошибиться в правильности написания английских синонимов у меня ушло минут 5 не меньше. Я думаю вывод сам собой напрашивается. Что в отношении 1С о якобы крутизне программирования должно быть на английском языке считаю пустословным. Да и к тому же русская транскрипция в 1С является основной и все стандартные конфигурации написаны на русском.
Прошу прощения что обсужение отклонилось от темы и плавно переходит на обсуждения 1С, где данный форум совершенно не предназначен для этого.
Здравствуйте, Данил, Вы писали:
Д>Да все потому что в 1С заведено использовать русскоязычный синтаксис, это намного проще писать (держать в голове русскоязычные методы, свойства и т.д. намного легче чем англоязычные).
Это не страшно. Если я не могу по памяти правильно набрать authentication и из-за этого назову класc рускоязычным аналогом, то мне за это. Я буду мучится, проверяясь по словарю либо выучу это слово, так как "универсальность" дороже простоты.
Д>И к тому же это намного удобочитаемо и понятно для быстрого восприятия назначения блока кода. Приведу не большой пример. И программист не знающий синтаксиса 1С легко может понять что данный кусок кода пытается выполнить:
Д>Русскоязычный пример
Д>Функция ПоискКонтрагентаВСправочнике(Контрагент)
Д> СпрК = СоздатьОбъект("Справочник.Контрагенты");
Д> Если СпрК.НайтиЭлемент(Контрагент) = 1 Тогда
Д> //Код
Д> КонецЕсли
Д>КонецФункции
Д>а вот его аналог на английском, я думаю на первый взгляд мало понятен
Д>Function InSearchCounteragentInReference(Counteragent)
Д> RefC = CreateObject("Reference.Контрагенты");
Д> If RefC.FindItem(Counteragent) = 1 Then
Д> //Code
Д> EndIf
Д>EndFunction
Без коментариев. Инженер, человек претендующий на занятие интеллектуальным трудом, не должен пасовать перед словами, потому что иначе он — слаб. Нам не дано проникать в мысли других людей, всё что у нас есть для общения — язык. Чем он унаверсальнее, то есть чем большее количество людей смогут ознакомится с изложением мыслей, тем счастливее ты должен себя чувствовать. Это надо воспитывать, к этому надо приучать тех, кто ещё не знаком.
То, что Д>Хочу заметить что данный небольшой кусок импровизированного кода заняло секунд 30, а перепись его в английскую транскрипцию да еще к тому же с человеческим переводом переменной и названием функции да еще к тому же пришлось заглянуть в Синтаксис Помощник в 1С, что бы не ошибиться в правильности написания английских синонимов у меня ушло минут 5 не меньше.
говорит только о нежелании думать на другом языке, который не только программистами признаётся международным. Я английским пракчически не владею, но слово поиск у меня в мыслях уже сидит в виде Find или Search и так же с другими, часто встречающимися в работе идеомами, устоявшимися выражениями.
Д>Я думаю вывод сам собой напрашивается. Что в отношении 1С о якобы крутизне программирования должно быть на английском языке считаю пустословным. Да и к тому же русская транскрипция в 1С является основной и все стандартные конфигурации написаны на русском. Д>Прошу прощения что обсужение отклонилось от темы и плавно переходит на обсуждения 1С, где данный форум совершенно не предназначен для этого.
Если бы речь шла именно об 1С я бы и не спорил — не работал с ним и не знаю, как общаются между собой спецы с этой области. Но если 1с-программер берётся за не 1С-приложение и называет всё что привык по-русски — А он уже может считать сябя "крутым" и наотрез отказываться переучиваться по другому называть методы\поля\переменные. Тем самым он неимоверно сужает область преминения своих навыков и стремиться к этому, считать что так и должно быть — очень плохо.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Кто знал , что С# допускает русские имена?
От:
Аноним
Дата:
30.10.05 13:42
Оценка:
говорит только о нежелании думать на другом языке, который не только программистами признаётся международным
Немного хотел бы Вам возразить. К чему разработчику являющимся сотрудником не иностранной фирмы как Вы сказали "думать на другом языке"?
Что касаемо Find или Search это был самый примитивный пример, я не стал приводить более сложно запоменаемые методы.
Но если 1с-программер берётся за не 1С-приложение и называет всё что привык по-русски...
Полностью с Вами согласен, что писать русские переменные/методы/поля и т.д. как то не серъезно, где основные операторы английские, но и это не каким официальным источником не запрещено.
И еще, конечно же я могу ручаться только за себя что в других языках отличных от 1С я ни когда не применял русских переменных да и думаю что не буду. Есдинственное что меня немного возмутило так это сообщение о том что "Самое смешное, что те, кого можно назвать хорошими программистами 1С, пишут ИМХО в английской нотации.". Кто сказал, как говориться не будем показывать пальцами.