![]() |
![]() |
|
Как можно аргументировать, то что 1С язык высокого уровня | ☑ | ||
---|---|---|---|---|
0
фттуе-ьф
08.11.05
✎
22:36
|
Дорогие товарищи))))
Как можно аргументировать, то что 1С язык высокого уровня Заранее благодарю! |
|||
1
izabella
08.11.05
✎
22:43
|
Не знаю поможет ли тебе то что ниже написано, но усе таки почитай...а вдруг...?-)
Говоря о Конфигураторе, нельзя не отметить встроенный язык программирования, который предназначен для описания алгоритмов функционирования прикладной задачи. Он является предметно-ориентированным, объектным языком высокого уровня. Его основу составляют всевозможные объекты и конструкции, свойственные данной предметной области. Кроме того, язык имеет процедурную технологию программирования. Это значит, что программа на этом языке представляет собой последовательность процедур и функций для обработки данных. При своей относительной простоте язык обладает некоторыми важнейшими объекто-ориентированными свойствами, например, правила доступа к атрибутам и методам специализированных типов данных (константам, справочникам, документам и т.д.) совпадают со свойствами и методами объектов, используемых в других объектно-ориентированных языках. Однако специализированные типы данных (такие как, например, документы) не могут определяться при помощи самого языка, а должны задаваться в визуальном режиме Конфигуратора, что является важным отличием от других объектно-ориентированных языков. |
|||
2
фттуе-ьф
08.11.05
✎
22:46
|
Уважаемая izabella!
Большое спасибо))) И вот вопрос назрел, откуда информация такая? Очень нужная... Хотелось бы развить... |
|||
3
izabella
08.11.05
✎
22:49
|
Информация из учебника по программированию ,автор Усиков...я бы тебе целый раздел отсканировала,но книгу на работе забыла...сорри...тока завтра если...
|
|||
4
фттуе-ьф
08.11.05
✎
22:57
|
Уважаемая izabella!
Извини за наглость, но она искупается необходимостью. Если сможете, огромная просьба - все что есть по этой тематике скиньте, пожалуйста на annet-ma@yandex.ru. Информация просто необходима, до конца недели. С огромной благодарностью annet-ma |
|||
5
izabella
08.11.05
✎
22:58
|
хорошо постараюсь завтра отсканить и прислать
|
|||
6
Camino
модератор
08.11.05
✎
23:37
|
Насколько я помню, языки программирования различаются по уровню логики:
1. Язык низкого уровня (машинного) - ассемблер 2. Все остальные языки являются языками высокого уровня априори. |
|||
7
smaharbA
08.11.05
✎
23:38
|
Язык самого высокого уровня въетнамский... "переход" тона влияет на значение...
|
|||
8
фттуе-ьф
08.11.05
✎
23:57
|
Если быть точнее...
Как можно аргументировать, то что 1С язык высокого уровня и объектно-ориентированный |
|||
9
Guk
09.11.05
✎
00:05
|
(8) Про ООП сложно будет аргументировать. Я бы не смог...
|
|||
10
Guk
09.11.05
✎
00:06
|
+(9) Я говорю естесственно про штатный язык...
|
|||
11
avm-nn
09.11.05
✎
00:29
|
посмотри признаки в любом учебнике объектно-ориентированного языка, лучше классику по С++ возьми. Что там: полиморфизм, инкапсуляция, ... уже и смысла этих понятий не помню и увидишь, что многое есть в 1С.
|
|||
12
Guk
09.11.05
✎
00:33
|
(11) Ну полиморфизм допустим есть, инкапсуляция статическая, наследования просто нет...
|
|||
13
Guk
09.11.05
✎
00:35
|
+(12) А ОО язык предполагает наличие всех трех признаков, и в полном объеме...
|
|||
14
avm-nn
09.11.05
✎
00:41
|
(13) Так я и предлагаю Автору разобраться самому. А объектно-ориентированность 1С действительно не полная, но элементы ее присутствуют.
|
|||
15
фттуе-ьф
09.11.05
✎
00:43
|
Всем спасибо за отзывчивость, что-нибудь сочиню при защите...Но что-то стало проясняться))))
Спокойной всем ночи!!!! |
|||
16
Волшебник
модератор
09.11.05
✎
07:41
|
||||
17
Волшебник
модератор
09.11.05
✎
07:47
|
(12) Есть наследование от предопределенных классов платформы и только однократное. Например, "справочник Номенклатура" - потомок класса "Справочник".
|
|||
18
LOSS
09.11.05
✎
07:49
|
17 непгавильно
|
|||
19
Волшебник
модератор
09.11.05
✎
07:49
|
(18) А как правильно?
|
|||
20
LOSS
09.11.05
✎
07:50
|
17 дайте определение наследования. и вы поймете что вы не правы
|
|||
21
Волшебник
модератор
09.11.05
✎
07:53
|
(20) Наследование - это создание класса-потомка, обладающего признаками класса-родителя, т.е. содержащего его свойства, методы, события.
Если классов-родителей несколько, то это множественное наследование. Есть определенные классы (final), от которых нельзя создавать потомков. Обычно все классы в системе наследуются от одного корня, который называется Object или аналогично. Разработчик платформы создал класс "Справочник", наделил его свойствами и методами, например, метод "ВыбратьЭлементы". Когда мы создаем класс "Номенклатура", он наследует этот метод и мы можем им пользоваться. |
|||
22
LOSS
09.11.05
✎
07:57
|
наследование это есть точное повторение признаков родителя. Чем не обладает Ваш "Справочник"
|
|||
23
Волшебник
модератор
09.11.05
✎
07:59
|
(22) И какой признак наследуется не точно?
|
|||
24
Иде я
09.11.05
✎
08:01
|
(23) А какой признак наследуется точно ? Кроме галок на права :)
|
|||
25
LOSS
09.11.05
✎
08:02
|
23 ой дай отдохнуть мне. не хочу мыслить
|
|||
26
AAAChel
09.11.05
✎
08:38
|
Уважаемый Волшебник, вопрос наследования в случае 1с носит чисто условный характер. Можно конечно сказать, что Номенклатура наследует базовые классы объекта метаданных "Справочник", но это так натянуто. А что делать не с методами, а с параметрами??? Нет никакого наследования, а есть предопределенные классы "Справочник", "Документ" и мы из них создаем объекты.
|
|||
27
Rovan
гуру
09.11.05
✎
08:46
|
(24) Все методы наследуются и поля (Код, Наименование, Родитель)
|
|||
28
Rovan
гуру
09.11.05
✎
08:48
|
(26) Назовем это "Одноступенчатое наследование"
|
|||
29
Теорема
09.11.05
✎
09:08
|
Все, что не Ассемблер - является ЯВУ.
1С - является языком сверхвысокого уровня(в контексте платформы). 1С++ - объекто-ориентированное расширение языка 1С. Поэтому утверждение: 1С с примочками - это объектно-ориентированнный язык сверхвысокого уровня. 1С Предприятие с примочками - это ультрапродуктивная среда разработки приложений баз данных для решения учетно-экономических задач. |
|||
30
AAAChel
09.11.05
✎
09:22
|
(29)C++ - является объектно-ориентированным языком.
1С - не является и не может являться таковым: Наследование - нет (странное наследование кода и наименование, они не наследуются, а создается объект уже существующего класса "Справочник") Полиморфизм - нет Инкапсуляция - частично Если бы в 1с было наследование, и можно было создавать формы как производные от других (базовых), вот тогда не надо было бы повторять огромные куски кода по зачету аванса в десятке документов. |
|||
31
Парижская фанера
09.11.05
✎
09:24
|
(26) Учите мат. часть. Есть абстрактный класс "Справочник" от него наследуем класс "Справочник.Номенклатура".
|
|||
32
Парижская фанера
09.11.05
✎
09:24
|
(+31) Что вызывает проблемы не пойму.
|
|||
33
Волшебник
модератор
09.11.05
✎
09:25
|
(26) Объекты - это уже:
СпрНоменклатура1 = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура2 = СоздатьОбъект("Справочник.Номенклатура"); А я говорю именно про классы. (30) Предлагаю рассматривать объектно-ориентированность именно как ОРИЕНТИРОВАННОСТЬ, т.е. в бОльшей или меньшей степени. Есть разные степени приближения к полностью объектному языку. |
|||
34
Guk
09.11.05
✎
09:27
|
(30) А разве например метод ВыбратьСтроки() для документа и ТЗ, это не полиморфизм?...
|
|||
35
Теорема
09.11.05
✎
09:27
|
1C c примочками - это 1С + 1С++ - вполне объектно-ориентированный язык.
Вот сейчас разрабатываю довольно некислую иерархию классов. |
|||
36
LOSS
09.11.05
✎
09:30
|
33 чего молчал тогда
|
|||
37
LOSS
09.11.05
✎
09:30
|
дайте кто нибудь понятие ОБЪЕКТА
|
|||
38
Волшебник
модератор
09.11.05
✎
09:33
|
(37) В разных языках разная терминология:
1) Например, в С есть "класс", а есть "объект" (или экземпляр класса) 2) В ObjectPascal есть "объект" (как класс в С), а есть экземпляр объекта. В общем случае, объект - это сущность, обладающая сходством с другими объектами своего класса (общие признаки и поведение) и уникальностью (идентификатор, конкретный набор свойств). |
|||
39
Волшебник
модератор
09.11.05
✎
09:35
|
Объект (класс) чем-то аналогичен понятию модуль (они из них выросли). Он скрывает в себе какую-то функциональность (довольно большую) и имеет внешний (публичный) интерфейс для доступа к этой функциональности.
|
|||
40
LOSS
09.11.05
✎
09:35
|
38 вот теперь тематично и актуально. А какое официальное определение дает фирма 1С?
|
|||
41
Волшебник
модератор
09.11.05
✎
09:38
|
(40 Официально фирма 1С не называет свой язык объектно-ориентированным, чтобы не вовлекаться вот в такие "священные войны". ИМХО, конечно.
|
|||
42
ДенисЧ
09.11.05
✎
09:41
|
Я не понял про инкапсуляцию. Где она в 1с? Нету её...
|
|||
43
ДенисЧ
09.11.05
✎
09:41
|
Я бы сказал, что 1с - объектный язык, а не ориентированный :-) Типа VB до дотнета.
|
|||
44
Волшебник
модератор
09.11.05
✎
09:45
|
(42) Инкапсуляция - это самое простое. Это объединение свойств и методов их изменяющих в одном классе (объекте). В 7.7 и 8.0 это сплошь и рядом.
(43) Объектный - это как раз предел для объектно-ориентированных языков, т.е. когда "всё есть объект" (как в Java или .Net). |
|||
45
ДенисЧ
09.11.05
✎
09:47
|
(44) ТОгда почему частичная И.?
А "объектный" - это определение я видел в какой-то книге (давно, потому не помню, где) для языкав, коиторые только используют готовые классы и не могут создавать свои. |
|||
46
Волшебник
модератор
09.11.05
✎
09:49
|
(45) ИМХО, плохое определение. По смыслу совсем наоборот. Если язык объектный, то он поддерживает все принципы объектно-ориентированного программирования и НЕ позволяет их ИГНОРИРОВАТЬ.
|
|||
47
Guk
09.11.05
✎
09:50
|
(45) Частичная, потому что не наращиваемая для конкретного объекта. Поэтому я и назвал её статической...
|
|||
48
ДенисЧ
09.11.05
✎
09:50
|
(46) Может быть, и плохое. Книга была старая, начала 90-х, когда термины ООзП ещё не устоялись.
|
|||
49
ДенисЧ
09.11.05
✎
09:51
|
(47) опа... В в каком языке инкапсуляцию можно "нарастить" для конкретного класса? Не наследуясь от него...
|
|||
50
Волшебник
модератор
09.11.05
✎
09:54
|
Кстати, в 1С 8.0 у объектов можно создавать экспортные переменные/процедуры/функции в модулях объектов и они становятся видны снаружи, как обычные свойства и методы объекта. Об этом я писал еще в 2002 году:
http://www.mista.ru/subscribe/15.htm |
|||
51
ДенисЧ
09.11.05
✎
09:57
|
(50) Но ведь такое добавление свойств и т.д. всё равно статическое (по выражению ГУКа)
|
|||
52
Волшебник
модератор
09.11.05
✎
09:57
|
(51) Я не понимаю это выражение.
|
|||
53
ДенисЧ
09.11.05
✎
09:58
|
(52) Я тоже :-)
|
|||
54
AAAChel
09.11.05
✎
10:07
|
Господа, товарищи. Спор наш несколько бессмысленный. Ведь мы спорим куда отнести 1с, а не про то, чем она обладает.
VFP (Visual FoxPro) - создаю класс кнопки "Button1" , на основе типового класса "Button". Прописываю ее функциональность. Записываю ее как новый класс. Создаю на основе "Button1" еще один класс "Button2". Он наследует все свойства "Button2", ВСЕЕЕ, и которые я добавил в "Button1", а не только базовые из конструктора. Мне не нравится что-то, я перепишу только это, мне доступны и свои методы и методы родителей. А вы говорите про наследование "ВыбратьЭлементы()". Я соглашусь, что "Справочник" - абстрактный класс, а "Номенклатура" - конкретный. Но какие методы мы можем переопределить или добавить новые?? В этом весь кайф ООП. А остальное-пустые разговоры. В VFP - создаешь базовую форму с достаточно богатым набором свойств и наследуй от нее, все новые формочки будут вести себя также как и она, если ты не переопределишь какой-то метод. |
|||
55
Волшебник
модератор
09.11.05
✎
10:08
|
(54) В 8.0 можно добавлять свойства и методы. Читай 50-й пост.
|
|||
56
AAAChel
09.11.05
✎
10:13
|
Я все сказанное относил к семерке. Ну можно в 8-ке создавать видимый метод, и что дальше?? В чем здесь наследование???
|
|||
57
Волшебник
модератор
09.11.05
✎
10:15
|
(56) Спр. Номенклатура - наследник класса "Справочник" + мы можем добавить ему свойств и методов. Черты объектно-ориентированности.
|
|||
58
Rovan
гуру
09.11.05
✎
10:20
|
(56) На форуме часто появляется вопрос
"Как 7-ке можно вызвать функцию из модуля формы объекта ?" и ответ на него есть, оно работает - правда не так красиво как 8-ке |
|||
59
AAAChel
09.11.05
✎
10:23
|
Можно и в уродине черты красавицы разглядеть. Каждый видит то, что хочет видеть. Пусть в 1с будут черты ООП или не будут, от этого ничего не изменится. Все равно при внесении фирмой 1С изменений в как Вы сказали наследник класса "Справочник" изменений, и при наличии в нем наших, нам опять придется глазками и ручками синхронизировать наши и их изменения, а нет, чтобы этот самый класс просто бы унаследовал новые свойства. Вот в этом и всё дело, а черты они и есть черты. И в Запорожце есть черты БМВ
|
|||
60
AAAChel
09.11.05
✎
10:25
|
(58) Я прекрасно знаю как вызвать метод формы из другой формы или модуля.
|
|||
61
Волшебник
модератор
09.11.05
✎
10:26
|
(59) Совершенно верно. И в телеге тоже есть черты БМВ. А английское слово "car" вообще переводится как "телега".
|
|||
62
AAAChel
09.11.05
✎
10:32
|
Поэтому я и говорю, что наш спор абсолютно бессмысленный. Каждый может отнести туда, куда хочет. Но если говорить точно, то есть четкие определения, и платформа либо удовл им, либо нет. Вот и всё. Никто ведь не скажет, что у С++ есть черты ООП, или у Paslal, хотя в нем нет множественного наследования, и вообще классическим языком ООП является SmallTalk (может немножко и не так пишется, я уже не помню)
|
|||
63
Волшебник
модератор
09.11.05
✎
10:36
|
(62) Я говорю о степени приближения к полностью объектному языку (платформе). Нет такого: удовлетворяет или нет. Есть лишь градации. Язык/платформу 1С:Предприятия тоже можно расположить на этой шкале и она будет более или примерно также объектно-ориентирована, по сравнению с такими языками, как PL/SQL или VB 6.0.
|
|||
64
Волшебник
модератор
09.11.05
✎
10:40
|
(62) У С++ есть именно ЧЕРТЫ объектной техники, именно поэтому он называется объектно-ориентированным, а не объектным. Была когда-то попытка сделать полностью объектный С, он так и назывался Object C, но он не прижился. С++ не является полностью (максимально) объектно-ориентированным, потому что позволяет программировать в старом стиле (для сохранения совместимости), т.е. игнорируя принципы объектной техники.
Флагманом же объектно-ориентированности следует считать платформу .Net (С#) и Java. Это наиболее приближенные к объектной технике языки из наиболее известных и используемых (именно из распространенных!). |
|||
65
ДенисЧ
09.11.05
✎
10:43
|
(64) "С++ не является полностью..." - ну-ка поподробней :-) Что именно там не полностью?
|
|||
66
Волшебник
модератор
09.11.05
✎
10:43
|
(64)+ или Objective C, точно не помню.
|
|||
67
AAAChel
09.11.05
✎
10:43
|
(63) Я, увы, не слышал про градации соответствия ООП. Про то, что будет рядом с VB 6.0 абсолютно согласен. Но не соглашусь, что нет: удовлетворяет или нет.
|
|||
68
Волшебник
модератор
09.11.05
✎
10:43
|
(65) Например, числа и строки (примитивные типы данных) не являются объектами.
|
|||
69
ДенисЧ
09.11.05
✎
10:44
|
(68) А где сказано, что должны?
|
|||
70
Волшебник
модератор
09.11.05
✎
10:44
|
(68)+ А в платформе .Net являются. Используется специальная техника boxing/unboxing
|
|||
71
ДенисЧ
09.11.05
✎
10:44
|
+69 и чем std::string не объект?
|
|||
72
AAAChel
09.11.05
✎
10:45
|
(64) Уберите лучше это, чтобы никто не видел
|
|||
73
Волшебник
модератор
09.11.05
✎
10:45
|
(69) В полностью объектных языках действует строгое правило: "всё есть объект". Этот принцип был заложен в Java и перекочевал оттуда в .Net.
|
|||
74
AAAChel
09.11.05
✎
10:46
|
(65) А числа и строки обязаны быть объектами? это примитивные типы
|
|||
75
ДенисЧ
09.11.05
✎
10:46
|
(70) Не являются там примитивы (int и т.д.) объектами... А боксинг/анбоксинг ли переводит их в System.Int32 и подобные.
|
|||
76
Волшебник
модератор
09.11.05
✎
10:46
|
(74) хе-хе.... Вот мы и подобрались к главному: кто устанавливает главные критерии ООП? А судьи кто?
|
|||
77
Волшебник
модератор
09.11.05
✎
10:47
|
(75) С точки зрения программиста являются. А как это реализовано технически - дело десятое (инкапсулированное).
|
|||
78
AAAChel
09.11.05
✎
10:47
|
Мы вроде говорили не о полностью объектных моделях, а о языках, в которых полностью реализована концепция ООП
|
|||
79
Волшебник
модератор
09.11.05
✎
10:48
|
(78) А где она эта концепция? Она в умах людей. Следовательно она живая и со временем меняется.
|
|||
80
LOSS
09.11.05
✎
10:50
|
Десткий сад. Объектность есть наличие свойств
|
|||
81
AAAChel
09.11.05
✎
10:51
|
(77) Вы сами себе противоречите, если нет критериев ООП, то как же можно произвести градацию платформ??:)) И если Вы перевели разговор в плоскость ущербной реализации ООА в С++, то что тогда останется от милых черт в 1С?
|
|||
83
Guk
09.11.05
✎
10:53
|
(50) Именно это я имел ввиду. В 77 кто-нибудь умеет добавлять штатно новые свойства и методы к существующим объектам?...
|
|||
84
ДенисЧ
09.11.05
✎
10:53
|
(77) да, забыл, что int.ToString() сработает...
|
|||
87
Волшебник
модератор
09.11.05
✎
10:55
|
(81) Критерии есть, но они не булевые: да/нет, ООП/неООП. Есть лишь стремление к объектной технике, движение к совершенству.
|
|||
89
AAAChel
09.11.05
✎
10:58
|
(81)Пусть будет по Вашему. В конце концов Вы ж Модератор и Волшебник.
|
|||
90
Композитор
09.11.05
✎
10:59
|
Ветку не читал.
1С нельзя делать объектно-ориентированной. |
|||
91
Волшебник
модератор
09.11.05
✎
11:00
|
(90) Уже.
|
|||
92
LOSS
09.11.05
✎
11:00
|
89 нормальный он. доказывает же и тебе рот не затыкает
|
|||
93
Композитор
09.11.05
✎
11:00
|
Я отстал от жизни.
|
|||
94
romix
09.11.05
✎
11:15
|
(73) Жалко, что в 1С не сделали строгую типизацию, и все свойства и методы с доступом "через точку". Это помогает изучению платформы, т.к. правильно работают вещи типа Intellisence, и меньше косяков с типизацией (когда надо долго думать, почему не работает код). Реквизиты объектов, форм и прочего тоже хотелось бы через точку, чтобы все (или многие) имена не находились в одном большом глобальном контексте (с точки зрения процедуры модуля). Т.е. это не усложнение, а намного все упрощает и для новичков, и для профессионального программирования.
|
|||
95
Гламурный Подонок
09.11.05
✎
11:16
|
(94)Тогда бы стоимость продукта выросла.
|
|||
96
Волшебник
модератор
09.11.05
✎
11:17
|
(94) В языке 1С принципиально сделана мягкая типизация, т.е. тип переменной определяется по ее значению. Это упрощает программирование. В VB есть похожий тип "Variant".
|
|||
97
Эксперт 1С
09.11.05
✎
11:22
|
(94) - в 1С++ есть строгая типизация.
|
|||
98
romix
модератор
09.11.05
✎
11:25
|
(95) Все не так линейно - если продукт юзает не 100, а 500 новичков, то его стоимость бы даже упала. :-)
|
|||
99
Rovan
гуру
09.11.05
✎
11:26
|
(94) "Типизацию" в 1С рекомендуется писать прямо в названии пременных и придерживаться ее нво всех модулях
|
|||
100
Эксперт 1С
09.11.05
✎
11:28
|
(94) - строгая типизация упрощает обучение (Паскаль), но программировать с ней муторно.
|
|||
101
romix
модератор
09.11.05
✎
11:28
|
(96) Ну она имхо мягко стелет на самом деле...
Но можно напороться на неправильный тип, и долго думать, почему обнулилось поле, неправильно выполнился экономический расчет и т.п. |
|||
102
Волшебник
модератор
09.11.05
✎
11:28
|
(99) Лично я не рекомендую так делать. Префиксы усложняют чтение программного кода.
|
|||
103
romix
модератор
09.11.05
✎
11:31
|
(100) Зато правильно работает автозавершение (Intellisence)...
(102) У нас используется даже двойная префиксация. OpenConf: пишем скрипты для конфигуратора 1С 7.7 (статья) |
|||
104
romix
модератор
09.11.05
✎
11:34
|
(102) + Можно несколько сгладить эффект, если использовать очень короткие имена локальных переменных. Их длинное написание действительно делает код громоздким.
|
|||
105
SKrin
09.11.05
✎
11:35
|
(104) ...короткие, но осмысленные!
|
|||
106
Волшебник
модератор
09.11.05
✎
11:35
|
(103) А тройную не пробовали? Можно много всяких признаков в префикс переменной зашить: тип, область видимости, индекс и т.д.
|
|||
107
romix
модератор
09.11.05
✎
11:37
|
(105) Я повсеместно юзаю локальные переменные наподобие:
док, спр, тз, сз Но именно локальные - а глобальные, названия процедур и т.п. должны быть действительно осмысленные и без сокращений. |
|||
108
romix
модератор
09.11.05
✎
11:39
|
(106) Тип и область видимости. Для локальных переменных префиксы обл. вид., естественно, не нужны, т.к. их много, и код станет громоздким.
|
|||
109
AAAChel
09.11.05
✎
13:43
|
У типизации есть и плюсы и минусы. На мой взгляд, типизация в целом полезнее, она дисциплинирует, и мне не кажется, что 1С сознательно на нее пошла. Если уж для вычисления "И" вычисляются все операнды, хотя бывает все ясно уже на первом условии.
|
|||
110
romix
09.11.05
✎
14:47
|
(109) Проверил, действительно вычисляет две половинки составного условия:
Функция ааа() Сообщить("Вызвана ааа"); Возврат 10; КонецФункции Функция ббб() Сообщить("Вызвана ббб"); Возврат 15; КонецФункции //******************************************* Процедура Выполнить() Если (ааа()>0) или (ббб()>0) Тогда Сообщить("Условие выполнено"); КонецЕсли; КонецПроцедуры Выводит: Вызвана ааа Вызвана ббб Условие выполнено |
|||
111
romix
модератор
09.11.05
✎
14:53
|
(+110) Хотя, ничего страшного я в этом не вижу. Всегда можно исключить ненужные вычисления алгоритмически. А как это сделать неявно, не сильно (не в разы) усложняя парсер "скобочных" выражений, алгоритм лично мне неясен.
|
|||
112
AAAChel
09.11.05
✎
15:17
|
Страшного ничего конечно, но бывает, что приходится разносить "И" на несколько если, из-за того, что второе условие ошибочно при невыполнении первого:
Если (ПустоеЗначение(Док)=0) И (Док.Вид() = ТребВид) Тогда Многие другие трансляторы гораздо умнее. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |