|
OFF: Функция/Процедура | ☑ | ||
---|---|---|---|---|
0
trambalda
21.10.11
✎
17:11
|
Хочу отличиться в пятницу, задав дебильный вопрос.
А зачем, собственно, сделано это различие? Процедура и Функция. Сделать только функции религия у 1С не позволила? Или это разделение несет какой-то скрытый тайный смысл? И еще хочу конструкции типа +=. |
|||
1
Fragster
гуру
21.10.11
✎
17:13
|
а я хочу пива
|
|||
2
trambalda
21.10.11
✎
17:14
|
(1) Тебе проще, завидую. Потерпи часик 0)
|
|||
3
Fragster
гуру
21.10.11
✎
17:14
|
(2) не, мне еще рулить
|
|||
4
ChMikle
21.10.11
✎
17:14
|
процедура - выполняет какие-то действия и не возвращает результат
Функция- имеет входные и выходные параметры и может использоваться в качестве законченной маленьккой подсистемы , где есть вход -черный ящик-выход например : процедура реакция на изменения каких-то состояний реквизитов формы и функция умножения (а,b) возвращает результат a*b = c |
|||
5
Chai Nic
21.10.11
✎
17:15
|
По логике, функции в 1с - это неправильные функции. Ибо имеют побочные эффекты. По сути, функция должна только возвращать значение, и ничего больше. А любые изменения в среде должны делать процедуры.
|
|||
6
Zaid
21.10.11
✎
17:16
|
||||
7
Fragster
гуру
21.10.11
✎
17:16
|
(5) о_О
|
|||
8
ДенисЧ
21.10.11
✎
17:16
|
(7) он прав, вообще-то...
|
|||
9
DrShad
21.10.11
✎
17:16
|
(4) а процедура значит не может сделать, то же что функция?
|
|||
10
Mort
21.10.11
✎
17:17
|
(5) Не так категорично, но поддерживаю.
|
|||
11
ChMikle
21.10.11
✎
17:17
|
(9) >>А зачем, собственно, сделано это различие?
Процедура и Функция. это ответ на вопрос в чем разница ... |
|||
12
Zaid
21.10.11
✎
17:18
|
(8) Срач назревает )) Я вот не согласен. Смысловое разделение слишком условное и надуманное. Фактически разницы между ними нет никакой. Процедура - это таже функция, только более ущербная.
|
|||
13
trambalda
21.10.11
✎
17:18
|
(6) Блин, все удовольствие испортил, зараза!
Читать теперь весь тред. Не вижу в С++/Питоне и тьме других адекватных языков процедур. Что в них не так? |
|||
14
EvgeniuXP
21.10.11
✎
17:18
|
(0) а может наоборот оставить только процедуры, а результаты передавать через параметры обратно? :) зачем нам функции
|
|||
15
ДенисЧ
21.10.11
✎
17:18
|
(13) в с++ - void f(){} - вполне процедура.
|
|||
16
Mort
21.10.11
✎
17:19
|
(12) Оно по первой кажется надуманным. А на самом деле - пропасть.
|
|||
17
ChMikle
21.10.11
✎
17:19
|
Megas 0) Логическое разделение...
Удобно! Видиш слово Функция и понимаеш что она что то возвращает! Видиш процедура и знаеш что она отработает и всё! |
|||
18
izekia
21.10.11
✎
17:19
|
а вот в ассемблере нет функций
|
|||
19
Chai Nic
21.10.11
✎
17:20
|
(12) Понятие "Функция" математическое. Вы себе можете представить синус, который еще и кофе заваривает? Абсурд ведь.. А сишники привыкли к этому.
|
|||
20
trambalda
21.10.11
✎
17:20
|
(14) функция - 7 символов, процедура - 9.
Микроджоули энергии тратятся впустую. КонтролКу не предлагать, ибо зло. (15) Имхо все равно возвращает void. |
|||
21
ChMikle
21.10.11
✎
17:20
|
Кстати если все переменные назвыать гумно1,гумно2,гумно3... программа работать будет :), а удобнее код читать когда в переменных заложен мало-мальский смысл :)
|
|||
22
trambalda
21.10.11
✎
17:21
|
(17) Как же, отработает. Переменяет значения во всех параметрах и зашибись процедурка.
|
|||
23
EvgeniuXP
21.10.11
✎
17:21
|
(20) слово возврат еще не посчитал :)
|
|||
24
Mort
21.10.11
✎
17:22
|
Понимание разницы где то на грани понимания ООП. Для кого это возможность удобно написать код, а для кого-то мировоззрение, которое применяется в том же 1С при организации логики взаимодействия.
|
|||
25
izekia
21.10.11
✎
17:22
|
(17) угу, только никакого контроля нет даже в рантайме, что у тебя ретерна нет
|
|||
26
trambalda
21.10.11
✎
17:23
|
(24) А нет никакой связи между ООП и разницей между функциями/процедурами.
|
|||
27
Сниф
21.10.11
✎
17:24
|
А еще можно вне функций и процедур в конце модуля кодить...
|
|||
28
trambalda
21.10.11
✎
17:24
|
(27) За это надо четвертоколевовешать!
|
|||
29
Mort
21.10.11
✎
17:25
|
(26) Между ними нет, а между пониманием и непониманием есть.
(28) С чего бы? |
|||
30
Сниф
21.10.11
✎
17:27
|
(28) но иногда это просто необходимо
|
|||
31
Mort
21.10.11
✎
17:27
|
Кстати в модуле управляемой формы можно считать сколько раз форма гоняла на сервер и обратно )
|
|||
32
trambalda
21.10.11
✎
17:28
|
И вообще, даешь питоновый синтаксис!
Когда-тогда, пока-цикл. fffuuu... Микроджоулей жалко. |
|||
33
Cthulhu
21.10.11
✎
17:29
|
функция должна вычисляться (не меняя данные).
процедура должна выполняться (что-либо изменять в данных - включая оперативные и временные). это можно соблюдать, а можно и не соблюдать при программировании. |
|||
34
Cthulhu
21.10.11
✎
17:30
|
(32): фихтебе! дайошш brain-овский синтаксис !!!!
ЗЫ: ну, или forth-овский на крайняк... |
|||
35
EvgeniuXP
21.10.11
✎
17:30
|
(32) зп урежут, так что не жалей, наоборот раздувать надо - больше будут платить.
|
|||
36
Mort
21.10.11
✎
17:31
|
Ещё раз пропиарю вот
http://www.ozon.ru/context/detail/id/5011068/ очень хорошо разъясняется что хорошо и что плохо. |
|||
37
Сниф
21.10.11
✎
17:31
|
(36) Чистый кот?
|
|||
38
Mort
21.10.11
✎
17:32
|
(37) Угу, не какой-нибудь помойный.
|
|||
39
Cthulhu
21.10.11
✎
17:32
|
(38): потвойный?..
|
|||
40
trambalda
21.10.11
✎
17:33
|
(33) Да не нужен этот микроменеджемент никому.
(34) Только не Форт, количество 1ников резко снизится. (36) Знакомый кот, только на (0) не отвечает. |
|||
41
Mort
21.10.11
✎
17:37
|
(40) Там все написано. Одна функция/процедура должна делать что-то одно. Функция возвращать, процедура выполнять. Функцию которая что-то меняет это ФУ, даже если в определенном случае такое решение занимает меньше кода.
|
|||
42
Zaid
21.10.11
✎
17:40
|
(41) А логическое объяснение этому есть? Минусы решения, которое занимает больше место и, тем самым, менее читабельно, понятны. А есть ли у такого решения плюсы? А то "ФУ" как-то не очень убеждает.
|
|||
43
Любопытная
21.10.11
✎
17:41
|
(1) Я уже не хочу)
|
|||
44
syktyk
21.10.11
✎
17:42
|
Функция - это от математиков пошло
|
|||
45
trambalda
21.10.11
✎
17:43
|
(41) Переделывая в том году на С++/qt (под линукса) фронт-офис, фактически переписывая заново, ковыряясь с кучей исходников библиотек разной степени глючности, меня посетила простая мысль - книги все эти (про котов) пишут высоколобые аутисты с марса, питающиеся солнечным светом. Ибо так программы никто не пишет. Ну вообще никто. Я не буду отрицать, что в книге все разумно и правильно, но жизнь есть жизнь.
|
|||
46
Mort
21.10.11
✎
17:43
|
(42) По сравнению с количеством кода подобная мешанина в процедурах/функциях гораздо сильнее усложняет код.
|
|||
47
Chai Nic
21.10.11
✎
17:43
|
(42) Ты можешь вызывать функцию, не задумываясь о побочных эффектах. Это очень важно с точки зрения повторного использования кода и минимизации велосипедостроения.
|
|||
48
Mort
21.10.11
✎
17:45
|
(45) А мой кореш пишет на жаве именно так. Конечно не в один в один, но есть рекомендации, которые тупо увеличивают скорость работы за счет порядка в коде.
|
|||
49
syktyk
21.10.11
✎
17:47
|
Понятие функции впервые появилось в Фортране, языке который был разработан для математиков
|
|||
50
trambalda
21.10.11
✎
17:48
|
(47)
(48) Я не спорю. Есть светлые головы. И я стараюсь быть светлой. Но 99% (и девять в периоде) плевали. |
|||
51
EvgeniuXP
21.10.11
✎
17:50
|
некоторые даже элементарных отступов не делают в циклах.... или пишут от самого левого края... или еще хуже: пишут ИМЯПЕРЕМенной - ибо 1С на это регуается, а еще их начальство поощряет и дает категории :)
|
|||
52
EvgeniuXP
21.10.11
✎
17:50
|
(51) * на это не ругается
|
|||
53
syktyk
21.10.11
✎
17:51
|
(50)А если "б" передается по ссылке?
|
|||
54
Chai Nic
21.10.11
✎
17:52
|
(50) Ну и? Это всего лишь иллюстрирует несовершенство программной модели 1с.
На самом деле, функция не должна изменять и формальные параметры тоже. И те объекты, на которые они ссылаются. И глобальные объекты. В общем случае, функция на входе должна иметь некий "снапшот" состояния среды на момент её вызова, и любые изменения в нем не должны менять контекст вызова. |
|||
55
Mort
21.10.11
✎
17:53
|
(50) Гы. Реквизит объекта в "б" пошли.
|
|||
56
pumbaEO
21.10.11
✎
17:54
|
(54) это дорого для каждого вызова функции создавать "снапшот" переменных.
|
|||
57
Mort
21.10.11
✎
17:56
|
(56) Он имел ввиду что на выходе функции состояние системы не меняется. Все встроенные функции 1С следуют такому принципу, за исключением диалоговых, которые возвращают признак выполнения.
|
|||
58
Chai Nic
21.10.11
✎
17:56
|
(56) Ничуть. В версионных серверах баз данных это реализовано просто - в транзакции создаются новые версии значений только при изменениях. Полного копирования не происходит. По сути, тут тоже будет неявная версионная транзакция с обязательным откатом.
|
|||
59
trambalda
21.10.11
✎
17:56
|
(53) Ну по идее, наверное, тру все переменные писать как Знач. Но кто это делает?
Я к тому, что ключевое слово "Функция" не дает гарантии того, что эта функция только возвращает. Она запросто может и входные параметры крыжить и внутри базы колбасить. То есть смысла в разделении Ф и П нет. Чисто традиция 1С, попытка быть лайк ВизуалБейсик. |
|||
60
Mort
21.10.11
✎
17:57
|
(59) Это в г0внокоде функция не дает таких гарантий, а у реальных пацанов даёт.
|
|||
61
Chai Nic
21.10.11
✎
17:57
|
(59) "знач" ничего не гарантирует. Например, "знач ТабЗнач" не запрещает изменять эту таблицу значений.
|
|||
62
Cthulhu
21.10.11
✎
17:58
|
(59): те, которые в коде изменяются - всегда описываю со "Знач".
|
|||
63
trambalda
21.10.11
✎
17:58
|
(60) Жаль что типовые пишут не очень реальные пацаны )
|
|||
64
Cthulhu
21.10.11
✎
17:58
|
(61): гарантирует умение понимать встроенный язык, в частности знание метода "Выгрузить", например.
|
|||
65
Chai Nic
21.10.11
✎
17:59
|
(64) Я говорю про несовершенство программной модели, не умеющей делать надежную изоляцию функций. А вы о костылях. :)
|
|||
66
Mort
21.10.11
✎
17:59
|
(63) Их просто много, где столько реальных взять?
Покажи пример из типовой. |
|||
67
Mort
21.10.11
✎
18:00
|
+(57) И выборок ещё. ну про итераторы отдельная тема.
|
|||
68
Cthulhu
21.10.11
✎
18:03
|
(65): а я о достаточности программной модели для реализации надежной изоляции функций.
|
|||
69
Chai Nic
21.10.11
✎
18:06
|
(68) Если программист должен что-то предпринять для изоляции - она не может считаться надежной! Это как приснопамятные сишные строки с выделяемым заранее буфером, и не дай бог в него записать лишнее - система позволит.. :)
|
|||
70
Cthulhu
21.10.11
✎
18:09
|
(69): программист по-любому "должен что-то предпринять" для изоляции, так что согласно твоему утверждению все системы программирования хреновые. а на самом деле - "неча на зеркало пенять..."
|
|||
71
pumbaEO
21.10.11
✎
18:10
|
(66)
Функция ОбновитьИндексППД(ИнформацияОбАктуальностиИндексаППД,ППДВключен,ИндексАктуален) Экспорт Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить Тогда Возврат НСтр("ru = 'Использование индекса полнотекстового поиска данных запрещено!'"); КонецЕсли; Если Не ПолнотекстовыйПоиск.ИндексАктуален() Тогда ПолнотекстовыйПоиск.ОбновитьИндекс(); КонецЕсли; ОбновитьИнформациюОбАктуальностиИндексаППД(ИнформацияОбАктуальностиИндексаППД,ППДВключен,ИндексАктуален); Возврат ""; КонецФункции ОбновитьИнформациюОбАктуальностиИндексаППД - процедура, которая успешно в далнейшем меняет все переданные параметры. |
|||
72
Mort
21.10.11
✎
18:12
|
(71) Это потому что исключение через ж0пу реализовано.
|
|||
73
Chai Nic
21.10.11
✎
18:14
|
(70) Почему-то в серверах БД это реализовано (снапшот-транзакции). А ведь могли бы обойтись одним грязным чтением. И всё на усмотрение программиста... пусть сам всё предпринимает. Да? :)
Суть надежного программирования в том, что система должна позволять МАТЕМАТИЧЕСКОЕ доказательство корректности кода. Если она позволяет побочные эффекты - она не может быть априори надежной. |
|||
74
Cthulhu
21.10.11
✎
18:16
|
(73): что именно реализовано??? телепатическое обнаружение исполнительной системой того, по ссылке или по значению следует использовать полученный параметр???
Утверждение (70) не противоречит определению надежного программирования. может хорош умничать, а просто подумать?.. |
|||
75
Chai Nic
21.10.11
✎
18:18
|
(74) Системе никакой телепатии не надо. Надо просто открыть версионную транзакцию в режиме снапшот. Если бы система это умела, конечно...
|
|||
76
Cthulhu
21.10.11
✎
18:22
|
(71): ещё в типовых нарывался на совершенно чюдное действо при проведении документа если переменная модуля не инициализируется в составе выполняемых процедур (проинициализирована в теле модуля). при программном проведении следующего документа того же вида, как ранее проведенный, исполнительная система не компилирует модуль документа, а использует ранее прокомпилированный (при проведении предыдущего документа) - причем со всеми "унаследованными" от проведения предыдущего документа значениями переменных модуля!!! повеселился изрядно.
(75): Умник, ты исходный то смысл не подменяй. Речь о том, что исполнительной системе по-любому необходимо как-то различать в процедуре/функции - использовать полученный параметр "по значению" или "по ссылке". см.(65),(68). |
|||
77
Ахиллес
21.10.11
✎
18:24
|
Точно аутисты с Марса. Если не писать ничего сложнее, чем с = а+ б тогда может и прокатит разделение на : "функция должна вычисляться (не меняя данные)"
"процедура должна выполняться (что-либо изменять в данных - включая оперативные и временные)" А в жизни чаще всего бывает так: Функция ВообщеБезПобочныхЭффектов(а, б) ПолучиФашистГранату(б) с = а + б; Возврат с; КонецФункции Процедура ПолучиФашистГранату(б) б = 12; КонецПроцедуры То есть даже вызывая "безопасную" функцию вы не будете уверены, что ничего не изменится пока не просмотрите весь код. |
|||
78
EvgeniuXP
21.10.11
✎
18:25
|
(59) у всех переменных слово Знач не пишут - захламление кода и захламление памяти, что влияет в конечном счете на производительность... зато понимание кода лучше, т.е. это передаются туда не ссылки и переменные не меняют свои значения, которые используются ранее до вызова процедуры или функции.
|
|||
79
pumbaEO
21.10.11
✎
18:29
|
(78) тем не менее в БСП все чаще стало встречаться в функциях Функция ПолучитьТипАдресногоЭлементаПоКоду(знач Код)
ну а с примером из (77) ничего не сделаешь, правда жизни и никуда не деться. |
|||
80
Chai Nic
21.10.11
✎
18:29
|
(76) Передача параметров по ссылке/значению - ненужная и навязанная сущность. На самом деле, в правильной системе в функцию передаются параметры как часть передачи всей единой среды(контекста). То есть, чтобы ты мог делать всё что угодно внутри функции. А контекст вызова гарантированно НИЧЕГО бы не увидел из этого, кроме явно возвращенного функцией значения! А для этого надо, чтобы среда исполнения поддерживала транзакции не только на уровне БД, но и на уровне локальных переменных. Вход в функцию - старт транзакции, выход - откат.
|
|||
81
Chai Nic
21.10.11
✎
18:30
|
(77) Именно поэтому я считаю, что отсутствие побочных эффектов должна гарантировать среда исполнения. Скажем, через объявление функции с ключевым словом "строгая".
|
|||
82
pumbaEO
21.10.11
✎
18:32
|
(80) та ну, перед вызовом функции начал транзакцию, в функции поменял состояние базы, вышел из функции отменил транзакцию...
|
|||
83
Chai Nic
21.10.11
✎
18:33
|
(82) В чем проблема? Транзакция бывает не только блокировочная, но и версионная, которая не мешает жить другим.
|
|||
84
Alexandr Puzakov
21.10.11
✎
18:37
|
Советую несогласным с идеологией 1С:Предприятия написать свою, вот уже очередную убивцу 1С :)
|
|||
85
Ахиллес
21.10.11
✎
18:38
|
(83) Проще оставить только функции, а всю ответственность переложить на прога.
(84) А у 1С есть идеология? Может расскажешь какая, а то тут ищем, пытаемся причины понять, нифига не находим. |
|||
86
pumbaEO
21.10.11
✎
18:38
|
(84) обязательно с NOSQL БД. :)
|
|||
87
Ахиллес
21.10.11
✎
18:46
|
Вот вы пытаетесь облегчить жизнь прогам, заставить платформу помогать прогу, сопли за ним вытирать. Это не верно. 1С должна стать опасной, как нитроглицерин. Одно неверное движение и база взлетает на воздух, а прог отправляется на прогулку в бетонных башмаках по дну ближайшего озера. Вот тогда в соответствии с естественным отбором, одинэсники наконец то начнут выпускать приличные конфы и зарплата у них повысится как минимум до "отдвухсоттыщ".
|
|||
88
Chai Nic
21.10.11
✎
18:53
|
(87) Ну вот язык Си опасный как нитроглицерин. Это не спасает от кривых програм, падающих от малейшего чиха, и представляющих благодатную среду своими уязвимостями для разных вредоносных программ...
|
|||
89
Господин ПЖ
21.10.11
✎
18:54
|
(0) лучше б ты бабу хотел... рыжую...
|
|||
90
pumbaEO
21.10.11
✎
18:56
|
ладно в понедельник продолжим http://media.ifun.ru/2/z/2zctdavk.gif
|
|||
91
Алистар
21.10.11
✎
21:25
|
void hhh(int *g, int *h){
*g=*h+1; }; hhh(&g,&h); в нормальных языках все видно |
|||
92
Chai Nic
21.10.11
✎
21:37
|
(91) Что именно видно?
|
|||
93
aleks-id
21.10.11
✎
22:00
|
а на асме то функций нет. одни proc ))
|
|||
94
zak555
21.10.11
✎
22:02
|
(0) процедуры не нужны в принципе
|
|||
95
ДенисЧ
21.10.11
✎
22:11
|
(94) Языки программирования не нужны вообще.
|
|||
96
aleks-id
21.10.11
✎
22:13
|
(94) дадада. я как раз об этом говорил в (93)
|
|||
97
zak555
21.10.11
✎
22:16
|
(95) это не суть
(96) можно всё и на процедурах сделать, только красивее - на функциях |
|||
98
aleks-id
21.10.11
✎
22:21
|
(97) учитывая что процедура на уровне машинного кода ничем не отличается от функции наверное да.
|
|||
99
zak555
21.10.11
✎
22:24
|
||||
100
zak555
21.10.11
✎
22:24
|
соткаНАХ
|
|||
101
IamAlexy
21.10.11
✎
22:26
|
опять 1Сники мажут г.вном лопату которой работают от зари до зари?
вот ведь странные люди.. |
|||
102
zak555
21.10.11
✎
22:30
|
(101) что за лопата ?
|
|||
103
trambalda
21.10.11
✎
22:33
|
(101) Не мажут гомном, а размышляют о бытие.
Что вполне нормально для просвещенного человека. Размышлять. |
|||
104
IamAlexy
21.10.11
✎
22:33
|
(102) это метафора...
1сники как никто другой любят хаять тот инструмент который дает им возможность безбедно существовать особо не напрягаясь ни умственно ни физически.. любят хаять ту среду в которой проводят больше всего своего времени осознаного.. |
|||
105
zak555
21.10.11
✎
22:34
|
(104) так ты про какой инструмент именно ?
|
|||
106
IamAlexy
21.10.11
✎
22:35
|
(105) забей...
|
|||
107
zak555
21.10.11
✎
22:35
|
1с ?
|
|||
108
EvgeniuXP
21.10.11
✎
22:36
|
(106) не обращай внимание на (105) пятница :)
|
|||
109
trambalda
21.10.11
✎
22:38
|
(104) Где ты тут увидел хай?
Ты с 1С два месяца, отсюда восхищение? Тут есть люди которые с шестой версии с 1С живут. Имеют право и основания на критику. Так как не только они зарабатывают посредством ковыряния 1с, но и фирма 1С зарабатывает посредством этих людей, которые ковыряют ее успешно. Просто хочется больше логики и удобства в ковыряниях. |
|||
110
IamAlexy
21.10.11
✎
22:42
|
(109)гыыыыыыыы
точно.. г.вно эта ваша 1Ска.. 7ка убога 8ка сыра 6ка для имбицилов ибо тупа |
|||
111
aleks-id
21.10.11
✎
22:45
|
(109) я уже досёвую двойку ковырял, когда ты в памперсы первые мысли выкладывал ;)
|
|||
112
trambalda
21.10.11
✎
22:45
|
(110) Ну а чего передергивать-то.
7ка отличная вещь. 8ка другая отличная вещь. Но во всем есть недостатки, которые надо не замазывать пафосом "мля она же тебя кормит гадина что ты ее хаешь дрянь!", а освещать и обсуждать. |
|||
113
trambalda
21.10.11
✎
22:46
|
(111) У меня дома ДВК-3 была, когда ты еще под стол ходил, дитятко.
И я вел секцию по ассемблеру в классе с БК0010Ш |
|||
114
zak555
21.10.11
✎
22:47
|
у всех линейка с собой ?
|
|||
115
IamAlexy
21.10.11
✎
22:48
|
(112) ыыыыыыы
извечное мистовсвое нытье про убогую глючную 1с с ее недопереведенным кастрированным бейсиком? ну раз..ну два.. на третий раз уже тупо влом. причем поноют поноют и обратно.. 1Сить.. никто в сишарп не уходит.. никто в явакодеры не рвется.. сидят себе в бухгалтериях.. втихоря печеньки жрут и обновления ставят... ибо выгодно, ненапряжно... |
|||
116
trambalda
21.10.11
✎
22:49
|
(115) Суть в том что судишь ты по себе, причем детализированно - с печеньками и обновлениями.
|
|||
117
IamAlexy
21.10.11
✎
22:50
|
(116) как типический 1Сник имею право.. :)
|
|||
118
IamAlexy
21.10.11
✎
22:50
|
поправлюсь: как типический тупой ленивый и жадный 1Сник...
|
|||
119
trambalda
21.10.11
✎
22:53
|
(117) А мне обидно!
Ибо нет ни печенек ни обновлений, а туеву хучу работы надо сдать в понедельник! Суть которой заключается в подтирании гомна, которое наваяли франчи и уволенный до меня программист. Почему нет шорткатов в 1С настраиваемых? Я когда с питона и любимого vim захожу в пофигуратор, рыдаю. |
|||
120
Chai Nic
21.10.11
✎
22:54
|
И в России люди живут.. ругают власть, ругают себя - но в Америку не очень то хотят в большинстве своем.. Так и здесь. 1с не идеал, да реальной альтернативы нет. Но пообсуждать можно и нужно! Ибо лучше знать недостатки, и уметь превращать их в достоинства по мере возможностей.
|
|||
121
IamAlexy
21.10.11
✎
22:59
|
(119)зачем ты насилуешь себя?
иди в сишники.. кодь какоенить СПО на кутэ... в чем проблема то? (120) в чем то ты прав.. но нытье бесконечное достает время от времени.. особенно когда муфлон подвывает про плохих франчей.. прям вообще сидишь и думаешь - а нафига люди то вообще с желтобелыми связались то? шли бы себе нефть качать, или какихнить там одноклассников развивать в интернете.. ан нет.. сидят.. ноуют.. стенают.. разгребают кучи завалов.. |
|||
122
trambalda
21.10.11
✎
23:04
|
(121) Проблема у тебя. У остальных все ок. Решили поговорить за процедуры и функции, говорим. Зачем насилуешь себя, не нравится - не читай. Береги нервы, Сеня.
|
|||
123
trambalda
21.10.11
✎
23:05
|
Бесконечное нытье псевдогуру о том что нельзя даже косвенно упоминать о недостатках достает время от времени.
|
|||
124
IamAlexy
21.10.11
✎
23:06
|
(123) ээээ чо за нытье?
меня это радует.. забавляет можно сказать :) см (101) - где там нытье то? так.. мимиходом глянул о чем ветка.. ожидания оправдали - 1Сники хают 1С - все как обычно :) |
|||
125
trambalda
21.10.11
✎
23:11
|
(124) Это я зеркалю так.
Да где хай-то? Где мазание гомном? Обычный диалог. Мазание это когда приходит умный перец и говорит - 1С гомно, вы ослы, давайте внедрять Дакс! |
|||
126
Torquader
22.10.11
✎
01:53
|
Нет, а чем вам не нравится подход OLE, когда есть входные и есть выходные параметры - и получается, что есть только процедуры, так как возвращается "функциями" код ошибки OLE.
Просто, если бы язык был чисто процедурный, то нельзя бы было написать Выбрать().Получить, так как значение нужно было бы указывать в скобках. А если бы были только функции, как в JavaScript, то нельзя бы было передать параметр по ссылке. Да и вообще, думать о разнице процедур и функций, программируя на языке, где нельзя написать a=(b=c+d)+e |
|||
127
Mnemonic1C
22.10.11
✎
06:02
|
(0) У процедуры есть СтатусВозврата(), зачем он в функции?
|
|||
128
DGorgoN
22.10.11
✎
06:05
|
(127) Сакральный смысл..
(0) P.S. Функция как бы должна возвратить какое то значение. Традиции? |
|||
129
Loyt
22.10.11
✎
07:43
|
(0) Ну да, процедура - это усеченная в функциональности функция. И что? В чем неудобство-то? Хочется использовать только функции - флаг в руки. Вот только такой подход в случае 1С с ее нетипизированными переменными еще сильней путать будет - ибо возврат писать все равно придется, а то, что он незначащий уже не очевидно.
Спроси еще нафига нужна обработка, если есть отчет. Там ситуация аналогичная. |
|||
130
Chai Nic
22.10.11
✎
08:08
|
"процедура - это усеченная в функциональности функция"
А молоток - это усеченный в функциональности микроскоп! :) |
|||
131
orefkov
22.10.11
✎
11:15
|
(129)
Занудства ради укажу, что писать "возврат" в функциях 1С вовсе необязательно. А для меня разделение на функции/процедуры в 1С удобно тем, что когда я допустим пишу (знак | это положение курсора) а = | или к примеру Если | то интеллисенс мне из списка дополнений убирает все процедуры, ибо они в выражениях не могут применяться. И наоборот, есть ряд функций, которые только в выражениях могут появляться, и интеллисенс мне их из списка убирает, если набор идет не в выражении. Ну а += уже давно сделано, причем для 7ки бесплатно. |
|||
132
trambalda
22.10.11
✎
11:21
|
(131) Александр, опять реклама? )))
Я не против, но доведите эту софтинку хотя бы до стабильной работы. А то на форуме страшно читать отзывы, все в стиле "ежики плакали, кололись, но продолжали". Я, например, не пользуюсь всякими вспомогалками, и контрол-пробел отключен. С памятью повезло. А вот шорткатница будет кстати. |
|||
133
orefkov
22.10.11
✎
11:29
|
(132)
Так шорткатница как-раз таки работает оченно стабильно, а телепатирование, если глючит, в последних альфах можно отключить. Но боже упаси, я ни кого не заставляю кушать кактус, все сугубо добровольно. Ну и понятно, что мне более импонирует подход "ну попробуем, но вы уж доведите", чем "вы уж доведите, а мы может и попробуем". |
|||
134
Mikeware
22.10.11
✎
11:31
|
(133) и "ничто так не укрепляет доверие, как 100% предоплата"© :-)))))
|
|||
135
Ненавижу 1С
гуру
22.10.11
✎
11:34
|
ПРО неопределено интересней
|
|||
136
trambalda
22.10.11
✎
11:36
|
(133) Я готов занести деньги только за стабильный продукт. Но зато готов. А вот тестировать не очень интересно, даже за бонусы.
Только я не понял, регистрация на сайте Снегопата, чтобы получить альфу - по личной просьбе? |
|||
137
orefkov
22.10.11
✎
11:40
|
(136)
Да, пока по личной просьбе. Авто-обонлайнивание будет только с выходом первого релиза. |
|||
138
Cthulhu
22.10.11
✎
23:26
|
(131): "есть ряд функций, которые только в выражениях могут появляться, и интеллисенс мне их из списка убирает, если набор идет не в выражении" - а вот тут беда. любая функция может быть использована и не справа от присваивания. иногда достает, например, когда нельзя "ЗначениеИзСтрокиВнутр(тырыпыры).Выгрузить(трампампам.тыцдрыц)", например...
|
|||
139
orefkov
23.10.11
✎
00:26
|
(138)
Так я и говорю, что не все функции такие. Это например, СокрЛП, Лев, Прав и т.п. Вызывать такие функции как процедуры бессмысленно. В 7ке еще можно было, а в 8ке компилер сразу ругается - "функция может быть использована только в выражении". А штатная подсказка между тем и не думает убирать их из списка. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |