Имя: Пароль:
LIFE
Как страшно жить
OFF: почему 1С не совсем С/С++
0 anatoly
 
05.09.14
12:02
крик души собственно...
давно бесит что нет привычных +=, ++ и т.д. хотя есть ?
сегодня выяснил (раньше как то не думал) что нет арифметических побитных операций AND/OR/XOR
а я так привык с десяток boolean "упаковать" в один int...
ну да, конечно "расово правильный" 1Сник создаст 10 реквизитов БУЛЕВО но я то когда то еще на асме писал...
все таки это недоязык ((
103 NikVars
 
05.09.14
15:03
(99) В холодной?! Хм... А в заморозке?!
104 _fvadim
 
05.09.14
15:03
(100) + не жирно две версии вк пилить под разные платформы?
105 dmpl
 
05.09.14
15:04
(95) А чо, массив создать не судьба?
106 NikVars
 
05.09.14
15:05
(102) Не наезжай на 1С, а то тут тебя и 2-мя см отчпокают.
107 anatoly
 
05.09.14
15:06
(105) дело привычки ))
(106) да наезжаешь то тут пока только ты. я хоть раз писал что "1Сники тупые"? уже бухаешь за пятницу чтоли?
108 fmrlex
 
05.09.14
15:06
(104) Ну захочешь трешку в Бутово и не так раскорячишься...
109 andreymongol82
 
05.09.14
15:07
(104) Напили их на кроссплатформенной штуке ))). И ваще маршруты, да раскрои в самой 1С-ке. И так памяти выжирает. Да ну, да ну...
110 andreymongol82
 
05.09.14
15:07
(107) Привычки они бывают вредными.
111 _fvadim
 
05.09.14
15:09
(109) например?
разработчикам внешних компонентов рекомендуется создавать комплект из четырех файлов: для ОС Windows 32 разряда, ОС Windows 64 разряда, ОС Linux 32 разряда, ОС Linux 64 разряда
112 dmpl
 
05.09.14
15:09
(107) А если создать структуру, и выбрать нормальные названия для ключей - то вообще будет самоописывающийся код. А с запихнутым в int значением через полгода придется мучительно вспоминать что какой бит значит. А уж менять структуру - так вообще то еще удовольствие.
113 dmpl
 
05.09.14
15:09
+(112) структуру полей int.
114 dmpl
 
05.09.14
15:11
(109) Т.е. в 1С. Плюс в том, что будет работать во всех платформах, поддерживаемых 1С.
115 anatoly
 
05.09.14
15:11
(108) ты путаешь причину и следствие ))
(112) дык у меня все закоменчено. активно увлекаться этим начал кстати только при переходе на 1С ))
116 dmpl
 
05.09.14
15:14
(115) Вот еще и коменты читать придется, вместо того чтобы окинуть взглядом элементы структуры - и все понять :)
117 andreymongol82
 
05.09.14
15:14
(111) Счас хвалят/ругают QT и .NET, питоны и явы всякие. Но не подскажу, на все это уже забил и забыл )))
118 _fvadim
 
05.09.14
15:15
(117) читаю "в вопросе не шарю"
119 andreymongol82
 
05.09.14
15:15
(114) Так там побитовых операций же нет. Ужас-ужас-ужас!
120 andreymongol82
 
05.09.14
15:18
(118) А я и не претендовал на знание, а просто слухи передавал.
И опять же, поиск оптимального маршрута - что-то не припомню, чтобы там была нужны именно побитовые сравнения. Остальные логические операции либо есть, либо быстро заменяются в 1С-ке
121 dmpl
 
05.09.14
15:18
(119) Для настоящего программиста нет такого слова как "нет" :) Все это реализуется. В 1С, например, функцией ПреобразоватьЦелоеВМассивБитов. Ну и прочие операции реализуются функциями ПобитовоеИ, ПобитовоеИЛИ, ПобитовоеИсключающееИЛИ :)
122 fmrlex
 
05.09.14
15:19
(115) Да причем тут ты.
ТЫ успешен аки Маня. Это мы тут ипотечники перманентные...
123 NikVars
 
05.09.14
15:20
(107) Да, написал. В самом заголовке темы, причем ты сам мучаешься, ох как мучаешься... Даже тему завел себя постегать.
124 Borometr
 
05.09.14
15:23
(0) но вот зачем ты сюда пришел? Мы и так знаем, что 1С гомно, зачем об этом постоянно напоминать и теребить душевные раны. (ушел плакать)
125 Тарантул
 
05.09.14
15:24
Как это говориться, будь мужиком пиши на ассемблере?
126 andreymongol82
 
05.09.14
15:25
(121) О да! Только чтобы это не вызывало рвотных спазмов у сишников и прочих программистов надо писать BitwiseАnd,
ConvertAnIntegerToAnArrayOfBits )))
127 dmpl
 
05.09.14
15:26
(125) Ассемблер - для детей. Мужики пишут сразу на машинном коде.
128 fmrlex
 
05.09.14
15:29
(127) Неее. Собирают свои процы.
http://www.kit-e.ru/articles/cpu/2003_8_106.php
129 Trotter
 
05.09.14
15:40
Мужики были мужиками когда дрова писали себе сами! )))
130 fmrlex
 
05.09.14
15:41
(129) Линукс так и рождался. Обрастал закоммиченными дровами.
131 anatoly
 
05.09.14
15:53
(123) то что ты заголовок темы так воспринимаешь - это наверное исключительно твои проблемы. а за меня решать не надо.

(124) ну извини пожалуйста...
а вообще годный вброс получился )) я и не ожидал что за 100+ сообщений перейдет...
132 NikVars
 
05.09.14
15:54
(128) Фигня какая-то... Стрелочки... Картинки...Где Си???? Если там нету += или ++, все это кака, ТС по другому не может. Да, булеан - обязательно. Ой, boolean!
133 Ksandr
 
05.09.14
15:58
А мне ruby нравится в части синтаксиса. Вот пример:

Код из БП КОРП 3.0 ПриЗаписи Справочника Организации:

    Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПодразделенияОрганизаций.Ссылка
   |ИЗ
   |    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
   |ГДЕ
   |    ПодразделенияОрганизаций.Владелец = &Организация";
   Запрос.УстановитьПараметр("Организация", Ссылка);
  
   Если Запрос.Выполнить().Выбрать().Количество() > 0 Тогда
       Возврат;
   КонецЕсли;
  
   Подразделение = Справочники.ПодразделенияОрганизаций.СоздатьЭлемент();
   Подразделение.Владелец = Ссылка;
   Подразделение.Наименование = "Основное подразделение";
   Подразделение.Записать();


Ruby-way:

Подразделения = Справочники.Подразделения.выбрать_где(:Владелец = Ссылка)
Справочники.Подразделения.Создать_и_заполнить(:Владелец = Ссылка, :Наименование = "Основное подразделение") Если Подразделения.НеЗаполнено?

в 9 раз меньше кода
134 Ksandr
 
05.09.14
15:58
а ваше это 8 булево в одном инт - практический пример приведите.
135 Separator
 
05.09.14
16:01
(133) Кодить по-русски: еретичество и кощунство!
136 _fvadim
 
05.09.14
16:01
(134) я приведу пример, где были нужны битовые операции и пришлось городить огород - это была система биллинга небольшого провайдера, в которой вёлся, в том числе, учёт выданных клиентам белых ip адресов.
137 Ksandr
 
05.09.14
16:03
(135) Представляешь, какого всем англоговорящим кодить на английском
138 anatoly
 
05.09.14
16:05
(132) эк тебя зацепило то... может ты просто сам комплексуешь по поводу того что сам 1Сник и больше ничего не знаешь?...

(133) а мне всякие руби и прочие питоны/смоллтоки не нравятся. не знаю почему. просто не нравятся.

(134) пример реализации или применения? если второе - то в (95)
139 Ksandr
 
05.09.14
16:07
(138) Применения.
Я применял это, но только для программирования МК (STM32), там это очень актуально
140 Ksandr
 
05.09.14
16:08
Смоллтолк - жесть.
[ОбщегоНазначенияКлиентСервер СообщитьПользователюТекст: ТекстСообщения Путь: ПутьКданным Ключ: КлючДанных Поле: Поле Отказ: Отказ]
141 _fvadim
 
05.09.14
16:09
(138) булевские реквизиты в инт - поперёк идеологии 1с. ни запросом не обработать, ни отбором. надуманное решение несуществующей проблемы.
142 Ksandr
 
05.09.14
16:09
Это я еще процедуру/функцию не объявлял :)
143 anatoly
 
05.09.14
16:13
(141) а их не надо обрабатывать. вот вы все считаете что самые умные а не читаете для чего я это хотел использовать:
(85) короче, поясняю, мне надо в сохраняемые настройки запихать 15 флагов, создавать 15 реквизитов булево считаю неоптимальным. уже сделал строкой. код вполне читаемый и понятный.

это тоже самое как один тут создавал справочник со 128+ реквизитов...
144 _fvadim
 
05.09.14
16:17
(143) да, про настройки я пропустил.
мне кажется такая оптимальность не самая оптимальная :)
145 Ksandr
 
05.09.14
16:18
С использованием ООП ты можешь для этого легко определить геттер и сеттер и все будет красиво, а тут костыли из модуля менеджера или общего модуля городить будешь, ну и в запросе не обработаешь
146 dmpl
 
05.09.14
16:24
(141) И никто что-то не пожаловался на отсутствие аналога switch/case в 1C ;)
147 Ksandr
 
05.09.14
16:28
(146) Приведи как в (133) в чем будет выгода.
148 dmpl
 
05.09.14
16:31
(143) Посмотри на документ РеестрСведенийВФССОПособияхПоНетрудоспособности :)

(147) Не будет нагромождений ИначеЕсли и множественного повторения условий.
149 NikVars
 
05.09.14
16:32
(145) Только замучаешься отлаживать код. С нуля писать да ООП - нормуль, а если вносить изменения - жесть - тестинга больше, чем программирования. Или потом лови допрелизы. Яркий пример - развитие платформы 8, которая пишется на крутом языке программирования где есть и ++ и += и ООП, но что-то не того...
150 dmpl
 
05.09.14
16:32
+(148) Ну или хотя бы ТабельУчетаРабочегоВремениОрганизации ;)
151 Тарантул
 
05.09.14
16:33
(143)так вся заварушка из за 15 реквизитов?
152 Тарантул
 
05.09.14
16:33
(143)Боже, какой мужчина...)
153 NikVars
 
05.09.14
16:35
(151) Походу еще меньше. В теме их 10.
154 anatoly
 
05.09.14
16:43
(146) кстати да, упустил )) может просто русские мнемоники не придумали?
(151) (152) женщине не понять внутренний мир и идеологию человека который с 8го класса пишет на асме ))
когда "mov ax,0" считалось мегагуанокодом ))
(153) "с десяток" != 10 если что...

п.с. вспомнил свою любимую команду... LDIR (ED B0)
155 NikVars
 
05.09.14
16:46
(154) Все это фигня! Главное - чтобы баланс сходился, отчетность вовремя передавалась, регулярно зарплата и вовремя с работы уходить.
156 Крошка Ру
 
05.09.14
16:48
(143) >> создавать 15 реквизитов булево считаю неоптимальным

проаргументируй, если сможешь
157 dmpl
 
05.09.14
16:49
(154) Чу! Чую духом Z80 потянуло...
158 Separator
 
05.09.14
16:50
(137) То-то они индусов для этого нанимают!
159 NikVars
 
05.09.14
16:53
Все снова и снова находятся персоны откапывающие мертвячину, вытаскивают ее наружу и прилюдно с ней сношаются с умилением и восторгом.
160 Йохохо
 
05.09.14
16:54
(143) тебе уже намекали, что сделай теперь отбор по флагу
161 Крошка Ру
 
05.09.14
16:54
(154)>>когда "mov ax,0" считалось мегагуанокодом

У вменяемых людей, которые за такими кодерами разгребали гуанозавалы, именно "xor ax,ax" считалось индусским кодом, а "mov ax,0" - как раз норм.
162 Зойч
 
05.09.14
16:57
положи в строку "0001010100101010100"
163 dmpl
 
05.09.14
16:57
(159) Если это про Z80, то он живее всех живых.
164 dmpl
 
05.09.14
16:58
(161) На современных процессорах XOR займет блок ALU, а MOV - только блок загрузки, а на ALU в это время сможет выполняться другая инструкция.
165 NikVars
 
