Страницы: 1 2 След.
RSS
Макросы и прикладное ПО, Макрос, как программа на одной ножке - что это значит?
 
Цитата
Мотя пишет: макрос - это "программа на 1-ой ножке": для корректной работы должны соблюдаться все условия, которые макрос "оговаривает".
Мотя, не сочтите за придирки - но Вы знаете другие программы? которые при несоблюдении "всех условий" работают корректно?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
макрос - это "программа на 1-ой ножке":
В любой программе, которая претендует на принадлежность к ПО, есть "защита от дурака".
Макрос - это программа, использование которой заведомо предполагается временным.
В связи с этим наращивать в макросе "арсенал защиты" не представляется целесообразным.
P.S.
Я не имею в виду функции, надстройки и т.п..

============================================================­=====
припишу сюда первые сообщения, чтобы нить обсуждения не потерялась(The_Prist):
Цитата
И еще...
Структура таблиц во всех "собираемых" файлах должна быть единой для всех файлов, ибо макрос - это "программа на 1-ой ножке": для корректной работы должны соблюдаться все условия, которые макрос "оговаривает".
Прошу пардону за провокацию для обсуждения вопросов, не имеющих к теме прямого отношения.
Говоря о ПО в сравнении с макросом, я имела в виду прикладное ПО, которое, как правило, находится всегда в состоянии изменений не только по прикладным вопросам, но и в части той самой "защиты от дурака".
Оригиналы не перенесенных сообщений можно найти здесь: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=60396
 
Мотя, Ваша категоричность иногда убивает наповал :)
Макрос - это мини-программа, процедура или функция.
Любая программа состоит из "кирпичиков" - блоков кода, предназначенных для различных целей. И если такой блок не предусмотреть в "программе, которая претендует на принадлежность к ПО" - какое отличие она будет иметь от макроса. в котором тоже не предусмотрена такая защита?
Я  имею в виду и "функции, надстройки и т.п.."
 
Цитата
Мотя пишет: В любой программе, которая претендует на принадлежность к ПО, есть "защита от дурака"
Например? Есть программы с заведомо FreeWare-ным распространением(та же Опера или uTorrent). Они не претендуют на принадлежность к ПО?
Кажется, Вы сильно путаете понятия. ПО - программное обеспечение. А к этому можно отнести даже простейшую программу вроде калькулятора. И если в ней не будет защиты - она не станет от этого не являться программой.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
т.е. если я добавлю в UDF проверку соответствия введенных данных нужному типу, это будет уже ПО, а до этого - жалкий макрос?  :D
F1 творит чудеса
 
Мотя, меня тоже убивает Ваша категоричность по отношению к макросам - "на одной ножке"...
Ctrl+F - это ведь по сути тоже макрос, только написанный на другом языке. Если написать его аналог на VBA - где тут будет "одна ножка"?
Цитата
Мотя пишет: Макрос - это программа, использование которой заведомо предполагается временным.
А это вообще шедевр))
 
Уважаемый Юрий М!
Не могу понять Вашу дополнительную реплику: я ведь уже уточнила, что я имею в виду относительно макросов и ПО.
В ситуации, когда Генератор Отчетов в прикладном ПО, используемом в организации, "не успевает" за потребностями пользователей, на помощь приходят экспорт из ПО в EXCEL и пользовательские макросы в нем. Как известно, прикладное ПО находится в постоянном развитии, его Генератор Отчетов - также. Поэтому потребность в использовании ранее созданных макросов может вполне закончиться.
 
Уйдем в глубокий ОФФ(позже попробую перенести отдельные сообщения данной темы в Курилку):

