Использование UNICOD-а для названия объектов
От: arabo_xv Грузия  
Дата: 05.08.10 08:34
Оценка: :)
Наверное, я не открою великую тайну, если скажу, что многие IDE поддерживают использование в названиях классов, методов и т.д. unicod символы. Я лично не раз работал с компонентами, где в именовании объектов использовался русский алфавит (COM объекты, веб сервисы). VS с лёгкостью всё переваривает и технических проблем не возникало.
Буквально пару дней назад тестировал программку (это такой редактор структуры классов и генератор C# кода на его основе) и столкнулся с ограничением от программиста:
В названиях классов, методов и свойств не могут использоваться не латинские буквы.
С таким комментарием:
Использование русских названий это ересь. Пальцы надо ломать за такое.

Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?
Re: Использование UNICOD-а для названия объектов
От: Pavel Dvorkin Россия  
Дата: 05.08.10 08:38
Оценка: 9 (1) +6 :)
Здравствуйте, arabo_xv, Вы писали:

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


Почему же, очень даже хорошо. Вот представляю себе — прислали мне проект, в части его есть идентификаторы с именами на хинди, а в части — на иврите. Благодать.
With best regards
Pavel Dvorkin
Re: Использование UNICOD-а для названия объектов
От: BlackEric http://black-eric.lj.ru
Дата: 05.08.10 08:53
Оценка: +1
Здравствуйте, arabo_xv, Вы писали:

_>Наверное, я не открою великую тайну, если скажу, что многие IDE поддерживают использование в названиях классов, методов и т.д. unicod символы. Я лично не раз работал с компонентами, где в именовании объектов использовался русский алфавит (COM объекты, веб сервисы). VS с лёгкостью всё переваривает и технических проблем не возникало.

