Контекстная подсказка

Баламут

Well-known member
27.07.2005
76
0
#1
Жизнь заставила изучить 1С. В первый же день столкнулся с такой неприятностью. Когда пишу на русском, то контекстная подсказка работает. На английском - нет. Можно ли это исправить?
1С v8.1
 
L
#2
Баламут английский в 1С это примерно как надпись г...м на заборе. Вроде понятно, но все-равно как-то неприятно читать :)
Придерживайтесь русских имен операторов.

З.Ы. Извините за нелицеприятную аллегорию.
 

Баламут

Well-known member
27.07.2005
76
0
#3
Это кому как. После того, как я много лет писал на разных языках, стиль кодирования в 1С меня, мягко говоря, раздражает. Зарезервированные слова, написанные на английском, легче воспринимаются. Привычка, понимаешь ли...
 
I

Isabela

#4
перефразируя предыдущего оратора
русский в 1С (и вообще в любом удобоваримом языке программирования) это примерно как надпись г...м на заборе. Вроде понятно, но все-равно как-то неприятно читать :)

LSH, Вам очень нравятся монстры типа "ИначеЕсли", или "Для.. пока.. цикл" или "СуществуетФайл"?
Попробуйте написать по-русски команды Ассемблера типа "pop" или "push", сами над собой хохотать начнете...

IMHO, бездарные кальки с английского смешны и мешают воспринимать текст
 
L
#5
Начнем Холивар? :)

До 1С я 7 лет писал на Delphi и C++, до этого - на паскале, а еще до этого - на бейсике (БК0011, бобинник, матричный принтер...эх...ностальгия...)
В 1С я сразу начал изучать именно русские варианты операторов. Сперва также меня вырубали конструкции ИначеЕсли и тому подобные, но привык.
Всё-таки 1С - российская разработка и не используется более нигде, кроме как в СНГ, соответственно, 99,5% продуктов написано именно русским кодом.
В своей практике часто встречаю латинские операторы, и мне несколько некомфортно разбираться в таком коде.
Еще хуже - когда не только операторы, а еще и переменные пишутся на латинице. В моей практике был случай, когда я часа 3 провозился с плодом чьего-то воспаленного мозга - переменной "ОК". Как потом оказалось, буква "О" была русской, а буква "К" - латинской (или наоборот, я уже не помню).
Так, что от своих сотрудников я требую придерживаться некоторых канонов программирования, один из которых - все операторы и переменные должны быть русские. Так проще потом разбираться и им самим и тем, кто потом будет дописывать эту конфигурацию.

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

Добавлю...
Я ни разу не видел конфигурации, где бы объекты метаданных обзывались по-английски, так, что замучаетесь переключать раскладку :)
 
I

Isabela

#6
Reference - справочник
Document - документ
attribute - реквизит
дальше продолжать ?
LSH, с уважением отношусь к Вам за прошлые посты, но и меня поймите - я тридцать лет с большим гаком пишу на разных языках (1С для меня 13-я среда программирования) и мое мнение - лучше писать по-английски, а то так много наплодилось спецов, вытаскивающих кусок из синтакс-помощника, что их тексты, хоть и читаемы, но ... ффууу

А что касется перемешки латинского текста с кириллицей - абсолютно согласна, и даже приветствую тех разработчиков, которые пишут
for ъ = 1 TO... ДАЖЕ ЗАбОТЯСЬ о том, чтобы кто-то не перепутал регистр.
Но по поводу ЯЗЫКА - остаюсь при своем мнении
 
L
#7
Reference - справочник
Document - документ
attribute - реквизит
дальше продолжать ?
Нет, я имел ввиду Reference.Nomenklatura и т.п.

Представьте себе, что ту же ТиС писали бы пополам на английском и русском языках (включая не только операторы, а еще и переменные, идентификаторы метаданных, названия ячеек таблицы и пр.), просто потому, что одному разработчику нравится английский, а другому русский вариант. Что будет? Каша.
Доработать такую конфигурацию будет на порядок сложнее, чем сейчас. Я толкую именно об унифицированности разработки конфигураций, а не об удобстве после перехода с любого другого языка.

З.Ы. 30 лет?!! Уважаю! Вы истинный Oldschool-программист, помнящий, наверное, что такое перфокарты, и магнитные барабаны :)
А какой был первый язык?
 
I

Isabela

#8
первым был ЯСК (язык символического кодирования) для Минск-2. Смешно теперь вспоминать уже ? А ведь это был 1969 год...
И когда я увидела впервые магнитный барабан, я обалдела - это ж 64К информации (теперь смеемся все вместе)
А дальше, как наверное, у всех в те поры - Fortran, Algol, PL/1, Clipper, basik'и и assembler'ы всяческих поколений. потом Pascal, Delphi, C++, написание драйверов для INTEL 8087 под первые персоналки. Вот это школа была - сами оцените ! А потом уже и 1С - исключительно для заработка...
 

Баламут

Well-known member
27.07.2005
76
0
#9
Так все-таки, решаемо это как-то или нет? Или плюнуть на свой 15-летний опыт и учить эти дикие конструкции?

Кстати, убила конструкция из хэлпа:

Массив = Новый Массив(3), где Массив в левой части оператора присваивания - переменная, а в правой - тип. Афигеть! Чуть умом не тронулся, пока разгадал секрет.
 
L
#10
Баламут т.к. у нас тут Holly War, то я приведу еще один аргумент в пользу русского.
Когда я устроился работать на фирму-франчайзи, и только начал осваивать 1С, мне там строго наказали писать только на русском.
Как-то сломался мой комп, я писал на ноутбуке (дома), на котором не было русских буковок на клавишах. Писал английскими операторами. Потом пришлось переписывать по-русски, потому, что загнобили меня за это. :)
 
I

Isabela

#11
Есть ведь какая-то примочка, которая позволяет перевести с языка на язык операторы программы.
А руководители франчайзи, по сути, где-то правы - ведь кому-то, возможно, придется подхватить программу после ушедшего разработчика.
Я и переубеждать никого не собираюсь, но меня на русском писать не заставишь.
Вот один простой пример в мою пользу.
Как-то пришлось в оригинальную конфигурацию вставить ОГРОМНЫЙ (около 2000 строк) кусок кода, написанного десяток лет назад на Pascal'e.
Метод копирования средствами Windows и небольшая правка (замена end на enddo или endif и т.п.) - и задача решена за полчаса.
То же касается и внедрения процедур из системы DBASE-Clipper-FoxPro, например.

P.S. А все это от лени изучать языки.
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#12
Кхе-кхе... Позволю себе вмешаться! Обожаю всяческого рода Holly War (за исключением тех случаев, когда все заканчивается переходом на личности), посему предлагаю изменить название темы и закрепить ее.
А теперь позволю себе подлить масла в огонь... С 7.7 познакомился после С++. И достался мне релиз 004. Изначально тоже писал только на английском, но после того как день потратил на отладку, казалось бы, простого кода, получил стойкий иммунитет на использование англ. в 1С. Причина оказалась до банальности простой: в этом релизе была ошибка, связанная с неправильной интерпретацией 1С некоторых английских операторов. Позже удалось докопаться до истины: 1с транслирует программу с русского языка. Для английских операторов хранится таблица соответствий и сначала происходит "перевод", а потом трансляция. Как говорится, основная прелесть ООП состоит в том, что я могу не только писать ошибки, но и наследовать ошибки других программистов. Оно мне надо?
Ну и, справедливости ради, стоит заметить, что 1С - это не единственная и не первая попытка создать язык программирования с русскими операторами. Вам ли не знать, уважаемые гуру?
Isabela, мне кажется, что ваш пример ("Метод копирования средствами Windows и небольшая правка (замена end на enddo или endif и т.п.)") не совсем корректен. Ничто не мешало заменять "enddo" на "КонецЦикла" теми же средствами Windows.
 
I

Isabela

#13
Да я, собственно, никому своего мнения не навязываю. Но собственный консерватизм берегу и беречь буду. Vitfil прав, в ряде случаев в синтакс-помощнике содержатся неправильные переводы с языка на язык. Так, вместо Enable появляется readonly, практически никогда не срабатывает оператор CommitTransaсtion(). Все это не в пользу английского языка. Разумеется, если человеку удобнее писАть на русском, его бесполезно переучивать. Просто мне удобнее и привычнее английские конструкции.
А в дискуссию ввязалась, так как мне очень близка позиция Баламута
Зарезервированные слова, написанные на английском, легче воспринимаются. Привычка, понимаешь ли...
 
L
#14
Зарезервированные слова, написанные на английском, легче воспринимаются. Привычка, понимаешь ли...
Немножко дополню фразу...
Зарезервированные слова, написанные на английском, легче воспринимаются, когда ты привык к другому языку программирования.
Для всех же остальных, вроде меня, для кого 1С на сегодняшний день является практически единственной рабочей платформой (ну, не берем во внимание SQL, VBA и пр. сопутствующие языки), английский язык воспринимается гораздо хуже.

2 Баламут. Если касаться 1С в жизни вы собираетесь лишь третьим боком (то есть отчетик там подшаманить в рабочей базе, проводки поменять и прочее), и вы не собираетесь превращать программирование на 1С в основной вид деятельности - пишите на чем удобно. Если же собираетесь профессионально заняться программированием на платформе 1С, то приучайте себя к операторам на Великом и Могучем. :) Это моё ИМХО, как программиста с неплохим стажем, видевшем на своем веку немало кастом-конфигураций и понимающим, как нелегко бывает разбираться в коде, когда хоть какая-нибудь унифицированность отсутствует напрочь.
 
I

Isabela

#15
Да у меня и в 1С стаж уже десяток лет, и в тех случаях когда знаю, что, возможно, кто-то помимо меня будет ломать конфигурацию, или исправляю за кем-то, стараюсь не мешать будущим разработчикам, пишу по-русски и ОБЯЗАТЕЛЬНО оставляю за собой следы в виде комментариев.
А уж свои оригинальные разработки мне никто не запретит писать на том языке, который мне кажется удобным. :)
 
L
#16
Isabela, да Бог с вами!
Никто никого не принуждает, у нас же аргументированный спор. :)

А что касается нетленки, то тут хозяин - барин. Я же толкую в первую очередь о удобстве коллективной разработки.
 
I

Isabela

#17
Да и я, вроде, не особо настаивала на своем, так, наболевшее выплеснула