Мотя, Вы уж извините, но Вы сейчас какой-то бред несете. Или я просто не дорос до его понимания :-) Серьезно, без всяких шуток.
Скажите, какая по-Вашему разница между ПО и прикладным ПО?
Насколько знаю я Прикладное ПО - это одна из разновидностей ПО, которое не может существовать без системного ПО(ОС как правило).
И утверждение, что прикладное ПО всегда в развитии не верно, т.к. его развитие напрямую зависит от его области применения и его создателя. Если такое ПО не пользуется спросом(Вы удивитесь, когда узнаете сколько на свете бесполезных программ, развивать которые никому и в голову не придет) - оно и обновляться не будет, ибо смысла нет развивать то, что никто не использует.
Т.е. в рамках обсуждаемого вопроса, можно сказать, что VBA не является полноценным инструментом для создания ПО, т.к. созданные им коды могут использоваться исключительно внутри отдельного приложения, в которое он встроен(Microsoft Office). Прошу не приплетать сюда VBS и пр. VBS можно создать и использовать без VBA(как и любую программу - в текстовом файле). Речь же о VBA только. Именно поэтому, а не по критерию "защиты от дурака" или развитию самой программы(кода).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist пишет: Уйдем в глубокий ОФФ
Имейте в виду, за нарушение правил в этом случае я не отвечаю...  :D    
Цитата
The_Prist пишет: Если такое ПО не пользуется спросом(Вы удивитесь, когда узнаете сколько на свете бесполезных программ, развивать которые никому и в голову не придет) - оно и обновляться не будет, ибо смысла нет развивать то, что никто не использует.
Я ведь уточнила - речь идет об используемом прикладном ПО.
Информация об огромном  количестве бесполезных, а также безнадежно устаревших программ  доступна всем.  ;)  
Цитата
Речь же о VBA только.
А я о чем?
Цитата
The_Prist пишет: Насколько знаю я Прикладное ПО - это одна из разновидностей ПО, которое не может существовать без системного ПО(ОС как правило).
Это - открытие? Для кого?
 
Мотя,
Цитата
Мотя пишет: В любой программе, которая претендует на принадлежность к ПО, есть "защита от дурака".
Макрос - это программа, использование которой заведомо предполагается временным.
Цитата
Мотя пишет: Говоря о ПО в сравнении с макросом, я имела в виду прикладное ПО, которое, как правило, находится всегда в состоянии изменений не только по прикладным вопросам, но и в части той самой "защиты от дурака"
Поэтому мое сообщение никак не противоречит Вашим утверждениям. Особенно в части защиты от дурака только в программах, претендующих на принадлежность к ПО.
И как раз про состояние изменения я ничего не понял. Вы же сами пишите "прикладное ПО, которое как правило...". А если не как правило? Тогда что? Если программа не изменяется - она не ПО? Как минимум - не прикладное? Но тогда макросы - самое настоящее прикладное ПО - они изменяются чаще других, т.к. просты в освоении. В том числе в плане защиты от дурака. Потому что другой там и нет. Вопрос-то в этом. У меня, по крайней мере.
Я не высказываю претензий к Вам, ни в коей мере. Просто подумал, что Вы не очень понимаете что такое прикладное ПО и что к нему относится. Вот и все. Но, как понимаю, Вы знаете, что это, но я просто не понимаю Ваших объяснений.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Кстати, про временность макросов: работал в одно крупной компании. И т.к. программисты 1С всегда были очень заняты, а время как всегда не терпит - попросили меня создать программу учета документооборота(сканирование ШК пакетов, автоматический их учет, ведение БД о передвижении документов между отделами и внутри архива и т.п.). Написана была на VBA. Использовался Excel. И работала она более двух лет, пока я не уволился оттуда. Дорабатывалась, изменялась местами. Вот когда уволился - некому стало дорабатывать под нужды(ну не было специалистов подобного класса) и пришлось все же напрячься 1С-никам. А если бы не ушел - так и вели бы учет документов в Excel.
Так что временность - это не удел макросов. Это все зависит от тех, кто их пишет и кто использует. И это может относиться к любой программе на любом языке. Если будет потребность в изменении, но некому будет - программу забросят и будут искать замену. Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Мотя пишет: Не могу понять Вашу дополнительную реплику
А реплика моя вызвана тем, что уже в который раз, Вы пишете про эту пресловутую ножку. И не устаёте повторять.
Аналогичная ситуация повторяется, когда кому-нибудь требуется СВОЯ форма для заполнения БД - Вы тут же достаёте старый патефон и заводите свою любимую пластинку про изобретение велосипеда, предлагая известную надстройку. Но человек хочет СВОЮ форму. Понимаете,- СВОЮ.
Вспомните анекдот про продавца, который Вам рассказал Виктор.
 
Уважаемый The_Prist!
Думаю, если бы я была аккуратнее в выражении своих мыслей и написала бы так:
"Говоря о ПО в сравнении с макросом, я имела в виду используемое прикладное ПО, которое находится всегда в состоянии изменений по прикладным вопросам, заменяя потребность в использовании ранее созданных пользовательских макросов новыми штатными режимами ПО", то не вызвала бы столько негатива в свой адрес.  :D  
Цитата
The_Prist пишет: Так что временность - это не удел макросов.
Я полагаю, что время жизни пользовательского макроса определяется ответственностью разработчика за качество прикладной части ПО.  :)  
Несмотря на то, что в профессиональной жизни я не работаю в EXCEL, считаю, что EXCEL - инструмент, без которого сегодня не может обойтись ни один экономист (финансист,.бухгалтер).
 
Цитата
Мотя пишет:
Я полагаю, что время жизни пользовательского макроса определяется ответственностью разработчика за качество прикладной части ПО .
Счел это камнем в свой огород. Притом камень не заслуженный. Вы часто делаете программы другим людям? Я часто. Так вот: если программа более-менее серьезная(особенно внутри компаний), то всегда надо что-то дорабатывать, т.к. меняются какие-то регламенты, пожелания по работе, руководство, в конце концов, которое имеет свой взгляд на работу данной программы. Вследствие чего просят доработать/изменить. И разработчик не может этого предусмотреть и сделать программу на века и для всех случаев жизни. И его ответственность за качество продукта здесь не при чем. Поверьте, я делаю достаточно качественные программы, чтобы не возникало претензий к их качеству. Так что советую Вам впредь не один раз подумать, прежде чем высказывать в подобном ключе.

Есть подозрение, что Вы пытаетесь судить то, о чем имеете поверхностное понятие и с чем сталкивались только по наслышке или по ту сторону баррикад(т.е. не как разработчик ПО).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist пишет: Поверьте, я делаю достаточно качественные программы, чтобы не возникало претензий к их качеству.
Разве в этом кто-то сомневается?
Лично я на Вашем сайте (excel-vba.ru) нашла для себя много полезных и качественно работающих макросов, которые использую в своих опусах.
Это очень удобно и надежно.
Цитата
The_Prist пишет: т.е. не как разработчик ПО
К разработке ПО я действительно не имею никакого отношения - это же видно "невооруженным глазом"!  :D
 
Цитата
Мотя пишет: Это очень удобно и надежно.
И как "надёжно" вяжется с одной ножкой? ))
 
Очень даже вяжется: поставила на одну ножку - и работает отлично, и места мало занимает :)
 
Господа, лично я "одну ножу" понял именно как то, что макросы до ПО не дотягивают как ни крути(т.к. это же лишь макропрограммы внутри другого приложения). И эта ножка меня не парит - если мне надо, я пишу программу совершенно в другой среде. И высказывание вроде как было в том контексте, что это хоть и "недопрограммы", но для их работы так же требуется соблюдение четких правил.
Просто в других высказываниях сплошные нестыковки - и именно эти другие сообщения и вызывали мой "интерес" к обсуждению. А вот Ваш негатив к ножке мне не очень понятен :-) Ну хочет человек так называть - это его дело. Поэтому как раз здесь не вижу повода для разногласий.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
можно резюмировать обсуждение ножек макроса:
Цитата
Штирлиц посмотрел в окно.
- Какие ножки у этой крошки! - сказал он стихами. - Смотри, Борман.
Борман достал из стола цейсовский бинокль и подошел к Штирлицу. Минуту они молчали. За это время Штирлиц успел обдумать словаБормана, а Борман догадался, что Штирлиц его отвлек.
F1 творит чудеса
 
Я как раз в этой ножке усмотрел оскорбление    :)  VBA.
Цитата
макросы до ПО не дотягивают как ни крути(т.к. это же лишь макропрограммы внутри другого приложения
1С  как назовем? Инвалидом с палочкой или прикладным ПО? Похоже, в ключе данной темы - все же инвалид:
а) без приложения никакая конфигурация работать не будет;
б) код пишется своим встроенным языком (можно сказать - несколькими: там есть еще язык запросов).
 
Цитата
The_Prist пишет: А вот Ваш негатив к ножке мне не очень понятен :-)
Ну как же? Одна ножка - значит программа неустойчивая)) Хотя, надёжная.
 
Цитата
vikttur пишет: 1С как назовем?
Вить, не путай! 1С - это как раз оболочка, внутри которой можно использовать собственные конфигурации.
Ты в таком случае не с макросами 1С сравнивай, а с Офисом в целом - ведь внутри него мы можем макросы писать и использовать, но не извне.
А 1С - самостоятельная программа, внутри которой так же встроен редактор конфигураций. Они(конфигурации) могут быть написаны и вне 1С, но вне неё работать не будут, т.к. 1С является так же и компилятором для своих конфигураций. Т.е. сами конфигурации - да, недопрограммы, потому как самостоятельно(без 1С) они работать не будут.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я, наверное, о том же, но с другого боку.
Второй абзац по-моему:
Офис - самостоятельная программа, внутри которой так же встроен редактор VBA. Они(макросы) могут быть написаны и вне Офиса, но вне неё работать не будут, т.к. Офис является так же и компилятором для своих макросов. Т.е. сами макросы - да, недопрограммы, потому как самостоятельно(без Офиса) они работать не будут.

Фабрика по изготовлению спецодежды. Материальное и финансовое планирование производства на год с разбивкой по месяцам и с учетом наличия материалов и денег на данный момент. Ввели график выпуска и получили полную картину наличия и потребностей, вплоть до пуговицы  и копейки (на любую дату выпуска).
Около двух лет программа работает. Нареканий нет. Это "одноножка"? Не будет установлен Офис - не будет работать.

1С. Даже при наличии платформы проблемы будут, если создать конфигурацию "тяп-ляп".
Это можно отнести к любой программе, написанной на любом языке.  Да, возможности VBA меньше, чем, например, С++, но каждому соловью своя роща слаще  :)
 
Ну, скажем, Уокенбах употребляет слово "приложение" (application) относительно программ на VBA. И, наверное, это правильно.
F1 творит чудеса
 
Цитата
vikttur пишет: Это "одноножка"?
Вить, тут скорее вопрос интерпретации этой "одноножки" и именно об этом я писал. Я написал как воспринял это высказывание я(не факт, что автор имел ввиду в точности то же самое):
Цитата
это хоть и "недопрограммы", но для их работы так же требуется соблюдение четких правил
Т.е. я воспринял это так: макросы хоть и не полноценные программы, но также подчиняются конкретным правилам, как любая программа. ikki изначально воспринял это не как я, а в другом контексте - тут и понеслось.

Ты и Юра тоже сразу "одну ножку" подхватили("поведясь" на то, как её воспринял ikki или имя такое же видение), восприняли в штыки(видимо, к этому добавились высказывания про "защиту от дурака", "время жизни пользовательского макроса определяется ответственностью разработчика за качество прикладной части ПО" и пр.). Все это выстроилось в одну единую мысль, которая была приписана Моте - "макросы это что-то несерьезное и не могут быть постоянной частью бизнесс-процессов компании". Или вроде того. И все это она называет "одной ножкой". Хотя эту мысль она последующими высказываниями подкрепляла как могла   :D  . Пусть и не специально и имелось ввиду(возможно?) нечто другое.

Я же просто пояснил свою позицию именно относительно "одной ножки" - как я воспринял именно это высказывание, не "совокупляя" его с другими высказываниями Моти.
Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Внесу и свои три копейки про одну ножку. У нас на работе есть чудесная программа SAP. Так вот в нашей конторе есть такой чудесный отчёт, на котором повязаны 8 отделов. Захотело руководство, чтобы данные для этого отчёта заносились в SAP, но что-то руководству не понравилось (может, денег разработчики заломили), и они отказались - и попросили написать меня. Я написал эту "одну ножку" в связке Excel + Access. И вот эта "ножка" уже работает два года. Все 8 отделов, каждый день. А то, что макрос - неполноценная программа.... Считайте, что макрос - это эдакий плагин. Ведь есть и к Excel'ю плагины - значит, и Excel неполноценный. Отчасти это так, потому как, в принципе, любая программа является неполноценной, так как каждому пользователю хотелось бы видеть в ней то-то и то-то. Поэтому и существуют макросы, чтобы пользователи добавляли свои хотелки - и это здорово. С макросами Excel становится удобным и полноценным, так как решает нужные задачи конкретному пользователю.
There is no knowledge that is not power
 
Цитата
The_Prist пишет: как её воспринял ikki
я не первый раз слышу это выражение от уважаемой Моти.
и, как выражение, оно меня не напрягает.
"на одной ножке" или "недопрограммы" или "убогие создания с трагической судьбой" (короче говоря - "макросы") - как ни назови, некоторое пренебрежение у автора высказывания есть.
как я понял - вызванное тем, что макросы в Excel очень часто пишутся в достаточно жёсткой привязке к структуре данных, их расположению и даже содержанию.
а вот какие-то мифические "двуногие" программы - видимо, нет.
видимо, существуют "серьёзные" продукты, которым глубоко пофиг на то, с какими данными они работают, на "несоблюдение условий" и ограничений и т.д.

вот мне и захотелось расширить свой кругозор - узнать, что это за программы такие.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Вставлю свои 5 коп.
Для меня ПО - это даже вот такая строчка кода - msgbox 'Hello World'. И даже не имеет значения то, написана ли она или все еще в голове. В понятие ПО входит как проектирование так и документация. Так что любой макрос в VBA = ПО.
Изменено: SkyPro - 09.10.2014 15:54:29
 
И я свои пять копеек вставлю.
Анализируя приведенные коды пользователя Moтя, на самом деле понимаешь почему человек утверждает что макросы "убогие", "на одной ножке" и т.д.
В основной массе они записаны макрорекордером с небольшими коррективами.
Оно и понятно почему у нее сложилось такое впечатление от VBA :). Хотя это тоже ПО.
Я думаю она научиться со временем писать программы не "на одной ножке" и придет понимание на сколько макросы это продвинутое и профессианальное ПО.
---------------
Ни чего личного лишь анализ и наблюдения.
 
Цитата
B.Key пишет: Анализируя приведенные коды пользователя Moтя
Уважаемый B.Key! Я - не программист.
И не собираюсь им становиться.
В профессиональной жизни мне совсем не приходится работать в EXCEL.
Однако, я АБСОЛЮТНО уверена, что у EXCEL (и у иных программ для работы с электронными таблицами) жизнь - вечна,
ибо ПРИКЛАДНОГО ПО "под ключ" не может быть.
____________________________________________________________­_________________________________________________
Наблюдая за работой своих коллег, высокопрофессиональных экономистов в прикладном ПО и EXCEL, пришла к выводу, что
макросы должны им помогать избавляться от рутины в работе с ЭКСПОРТОМ из ПО в EXCEL.
Рутина "крадет" их время, предназначенное для выполнения их профессиональной работы.
Цитата
B.Key пишет: Я думаю она научится со временем писать программы не "на одной ножке" и придет понимание на сколько макросы это продвинутое и профессиональное ПО.
Многие мои коллеги-экономисты сами "кропают" макросы в ситуации, когда в текущей версии Генератора Отчетов в ПО отсутствует нужный им шаблон.
И не суть важно, как макросы написаны - высокопрофессиональным программистским "слогом" или с помощью параметризованных команд макрорекордера.
Авторам этих макросов некогда "грузить голову" премудростями профессионального программирования.   :D  
Жизнь у таких макросов заканчивается при появлении нужного шаблона для этого отчета в новой версии Генератора Отчетов в ПО.
Главные требования к макросам в подобной ситуации, на мой взгляд:
1. соблюдение обязательных требований при создании макросов
2. время исполнения (от макроса, который работает более 1 минуты, следует непременно избавиться),
3. контроль исходной информации на предмет - "кривая / не кривая",
4. доступность кода для внезапного изменения другим пользователем в ситуации, например, если разработчика макроса "трамвай переехал".  :(
Страницы: 1 2 След.
Наверх