05.09.14
16:58
(163) Даешь бухучет для Z80!
166 anatoly
 
05.09.14
16:59
(155) кстати никогда не понимал прогов которые уходят ровно по звонку. это значит что они просто последние 5-10-15 минут тупо ждали этого звонка. нельзя же на половине строки выключить комп и уйти. сам почти всегда немного задерживаюсь.
(156) да хоть бы лень руками эти реквизиты вбивать. потом их еще прогалкать в "сохраняемых настройках". тем более все равно для них писать код по установке по каждому кнопки. а так все сразу. и вообще это в крови ))
(159) изыди уже.
(160) я уже не раз писал - в данном конкретном случае отборы и т.д. никогда не потребуются. вроде же очевидно.
(161) впервые слышу. больше тактов, больше байт кода - это вменяемо? мы про 90е годы говорим?
167 Йохохо
 
05.09.14
17:05
(166) есть ПВХ. У других твои Сред() точно вызовут тошноту и мат
168 anatoly
 
05.09.14
17:06
(164) не уверен, задержка будет из за конвейера. хотя за счет него все равно 4/5 команд одновременно выполняются, если в "хорошей" последовательности.
169 anatoly
 
05.09.14
17:07
(167) зачем ПВХ то городить из за такой ерунды???
170 Зойч
 
05.09.14
17:16
(166) Просто за полчаса до звонка уже все сделано, а новое начинать уже влом
171 anatoly
 
05.09.14
17:20
(170) ну у меня такое редко бывает. но если так - то да, можно даже пораньше уйти.
кстати я ушел.
172 Зойч
 
05.09.14
17:22
(171) значит ты просто медленно работаешь/долго соображаешь
173 ivanovnm
 
05.09.14
17:24
(0) Напиши свою 1С++, с XOR и +=
174 rsv
 
05.09.14
17:30
(0)  зачем в 1с тогда перешли ?  больше платят ?
175 rsv
 
05.09.14
17:35
+(174) ну а насчет 10 реквизитов булево - не забываем штаааа вы работаете с базой данных и проектируете структуру.
176 gr0ck
 
05.09.14
17:40
Надо думать головой и пнимать что микроскоп и молоток разные вещи, подходят для определенных целей. Ну и не нравится не юзай
177 Зойч
 
05.09.14
17:45
(175) кстати 1с в версии 77 активно использовало int и xor в качестве полей в бд
178 Zamestas
 
05.09.14
17:47
(0) См. (173) - пиши свою компоненту и реализуй побитовые команды с блекджеком и ...
179 dmpl
 
05.09.14
18:25
(166) Дык последние 15 минут отводятся на наведение порядка на рабочем месте.
180 NikVars
 
05.09.14
19:54
(175) Да любой тупой сишник любую базульку от 1С легко преобразует в пару содержательных байт невероятно мудрой и компактной структуры, котрая будет летать и радовать сишника простой, булевостью и потенциальной возможностью прострелить себе ногу.
181 _Demos_
 
05.09.14
19:58
1C g.a.v.n.o
182 AS_DANCE
 
05.09.14
21:25
с такими мыслями Вам на хабр надо )
Там считают 1С программистов недопрограммистами и недоайтишниками )))
183 Garykom
 
гуру
05.09.14
21:35
(180) угу только вот насколько легко будет после такого преобразования в этих "пару байт" разобраться?

внести туда изменения?

и еще чтоб оно работало после обновления типового ))
184 Garykom
 
гуру
05.09.14
21:38
(182) эээ а что 1С программист не может знать других языков?

и самое интересное как можно иметь о чем то мнение не основанное на знании предмета?

т.е. любой хай от прога НЕ ЗНАЮЩЕГО 1С, неважно какие у него скиллы в других языках для меня как собачий лай

ну нельзя хаять не разбираясь...
185 spectre1978
 
05.09.14
21:49
(0) нужно просто понять, что работа делается не для эстетизма, а для того чтобы быстрее, проще и лучше решить текущую задачу. И с этой точки зрения регистров накопления гораздо важнее, чем наличие унарных плюсплюсов. Для каждой задачи - свой инструмент.
186 spectre1978
 
05.09.14
21:50
пропустил слово "наличие" после "зрения"
187 Pasha
 
05.09.14
22:13
(1) +100500
А меня во всех языках бесит, что слова на нерусском языке... I'm patriot :)
188 Garykom
 
гуру
05.09.14
22:17
(187) "Язык программирования Барсик для компьютера Ириша"?
189 VladZ
 
06.09.14
09:53
(165) Звучит так же бредово, как и "Бухучет для Интел".
(143) "создавать 15 реквизитов булево считаю неоптимальным". Ага... А потом понадобится тебе запросом получить данные по одному из флагов и будешь опять "голову греть". А потом, до кучи, понадобится сделать еще пару флагов. В общем, критерий оптимальности у тебя спорный.
190 VladZ
 
06.09.14
09:54
По поводу убогости языка программирования 1С.  Язык решает свой круг задач. Хотите извращений - занимайтесь ими в других местах.
191 brznzglwgn
 
06.09.14
10:32
Тема поднималась миллион раз и в каждой найдется -

Умник, который писал на асме и сейчас у него бомбит о былых временах
Иронизирующий шутничек, который напишет что 1С гвнау, но при этом он то мега профи
Продвинутый, который напишет свой пример как было бы удобно на "тут язык, который он сейчас изучает"
И еще много людей, которые будут всерьез обсуждать нытье автора

смысл..?
192 mikeone
 
06.09.14
11:46
(187) А то, что во всех языках программирования слова на нечеловеческом языке тебя не бесит?
193 LinuxOrg
 
06.09.14
11:59
(0) - ты в курсе, что jshint по умолчанию ругается на ++, -- ?
194 Фокусник
 
06.09.14
12:12
(16)"А одинэсник недопрограммист ))"
Скорее программист+ ;)
195 viraboy
 
06.09.14
12:17
(0) а я так привык с десяток boolean "упаковать" в один int...
В современных языках этот подход все равно, что через ж гланды вытаскивать. Сопровождать такой код оч. сложно.
Про инкремент и ! солгасен
196 dmpl
 
06.09.14
12:18
(184) Вообще, так называемые "программисты", которые определяют "программистов" по используемому ими языку ничего кроме улыбки у настоящего программиста вызвать не могут. Ибо для настоящего программиста без разницы, на каком языке будет написана программа. Это все мелочи. Язык программирования лишь инструмент, и как любой инструмент он для каждой задачи может быть разный.

Некоторые программисты вообще не пишут ни одной строчки реального кода, но создают такой алгоритм реализации задачи, что любой быдлокодер с хабра при его реализации не сможет накосячить.
197 Torquader
 
06.09.14
22:18
И в чём проблема в 1С запихать несколько Boolean в один integer ?
Что касается булевых операций, то их можно реализовать через арифметические - я, например, md5-алгоритм на 1С писал (точнее писал транслятор, который переводит алгоритм на один из заданных языков).
Всё можно сделать - только вот нужно ли ?
198 КонецЦикла
 
07.09.14
00:22
(191) ++
Если автор, имея 22 см в холодной воде, построил трешку без ипотеки, то куда, спрашивается, подевался азарт? Уже должен быть гараж и в нем феррари!
199 Гобсек
 
07.09.14
09:35
Я вот сейчас перекидываю одну небольшую программу с  досовской проги, написанной Clipper, в 1С 8. И вот обнаружил, что отчет, который в Clipper-приложении занимал 1000 строк кода, в 1С 8 занимает 100 строк. А ведь когда-то этот самый Clipper считался офигительно продвинутым средством разработки БД.
200 Бешеная Нога
 
07.09.14
09:45
200
201 Garykom
 
гуру
07.09.14
10:04
(199) дык то ли еще будет, пока что ИТ весьма динамично развивается в отличие от других областей

можно даже сказать что единственное что развивается а не топчется на месте ((
202 DimVad
 
07.09.14
10:51
(199) Это правда. Только проги на Clipper на компах с 1 мегабайтом оперативки работали быстрее, чем сегодняшняя "восьмёрка" на "хрен-знает-как-навороченном современном компе". И что интересно - делали в принципе тоже самое (БУ, УУ...) ;-)