_>Буквально пару дней назад тестировал программку (это такой редактор структуры классов и генератор C# кода на его основе) и столкнулся с ограничением от программиста:
_>В названиях классов, методов и свойств не могут использоваться не латинские буквы.
_>С таким комментарием:
_>Использование русских названий это ересь. Пальцы надо ломать за такое.

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


Меня в свое время очень прикалывали комментарии в коде на иврите.
Ну а если бы на нем были написаны идентификаторы, то вести проект для нас, русскоязычных, было бы скорее всего просто невозможно.
Поэтому если вы допускаете, что ваши сорцы будут смотреть люди у которых русский не родной, то использование языка отличного от английского ИМХО недопустимо.
https://github.com/BlackEric001
Re[2]: Использование UNICOD-а для названия объектов
От: arabo_xv Грузия  
Дата: 05.08.10 08:58
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Почему же, очень даже хорошо. Вот представляю себе — прислали мне проект, в части его есть идентификаторы с именами на хинди, а в части — на иврите. Благодать.


А почему его должны вам присылать? Значит мы сейчас с вами должны переписываться на английском, а вдруг кто зайдёт на форум и не поймёт что это я написал на русском.
Re[2]: Использование UNICOD-а для названия объектов
От: arabo_xv Грузия  
Дата: 05.08.10 09:04
Оценка: -4
Здравствуйте, BlackEric, Вы писали:

BE>Меня в свое время очень прикалывали комментарии в коде на иврите.

BE>Ну а если бы на нем были написаны идентификаторы, то вести проект для нас, русскоязычных, было бы скорее всего просто невозможно.
BE>Поэтому если вы допускаете, что ваши сорцы будут смотреть люди у которых русский не родной, то использование языка отличного от английского ИМХО недопустимо.

Давайте будем договоримся что програмист адекватный и не будет использовать язык который не понимают другие участники проекта. Но почему из религиозных соображений нужно делать запрет на это?

PS На постсоветском пространстве очень много програмистов используют русские названия объектов и более того не малое количество даже использует язык с русским синтаксисом.
Re[3]: Использование UNICOD-а для названия объектов
От: Pavel Dvorkin Россия  
Дата: 05.08.10 09:19
Оценка:
Здравствуйте, arabo_xv, Вы писали:

_>А почему его должны вам присылать?


Потому что сейчас многие проекты делаются командой, в которую входят представители разных стран. Потому что если этот проект сейчас и не делается индусами, им, возможно, придется когда-нибудь его поддерживать, а они плохо русский знают.

>Значит мы сейчас с вами должны переписываться на английском, а вдруг кто зайдёт на форум и не поймёт что это я написал на русском.


Здесь нет работы.
With best regards
Pavel Dvorkin
Re: Использование UNICOD-а для названия объектов
От: Spiceman  
Дата: 05.08.10 09:33
Оценка: 3 (1) +1
Здравствуйте, arabo_xv, Вы писали:

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


Использовать кириллицу или русские названия на латинице (транслит)?
Просто я встречал немецкий код, который был написан латинскими буквами, но все имена по-немецки (буквы то похожи). Я чуть по-немецки не загворил

Так, что даже, если не используете юникод и пишете латинскими буквами, это не избавит от проблем понимания. Может даже наоборот усложнить, так как придется сначала переводить с транслита на исходный язык, а потом с исходного на родной. Мне было бы проще, если бы тот немецкий код был написан в юникоде немецкими буквами. Тогда я хотя бы смог воспользоваться электронными переводчиками. А транслит переводчики почему-то не понимают.
Re: Использование UNICOD-а для названия объектов
От: Temoto  
Дата: 05.08.10 09:52
Оценка: 8 (3) +6
_>Наверное, я не открою великую тайну, если скажу, что многие IDE поддерживают использование в названиях классов, методов и т.д. unicod символы. Я лично не раз работал с компонентами, где в именовании объектов использовался русский алфавит (COM объекты, веб сервисы). VS с лёгкостью всё переваривает и технических проблем не возникало.
_>Буквально пару дней назад тестировал программку (это такой редактор структуры классов и генератор C# кода на его основе) и столкнулся с ограничением от программиста:
_>В названиях классов, методов и свойств не могут использоваться не латинские буквы.
_>С таким комментарием:
_>Использование русских названий это ересь. Пальцы надо ломать за такое.

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


IDE тут никаким боком. Алфавит идентификаторов это из синтаксиса языка. "Многие языки поддерживают Unicode идентификаторы".

Чем удобно "всё на английском", тем что не надо переключать раскладку при написании кода. 1С в этом плане шагнули ещё дальше и сделали все ключевые слова на русском. Вот там (и только там) использование кириллических идентификаторов оправдано. Но уже становится неудобно писать некоторые вещи на английском, например, идентификатор XML.

Допустим, что это внутренний проект и поддерживать его всегда будут только русскоговорящие люди. У многих проектов такой гарантии нет. Но допустим. Получается, что у использования не-латинских букв в идентификаторах в языках с латинскими ключевыми словами есть объективный недостаток — постоянное переключение раскладки, и, на мой взгляд, сомнительное преимущество — Служба кому-то понятнее, чем Service.

Есть ещё такой момент. Вот вы разрабатывали проект два года, именовали всё исконно по-русски и всем было удобно. Потом оказалось, что какая-то часть ну очень уж полезной оказалась, например, модуль для обращения к вашей системе заказов билетов. Его вынесли в отдельный компонент и начали раздавать или продавать другим компаниям. И в один прекрасный день вы получите письмо на корявом английском с вежливой просьбой "объяснить что вас это написать здесь". И у вас будет шикарный no-win выбор: 1) переименовать идентификаторы в английский язык, чтобы иностранные товарищи могли прочитать и вести паралельно две ветки проекта, баги фиксить на двух языках; 2) переименовать и заставить тех русских товарищей, которые уже пользуются вашим кодом при следующем обновлении переписать свой, теперь на английский язык; 3) отказать новым иностранным друзьям.

Потом, задумайтесь о причинах. Немало программистов хоть раз сталкивались с комментариями от индусов или китайцев на их родном языке. Может быть, они так писали потому что просто не знают английского, не было возможности или желания учить его. Но у вас, я так понимаю, другая ситуация. Вы можете выбирать, правильно?

Конечно, каждый проект своеобразен, но неизменно то, что такой синтаксический патриотизм увеличивает риски.
Re: Использование UNICOD-а для названия объектов
От: Skynin Украина skynin.blogspot.com
Дата: 05.08.10 10:12
Оценка:
Здравствуйте, arabo_xv, Вы писали:

_>Так уж и плохо использовать русские названия для объектов?

Если весь ЯП поддерживает русские буквы, то можно. Например как в встроенном языке 1С

А так как и операторы и методы стандартных библиотек придется писать на английском, то
разве не будет ломать глаза нечто вот такое:

if (МойСписок.get("Каталог базы") == GlobalParam.get("SystemPath"))

Мне доводилось работать с кодом от немца. Все было честный ASCII, только переменные вместо head обзывались kopf
Хорошо что я в школе и институте немецкий "учил", потому не пугало.

И испанские комментарии встретил как-то, причем исходники были не в UTF, но это терпимо, названия классов и переменных автор все же изобретал на английском языке.
Re: Использование UNICOD-а для названия объектов
От: ___Avatar___  
Дата: 05.08.10 10:58
Оценка: +1
Здравствуйте, arabo_xv, Вы писали:

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


уже обсуждалось как-то
1. во первых добавляет новый уровень сложности в восприятие кода
2. не дает его аутсорсить (вам понравятся переменные на урду, хинди или китайском?)
3. русский язык содержит более длинные слова чем английский и менее логичен по структуре
4. дает доступ к коду наиболее тупым 1С-никам, не знающим английского (теперь они могут прочесть что написано и даже попытаться внести правки )
5. кодинг — это сродни переводу с одного естественного языка на другой — поменяв "алфавит", вы фактически потребуете от людей выстроить в голове некий новый объем знаний, потому что все что было раньше основано на латинице
(аналогичное было проделано с татарским языком за последние 100 лет — были скачки с арабского алфавита на латиницу и кириллицу, а потом опять на латиницу и опять на кариллицу — не знаю на чем сейчас пишут образованные татары, но ни к чему хорошему для татарской культуры это не привело — были лишь созданы дополнительные разрывы между поколениями и литературными традициями)
Re: Использование UNICOD-а для названия объектов
От: Smooky Россия  
Дата: 05.08.10 11:28
Оценка: +3
Здравствуйте, arabo_xv, Вы писали:

_>С таким комментарием:

_>Использование русских названий это ересь. Пальцы надо ломать за такое.

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


Какой та клуб извращенцев!
Полностью согласен с комментарием! Не только пальцы, а еще много чего другого лопать за такое!
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: Использование UNICOD-а для названия объектов
От: Smooky Россия  
Дата: 05.08.10 11:31
Оценка:
Здравствуйте, arabo_xv, Вы писали:

_>Наверное, я не открою великую тайну, если скажу, что многие IDE поддерживают использование в названиях классов, методов и т.д. unicod символы. Я лично не раз работал с компонентами, где в именовании объектов использовался русский алфавит (COM объекты, веб сервисы). VS с лёгкостью всё переваривает и технических проблем не возникало.


Покажите сие чудо пожалуйста? Мне просто интересно! Никогда не встречал!
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[2]: Использование UNICOD-а для названия объектов
От: arabo_xv Грузия  
Дата: 05.08.10 11:35
Оценка:
Здравствуйте, Temoto, Вы писали:

T>IDE тут никаким боком. Алфавит идентификаторов это из синтаксиса языка. "Многие языки поддерживают Unicode идентификаторы".


T>Чем удобно "всё на английском", тем что не надо переключать раскладку при написании кода. 1С в этом плане шагнули ещё дальше и сделали все ключевые слова на русском. Вот там (и только там) использование кириллических идентификаторов оправдано. Но уже становится неудобно писать некоторые вещи на английском, например, идентификатор XML.


Да есть такое.
При написании COM компонент для 1С я использую русские названия методов и свойств. И комментарии также пишу по русски. Причина в том при прочих равных использование русского языка даёт комерческое приемущество и покупают у меня. Ну не все знают английский язык такова реальность.

T>Есть ещё такой момент. Вот вы разрабатывали проект два года, именовали всё исконно по-русски и всем было удобно. Потом оказалось, что какая-то часть ну очень уж полезной оказалась, например, модуль для обращения к вашей системе заказов билетов. Его вынесли в отдельный компонент и начали раздавать или продавать другим компаниям. И в один прекрасный день вы получите письмо на корявом английском с вежливой просьбой "объяснить что вас это написать здесь". И у вас будет шикарный no-win выбор: 1) переименовать идентификаторы в английский язык, чтобы иностранные товарищи могли прочитать и вести паралельно две ветки проекта, баги фиксить на двух языках; 2) переименовать и заставить тех русских товарищей, которые уже пользуются вашим кодом при следующем обновлении переписать свой, теперь на английский язык; 3) отказать новым иностранным друзьям.


Ещё раз напишу надеюсь опять не поставят минусы . Предпологается что програмист использует не английские названия не по прихоти, а в силу конкретного расчета.

T>Потом, задумайтесь о причинах. Немало программистов хоть раз сталкивались с комментариями от индусов или китайцев на их родном языке. Может быть, они так писали потому что просто не знают английского, не было возможности или желания учить его. Но у вас, я так понимаю, другая ситуация. Вы можете выбирать, правильно?


Английский, русский и ещё два других языка

T>Конечно, каждый проект своеобразен, но неизменно то, что такой синтаксический патриотизм увеличивает риски.


Хочу обратить внимание на то, что в моём случае в инструмент, которым должен пользоваться разработчик, был включен валидатор, который запрещал не латинские названия с обоснованием, что это никому и никогда не нужно, а если он говорит что нужно, то это ересь и пальцы надо ломать за такое.
Re[3]: Использование UNICOD-а для названия объектов
От: Temoto  
Дата: 05.08.10 11:54
Оценка:
_>Ещё раз напишу надеюсь опять не поставят минусы . Предпологается что програмист использует не английские названия не по прихоти, а в силу конкретного расчета.

А конкретный расчёт и обсуждать нечего. По крайней мере, это уже не "философия программирования".

Вот RSDN имеет один, русский интерфейс. И контент не переведён на другие языки. Плохо это? Да, плохо, миллионы людей не имеют доступа к, иногда всё-таки, ценной информации на этом форуме. Но есть конкретный расчёт на русскоязычных разработчиков. Уже как-то и не плохо сразу.

_>Хочу обратить внимание на то, что в моём случае в инструмент, которым должен пользоваться разработчик, был включен валидатор, который запрещал не латинские названия с обоснованием, что это никому и никогда не нужно, а если он говорит что нужно, то это ересь и пальцы надо ломать за такое.


Формально его валидатор некорректен.

Ищете сочувствия? Да, отстой. Вам тут работу надо работать, а он со своим валидатором жизни учит.

Ещё искренне сочувствую, что комментарии на русском языке это для вас конкурентное преимущество.
Re[2]: Использование UNICOD-а для названия объектов
От: Pavel Dvorkin Россия  
Дата: 05.08.10 11:58
Оценка:
Здравствуйте, Skynin, Вы писали:

S>Здравствуйте, arabo_xv, Вы писали:


_>>Так уж и плохо использовать русские названия для объектов?

S>Если весь ЯП поддерживает русские буквы, то можно. Например как в встроенном языке 1С

Я бы иначе сказал. Если весь язык программирования вместе со своей системой программирования не используется за пределами страны, то можно. Например как в встроенном языке 1С — вряд ли проект на нем когда-нибудь на аутсорсинг индусам отдадут
With best regards
Pavel Dvorkin
Re[3]: Использование UNICOD-а для названия объектов
От: 0x7be СССР  
Дата: 05.08.10 12:01
Оценка:
Здравствуйте, arabo_xv, Вы писали:

_>А почему его должны вам присылать? Значит мы сейчас с вами должны переписываться на английском, а вдруг кто зайдёт на форум и не поймёт что это я написал на русском.

Ну почти. Внутренняя переписка (например, в багтрекерах) часто ведется на английском.
Re[4]: Использование UNICOD-а для названия объектов
От: arabo_xv Грузия  
Дата: 05.08.10 12:37
Оценка:
Здравствуйте, Temoto, Вы писали:

T>Ищете сочувствия? Да, отстой. Вам тут работу надо работать, а он со своим валидатором жизни учит.


Хотел посмотреть какова позиция людей по данному вопросу. По большей части те кто говорил что надо латиницей писать ссылались на то что они не понимают хинди.

T>Ещё искренне сочувствую, что комментарии на русском языке это для вас конкурентное преимущество.


При прочих равных доступность документации на родном для человека языке есть преимущество. Иначе документация была бы только на английском. Посмотрите хотя бы на то что MSDN перевели на несколько языков. Это не по прихоти было, а по комерческой необходимости.
Re: Использование UNICOD-а для названия объектов
От: IT Россия linq2db.com
Дата: 05.08.10 19:21
Оценка: +5
Здравствуйте, arabo_xv, Вы писали:

_>Буквально пару дней назад тестировал программку (это такой редактор структуры классов и генератор C# кода на его основе) и столкнулся с ограничением от программиста:

_>В названиях классов, методов и свойств не могут использоваться не латинские буквы.
_>С таким комментарием:
_>Использование русских названий это ересь. Пальцы надо ломать за такое.
_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?

Таким программистам, которые пишут такие редакторы с такими ограничениями, надо отрезать что-нибудь не нужное, чтобы не размножались. Их дело писать качественные инструменты, если уж они за это взялись, а не учить людей жить таким дебильным способом. Мне даже представить сложно, что подобное ограничение появилось бы, например, в Решарпере.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Использование UNICOD-а для названия объектов
От: Anton Batenev Россия https://github.com/abbat
Дата: 07.08.10 06:19
Оценка:
Здравствуйте, arabo_xv, Вы писали:

a> Использование русских названий это ересь.


Воистину так, аминь!
avalon 1.0rc3 rev 349, zlib 1.2.3
Re: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.08.10 09:22
Оценка: 27 (3) :)
arabo_xv,

_>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?


По-моему прекрасно, если на своём месте:
class ЭлементУчета
{
      public int readonly ИнвентарныйНомер;
      public string readonly Наименование;
      public double РассчитатьАмортизацию(int летВЭксплуатации) { ... }
}


Разумеется любую идею можно довести до абсурда:
The Arabic Object-Oriented Programming Language Al-Risalh

Кстати, забавно, комментарии на арабском выглядят примерно так:
تمَّ بِحمد الله حلّ مشكلة الكتابة باللغة العربية في ملفات الـ //
public void Func(int x)
{...}

да-да, символы "//" оказываются справа
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.