Имя: Пароль:
1C
1С v8
Использование GoTo (Перейти): плохо или хорошо?
↓ (Волшебник 25.11.2024 13:09)
0 formista2000
 
14.11.24
12:59
Привет!
Среди вложенных условий и циклов уместно ли использовать оператор Перейти для выхода из этого леса? Или это дурной тон и надо переписывать алгоритмы и условия?
1 Волшебник
 
14.11.24
13:02
Можно.
2 Участковый
 
14.11.24
13:03
(0) А сам как думаешь?
3 Valdis2007
 
14.11.24
13:03
(0) если четко понимаешь зачем делаешь, то можно
4 Garykom
 
14.11.24
13:04
(0) если потребовалось применение безусловного перехода - значит пора решать проблему накопленного технического долга
5 Галахад
 
14.11.24
13:04
Есть же требования к цикломатической и когнитивной сложности.
6 formista2000
 
14.11.24
13:05
(2) (1) Просто я ни разу не использовал. Серьёзно. Но в этот раз чтобы не рефакторить чужой код я думаю это будет уместно. Всё бывает в первый раз. Надеюсь, это не зашквар.
7 formista2000
 
14.11.24
13:05
(4) Вот и у меня такие мысли.
8 Valdis2007
 
14.11.24
13:07
(4) если потребовалось применение безусловного перехода - значит пора...
пора уходить из программистов))
9 Garykom
 
14.11.24
13:08
лично я не помню когда последний раз применял goto
кроме bat/bash, это вероятно лет 30 назад
10 Garykom
 
14.11.24
13:08
(8) в некоторых ЯП иначе никак
11 Dotoshin
 
14.11.24
13:11
>>Но в этот раз чтобы не рефакторить чужой код я думаю это будет уместно.
Может все же лучше день потерять, потом за 5 минут долететь?
Наверняка ведь потом придется вернуться к этому коду и мучительно долго вспоминать, а зачем тут эта гота была...
12 craxx
 
14.11.24
13:15
(0) Моветон и неуважение к коллегам, которые будут читать потом код. По мне, приравнено к говнокоду.
13 formista2000
 
14.11.24
13:17
(11) (12) Да, я тоже так думаю. Надо переписывать норм чтобы было.
14 Волшебник
 
14.11.24
13:17
(12) фраза "Перейти ~" встречается в ИР (инструменты разработчика), так что имеет право на жизнь.
15 Valdis2007
 
14.11.24
13:18
(11) у клиента конвеер по сборке бутылок в ящики на производстве встал...а ты рефакторить день собрался....да такое себе))
16 Asmody
 
14.11.24
13:25
В ERP используется 24 раза. И все в одном месте: Отчет.РегламентированныйОтчетПрибыльИностраннойОрганизации
Судя по коду, что-то жутко возрастное.

Вообще, я думаю, что Перейти уместно в 2х случаях:
- когда нужно почистить ресурсы после Исключения (как имитация finally или defer)
- когда вы реализуете сложную логику в виде конечного автомата
17 Asmody
 
14.11.24
13:27
(14) ну, в ИР встречается много странного. Но это специфика инструмента.
18 Dedal
 
14.11.24
13:28
Для решения проблемы\задачи "нужно было вчера" уместно.
В остальных случаях при возможности реализации "без" лучше не использовать, когда встречаются такие конструкции в обычном коде это очень сложно читать.
19 craxx
 
14.11.24
13:29
(15) Конвейерами несколько другой софт рулит.
20 Krendel
 
14.11.24
13:30
(0) Я не стал становится программистом из-за этого оператора ;-)

Наверное это "Хорошо"
21 craxx
 
14.11.24
13:30
(14) Так и запросы в циклах порой кое-где встречаются, а порой кое-где без них не обойтись, так это же не повод повсеместного применения.
22 Valdis2007
 
14.11.24
13:31
(16) я просто не в курсе, платформа 1с, позволяет явно освобождать ресурсы? ну ком объект понятно надо убивать или стороннее приложение завершать.
23 Valdis2007
 
14.11.24
13:33
(20) )))

а может быть программист только одного оператоа - GO TO
24 Asmody
 
14.11.24
13:33
(19) Думаешь, в нём нет goto?
25 Zapal
 
14.11.24
13:35
(0) Если ты видишь, что это явно упростит код, то используй смело.
26 Asmody
 
14.11.24
13:34
(22) временные файлы почистить, кеши сбросить. Да мало ли что
27 Волшебник
 
14.11.24
13:34
(21) У профессионалов запросы в циклах не тормозят.
28 Krendel
 
14.11.24
13:35
(27) Специалиста, профессионал же младше
29 Волшебник
 
14.11.24
13:36
(28) Я не имею в виду сертификаты. У меня нет ни одного сертификата "Специалист". И чо?
30 Valdis2007
 
14.11.24
13:36
(19) пишешь софт для ковееров?
31 craxx
 
14.11.24
13:37
(24) Ну, в Java, например, его нету.
32 Волшебник
 
14.11.24
13:39
(31) В Java есть break label
33 craxx
 
14.11.24
13:40
(32) Это другое (с)
34 Krendel
 
14.11.24
13:41
(29) Я не имею в виду сертификаты
это был сарказм

У меня нет ни одного сертификата "Специалист". И чо?
Ты хвастаешься или каешься, тут я не уловил сути
35 Asmody
 
14.11.24
13:42
(31) goto нету, но метки и переходы по ним есть.
36 craxx
 
14.11.24
13:44
(35) есть, но лишь способ вывалиться из вложенных циклов.
37 Волшебник
 
14.11.24
13:45
(34) Вот Вы вообще программировать не умеете, зато готовы обсуждать необходимость GOTO. Оставьте это профессионалам, а сами занимайтесь своим анализом.
38 Злопчинский
 
14.11.24
14:00
Весь ассемблер/машинный код построен на условных и безусловных переходах. И ничего. как-то работает все.
39 Krendel
 
14.11.24
14:02
(37) По ВУЗовскому программированию у меня 5, по программированию решению СЛУ у меня 5.

Код не читаем, прогать-то я умел, а в классическом понимании- разработка алгоритмики- то и ща умею ;-)
40 Dotoshin
 
14.11.24
14:28
(15) Вот чтобы этот конвейер завтра не встал на месяц, надо сегодня денек постоять. Как-то так...
41 Garykom
 
14.11.24
14:32
(39)
и ща умею

есть подозрение только языком ворочать
42 Ногаминебить
 
14.11.24
14:41
Для сложной запутанной хрени лечение костылем не только проще и дешевле, но и зачастую надежнее.
А вот изначально лучше наверное без них обходиться.
43 Garykom
 
14.11.24
14:46
(42) сложную запутанную хрень лучше переписать
если не чисто косметическая правка ну там вывод подправить
если потребовался goto - вероятно там с кодом/алгоритмом уже проблемы
44 Ногаминебить
 
14.11.24
14:54
(43) Это понятно, но не всегда есть ресурс на такую задачу. Ведь если уж переписывать - то срубив до основания вообще все.
ЗЫ:
Возврат кстати приравниваем к гоуту?
45 Гений 1С
 
14.11.24
14:55
(0) норм, не бзди. все сеньоры так делают.
проблемы готы толкько в лапшевидном коде.
а если он для выхода в конец процедуры или из циклов, это норм. Дейкстра не возражает
46 Garykom
 
14.11.24
15:01
(44) де-юре да
возврат посредине функции/процедуры плохой стиль, надо всегда только в конце

но де-факто так код иногда лаконичней и проще/понятней
и тупо быстрей
например не делаем еще проверки лишних отдельный условий, сразу возврат когда добрались до нужного
Если ...
   Возврат
КонецЕсли
Если ...
   Возврат
КонецЕсли
47 Valdis2007
 
14.11.24
15:01
(44) Возврат кстати приравниваем к гоуту?

возврат по условию или "внезапно", посреди метода?
48 Гений 1С
 
14.11.24
15:03
(46) ты еще на брик и континуе (Прервать и Продолжить) батоны покроши.
49 Garykom
 
14.11.24
15:13
(48) и покрошу
в Прервать и Продолжить явно не хватает параметра в скобках, сколько вложенных циклов прерывать
тогда и выход из вложенных по условию с опорой на метку (Перейти = goto) не потребуется ну никогда
50 Valdis2007
 
14.11.24
15:15
надо на функциональные ЯП переходить, там нет таких проблем....
51 Волшебник
 
14.11.24
15:16
(50) А там можно грабить корованы?
52 Valdis2007
 
14.11.24
15:19
(51) еще как!
53 Eiffil123
 
14.11.24
15:31
(0) используйте для циклов Прервать и Продолжить.
Этого должно хватать
54 Asmody
 
14.11.24
15:36
(51) в Haskell можно (но не рекомендуется) использовать unicode в именах.
Поэтому,

грабить корованы


будет вполне валидным кодом 😉
55 Garykom
 
14.11.24
15:41
(54) В Java еще хз каком году писал
грабитьКорованы();
56 Asmody
 
14.11.24
15:50
(55) во многих ML-языках (Haskell/OCaml/F#) не надо писать скобочки и запятые при вызове функций
57 APXi
 
14.11.24
16:14
Не очень много моментов когда гото оправдано, если есть возможность лучше избегать. Всегда можно избежать, но иногда (не много случаев) с гото код читается легче.
58 APXi
 
14.11.24
16:15
(56) В паскале тоже не нужно было писать скобочки при вызове процедуры.
59 Ногаминебить
 
14.11.24
16:46
(46) Ну такой в каждой процедуре ОбработкаПроведения от 1С зашит. :)
Хотя что нам мешает написать
если 1=1 тогда
возврат;
конецесли;
:)
60 mikecool
 
14.11.24
16:54
(11) а потом будешь объяснять клиенту, почему на вывод строчки ты потратил не час, а неделю...
61 Dotoshin
 
14.11.24
16:58
(60) Там речь не о клиенте, если я правильно понял...
62 lubitelxml
 
14.11.24
17:16
(46) то есть по вашему - во всех документах в типовых плохой тон в ПередЗаписью в модуле документов, там где проверка на ОбменДанными.Загрузка и Возврат, если это Истина?
(0) Перейти - осуждаю )
63 Franchiser
 
14.11.24
17:26
(0) можно если занимаешься обфуксацией кода
64 Гена
 
14.11.24
17:53
Странный спор. Если есть оператор Перейти, то пусть будет, зачем же специально пренебрегать ещё одним инструментом?

"Прервать" это то же "Перейти", только на квазиметку ~КонецЦикла. А если надо перейти на ДРУГУЮ метку, то тут и сработает более обширный оператор "Перейти".

Можно ли обойтись совсем без меток? Естественно. Но когда код ЧУЖОЙ и программист точно знает куда он намерен перейти, то глупо отказываться от GOTO. Ведь это существенно убыстряет нужное изменение данного чужого кода.
65 formista2000
 
14.11.24
18:36
Да, пожалуй действительно - перегружена у меня тут процедура. Надо её разделить на более мелкие, а уже в них если что - Возврат;
66 ass1c
 
14.11.24
18:49
(0)
1. Можно, но не рекомендуется.
2. Запрещается использовать оператор Перейти в общих модулях с признаком "Клиент (управляемое приложение)", модулях команд и в клиентском коде модулей управляемых форм, так как данный метод не поддерживается платформой 1С:Предприятие в режиме веб-клиента.
67 Chai Nic
 
14.11.24
18:56
(47) Да, Возврат тоже по сути goto на конец процедуры..  Идеально процедурный код выглядел бы весьма странно и непривычно.
68 Гений 1С
 
14.11.24
18:57
(64) эээээ бро. тут есть любители делать по правилам, в ущерб производительности работы программиста.
69 Ненавижу 1С
 
14.11.24
20:07
Метод должен делать что-то одно, это сразу упростит структуру кода
70 Конструктор1С
 
14.11.24
20:28
(68) ущерб производительности программиста - твой говнокод. Вместо того, чтобы потратить 10 часов на новую фичу, программист потратит 100 часов на резграбение последствий твоих костылей
71 Конструктор1С
 
14.11.24
20:30
(17) это всего-навсего кривые ручонки автора
72 Конструктор1С
 
14.11.24
20:32
(25) не бывает таких случаев
73 Конструктор1С
 
14.11.24
20:33
(64) лови говнокодера!
74 Ненавижу 1С
 
14.11.24
21:13
(70) яростно плюсую. Сирожа пропагандирует говнокод потому что жалеет "бюджет клиента". Когда ему тыкают носом, что он не умер бы от трех строк кода, он презрительно говорит, что не "перфекционист".
75 Aleksey
 
14.11.24
21:36
(70) Предлагаю запретить шаблон или как там 1С любит подменять перемные в запросах. А то мозг сломаешь пока поймешь что этот запрос должен делать.
76 Ненавижу 1С
 
14.11.24
21:42
(75) сначала пусть схему запроса до ума доведут
77 Hans
 
14.11.24
22:02
Обработчики оповещения, обработчики ожидания те же GoTo.
78 Hans
 
14.11.24
22:03
Особенно обработчики ожидания доп реквизитов мне нравятся. не успеваешь переключиться в интерфейс и нажать кнопку. Fuuuuuuck.
79 vis
 
14.11.24
22:05
(76) Что именно?
80 Ненавижу 1С
 
14.11.24
22:34
(79) работа со схемой в итоге мало чем отличается от работы с текстом. И то и другое не айс. Всегда привожу в пример linq из .net
81 Сергиус
 
14.11.24
23:47
(0)Помню в институте еще на практике заставляли переделывать код, если там хоть один гоуту использовался..с тех пор как то и не тянет к нему)
83 Волшебник
 
15.11.24
09:39
(81) Вот дураки
84 Valdis2007
 
15.11.24
14:09
(69) Метод должен делать что-то одно

Спасибо КЭП...только, это "одно" зависит от уровня абстракции...а она разная на разных уровнях представления предметной области
85 Valdis2007
 
15.11.24
14:10
(81)с тех пор как то и не тянет к нему)

к Институту не тянет?)
86 Valdis2007
 
15.11.24
14:12
(70) зато Геннадий возьмет с клиента свои (сколько он берет в час)...и уйдет, а что будет потом не его проблемы))
87 maxab72
 
15.11.24
14:15
а где опрос?
88 Мультук
 
15.11.24
14:15
(81)

– Они идиоты.
– Они посвящены в рыцари!
– Значит, официальные идиоты.

(с) Король говорит

P.S.
У нас для воспитания духа правили чертежи красной ручкой.
89 VS-1976
 
15.11.24
14:18
Вывалиться по условию из 3-го вложенного цикла for без goto практически нереально. По этому оператору goto быть.
90 Valdis2007
 
15.11.24
14:25
(89) математически обосновать сможете? или это Ваше оценочное суждение?
91 VS-1976
 
15.11.24
14:30
(22) 1с позволяет явно освобождать ресурсы. В запросе временные таблицы - уничтожить. В коде любой объект переменную и т.д. присвоив им Неопределено.
92 Garykom
 
15.11.24
14:31
(89) эмм, а как же выход (через Прервать в каждом вложенном) по условию через переменную?
93 Garykom
 
15.11.24
14:34
(90) уже давно математически обосновано что любой код с GOTO можно переписать без него
но не всегда он будет проще (и короче)
94 Garykom
 
15.11.24
14:33
(93)+ аналогично с рекурсией, всегда можно обойтись без нее
и бывает приходится обходиться, если алгоритм превышает ее лимиты вложенности
приходится переписывать на дико извращенный без рекурсии код на циклах или даже wiki:Конечный_автомат
95 VS-1976
 
15.11.24
14:35
(90) Математически обосновывай сам, я бредом не занимаюсь. Вывалиться из

for
  for
    for

Можно без goto повторяя проверки но какой идиот это будет делать? Goto самый лучший способ покинуть циклы.
96 Ногаминебить
 
15.11.24
14:36
(92) Только вот Прервать - эта та же гоута, вид сбоку, как уже выше обсудили. :)
97 Valdis2007
 
15.11.24
14:38
(93) ты не понял... здесь  математически надо доказать обратное.
Что есть алгоритмы , которые без го go to, невозможно реализовать
98 VS-1976
 
15.11.24
14:38
Товарищи который бьются за чистоту кода не подозревают что их код на 20% состоит из goto когда их программа исполняется на машинном коде в камне.
99 Волшебник
 
15.11.24
14:40
(95) можно ещё так:

try 
 for
  for
   for
     if (...) throw 

catch ...
100 Garykom
 
15.11.24
14:40
(98) товарищи понимают что никаких goto на машинном коде нет
есть безусловный переход (который фактически вызов - переход к подпрограмме)
и условный переход
и все
101 Valdis2007
 
15.11.24
14:40
(95) а почему тогда именно три? или 3 предел вашей краткосрочной памяти?
102 Волшебник
 
15.11.24
14:42
(100) в ассемблере безусловный переход (JMP) не является переходом к подпрограмме (CALL), поскольку не задействует стек
103 Valdis2007
 
15.11.24
14:42
(98) Занавес...
104 Garykom
 
15.11.24
14:42
(96) любой goto = break
ибо все вложенные цикла фактически брякаются
105 Волшебник
 
15.11.24
14:43
(104) любой break по сути goto
106 VS-1976
 
15.11.24
14:43
(99) А зачем? Когда есть goto. Я сам его очень редко использую, но не стремаюсь. Кого так корежит goto загляните в ассемблер на jp, je, jc и т.д. всё построено. If в ассемблере это goto по условию.
107 Garykom
 
15.11.24
14:43
(102) ассемблер это не машинный код
это абстракция (ЯП) над ним
108 Волшебник
 
15.11.24
14:45
(107) тогда так: в машкоде нет подпрограмм, а все их вызовы это работа со стеком и goto
109 VS-1976
 
15.11.24
14:47
(107) ты мне будешь чего-то тереть за assembler я на нескольких процессорах на нём писал. Понятно что человек не пишет сразу в шестнацеричном коде... И не какая это не абстракция. Сам ты абстракция assembler это представление директив процессора в понятном человеку языке.
110 Garykom
 
15.11.24
14:46
(108) ага
весь машкод это фактически goto и/или if .. then goto
111 Волшебник
 
15.11.24
14:46
кто там хотел запретить goto? запретите себе ходить в туалет, когда надо
112 Волшебник
 
15.11.24
14:48
Жаль, что в языке запросов 1С нет Перейти. Это было бы полезно
113 Garykom
 
15.11.24
14:48
(109) буду wiki:Ассемблер
Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера в программу на машинном языке.
114 Valdis2007
 
15.11.24
14:48
(109) ты рассуждаешь как таксист, который очень много иездил....когда его спросили . возможен ли 6-тактный двигатель))
115 Garykom
 
15.11.24
14:49
(112) угу, язык запросов 1С это чистый SQL с расширениями
не T-SQL или PL/SQL
116 Мультук
 
15.11.24
14:50
Интересно, сегодня до перфокарт дойдут ?
Или эта серия только завтра ?
117 VS-1976
 
15.11.24
14:50
(113) Транслятор, а не абстракция. Абстракция это уже C, который вышел из библиотек макросов
118 Valdis2007
 
15.11.24
14:51
(116) за пятницу должны уложиться))
119 Garykom
 
15.11.24
14:52
(117) абстракция, потому что приближен к машкодам и обычно учитывает конкретную реализацию системы (архитектуру процессора)
но все же слегка абстрактен, для упрощения переноса кода на другие архитектуры
120 Valdis2007
 
15.11.24
14:53
(117) Абстракция это уже C


...это пятничный вброс...шутка...или откровенияе чистого подсознательного?
121 Garykom
 
15.11.24
14:54
(120) угу, С это уже ЯП высокого уровня, в отличие от ассемблера - языка программирования низкого уровня
122 Волшебник
 
15.11.24
15:01
(121) Сейчас JavaScript уже язык низкого уровня, в него компилируется код 1С
123 Garykom
 
15.11.24
14:55
124 VS-1976
 
15.11.24
14:56
(119) абстракция это il код в net. А текст на assembler привязан к конкретному процессору. А вот С абстракция с помощью компилятора компилируется под разный процессор и ОС.
125 Valdis2007
 
15.11.24
14:56
"p-n переход в полупроводниках" это абстракция а? Ну-ка гуру машинных кодов, которые пуд ассемблеров без соли проживали и не поморщились, откликнетись?)
126 Garykom
 
15.11.24
14:56
(122) есть такое
что ЯП становятся все более и более высокоуровневыми
тот же DSL это еще более высокий уровень абстракции
как например тыкание мышкой в 1С
127 Garykom
 
15.11.24
14:57
(125) абстракция конечно
ибо процессы на квантовом уровне
128 VS-1976
 
15.11.24
15:00
(127) Ты сам абстракция ибо всё что есть проекция квантового мира
129 Valdis2007
 
15.11.24
15:02
(127) ибо процессы на квантовом уровне ...

Правильно! а теперь внимание, тк на квантовом уровне работает "вероятность", то ты и не знаешь
, выполнит твой GO TO переход или не выполнит... как вам такое... адепты GO TO))
130 Garykom
 
15.11.24
15:02
(128) нет, только чужое субъективное мнение о человеке это абстракция
131 Garykom
 
15.11.24
15:04
(129) пофиг
там уже теория вероятности на множествах работает
но да прикольно что от температуры и прочих параметров окружающей среды зависит вероятность выполнения goto ))
132 Волшебник
 
15.11.24
15:04
(129) одновременно выполнит и не выполнит
wiki:Мультивселенная
133 VS-1976
 
15.11.24
15:05
Вы что, по пятницам бухаете что ли?
134 Valdis2007
 
15.11.24
15:11
(132) одновременно выполнит и не выполнит

что и требовалась доказать!

действие = противодействие...

сумма, произведение, итд (подставьте любую операцию) = 0

НУЛЬ! ...отсюда следует  - Необходимость  в операторе  GO TO = НУЛЬ .
135 Волшебник
 
15.11.24
15:12
Всё началось со статьи Эдсгера Дейкстры «О вреде оператора goto» в 1968 году, в которой автор критиковал чрезмерное использование оператора goto в языках программирования той эпохи и пропагандировал вместо него структурное программирование.
wiki:Considered_harmful

А теперь за единственную метку тебя готовы сожрать. Позор! Вспомните Дейкстру! Используйте GOTO в меру.
136 Волшебник
 
15.11.24
15:21
Оператор GOTO в 1С — табу или волшебная палочка?
https://infostart.ru/1c/articles/1790973/


137 Ногаминебить
 
15.11.24
15:17
(116) У меня помнится на первом курсе на экзамене один из вопросов был про алгоритм сортировки перфокарт.
138 Garykom
 
15.11.24
15:30
(137) сейчас ничуть не лучше

переведи на понятный программисту-разработчику язык термины:
1. "единицы трансляции"
2. "векторизация"

ЗЫ
Контекст - практическая работа по С/С++ и shell script (bash/sh)
139 Волшебник
 
15.11.24
15:25
(138) 100 000 токенов — это много или мало?
140 maxab72
 
15.11.24
15:57
(139) вы покупаете или продаете?
141 Конструктор1С
 
15.11.24
18:40
(95) лесенка из for уже не намекает, а кричит "Код - говно! Декомпозиция - никакая!"
142 Конструктор1С
 
15.11.24
18:41
+(141) такой код надо рефакторить, а не qoto подпирать
143 Конструктор1С
 
15.11.24
18:44
(98) не придётся читать или дорабатывать машинный код. А рукописный код кому-то придется доработать
144 Конструктор1С
 
15.11.24
18:50
(126) ну какими более высокоуровневыми становятся ЯП? Всё то же самое, что в 80-90 годах. Приросло всяких фреймворков, вычислительных мощностей, а языки остаются теми же
145 VS-1976
 
15.11.24
19:07
(144) Более высокоуровневый язык это sql. Этот язык говорит что взять и не говорит как.
146 VS-1976
 
15.11.24
19:17
Как по мне Алиса вполне себе более высокоуровневый язык программирования. Говоришь включи кино и дамоино и готово 😁
147 Garykom
 
15.11.24
19:38
(144) VHLL, 4GL (SQL и 1С например) и 5GL (это уже хайповый ChatGPT)

5GL в конечном итоге придут к модулям - "магическим черным коробочкам"
Когда на входе данные и некий "промпт", на выходе что надо (ну если повезет)
148 Garykom
 
15.11.24
19:38
(145) да SQL это хороший пример популярного декларативного языка
его относят к 4GL и DSL
149 Конструктор1С
 
15.11.24
19:55
(145) ну так-то никакой высокоуровневости тут нет. Просто декларативный синтаксис. А самое главное, sql 80-х годов мало чем отличается от современного
150 Конструктор1С
 
15.11.24
19:57
(147) в 1с вообще кастрированный sql
151 Ненавижу 1С
 
15.11.24
20:12
(144) просто языки довольно плавно эволюционируют. Без революций даже Делфи и паскаль уже разница. Дальше джава, Шарп и уже Котлин. И все они друг у друга обогащаются идеями.
Кто уж и стоит как в 90-х это 1с. Сделали правда "для каждого". А вот эти ждать/обещание добавили "чтобы было".
Посмотрим на 1с: исполнитель. Опять велосипед свой изобрели, но хотя бы современный
152 Волшебник
 
15.11.24
21:51
(151) ждать/обещание добавили, чтобы работал веб-клиент и мобильный клиент. Там асинхронность обязательна. Если страница/программа перестаёт отвечать (точнее возвращать управление) браузеру или мобильной ОС, то система считает её зависшей и предлагает закрыть.
153 Garykom
 
15.11.24
21:54
(152) старая асинхронность через ОписаниеОповещения ничем не хуже и работает аналогично
ждать/асинх - просто синтаксический сахар для "красивости" и "упрощения"
154 Garykom
 
15.11.24
21:55
(153)+ но надо признать прогресс ЯП из подобных мелочей и состоит
155 Конструктор1С
 
16.11.24
04:27
(151) а что в том же котлине принципиально нового, чего не было в "старых" языках из 80-90-х годов?
156 osa1C
 
16.11.24
09:41
Столько лет в 1С и для меня стало откровением, что в 1С есть оператор безусловного перехода... Во как О_о
157 Волшебник
 
16.11.24
09:46
(155) В старых языках мало веселья, а в kotlin сплошной fun
158 osa1C
 
16.11.24
09:52
(157) Есть ли скрипт чтобы поле сообщений (правую колонку) раскрасить в другой цвет, кроме белого?
159 Конструктор1С
 
16.11.24
09:56
(157) оке
160 Ненавижу 1С
 
16.11.24
10:38
(155) например лямбда-выражения. Наверняка они есть в каком-нибудь языке 80-90х тоже. Но вот в паскале и прочих си не было, например
161 Конструктор1С
 
16.11.24
11:23
(160) их и в жаву завезли. А вообще функциональная парадигма программирования появилась одной из первых, годах так в 50-х. Как-то не тянет на новинку
162 Конструктор1С
 
16.11.24
11:25
Но кстати да, в последние десятилетия откопали функциональное программирование, и назначили его модным-молодёжным)
163 Djelf
 
16.11.24
15:27
А мне ответ GPT понравился (с небольшими исправлениями, заменил ГОТО , на GOTO) в стиле Маяковского.

GOTO!
Код рвёшь пополам,
Скачешь,
как чёрт по строкам!
Программист вопит:
"Куда мне?
Зачем мне?
Как тут разобраться, токмо?"

Стереть!
Убрать!
И помнить одно:
GOTO — враг программы давно!
164 Ненавижу 1С
 
16.11.24
22:32
(161) ожидал такой реакции. В целом соглашусь. Все равно в машинных кодах все в примитивные условные/безусловные джампы превращается. Ты еще скажи, что в айти кризис как у фиксина
165 Конструктор1С
 
17.11.24
08:14
(164) никакого кризиса нет. Айти развивается. Только то развитие уж давно перешло из плоскости "изобретём чудо-язык" в плоскость "научимся качественно кодить на существующих языках". В 1986-м Фредерик Брукс написал статью "Серебряной пули нет". В ней он описал, что из языков программирования уже выжато всё что можно, и больше никаких "революционных" ЯП не будет. Он был прав
166 Ненавижу 1С
 
17.11.24
11:59
(165) а кто-то ждет чудо-языка? Революции не будет, но идет медленная эволюция. Местами, к сожалению, в угоду маркетинга.

А вот 1с, мягко говоря, поотстали
167 Фокусник
 
17.11.24
12:10
(0) Выходите из детской позиции. Считаете, что оправдано, используйте. Посчитаете иначе - Ваше право.
168 Волшебник
 
17.11.24
15:12
(165) (166) Вы оба так не любите 1С, что завели себе ники с этими буквами. Лицемеры!
169 mmg
 
17.11.24
16:01
(166) Революция, между прочим, уже идет. Новый язык программирования - естественный человеческий. И это принципиальный шаг вперед
170 Djelf
 
17.11.24
17:01
(169) И как там решается вопрос, в этой супер-пупер революции, по поводу "казнить нельзя помиловать"?
171 Волшебник
 
17.11.24
17:23
(169) Кстати, в нём есть Go To...
Epic Fail...
172 mmg
 
17.11.24
17:48
(170) В чем вопрос? Сформулируйте внятно
173 Tarzan_Pasha
 
17.11.24
17:51
Я поверил, в то, что GoTo использовать нельзя когда после бейсика начал изучать паскаль в 10-11 классе и Си на первом курсе.  Но когда мы начали изучать ассемблер, в котором всё строится на условных и безусловных переходах, то запутался.  мне и try .. catch не нравится.

Раньше всё было четко:  Программа должна иметь один вход и один выход.  

Сейчас про GoTo вообще нет смысла задумываться. Всё решает архитектура. Но я не использую нигде этот оператор перехода.
174 Волшебник
 
18.11.24
09:44
(173) Надо знать все конструкции языка, на котором активно пишешь. Да, можешь не использовать, но если вдруг встретится, то будешь знать, что это такое и куда дальше смотреть.

Вот я по себе вспоминаю, что мне не нравилось:
- процедуры/функции
- запросы SQL
- попытки...исключения
- классы/неймспейсы
- лямбды (стрелочные функции)
- AJAX
- оформление через CSS
- языки конфигурационных файлов
- отдельный язык jQuery
- регулярные выражения
- слоистая архитектура
- MVC-архитектура
- блочная вёрстка

Зато теперь всё применяется в движке форума. И даже присутствует блочная вёрстка местами.
175 Ненавижу 1С
 
18.11.24
09:44
(174) легче было перечислить, что нравилось, похоже
176 Волшебник
 
18.11.24
09:46
(175) запросы в цикле
177 Ненавижу 1С
 
18.11.24
09:56
(176) ну хорошо не наоборот )))
178 Волшебник
 
18.11.24
09:57
(177) Все запросы разворачиваются в циклы, чтобы Вы знали.
179 Ненавижу 1С
 
18.11.24
10:51
(178) внутри машины условные и безусловные джампы. Но ребята, это же не значит, что в высокоуровневом программировании надо такое писать
180 Garikk
 
18.11.24
10:53
(173) <Я поверил, в то, что GoTo использовать нельзя когда после бейсика >

Ты писал на бейсике после которого его использование стало плохим? ты в курсе что он в середине 80х (именно тот самый бейсик) устарел, и претензии к goto стали неактуальны?

сейчас практически ни одного языка нельзя найти (кроме си разве что) где тот старорежимный goto можно использовать, ассемблер не считаем
181 Волшебник
 
18.11.24
10:56
(179) Ваше "высокоуровневое" скоро станет "низкоуровневым", потому что все перейдут на языки промтов, написанных простым человеческим языком, а в нём есть "Перейти".
182 Eiffil123
 
18.11.24
13:06
(178) даже "ВЫБРАТЬ 1" ?
183 Волшебник
 
18.11.24
13:11
(182) Конечно. Это цикл с известным числом повторений.
Для н=1 По &ПервыеСколько Цикл
   ...
КонецЦикла;


или
Пока НабраноЭлементов < &ПервыеСколько Цикл
   ...
   НабраноЭлементов = НабраноЭлементов + 1;
КонецЦикла;


или
Пока Истина Цикл
   НабраноЭлементов = НабраноЭлементов + 1;
   ...
   Если НабраноЭлементов >= &ПервыеСколько Тогда 
      Прервать; 
   КонецЕсли;
КонецЦикла;
184 Волшебник
 
18.11.24
13:21
Цикл "Для" является синтаксическим сахаром для цикла "Пока (условие) Цикл".

Цикл "Пока (условие)" является синтаксическим сахаром для бесконечного цикла "Пока Истина Цикл... Если (условие) Прервать".

Бесконечный цикл является синтаксическим сахаром для "условного GoTo (jump if)":

JE - переход если равно
JNE - если не равно
JAE, JNB - если больше или равно
JNAE, JB - если меньше
JA, JNBE - если больше
JNP, JPO - если нечетное
JP, JPE - если четное (PF)
JZ - если ноль
JNZ - если не ноль
JNS - если больше нуля
JS - если меньше нуля (SF)
JC - если установлен флаговый регистр CF
185 Ненавижу 1С
 
18.11.24
13:28
(184) Правильно! Пора вернуться к корням! Напридумывали тут... Только ассемблер! Лучше конечно сразу машинный код
186 Волшебник
 
18.11.24
13:33
(185) Машинный код? А программирование путём переключения проводов не хотите ли?!


ENIAC, 1946 г

Машинный код ещё надо разработать! В 1948 году фон Нейман упростил программирование для ENIAC, ввёл хранение программы в памяти и jump-return
187 Eiffil123
 
18.11.24
14:19
(184) для организации циклов есть команда LOOP со счетчиком на регистре CX. Если учитывать то, что приведенные выше команды ассемблера порождают разные машинные коды, то называть это синтаксическим сахаром не очень то корректно
188 Волшебник
 
18.11.24
14:32
(187) Разные конструкции синтаксического сахара может порождать разные коды после компиляции в машинный код или промежуточный. Иногда компилятор даже разворачивает циклы в последовательность, чтобы было быстрее.

Сами циклы — это синтаксический сахар для очень длинной последовательности.
189 Eiffil123
 
18.11.24
14:37
(188) ну тогда почти всё в программировании синтаксический сахар
190 Волшебник
 
18.11.24
14:41
(189) Так и есть. Поэтому не надо запрещать кушать коричневый сахар типа GoTo, если Вы привыкли к белому рафинаду. Коричневый — это, может, тростниковый. Он вполне может оказаться зожным-зожным.
191 АгентБезопасной Нацио
 
18.11.24
14:48
Проблемы не с самим безусловным переходом, а с его без[д]умным использованием. Даже на фортране, да и ассемблерах (и 80/z80, и М11, и 48/51), после "осмысления" метода структурного программирования, использование переходов изменилось на столько, что по сути это было "неиспользование goto", хотя команд перехода ("jmp","br","*jmp") в коде было дофига.
И я даже не и помню, когда был необходим безусловный переход в 1с, и в с/с++. Не натыкался на такую ситуацию. Даже в реализации конечных автоматов.
(187) НЯП, loop это "счетный цикл", а циклы счетным не ограничиваются. Хотя на 86 асме я почти не писал...
192 АгентБезопасной Нацио
 
18.11.24
14:49
(190) не всё то сахар, что коричневое...©
193 Волшебник
 
18.11.24
14:51
(192) Я так и знал, что будут такие аллюзии
194 АгентБезопасной Нацио
 
18.11.24
14:51
(193) в оригинале было про шоколад...
195 VS-1976
 
18.11.24
15:00
(184) цикл есть в в assembler

Mov cx,10

Метка
...
Loop Метка
196 АгентБезопасной Нацио
 
18.11.24
15:02
(195) ассемблеры бывают разные...
197 VS-1976
 
18.11.24
15:04
Я лично не вижу проблем с goto, если нет злоупотреблений и он упрощает код. Типа зачем много проверок, когда можно выскочить из циклов. Но за злоупотребление нужно отстреливать, так как затрудняет читаемость кода.
198 VS-1976
 
18.11.24
15:06
(196) для z80 также есть цикл
199 Волшебник
 
18.11.24
15:08
(197) Тоже не вижу никакой проблемы в разумном использовании GOTO, например, раз в полгода. Откуда эти холиварщики берутся? Наверное, это всё чайники, начитавшиеся Дейкстры, Вирта, и так и не вышедшие за пределы студенческих учебников.

200 Конструктор1С
 
18.11.24
15:13
(190) а может сразу послать здравый смысл, и писать в двоичном коде?
201 maxab72
 
18.11.24
15:14
Главное, чтоб не сделали goto обязательным, со сдачей отчетности... и повышенным соцобязательствами по его использованию  в народном хозяйстве.
202 Волшебник
 
18.11.24
15:19
(200)
copy con program.exe
203 Eiffil123
 
18.11.24
15:39
раньше программистам запрещали использовать goto, а теперь запрещают запросы в цикле
204 Волшебник
 
18.11.24
15:46
(203) Да-да. Откуда только берутся эти безумные запреты?
205 maxab72
 
18.11.24
15:53
(203) а еще обращаться к реквизитам ссылки через три точки...
206 Волшебник
 
18.11.24
16:04
(205) Тоже не понимаю. Ну обратись, если надо. Платформа сама добавит соединения.
Нет же. Некоторые сами вручную пишут эти соединения, лишь бы не было этих трёх точек. Ругают же...
207 VS-1976
 
18.11.24
20:23
(205) можно, если реквизит не составной, хотя если обращение одно, то можно закрыть глаза. Если в запросе, то для реквизита составного можно использовать "выразить". А иногда даже полезна точка, чтобы не писать все соединения, а реквизит к примеру общий. Проблема не в точках, а в том, что ты понимаешь что творишь. А это требует понимания что происходит под капотом.
208 Chai Nic
 
19.11.24
08:23
Надо было запретить изначально обращение через точку от реквизита составного типа.

Вместо этого лучше бы ввели новую сущность "классы объектов" с общими реквизитами для всего класса. Создал класс "Документы расчетов с контрагентами", и там был бы общий реквизит "Контрагент", например. И множественное наследование, само собой, при описании конкретного вида объекта.

И реквизиты класса бы хранились в отдельной таблице "объекты класса", с ключом-ссылкой объекта. Никакого дублирования и никаких монстровидных запросов с объединением кучи таблиц.

Но это конечно уж слишком круто. Почти ООП.
209 Волшебник
 
19.11.24
09:26
(208) Наследование — отстой. Гранды мирового ООП уже отказываются от наследования в пользу композиции и интерфейсов.

Implementation inheritance is controversial among programmers and theoreticians of object-oriented programming since at least the 1990s. Among them are the authors of Design Patterns, who advocate interface inheritance instead, and favor composition over inheritance.
https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)#Issues_and_alternatives

Наследование реализации является спорным вопросом среди программистов и теоретиков объектно-ориентированного программирования, по крайней мере, с 1990-х годов. Среди них есть авторы шаблонов проектирования (Design Patterns), которые выступают за наследование интерфейса и предпочитают композицию наследованию.
210 Тихий омут
 
19.11.24
09:47
(198) DJNZ. А, не - LDIR/LDDR - во моща!
211 Конструктор1С
 
19.11.24
11:18
(208) махровое дублирование в пофигураторах не из-за отсутствия ООП, а из-за низкой культуры разработки среднего 1сника. С ООП станет только хуже
212 Конструктор1С
 
19.11.24
11:20
(209) зато полиморфизм с инкапсуляцией стали рулить ещё сильнее
213 Eiffil123
 
19.11.24
11:52
(208) ну это концепция не классов, а скорее интерфейсов
214 Chai Nic
 
19.11.24
12:51
(213) Тут класс в смысле классификации, а не в том, в каком это принято в ООП
215 petr_ivanov
 
naïve
21.11.24
17:25
(206) "Тоже не понимаю. Ну обратись, если надо. Платформа сама добавит соединения.
Нет же."


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

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

с точки зрения производительности разве вариант без точки не будет более выигрышным, чем с точкой?
216 Волшебник
 
21.11.24
17:41
(215) Сделайте замер производительности и доложите.
217 1Снеговик
 
21.11.24
17:51
(0) можно, но чтобы никто не видел. Особенно на собеседовании.
218 Eiffil123
 
21.11.24
17:52
(215) про запросы была такая версия, что оптимизатор запросов крайне тупой, и если ты обращаешься к реквизитам одного и того же поля через точку несколько раз, то на каждую точку он делает левое соединение.

другие говорят что это всё чепуха
219 petr_ivanov
 
naïve
21.11.24
18:08
(216) на большой базе проверить возможности нет, а на моей разницы не будет

(218) т.е. это именно что версия? а официальная информация какая-нибудь есть?

в общем, я правильно понимаю, что в запросах через точки обращаться, если нужна информация о полях ссылочных полей - это нормально?
220 Волшебник
 
21.11.24
18:11
(218) это чепуха
(219) нормально
221 petr_ivanov
 
naïve
21.11.24
18:19
(220) спасибо!
222 Eiffil123
 
22.11.24
10:04
(219) на мой взгляд, читаемость запроса очень часто важнее этой мнимой оптимизации. Поэтому обращаться через точку можно, если ваш запрос не создает проблем со скоростью или ресурсами.
223 Волшебник
 
22.11.24
16:08
Свежая статья на тему:
https://habr.com/ru/companies/piter/articles/860558/

Есть примеры, как правильно обращаться с Goto
224 Конструктор1С
 
23.11.24
04:54
(223) правильное использование гото: не использовать гото
225 Кирпич
 
23.11.24
12:12
goto всегда использовали, используют и будут использовать. Большинство языков имеют этот оператор, потому что он тупо нужен. А писать херню можно и любыми другими операторами.
226 Конструктор1С
 
23.11.24
14:10
(225) тупо нужен для чего?
227 Ненавижу 1С
 
23.11.24
15:43
(225) Обычно когда он нужен - достаточно выделить часть кода в отдельный метод
228 Кирпич
 
23.11.24
16:16
(226) Посмотри исходники любого серьёзного проекта (CPython например). Там этих goto навалом. Вот посмотри и догадайся зачем нужен goto.
229 Волшебник
 
23.11.24
16:19
(228) Я тоже удивляюсь, когда мне запрещают использовать конструкцию языка. Она ж в нём есть, значит использовать МОЖНО. Не надо доводить до абсурда: ноль GoTo или миллион GoTo. Ну пару раз можно-то?
230 Кирпич
 
23.11.24
16:23
(227) Ну так выделяй на здоровье. А если кому то нужна скорость, то такие выделения всё испортят.
И еще бывает, что программы пишут не программисты, а программы. И такие программы читать никому не надо. Например yacc и lex генерят код с кучей goto.
231 Кирпич
 
23.11.24
16:33
(229) Так никто и не запрещает. Просто переступаешь через психа и пишешь goto где надо.
232 Волшебник
 
23.11.24
16:35
(231) А потоптаться по психу можно?
233 Кирпич
 
23.11.24
16:47
(232) это надо у него спросить. может он ради этого топтания и докопался до goto.
234 AlexBor
 
23.11.24
19:07
))) Нас в универе перпод называл сбрищем гоо тушников )))) Давно это было )))
235 Конструктор1С
 
24.11.24
06:41
(228) в серьёзных проектах и говнокода хватает. Но это не значит, что "говнокод тупо нужен"
236 Конструктор1С
 
24.11.24
06:50
(229) когда-то на C++ писались бизнесовые приложения, со всеми этими ссылками, указателями, макросами и прочей плюсовой лабудой. Потом появились Java, C#, и оказалось что бизнесовые приложения прекрасно пишутся без плюсовой лабуды, и вовсе не обязательно простреливать себе коленки. GoTo из той же оперы, но потяжелее: средство отстрелить себе обе ноги, без которого прекрасно программируется. И я не понимаю, зачем вы так топите за GoTo. Хотите острых ощущений - кодьте на C++, на одних только указателях вдоволь намучаетесь
237 Волшебник
 
24.11.24
09:59
(236) Говнокод — это не конкретная инструкция, а состояние души. Можно и в СКД наговнокодить
Отбор или параметр по двум датам в СКД
238 Кирпич
 
24.11.24
10:37
(236) "И я не понимаю, зачем вы так топите за GoTo"
так никто не топит за goto. Есть люди, которые относятся к goto абсолютно ровно, а есть которые неистово топят против goto. goto всегда будет и не надо ссать против ветра. Маньяки какие то ей богу.
239 Кирпич
 
24.11.24
10:43
+(238) в C#, кстати, есть goto. Да и в Java есть какая то фича типа goto для перехода на метку.
240 Кирпич
 
24.11.24
10:45
golang вон, с утра придуманный, и тот с goto
241 Конструктор1С
 
24.11.24
11:24
(238) ссать против ветра - это использовать GoTo в коде. Все "доброкачественные" версии GoTo и так уже реализованы в каждом языке (возврат, продолжить, цикл и пр.). А если тебе понадобилось подпереть свой код настоящим GoTo, то это заведомо будет "злокачественная" версия GoTo, привносит она только проблемы и запутанность в код
242 Конструктор1С
 
24.11.24
11:26
(239) и что, что есть? За их использование получишь линейкой по рукам на первом же кодревью
243 Конструктор1С
 
24.11.24
11:27
(237) GoTo - средство элитных говнокодеровх
244 Кирпич
 
24.11.24
12:12
(242) "линейкой по рукам на первом же кодревью"
Если применение goto оправдано, то никто тебя линейкой бить не будет. Посмотри исходники CPython или SQLite. Там этих goto навалом.
А маньяки не делают кодревью. Они сидят на форумах и ноют про плохой goto, про Delphi умер и т.п.
245 Злопчинский
 
24.11.24
12:22
(227) угу, и передать туда с десяток параметров... такс, надо сделать рефакторинг... и понеслось...
246 Ненавижу 1С
 
24.11.24
12:26
(244) от контекста сильно зависит. В C оправдано может быть, в ассемблере без него сложно. В джава/шарпе - лучше без него
247 Ненавижу 1С
 
24.11.24
12:28
(245) если требуется десяток параметров, то что-то с архитектурой опять же
Понятно, что есть принцип работает - трожь, но потом мы же и говорим "ой это замшелый Легаси -лучше его не трогать"
248 Конструктор1С
 
24.11.24
13:02
(244) нет никаких оправданий GoTo
249 Конструктор1С
 
24.11.24
13:06
(245) а это уже верный признак того, что твой код делает всё и сразу
250 Aleksey
 
24.11.24
13:20
(248) почему? Предупреждение на сервере в модуле проведения это говнокод? Давайте всех кто использует предупреждение объявим еретиками и сожжем на костре!
251 Конструктор1С
 
24.11.24
13:35
(250) потому что GoTo запутывает код, делает его трудным для понимания и изменения. Мало?
252 Конструктор1С
 
24.11.24
13:41
+(251) спагетти-код, слышал о таком?
253 Dedal
 
24.11.24
14:44
(220) Вот после таких заявлений и требуется пинать франчайзи выпустившего конфигурацию, что благодаря его запросам через три точки отчет вообще не формируется. потому что пока там мало записей в таблице это все не влияет, а на боевой базе вдруг выясняется оно вообще не работает, записей слишком много добавьте скулю 100500 гб оперативы.
254 Ненавижу 1С
 
24.11.24
14:51
(250) предупреждение на сервере уже невозможно. Я же говорю - всякому инструменту свое применение
255 Aleksey
 
24.11.24
14:56
(251) Ну да 100500 вложенных процедур в типовой пипец как облегчает понимание. Это вам не GoTo
256 Aleksey
 
24.11.24
14:58
(254) так может и GoTо как инструмент обфускации кода тоже имеет право на жизнь?
257 Ненавижу 1С
 
24.11.24
16:51
(256) имеет
258 Ненавижу 1С
 
24.11.24
16:52
(255) архитектура платформы 1с мягко говоря уже не торт под поставленные задачи. Но мы держимся. Ведь держимся?
259 Конструктор1С
 
24.11.24
16:56
(255) то, что тебе приходится пробираться через 100500 процедур, так это последствия говнищенской декомпозиции и сильных зависимостей. C GoTo ситуация ухудшилась бы многократно
260 Волшебник
 
24.11.24
17:02
(256) как инструмент обфускации кода можно использовать любой говнокод. GoTo тут совершенно не при чём.
261 Волшебник
 
24.11.24
17:03
(258) Мы держимся, а вот Вас держим на учёте и под присмотром. Это ж надо на форуме 1С-ников придумать ник "Ненавижу 1С"!
262 Волшебник
 
24.11.24
17:19
(253) Вы просто не умеете их готовить.
263 Волшебник
 
24.11.24
17:31
(248) Нет никаких оправданий запрету любой конструкции или оператора, которая существует на базовом уровне, штатно.

Если у Вас проблемы с восприятием базового уровня языка/платформы, то Ваша токсичность наверняка полезет на следующий уровень и там Вас ждёт Ваш личный ад. Там Вы будете плеваться и блеваться, глядя на программный код любого, кроме себя. Это офигенный ад для программистов-перфекционистов.

Был бы я дьяволом, я бы именно такой придумал. 🔥
264 Волшебник
 
24.11.24
17:23
Кстати, в движке мисты GoTo используется... сейчас посчитаю... 0 раз.
Странно... Не пригодилось.
Но я себе не запрещаю.
265 Волшебник
 
24.11.24
17:26
(251) GoTo РАСПУТЫВАЕТ код и делает его ЛЕГЧЕ для понимания и изменения.
266 Конструктор1С
 
24.11.24
19:17
(265) бред!

Грёбаный стыд) Несколько лет назад запилил топик про TDD. 1Сники хором доказывали, что оно нафиг не нужно. Сейчас вот хором доказывают, что GOTO нужно. Верной дорогой идём, товарищи! А потом удивляемся, что 1сников за недопрограммистов считают
267 Волшебник
 
24.11.24
19:02
(266) Ты сам бред! Никаких конструкторов 1С не существует!
268 Конструктор1С
 
24.11.24
19:06
(263) ну уж так сильно-то передёргивать не надо. Если без GoTo, то сразу перфекционизм, ага. Я вообще-то про то, что в нашем грешном мире 1с и так говнокод как стандарт. Не хватало ещё за GoTo топить, ну, с его помощью говнокод выйдет на принципиально новый уровень!