Имя: Пароль:
1C
1С v8
Вот зачем было 1с издеваться над русским языком своим оператором Новый?
,
0 Chai Nic
 
05.05.14
07:31
Прямо обидно. "Новый ОписаниеТипов", "Новый СообщениеПользователю". Тупая калька с сишного New, но ведь у англичан прилагательные не склоняются по родам! Так почему бы не сделать так, чтобы не ломать свой русский язык.. ведь этот оператор "Новый" по сути и означает то же самое, что и семерочное "СоздатьОбъект". То есть, четкая императивная конструкция... Зачем было менять глагол на прилагательное?

Еще вот "ЕСТЬ NULL" реально бесит..
3 Wobland
 
05.05.14
07:38
-    Мне хоть кто-нибудь объяснить, зачем вообще нужно правительство?
-    А зачем нужна травинка, колыхающаяся на ветру? Кваканье лягушки в предрассветной мгле? Казалось бы, не зачем, но ведь без них мир стал бы чуточку скучнее.
-    А, так это чтобы мы не скучали?! Ну, тогда понятно!
"Дети лейтенанта Шмидта" (Томск)
4 DarKySiK
 
05.05.14
07:38
(2) Заведи бложек.
5 Wobland
 
05.05.14
07:38
(2) не спрашивал, а получил. магия!
6 Фокусник
 
05.05.14
07:40
(0) Новый (объект)  что не так?
7 Chai Nic
 
05.05.14
07:42
(5) Мне данный совет практически бесполезен. Разбирать код типовых приходится чаще, чем писать что-то своё.
(6) Прилагательное в качестве глагола - нонсенс. Как объект может быть новым, если он еще не создан?)
8 skunk
 
05.05.14
07:43
(2)создатьобъект тоже вроде как из си
9 Рэйв
 
05.05.14
07:48
(7)>>Как объект может быть новым, если он еще не создан?)

А он ОЧЕНЬ новый.
А вообще тема - брюзжание ни о чем. В данном случае "кто первый встал , того и тапки". Кто писал платформу исходил из своего понятия логики, а не логики ТС.Только и всего.
10 skunk
 
05.05.14
07:48
напомнило

Автор трансляции употребил глагол, чтобы описать промах Даниэле Де Росси, не сумевшего забить метров с шести: "Какой промах де Росси! Как вообще итальянцы умудрились не выйти вперед? Харт отбил мяч в поле после подачи углового, но итальянский игрок ударом головой вернул его в штрафную. С этим мячом английская оборона должна была справиться без проблем и суеты, но защитники клевали носом, и мяч попал к де Росси, который развернулся и Kerzhakoved мимо ворот с шести метров! (who turned and Kerzhakoved a volley wide from six yards out!)". Весьма условно глагол можно перевести как "скержаковил".
11 jsmith82
 
05.05.14
07:49
Согласен с автором
12 jsmith82
 
05.05.14
07:49
Красота спасёт мир, а не утилитаризм и мещанство духа
13 skunk
 
05.05.14
07:55
собственно new(новый) это создается новый экземпляр класса определенного в программе, в отличии от createobject - которая не может непосредственно создавать экземпляры классов, если эти классы явно не определены как com-object
14 Chai Nic
 
05.05.14
07:56
Когда-то Страуструп ввёл этот оператор в свой язык C++, вдохновленный декларативными парадигмами соответствующих языков программирования (пролог, лисп, и т.п.). Но фактически декларативности не получилось.. Си плюсплюс стал просто "си с классами".
Но вот зачем было 1с заимствовать столь неудачное имя оператора - непонятно, тем более, в русскоязычной среде.
(13) В рамках 1с какая разница? Всё равно вы не можете определить свой класс в восьмерке, нет таких возможностей. Суть именно в названии оператора, прилагательноё здесь менее уместно, чем глагол.
15 Godofsin
 
05.05.14
07:57
Зато коротко
16 skunk
 
05.05.14
07:58
(14)но классы в ней определенны ... вот ты их создаешь, с помощью "Нового"
17 skunk
 
05.05.14
07:59
а создать объект служит для создания комов
18 zak555
 
05.05.14
08:01
(0) выдумщик (особо приближённый) плохо владеет русским языком
19 ДенисЧ
 
05.05.14
08:02
(0) Ты что, не выспался? Или похмелье?
20 skunk
 
05.05.14
08:02
и это в русском языке есть такое понятие как - транспозиция ...
21 Chai Nic
 
05.05.14
08:03
(16) "Новый" создает экземпляр объекта указанного класса, но свой класс определить мы не можем.
(17) При чем здесь ком? Вы хотите сказать, что если я пишу ТЗ=СоздатьОбъект("ТаблицаЗначений"), то я создаю Com-объект? Вот это вряд ли.. ком-объекты выглядят и создаются иначе.
22 ДенисЧ
 
05.05.14
08:04
(21) "свой класс определить мы не можем"
Сотый раз по кругу? Опять плач Ярославны по "Нет ООП в 1с!"?
23 Chai Nic
 
05.05.14
08:06
(22) Да нет и фиг бы с ним. Но зачем тогда щеголять "типа оопешным" оператором new?)
24 ДенисЧ
 
05.05.14
08:07
(23) Тебя это беспокоит?
25 skunk
 
05.05.14
08:07
(21)как они создаются?
26 Chai Nic
 
05.05.14
08:09
И касаемо "ЕСТЬ NULL" - раз уж переводить, почему бы не перевести полностью "ЕСТЬ НУЛЬ", сохранив исходную форму "IS NULL"..
(25) Вот и мне интересно. Откуда вы вообще про COM в семерке взяли?
27 skunk
 
05.05.14
08:10
(26)а где в семерке new?
28 Borometr
 
05.05.14
08:11
(26) разве НУЛЬ = NULL
29 Chai Nic
 
05.05.14
08:11
(27) Я о том, что для прикладника функциональность семерочного СоздатьОбъект() и восьмерочного Новый - эквивалентна. Как там оно внутри устроено - неважно.
30 skunk
 
05.05.14
08:21
(29)вот они разделили ... абы не путать ... потому как создатьобъект("таблицазначений") и создатьобъект("ворд.апликейшейн") это две разные сущности
31 dmpl
 
05.05.14
08:23
(0) Новый короче, чем СоздатьОбъект. new, конечно, вне конкуренции по длине, но требует переключения раскладки в 1С. И причем здесь русский язык? Это язык 1С, какие правила хочет - такие и устанавливает.
32 ASU_Diamond
 
05.05.14
08:26
(0) тебя кто-то заставляет? не нравится, не используй 1С.
33 Chai Nic
 
05.05.14
08:26
(30) Семантически было бы красивее, если бы конструктор был методом класса, а не оператором.
34 Маркусс
 
05.05.14
08:26
(0) ты не с юго-востока украины, товарищ?
35 dmpl
 
05.05.14
08:29
(21) А СоздатьОбъект() не создает объект, а тоже только создает экземпляр объекта указанного класса, т.е., делается не то, что описано. Вот в восьмерке это и исправили.
36 dmpl
 
05.05.14
08:30
(26) Народ с 0 будет путать.
37 Chai Nic
 
05.05.14
08:31
(35) Не вижу противоречия. СоздатьОбъект создает экземпляр объекта. Объект не может существовать без экземпляра. Объект без экземпляра - это класс.
38 Рэйв
 
05.05.14
08:35
(37)Объект без экземпляра - это тип:-)

Ну вы и в дебри залезли!
39 dmpl
 
05.05.14
08:37
(29) А чо, в семерке конструкторы были? Что-то я запамятовал... Кроме того, насколько я помню, экземпляры объектов, созданных через СоздатьОбъект() были покруче всех прочих экземпляров... в восьмерке такого нет - все равноправны.

Кстати, СоздатьОбъект() возвращает ссылку на объект, а Новый - сам объект ;)

(37) И чем тогда Новый (как сокращение от НовыйЭкземплярУказанногоТипа) хуже?
40 Рэйв
 
05.05.14
08:38
(39)>>СоздатьОбъект() возвращает ссылку на объект

Насколько я помню - фиг там! Ссылку еще найти надо
41 Chai Nic
 
05.05.14
08:42
(39) "Кстати, СоздатьОбъект() возвращает ссылку на объект, а Новый - сам объект ;)"
Весьма спорное утверждение) В обоих случаях в памяти создается объект, и в переменную передается ссылка на него. Разделяйте ссылку-переменную и ссылку на объект в базе - это разные понятия.

А самый красивый способ создания экземпляра объекта был бы такой, на мой взгляд:

ТабЗнач=МенеджерОбъектов.ТаблицаЗначений.СоздатьОбъект(<параметры конструктора>);
42 Адинэснег
 
05.05.14
08:46
твой "создатьобъект" - это низкопоклонство перед 1С, зачем ты восхваляешь их оригинальность в 7шном языке?
43 dmpl
 
05.05.14
08:47
(40)(41) Справку посмотрите ;) 1C говорит, что ссылку ;)
44 Адинэснег
 
05.05.14
08:47
А самый красивый способ создания экземпляра объекта был бы такой, на мой взгляд:

ТабЗнач=МенеджерОбъектов.ТаблицаЗначений.СоздатьОбъект(<параметры конструктора>);


у клюшечников свои представления о красоте...
45 ifso
 
05.05.14
08:47
Пока ПиплХавает Цикл
Попытка
  ЩасСпою()
Исключение
  ЩасТочноСпою()
КонецПопытки
КонецЦикла
46 dmpl
 
05.05.14
08:48
(41)

ТабЗнач=МенеджерОбъектов.ТаблицаЗначений.СоздатьОбъект(<параметры конструктора>);


Ужас-ужас! Это же сколько клавиши топтать, чтобы создать новый экземпляр!
47 dmpl
 
05.05.14
08:50
Вообще, в 1С очень не хватает возможности явного вызова деструкторов. Потому что сама она как Плюшкин - освобождает память крайне неохотно...
48 Rovan
 
гуру
05.05.14
08:51
(6) "Новый СообщениеПользователю", а по-русски правильнее
"Новое СообщениеПользователю"
49 Рэйв
 
05.05.14
08:52
(43)
Возвращает:
ссылку на созданный объект АГРЕГАТНОГО типа данных.
Это менеджер, говоря языком 8-ки
:-)
50 Rovan
 
гуру
05.05.14
08:52
(47) а можно пример... разве так не работает ?
ТЗ = Новый ТаблицаЗначений;
...
ТЗ = "";
51 Рэйв
 
05.05.14
08:53
(50)Уборщик мусора как обычно запаздывает:-)
52 Chai Nic
 
05.05.14
08:53
(46) А автокомплит на что?)
53 dmpl
 
05.05.14
08:59
(49) Но ведь не объект ;)

(50) Если не дай Бог где-нибудь осталась ссылка на нее (а создаются они направо и налево) - фиг вам, так и будет висеть в памяти до завершения работы.

(52) А зачем мусор разводить? Тем более что МенеджерОбъектов дольше писать, чем Новый.
54 Serg_1960
 
05.05.14
09:01
Новый, новая, новое... предлагаю внести в состав языка новые операторы - "Вежливый" и "Новенький". А чё? Актуально. Хм, с учетом вежливости - актуальненько.

PS: вам самим не смешно глупости городить - учитывать склонения по роду?
55 Borometr
 
05.05.14
09:03
Читаю ветку, такое ощущение что обсуждение происходит за бутылкой водки.
56 Chai Nic
 
05.05.14
09:03
(54) Можно было обойтись без склонения, заменив "императивное прилагательное" глаголом, об этом и была изначально тема)
57 ДенисЧ
 
05.05.14
09:05
(55) Водка в понедельник утром?
Не, ну не плохо, конечно... Но ведь ещё работать...
58 dmpl
 
05.05.14
09:09
(51) 1С - российский продукт. Поэтому и уборщик мусора чисто российский - действует по принципу "Весна придет - снег сам растает" :)
59 StanLee
 
05.05.14
09:14
надо чтото типа #define
#define Новый Новый(ая)(ое)(ую)
60 mdocs
 
05.05.14
09:14
Ну в принципе для студентов филологических факультетов могли бы забацать Новая,Новое как синонимы осовному.
61 spectre1978
 
05.05.14
09:15
(0) не вижу никаких проблем. До 1С дружил (и дружу) с Delphi, C++, поэтому считаю что в восьмерке все куда более естественно и логично чем в семерке. Отказ от велосипедов в пользу привычной, хоть и иностранной, нотации - полагаю правильным.
62 mdocs
 
05.05.14
09:16
С другой стороны - дай пльчик, откусят руку. Начнется вой что без пробелов писать не по-русски.
63 StanLee
 
05.05.14
09:16
кстати можно же писать несклоняемое аглицкое New, кто мешает
64 mdocs
 
05.05.14
09:17
Но вот ЕстьПусто зря не вводят, неудобно порграммить.
65 Chai Nic
 
05.05.14
09:18
(63) Раскладку переключать напряжно)
66 Рэйв
 
05.05.14
09:19
(64)Чем

НЕ ЗначениеЗаполненно(Значение)

не устраивает?
67 Рэйв
 
05.05.14
09:19
+а ссылки так вообще по Ссылка.Пустая() удобно проверять
68 DCKiller
 
05.05.14
09:20
(0) плюсую.
семерочное "СоздатьОбъект" намного круче.
69 StanLee
 
05.05.14
09:20
вот бы 1С разговорную речь понимала, типа "если пользователь нифига не набрал туда где вводятся товары, то не выпускать пользователя вот из этой фиговины и пищать и пищать"
70 Pasha
 
05.05.14
09:20
(0) Не нравится, вон из профессии :) Напиши свой язык..С блэкджеком и шл..х..ми
71 Pasha
 
05.05.14
09:22
Ой, ен по русски выразился.. С очком и бл..ми
72 mdocs
 
05.05.14
09:23
(66) Этого нет в запросах
73 dmpl
 
05.05.14
09:23
(66) А как NULL от Неопределено отличить? ;) Ну и опять же - ЕСТЬ NULL - в запросах, а там ЗначениеЗаполнено() нет. Вообще, если уж на что ворчать - так это на ЕСТЬ NULL и ЕСТЬNULL(). Пишутся почти одинаково, а смысл разный.
74 StanLee
 
05.05.14
09:25
ну null и неопределено 1С если бы поднапряглась то не плодила бы, а оставила бы только например Неопределено, подменить null на неопределено в запросах в самой платформе это вроде не такая уж сложная задача
75 Рэйв
 
05.05.14
09:25
(73)>>А как NULL от Неопределено отличить? ;)

Да очень просто:-)

NULL - это вообще ничего, пустое поле,
а Неопределено - это что-то под что зарезервирована памя, то еще ничем не инициализированное.
76 Рэйв
 
05.05.14
09:26
*то=но
77 StanLee
 
05.05.14
09:26
(75) угу, null это отсутствующая ячейка в таблице типо :)
78 dmpl
 
05.05.14
09:26
(75) Дык с помощью ЗначениеЗаполнено() надо ;)
79 Рэйв
 
05.05.14
09:27
(77)ну..это отсутствия значения вообще впринципе.
А там где неопределено - значение еще может появиться, просто его пока нет:-)
80 Serg_1960
 
05.05.14
09:28
Вспомнил Clipper, возможность самостоятельно прописывать произвольные языковые конструкции, его транслятор и компилятор... Эх... :)
81 mdocs
 
05.05.14
09:28
(75) Да ну на, я ж ячейке с Null обратиться могу, Также как к переменной с типом Неопределено. Особых отличий не вижу.
82 Рэйв
 
05.05.14
09:29
(81)А ты попробуй в ячейку с NULL что-то записать. Имхо - пошлет лесом.
А в Неопределено - запросто
83 mdocs
 
05.05.14
09:32
(82) В выборку вообще сложно что-то записать)). Я не против отдельного Null, я не понимаю почему нет синонима Пусто или похожего.
84 Рэйв
 
05.05.14
09:33
(83)Так легли звезды!:-)
85 dmpl
 
05.05.14
09:35
Вообще, все пожелания реализуемы. Вот, например, СоздатьОбъект();


Функция СоздатьОбъект(ИмяОбъекта) Экспорт
    
    НовыйОбъект = Неопределено;
    Выполнить("НовыйОбъект = Новый " + ИмяОбъекта + ";");
    Возврат НовыйОбъект;
    
КонецФункции


И смысл ныть?
86 Поpyчик-4
 
05.05.14
09:39
(85) Не потакай клюшечникам. Иначе будут всюду совать эту поиппень.
87 Chai Nic
 
05.05.14
09:42
(85) Прикольно, но речь в общем не о написании нетленок, а в целом о стандарте де-факто..
88 orefkov
 
05.05.14
09:46
(0)
Поддерживаю! И даже больше - еще совершенно безграмотно пишут "Ложь", а по правилам русского языка - "Клади"!
89 orefkov
 
05.05.14
09:51
+(88)
Еще пишут слитно Неопределено, КонецЕсли.
А "Для Каждого Строка Из" - не режет слух?
Зачем к языку программирования подходить с мерками разговорного языка? Глупо, имхо.
90 NcSteel
 
05.05.14
09:53
нытье неудачников детектет.
91 Светлый Гений
 
05.05.14
09:54
(2) "ихние" нет такого слова
92 Chai Nic
 
05.05.14
09:57
(89) Да это понятно. Но вот такой факт - на английском это звучит вполне литературно. Означает ли это, что русский язык не предназначен для написания алгоритмов, или это вопрос нотации, и можно разработать ЯП, который будет органично вписан в российскую грамматику?
93 Chai Nic
 
05.05.14
09:58
(91) Есть.
"В строгой деловой, научной и публицистической речи уместно употреблять нейтральную литературную форму их. В устной же речи зарегистрированы отступления от строгой литературной нормы. Практически употребляются оба варианта, причем ихний придает речи сниженную, просторечно-разговорную окраску. " (с)gramota.ru
94 Светлый Гений
 
05.05.14
10:03
(93)ну а чего ты тогда пристал к языку программирования, который не является ни деловой, ни научной, ни публицистической, ни разговорной речью? Это просто набор инструкций.
95 ilyavorobyev
 
05.05.14
10:05
(0) СоздатьОбъект слишком долго писать Новый короче
96 ДенисЧ
 
05.05.14
10:06
(91) Как это? Ихние есть, а слова нет?
97 КонецЦикла
 
05.05.14
10:08
(68) +1
В девятке справят...
98 ilyavorobyev
 
05.05.14
10:09
И кстати мне больше режет слух когда пишу Для Каждого Элемент Из Таблицы Цикл, тут тоже Элемента писать?
99 Chai Nic
 
05.05.14
10:12
(98) "Для КаждогоЭлемента Строка ИзОбъекта Таблица" - как-то так)
100 ДенисЧ
 
05.05.14
10:13
cnj
101 orefkov
 
05.05.14
10:18
(92)
Да ни хрена там не звучит литературно и на английском:

РУЧКА рПапка = СоздатьПапка(ПапкаПуть, ОБЩЕЕ_ЧТЕНИЕ, ДЕЛИТЬ_РЕЖИМ_НЕТ, НОЛЬ, СОЗДАТЬ_ВСЕГДА, НОЛЬ, НОЛЬ);

Не заморачивайся фигней.
102 Jokerman
 
05.05.14
10:27
Накройняк в шаблоны загнать ...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший