Использование 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<#)
Re: Использование UNICOD-а для названия объектов
От: vsb Казахстан  
Дата: 07.08.10 09:26
Оценка:
Здравствуйте, arabo_xv, Вы писали:

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


Если бы я делал свой компилятор своего языка, он бы не принимал любой исходник с символами с кодом больше 127, просто потому что я не могу придумать реального случая, когда это может быть необходимо, и это облегчает написание лексера. Сам тоже никогда не пишу что-либо, отличное от ASCII в файлах с исходным кодом. И в тех проектах, на кодстайл которых я могу влиять, русских названий переменных не будет никогда.
Re[2]: Использование UNICOD-а для названия объектов
От: Skynin Украина skynin.blogspot.com
Дата: 07.08.10 09:45
Оценка: +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>По-моему прекрасно, если на своём месте:

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

Вот это как раз и есть кошмар и ужас.
Я не один год писал на 1С, и да, вполне было БЫ нормально:

класс ЭлементУчета
публичный толькочтение целое ИнвентарныйНомер;

и т.д.

А вот такая мешаниана — это суржик, трасянка от программиста.
Не требуется знаний английского чтобы открыть перевод слова в Lingvo, или воспользоваться гугл переводчиком (кстати в GTalk есть бот, бесплатно вместо Lingvo и использования браузера)

Для меня такой код (встречал даже в 1Сном! У нее все ключевые слова и методы имеют англоязычные эквиваленты. Видать там обратная ситуация мальчик 1Сник хочет показать глубокие знания английского и вместо Если пишет If) признак:
Лентяя, неряшливого, безвкусного программиста.
Да еще к тому же не учитывающего вынужденные переключения клавиатуры им, И другими что будут править такой код (даже если и им нравится такая мешанина)

LCR>Разумеется любую идею можно довести до абсурда:

Абсурд и передергивание — приводить в пример перевод документации MSDN.

Документация — это не программный код, а текст на человеческом, НЕСТРОГОМ языке. И вот тут да, поверхностных знаний иностранного языка недостаточно чтобы быстро и адекватно читать документации.

Более правильная была бы аналогия — а язык мат символов может тоже не нужно учить? Или добавить в него кириллицы, а устаревшие греческие буквы повыкидывать?
Re[3]: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.08.10 10:26
Оценка: 3 (2) +1
Skynin,

LCR>>По-моему прекрасно, если на своём месте:

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

S>Вот это как раз и есть кошмар и ужас.
S>Я не один год писал на 1С, и да, вполне было БЫ ...
S>А вот такая мешаниана — это суржик, трасянка от программиста.

S>Не требуется знаний английского чтобы открыть перевод слова в Lingvo, или воспользоваться гугл переводчиком (кстати в GTalk есть бот, бесплатно вместо Lingvo и использования браузера)


Совершенно, абсолютно пофиг, как изящно, легко и быстро можно находить перевод. Какой смысл в словаре, если мы имеем дело не с текстом на английском языке?

Что такое идентификатор? Это символ. Этот символ специфичен для программы, у него уникальный смысл и назначение. Он также связан с терминологией предметной области. Если в предметной области сложилась устоявшаяся терминология, то идентификаторы будут повторять термины из предметной области или использовать те или иные комбинации их. И мне совершенно непонятно, с какого бодуна нужно выдумывать англоязычную терминологию — доморощенного уродца, который не будет непонятен никому. Это раз.

Два. Символ переводить не нужно. Его бессмысленно переводить. Его нужно понять. Даже если (о чудо!) ты нашёл перевод, то этот перевод совсем не означает, что ты узнал его смысл. Примеры? Ой, да пожалуйста:
foldr/foldl, mapM, liftM, returnA, qsort

или может бум переводить ключевые слова, скажем class, type, volatile, а?

Чем поможет перевод, если сложность совсем в другом месте?

S>Да еще к тому же не учитывающего вынужденные переключения клавиатуры им, И другими что будут править такой код (даже если и им нравится такая мешанина)

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

LCR>>Разумеется любую идею можно довести до абсурда:

S>Абсурд и передергивание — приводить в пример перевод документации MSDN.
S>Документация — это не программный код, а текст на человеческом, НЕСТРОГОМ языке. И вот тут да, поверхностных знаний иностранного языка недостаточно чтобы быстро и адекватно читать документации.

Хорошо, среди чорно-белых клякс вдруг обнаружилось серое пятно. Хороший знак!

S>Более правильная была бы аналогия — а язык мат символов может тоже не нужно учить? Или добавить в него кириллицы, а устаревшие греческие буквы повыкидывать?


Интересно, как из моих слов следует то, что язык математических символов не нужно учить?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[5]: Использование UNICOD-а для названия объектов
От: SpaceConscience  
Дата: 07.08.10 10:42
Оценка: 1 (1)
_>При прочих равных доступность документации на родном для человека языке есть преимущество. Иначе документация была бы только на английском. Посмотрите хотя бы на то что MSDN перевели на несколько языков. Это не по прихоти было, а по комерческой необходимости.

Сомневаюсь. Разноязычный MSDN — это скорее социальный проект, чем коммерческая необходимость. Во-первых, MSDN на русском — это практически шуточная вещь, поскольку она по большей части представляет собой слегка поправленный машинный перевод, и в некоторых местах вызывает недоумение и смех. Во-вторых, в большинстве своем для программистской терминологии просто нет адекватного и общепринятого русского перевода. Посмотрите на язык, которым общаются между собой программисты — он почти наполовину состоит из транскрипции английских терминов. В-третьих, все API все равно на английском, и вам все равно надо знать английский, чтобы понимать названия классов и методов, и к тому же русский перевод терминов из MSDN надо как-то сопоставлять с идентификаторами на английском языке, что все только усложняет.

Я как-то пробовал писать документацию к проекту на русском языке, но быстро плюнул на это дело, так как через слово приходилось мучительно искать или придумывать русский перевод английских терминов, а для точности все равно приходилось указывать англоязычные термины в скобках, чтобы читающий мог сопоставить русскоязычные термины в документации с англоязычными идентификаторами в программе.
Собрался ставить минус? Да сам иди в жопу!

































































.
Re[4]: Использование UNICOD-а для названия объектов
От: vsb Казахстан  
Дата: 07.08.10 10:45
Оценка: 2 (1)
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Что такое идентификатор? Это символ. Этот символ специфичен для программы, у него уникальный смысл и назначение. Он также связан с терминологией предметной области. Если в предметной области сложилась устоявшаяся терминология, то идентификаторы будут повторять термины из предметной области или использовать те или иные комбинации их. И мне совершенно непонятно, с какого бодуна нужно выдумывать англоязычную терминологию — доморощенного уродца, который не будет непонятен никому. Это раз.


Почему он будет непонятен никому? InventoryNumber не менее понятен, чем ИнвентарныйНомер, и для программиста выглядит в 100 раз привычнее. Я не видел ни одного нормального программиста, который не мог бы читать и писать на английском.
Re[2]: Использование UNICOD-а для названия объектов
От: Temoto  
Дата: 07.08.10 10:52
Оценка:
_>>Использование русских названий это ересь. Пальцы надо ломать за такое.

vsb>Если бы я делал свой компилятор своего языка, он бы не принимал любой исходник с символами с кодом больше 127, просто потому что я не могу придумать реального случая, когда это может быть необходимо, и это облегчает написание лексера. Сам тоже никогда не пишу что-либо, отличное от ASCII в файлах с исходным кодом. И в тех проектах, на кодстайл которых я могу влиять, русских названий переменных не будет никогда.


То есть, чтобы написать программу, которая выводит Привет, Мир! по-русски, в вашем языке нужно было бы применять base64 или \uxxxx ещё какое-нибудь экзотическое кодирование, вместо print "Привет, Мир!", да?
Re[4]: Использование UNICOD-а для названия объектов
От: Skynin Украина skynin.blogspot.com
Дата: 07.08.10 11:28
Оценка: -2
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Совершенно, абсолютно пофиг, как изящно, легко и быстро можно находить перевод. Какой смысл в словаре, если мы имеем дело не с текстом на английском языке?

Мы имеем дело с текстом на языке программирования.

LCR>И мне совершенно непонятно, с какого бодуна нужно выдумывать англоязычную терминологию — доморощенного уродца, который не будет непонятен никому. Это раз.

А ее не нужно выдумывать. Она уже есть.
Второе уже сказал, из личного опыта — как раз к такому стилю, или — SkladRoznichniy — и стремятся — доморощенные полуграмотные уродцы.

LCR>Два. Символ переводить не нужно. Его бессмысленно переводить. Его нужно понять. Даже если (о чудо!) ты нашёл перевод, то этот перевод совсем

LCR>Чем поможет перевод, если сложность совсем в другом месте?
А чем поможет эта мешанина?
Еще раз — я писал на 1С не один год. и могу заверить НИЧЕМ особо русские названия не помогают. Что Склад что WareHouse — мало что говорят.
Поэтому и не вижу смысла в таком суржике.

LCR>или может бум переводить ключевые слова, скажем class, type, volatile, а?

Ну Вы же собрались. Вот и переводите.

LCR>Поставь переключение на CapsLock, глядишь, может небо станет чуть-чуть более голубым...

А может лучше тебе пальцы таки отбить, чтобы ни мне, никому другому не маяться с дополнительным переключением, ради кода от такого гениального программиста?

LCR>Хорошо, среди чорно-белых клякс вдруг обнаружилось серое пятно. Хороший знак!

Никакой это не знак.
Будет не так как ты хочешь, а как заведено в той фирме где ты программируешь.

Пусть тим лид, или старший программист и решает, годится такой стиль или нет.
У франчей 1С за if — ругают сильно.
Re[3]: Использование UNICOD-а для названия объектов
От: vsb Казахстан  
Дата: 07.08.10 12:03
Оценка:
Здравствуйте, Temoto, Вы писали:

T>То есть, чтобы написать программу, которая выводит Привет, Мир! по-русски, в вашем языке нужно было бы применять base64 или \uxxxx ещё какое-нибудь экзотическое кодирование, вместо print "Привет, Мир!", да?


Я Привет Мир не пишу, я пишу Hello World. А в реальных приложениях, которые надо локализовывать, я использую внешние источники (например .properties файлы в Java), которые, зачастую, пишутся (или правятся) не мной, а переводчиками.
Re[5]: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.08.10 12:31
Оценка:
vsb,

LCR>>Что такое идентификатор? Это символ. Этот символ специфичен для программы, у него уникальный смысл и назначение. Он также связан с терминологией предметной области. Если в предметной области сложилась устоявшаяся терминология, то идентификаторы будут повторять термины из предметной области или использовать те или иные комбинации их. И мне совершенно непонятно, с какого бодуна нужно выдумывать англоязычную терминологию — доморощенного уродца, который не будет непонятен никому. Это раз.


vsb>Почему он будет непонятен никому? InventoryNumber не менее понятен, чем ИнвентарныйНомер, и для программиста выглядит в 100 раз привычнее. Я не видел ни одного нормального программиста, который не мог бы читать и писать на английском.


Ну ладно, ИнвентарныйНомер ты перевёл лихо, вроде бы точно (хотя я не спец по англоязычной складской терминологии). Однако есть и более интересные и витиеватые случаи, как Разнарядка, СчётФактура, КвартальнаяСмета, АвансВСчётЗаработнойПлаты, СтоковаяПартия, ОсновныеОбъекты (это не те объекты, что в ООП) и тому подобные.

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

Короче, зачем всё это делать, если можно этого не делать?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[4]: Использование UNICOD-а для названия объектов
От: Temoto  
Дата: 07.08.10 12:39
Оценка:
T>>То есть, чтобы написать программу, которая выводит Привет, Мир! по-русски, в вашем языке нужно было бы применять base64 или \uxxxx ещё какое-нибудь экзотическое кодирование, вместо print "Привет, Мир!", да?

vsb>Я Привет Мир не пишу, я пишу Hello World. А в реальных приложениях, которые надо локализовывать, я использую внешние источники (например .properties файлы в Java), которые, зачастую, пишутся (или правятся) не мной, а переводчиками.


Вопрос был не про то, как вы пишете на Java. Вопрос был про то как вы предлагаете в этом языке писать строковые литералы с юникодом.
Re[6]: Использование UNICOD-а для названия объектов
От: ___Avatar___  
Дата: 07.08.10 12:44
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Как гарантировать, что при переводе на английский, а потом обратно сопровождающим программистом не будет потерян драгоценный смысл?

LCR>Вместе с исходниками поставлять словарь.txt?

комментировать код
Re[5]: Использование UNICOD-а для названия объектов
От: vsb Казахстан  
Дата: 07.08.10 12:44
Оценка:
Здравствуйте, Temoto, Вы писали:

T>>>То есть, чтобы написать программу, которая выводит Привет, Мир! по-русски, в вашем языке нужно было бы применять base64 или \uxxxx ещё какое-нибудь экзотическое кодирование, вместо print "Привет, Мир!", да?


vsb>>Я Привет Мир не пишу, я пишу Hello World. А в реальных приложениях, которые надо локализовывать, я использую внешние источники (например .properties файлы в Java), которые, зачастую, пишутся (или правятся) не мной, а переводчиками.


T>Вопрос был не про то, как вы пишете на Java. Вопрос был про то как вы предлагаете в этом языке писать строковые литералы с юникодом.


Да, примерно так, как вы написали в вашем посте. Это широко распространённая практика. По крайней мере не будет такого, что программа, скомпилированная не под нужной локалью, будет выдавать крякозябры.
Re[5]: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.08.10 12:55
Оценка:
Skynin,

LCR>>Совершенно, абсолютно пофиг, как изящно, легко и быстро можно находить перевод. Какой смысл в словаре, если мы имеем дело не с текстом на английском языке?

S>Мы имеем дело с текстом на языке программирования.
Именно!

LCR>>И мне совершенно непонятно, с какого бодуна нужно выдумывать англоязычную терминологию — доморощенного уродца, который не будет непонятен никому. Это раз.

S>А ее не нужно выдумывать. Она уже есть.
Если есть, и если её все знают и придерживаются — замечательно. Я говорю о случае, когда её нет, или её не все знают.

S>Второе уже сказал, из личного опыта — как раз к такому стилю, или — SkladRoznichniy — и стремятся — доморощенные полуграмотные уродцы.


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

LCR>>Два. Символ переводить не нужно. Его бессмысленно переводить. Его нужно понять. Даже если (о чудо!) ты нашёл перевод, то этот перевод совсем

LCR>>Чем поможет перевод, если сложность совсем в другом месте?
S>А чем поможет эта мешанина?

Эта мешанина помогает тем, что символы содержит в непосредственном, непереваренном виде. И, открою тебе тайну, программы часто состоят из разных типов текстовых данных, прикинь! Комментарии в программе тоже создают мешанину, а у некоторых ещё какую! Макросы C/C++ тоже вперемешку с кодом, у-у-у какая мешанина. А ключевые слова-то как перемешаны, просто жуть. То public, то void, то class, просто рябит в глазах.

LCR>>Поставь переключение на CapsLock, глядишь, может небо станет чуть-чуть более голубым...

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

LCR>>Хорошо, среди чорно-белых клякс вдруг обнаружилось серое пятно. Хороший знак!

S>Никакой это не знак.
S>Будет не так как ты хочешь, а как заведено в той фирме где ты программируешь.
S>Пусть тим лид, или старший программист и решает, годится такой стиль или нет.

Правильно. Потому я и сказал, что "прекрасно, если на своём месте".

S>У франчей 1С за if — ругают сильно.

Ну да, получается как со своим уставом в чужой монастырь.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[7]: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.08.10 12:56
Оценка:
___Avatar___,

LCR>>Вместе с исходниками поставлять словарь.txt?

___>комментировать код

Самый лучший комментарий — его отсутствие.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Использование UNICOD-а для названия объектов
От: Skynin Украина skynin.blogspot.com
Дата: 07.08.10 14:59
Оценка: :)
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Вот именно, лучше СкладРозничный, чем транслит. Проблема переключения на другую кодировку надуманная — ты же как-то умудрился переключиться

Ничем он не лучше и не хуже. Сущность предметной области как хошь в виде переменной назови, если человек не знает предметной области — то ему это название ничего не расскажет. А если знает — то абы хоть как-то было связанным с ней, а не названия типа w8st2q

LCR>Эта мешанина помогает тем, что символы содержит в непосредственном, непереваренном виде. И, открою тебе тайну, программы часто ...

Ух ты ё! Какое открытие мне на 20ом году программирования преподнес!

LCR>А ты попробуй, попробуй. А то хамить-то любой троль может (кстати, ты сегодня поел?), вполне возможно что с недельку помучаешься и потом понравится.

А ты попробуй, попробуй таки английский выучить. Глядишь и не придется писать идентификаторы на русском, потому что работать будешь на запад и естественно зарабатывать больше. С полгодика помучаешься, зато потом — ох понравится.

И заодно может другим перестанешь предлагать усложнять себе жизнь в качестве аргумента в дискуссии.

S>>Пусть тим лид, или старший программист и решает, годится такой стиль или нет.

LCR>Правильно. Потому я и сказал, что "прекрасно, если на своём месте".
Вот ему и нужно задавать этот вопрос, убеждать, либо — если ты сам тим-лид, решил, постановил и точка.
Re[4]: Использование UNICOD-а для названия объектов
От: fmiracle  
Дата: 09.08.10 07:26
Оценка: +1
Здравствуйте, Temoto, Вы писали:

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

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

Вообще-то, я так понимаю, его главным конкурентным преимуществом являются именно русские названия методов, когда разрабатывает COM-компоненты для использования в 1С. Что совершенно логично — ведь в 1С все программирование на русском, и там должно быть явно удобнее использовать сторонние компоненты с тоже русскими именами, чем с английскими.

А если уж методы на русском, то почему комментариям не быть тоже на русском — непонятно.

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

Да, наверное, было бы хорошо, если бы все програмисты у нас прекрасно умели писать на английском, но приходится жить с тем что есть. А есть то, что читать-то по-английски еще большинство неплохо умеют, а вот грамотно писать — значительно меньшее количество разработчиков могут.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[2]: Использование UNICOD-а для названия объектов
От: fmiracle  
Дата: 09.08.10 07:26
Оценка:
Здравствуйте, Smooky, Вы писали:

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


S>Покажите сие чудо пожалуйста? Мне просто интересно! Никогда не встречал!


Создай проект C# в VisualStudio, да назови метод на русском — увидишь
Но оно там неудобно и по мне так бессмыслено, поскольку ключевые слова остаются в латинице.

А вот 1С — так там и ключевые слова все тоже на русском и картина получается полная и цельная.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re: Использование UNICOD-а для названия объектов
От: fmiracle  
Дата: 09.08.10 07:26
Оценка:
Здравствуйте, arabo_xv, Вы писали:

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

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

Самая засада с использованием русского в названих — это возможность (в том числе случайная) смешения букв разных языков в одном идентификаторе. Вот четыре разных идентификатора:
code, сode, codе, сodе.


Читать программу где идет смесь языков (if (истина) then) по мне так тоже неудобно. Писать еще хуже — постоянные переключения раскладки. Если же ключевые слова тоже русские, то наоборот — правильнее делать все на русском, т.к. (если (true) то) тоже неудобно писать/читать. Хотя это может быть и оправдано какими-то другими преисуществами.


Однако, подход автора тоже инструмента неправильный. Он может делать инструмент без поддержки русского в названиях идентификаторов — это его право как автора. Ну потеряет какую-то часть пользователей, его проблемы. Но вот публично негативно отзываться о всех, кто пользуется данным функционалом — зачем?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[2]: Использование UNICOD-а для названия объектов
От: saturas  
Дата: 09.08.10 08:00
Оценка: +1
Здравствуйте, vsb, Вы писали:

vsb>Если бы я делал свой компилятор своего языка, он бы не принимал любой исходник с символами с кодом больше 127, просто потому что я не могу придумать реального случая, когда это


ну зачем вы так строго..
Вот выпала вам доля предположим написать прогу для технической инвентаризации (для заказчика российского).
Есть к примеру список объектов инвентаризации, которые вам пришлось классами определить. И для каждого иерархия наследования наследования и уникальное поведение.
-Мачтовый светофор
-Колодец ливневой канализации
-Забор из металлической сетки на деревянных столбах

Ну вот ищете пожалуйста тут на английском аналоги. Нет я не спорю, они есть или можно сделать перевод в лоб, но вам удобно будет с этим работать? А еще у вас на столе лежит гост, по которому заказчик работает. И согласно этому госту, вы поведение в программе закладываете. Всякие там коэффициенты считаете, вроде "Поправка к удельному весу в процентах".
Подумаете потом о двух программистах которые у заказчика сидят и придется им плагин написать иль баг поправить. Они эти мачтовые светофоры в лицо знают, вон на складе 15 штук лежит вчера завезли, а ваши TTrafficLight впервые видят.
Re[5]: Использование UNICOD-а для названия объектов
От: blackhearted Украина  
Дата: 09.08.10 08:51
Оценка:
Здравствуйте, arabo_xv, Вы писали:

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


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


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


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


_>При прочих равных доступность документации на родном для человека языке есть преимущество. Иначе документация была бы только на английском. Посмотрите хотя бы на то что MSDN перевели на несколько языков. Это не по прихоти было, а по комерческой необходимости.


Документация != комментарии в коде.
Естественно, что русским пользователям нужны русские документы. Но вот писать на русском комменты — это, ИМХО, перебор. В чём сложность их писать на английском? Знаний не хватает? как же тогда ребята документацию в интененте ищут?
Re[7]: Использование UNICOD-а для названия объектов
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 09.08.10 11:54
Оценка: :))) :))
Skynin,

S>А ты попробуй, попробуй таки английский выучить. Глядишь и не придется писать идентификаторы на русском, потому что работать будешь на запад и естественно зарабатывать больше. С полгодика помучаешься, зато потом — ох понравится.

S>И заодно может другим перестанешь предлагать усложнять себе жизнь в качестве аргумента в дискуссии.

Дружище, спасибо за столь искреннюю заботу о моём благосостоянии! Ты непостижимым для меня образом догадался (интернет-телепатия?), что я совершеннейший профан а английском, и от незнания английского я вынужден писать программы через Промт (слава его создателям) за сущие копейки. И мерзкий Запад никак не хочет, чтобы я работал на Него. Но теперь всё — со следующего понедельника начинаю изучение вышеназванного ин.яз-а методом погружения в 25-й кадр (я слышал это самый эффективный метод, созданный на основе последних разработок в области нанотехнологий).

Говоришь, через полгодика? Отлично, через полгодика Запад будет трепещать.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Использование UNICOD-а для названия объектов
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.08.10 04:01
Оценка: +2 -1
Здравствуйте, arabo_xv, Вы писали:

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

Давайте разделим зёрна от плевел. Вас интересует алфавит или язык?
Лично моё мнение таково: локальный язык ещё можно применять в программах (Provodka, Schet), а вот локальный алфавит — никогда.
Просто потому, что прочитать и различить знакомые буквы человек может, даже если они не собираются в слова. Если бы вы читали программу на кириллическом языке программирования, то идентификаторы типа "плэерынды", "полициясы" вы бы хоть как-то смогли различить. А вот если перед вами текст с использованием грузинского или тайского алфавита — всё, труба. Мозг не сможет это воспринять иначе как "ой, закорючки".

Вот именно так видят кириллицу все неславяне. А их на нашем рынке большинство. Подумайте о том, что в английском поговорка "это для меня китайская грамота" звучит как "it's Greece to me". Это грекам за то, что у них нелатинский алфавит — сам язык сложности не представляет.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Использование UNICOD-а для названия объектов
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 10.08.10 12:21
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Вот именно так видят кириллицу все неславяне. А их на нашем рынке большинство. Подумайте о том, что в английском поговорка "это для меня китайская грамота" звучит как "it's Greece to me". Это грекам за то, что у них нелатинский алфавит — сам язык сложности не представляет.

Зато как приятно писать на кирилице дажене представляешь. Это как поэму читать.
Вот оно премущество когда пишешь для себя и тебе подобных.
и солнце б утром не вставало, когда бы не было меня
Re[3]: Использование UNICOD-а для названия объектов
От: March_rabbit  
Дата: 10.08.10 13:26
Оценка: -1
Здравствуйте, arabo_xv, Вы писали:

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


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

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

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

религиозный запрет хорош тем, что его можно применять и без разжевывания причин.
Это как и негласный запрет на использование goto в С/плюсах. Кто-то знает, чем это грозит. Кому-то достаточно того, что огребет по ушам за применение. Но результат один — goto использовать не будут, от чего всем лучше.

Таких примеров можно привести много. Та же техника безопасности построена на простых правилах "ХХХ низя!" без толкования, почему и в каких случаях.

_>PS На постсоветском пространстве очень много програмистов используют русские названия объектов и более того не малое количество даже использует язык с русским синтаксисом.

ни разу не сталкивался.....
Re[2]: Использование UNICOD-а для названия объектов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.08.10 13:51
Оценка:
Здравствуйте, vsb, Вы писали:

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


Если бы ты сделал хотя бы один нормальный компилятор, то ты бы знал, что трудозатраты на лексер составляют 0.01% от общих даже если ты используешь готовый бекэнд. Подставить же в табличку переходов вместо кода символов вызов функции вообще не стоит выеденного яйца и поддерживается большинством современных генераторов лексеров.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[6]: Использование UNICOD-а для названия объектов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.08.10 13:51
Оценка:
Здравствуйте, vsb, Вы писали:

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


Так юникод надо использовать, на дворе 2010 год.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[2]: Использование UNICOD-а для названия объектов
От: igna Россия  
Дата: 11.08.10 14:26
Оценка:
Здравствуйте, Spiceman, Вы писали:

S>Просто я встречал немецкий код, который был написан латинскими буквами, но все имена по-немецки (буквы то похожи).


Что значит похожи, они просто те же. Немецкий язык и использует латинские буквы. Как русский язык использует кириллицу, а не "русские буквы" например. Поскольку кириллицу используют еще несколько языков.
Re: Использование UNICOD-а для названия объектов
От: bnk СССР http://unmanagedvisio.com/
Дата: 22.08.10 06:16
Оценка:
Здравствуйте, arabo_xv, Вы писали:

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

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

Комментарий на русском?
Если так, то написавший его, IMHO, лицемерный лентяй. И не его собачье дело учить других, как им надо работать.
Пиши в поддержку, если контора адекватная, русские буквы добавят, перца накажут.
Re: Использование UNICOD-а для названия объектов
От: microcod США www.tehnoromantik.net
Дата: 22.08.10 06:33
Оценка:
Здравствуйте, arabo_xv, Вы писали:

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

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

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



Сгенерированно студией, стандартный ToolStrip:

this.создатьToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("создатьToolStripButton.Image")));


Ну на английском лучше, потому что единообразие.
Программа — мысли спрессованные в код.
Re: Использование UNICOD-а для названия объектов
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.08.10 00:04
Оценка: +2
Здравствуйте, arabo_xv, Вы писали:

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


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


Конечно это не так плохо. Ломать пальцы это перебор. Вот железной линейкой по ним вдарить надо. Да со всей дури.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Использование UNICOD-а для названия объектов
От: adontz Грузия http://adontz.wordpress.com/
Дата: 27.08.10 01:07
Оценка:
Здравствуйте, IT, Вы писали:

IT>Таким программистам, которые пишут такие редакторы с такими ограничениями, надо отрезать что-нибудь не нужное, чтобы не размножались. Их дело писать качественные инструменты, если уж они за это взялись, а не учить людей жить таким дебильным способом. Мне даже представить сложно, что подобное ограничение появилось бы, например, в Решарпере.


В названиях классов, методов и свойств не могут использоваться не латинские буквы.


Вроде нигде не сказано что нелатинскими буквами вообще нельзя пользоваться. Причём тут редактор и решарпер?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Использование UNICOD-а для названия объектов
От: adontz Грузия http://adontz.wordpress.com/
Дата: 27.08.10 01:26
Оценка: 13 (2) +1
Здравствуйте, arabo_xv, Вы писали:

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

Компиляторы C#, Си++, других языков, многие SQL серверы поддерживают Юникод не только в строковых литералах, но и на уровне лексического анализатора. Я всё чаще слышу утверждения, что этой функциональность надо пользоваться. Хочу высказаться и привести свои аргументы, почему так поступать не следует.

  • Не всё что поддерживается является полезным или приемлемым. Оператор goto поддерживается, но этот факт не является аргументом в пользу использования goto. Так же и идентификаторы содержащие национальные символы не следует использовать только лишь потому что так можно делать.

  • Английский язык не ограничивает выразительные возможности. Терминология практически всегда однозначна и всегда общепринята.

    Более того, словообразование английского языка хорошо соответствует потребностям технических писателей. Например, существительные естественным образом выступают в роди прилагательных, а для любого действия можно задать активного и пассивного участника суффиксами er (or) и ee. Другие языки могут обладать менее обобщённой или менее однозначной системой словообразования.

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

    Существуют языки поддерживающие неанглийские ключевые слова, например, скрипт 1С. Однако, код с ключевыми словами на непривычном языке или, того хуже, разных языках, читается существенно медленнее. А код как известно читается гораздо чаще, чем пишется.

  • В продолжение предыдущего пункта, хочется так же упомянуть стандартную библиотеку. Класс унаследованный от стандартного в случае переопределения вынужденно будет содержать члены: методы или свойства, с английскими именами.

  • Обмен кодом с окружающими становится труднее. Например, код нельзя скопировать на популярнейший форум stackoverflow.com, где большинство участников не понимает языка кроме английского. Попытки переделать код в форме редактирования сообщения приведут, скорее всего, к синтаксическим ошибкам и ложно правильным ответам.

  • Зачастую, в неанглийском языке нет устоявшейся терминологии, либо она не имеет однозначного соответствия с английской. Например код
    Поток СоздатьПоток();
    может быть воспринят и как
    Thread CreateThread()
    и как
    Stream CreateStream();

    Кроме того, отдельную проблему создадут общепринятые сокращения. Как локализовать название ReadXml? ПрочитатьXml? А может ПрочитатьАЯР потому что eXtensible Markup Language это рАсширяемый Язык Разметки?

  • Грамматика неанглийских языков может быть существенно сложнее, что может вызвать проблемы при подборе имени. Например как правильнее: ПрочитатьАЯР или ПрочестьАЯР? Отдельная проблема это глаголы не имеющие будущего или прошедшего времени, существительные не имеющие единственного или множественного числа. В английском языке с его относительно простой грамматикой подобных проблем нет.

    Кроме того
    foreach (object in collection)
    за исключением скобок читается как обычное предложение. А вот о
    длякаждого (объект в коллекция)
    такого сказать нельзя.

  • Хотя конкретный компилятор может поддерживать нелатинские буквы и неанглийский язык, это не всегда можно сказать о среде разработки. Например, расширение Visual Studio GhostDoc автоматически генерирует документацию делая, вообще говоря вполне разумное, предположение, что имена методов это английский глагол за которым опционально следует английское существительное. Инструменты проверки качества, такие как FxCop и повышения производительности, такие как ReSharper и VisualAssist, содержат множество правил отвечающих за грамотность написания идентификаторов. Аналогичных инструментов для других языков может не быть.

    Резюме: пальцы ломать за идентификаторы не на английском.

  • Ну и комментарий заодно пропиарю

    Кстати в SQL Analysis Services эту проблему решают тем, что измерения и кубы имеют в себе translations — таким образом нет необходимости корёжить view/sql богомерзкими идентификаторами.


    Хочу отметить, что поддержка букв в понимании char.IsLetter была добавлена в тот же день. Зачем же лишать себя повода ломать пальцы?

    Такие дела, всем спасибо.

    P.S. Кстати, удивлён что не все со мной согласны. Я вас прокляну как-нибудь.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re: Использование UNICOD-а для названия объектов
    От: shks57  
    Дата: 28.08.10 10:55
    Оценка:
    Здравствуйте, arabo_xv, Вы писали:

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

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

    _>Ну, собственно хотелось бы услышать мнение сообщество. Так уж и плохо использовать русские названия для объектов?
    Re: Использование UNICOD-а для названия объектов
    От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
    Дата: 28.08.10 11:29
    Оценка:
    Думаю, при программировании математики, можно использовать греческие символы для локальных переменных, особенно если формула указана в комментариях. Во внешних интерфейсах должны быть не просто латинские буквы, а грамотный английский.
    Ce n'est que pour vous dire ce que je vous dis.
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.