Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сравнение узкоспециализированных языков

6
24 марта 2010 года
George
4.1K / / 05.01.2007
Вот что-то подумалось под конец рабочего дня.
Народ частенько ругается на 1С, как на язык программирования, или точнее конфигурирования. Ругается, обоснованно, и основной довод - это узкая специализация, т.е. за пределами 1С знания сего языка не нужны как таковые.
Мне по долгу работы приходится работать с другим [COLOR="Silver"]тихим ужасом[/COLOR] языком - VBA. И вот подумалось, ну а в чем такая уж принципиальная разница между VBA и 1C? Та же узкая специализация, разве что Access почаще встречается, чем 1С.
Что скажете, товарищи? Вообще изучение VBA как такового может принести пользу, как программисту или же пустая трата времени, как в случае с 1С?

PS. Топик не для меня, не для поныть, что всякую ерунду изучаю, не думайте. Просто интересно порассуждать, да и скучно ж на форуме что-то.
11
24 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Жора, ты все не правильно понял. Ругают не язык 1С как таковой, собственно его ругать то не за что, т.к. он выполняет возложенные на него функции, а ругают т.н. "конфигурастов", которые при стоимости их часа могли бы быть гораздо более компетентными в вопросах конфигурирования системы под нужды организации.
303
24 марта 2010 года
makbeth
1.0K / / 25.11.2004
Цитата: George
...пустая трата времени, как в случае с 1С?


Ну вот насчет этого, вы, батенька, явно загнули :)

Что касается VBA - его все же знать полезно, в частности для того, чтобы нормально интегрировать свою программу на любом другом языке с приложениями офиса через COM. Это только один из примеров.

6
24 марта 2010 года
George
4.1K / / 05.01.2007
Цитата: oxotnik333
Жора, ты все не правильно понял. Ругают не язык 1С как таковой, собственно его ругать то не за что, т.к. он выполняет возложенные на него функции, а ругают т.н. "конфигурастов", которые при стоимости их часа могли бы быть гораздо более компетентными в вопросах конфигурирования системы под нужды организации.


конфигурасты - это отдельная песня. 1С же язык не без недостатков. Перечислю те, что знаю, хотя и конфигурастить не пришлось (хотя много раз предлагали):
1. Низкий порог вхождения. За это ругают Дельфи, за это ругают ПХП, но в 1С он РЕАЛЬНО низкий. Ну а зачем уметь программировать, если там итак все ясно, все на родном русском. Отсюда и быдлокодерство, отсюда и некомпетентность конфигурастов.
2. Узкая специализация. За пределами 1С этот язык никому не нужен. Он вообще оторван от основной массы языков - так уж вышла. Этакая этника в контексте программирования. К тому же он ну никак не располагает к познанию азов программирования. Ну разве что алгоритмика все та же, но это уже лирика.
Может есть и еще минусы, но это надо знать подробности. Я лишь так, навскидку чегой-то навспоминал.

Цитата: makbeth
Ну вот насчет этого, вы, батенька, явно загнули :)


В чем же?

Цитата: makbeth
Что касается VBA - его все же знать полезно, в частности для того, чтобы нормально интегрировать свою программу на любом другом языке с приложениями офиса через COM. Это только один из примеров.


Да, толк есть. Но небольшой. Объясню почему. VBA - язык весьма простой, и изучать его на уровне создания серьезных приложений - как минимум, смысла нет. Ведь когда нужно будет заниматься этой самой интеграцией (что в общем то не такое уж частое занятие), можно все это сделать, имея под рукой справку - это реально легко. На своем опыте говорю. Даже сложнее познается инфраструктура, в том же акцессе - всякие эти формы, отчеты и прочая муть. А язык - легкий.

11
24 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: George

1. Низкий порог вхождения. За это ругают Дельфи, за это ругают ПХП, но в 1С он РЕАЛЬНО низкий. Ну а зачем уметь программировать, если там итак все ясно, все на родном русском. Отсюда и быдлокодерство, отсюда и некомпетентность конфигурастов.
2. Узкая специализация. За пределами 1С этот язык никому не нужен. Он вообще оторван от основной массы языков - так уж вышла. Этакая этника в контексте программирования. К тому же он ну никак не располагает к познанию азов программирования. Ну разве что алгоритмика все та же, но это уже лирика.


К минусам ЯП следует относить отсутствие возможностей или "костность языка". 1С решает возложенные на него задачи. Низкий порог вхождения это даже наверно плюс.
К минусам можно добавить, что он не объектно-ориентированный.

6
24 марта 2010 года
George
4.1K / / 05.01.2007
Низкий порог вхождения лишь позиционируется как плюс. В результате образуется целая каста конфигурастов, которые в свою очередь порождают тысячи непонятных решений, непонятно для чего нужных. Тетрис на 1С это, конечно, круто, но зачем он? Мало того, что на 1С пытаются делать то, чего на 1С делать не надо (равно, как и на ВБА), например автоматизацию учета, так еще и делают это неизвестно через как. Имхо, это ненормально. Не знаю, кому это вредит, может быть потребителям, но думаю, что так быть не должно. Еще вспомнилась веселость по поводу того, что после выхода 1С восьмой версии - все конфигурации, созданные под 7-ую оказались неработоспособными. Причем, насколько я знаю, совсем. Интересно будет по VBA это пробить - по моему та же байда.
А вообще попозже я выложу ссылку на статейку - начальник писал, почему нельзя автоматизировать предприятие бухгалтерским софтом.
262
24 марта 2010 года
Iktomy
1.2K / / 11.10.2004
Как по мне, так низкий порог - это хорошо. Остальное - проблемы конкретного человека. Если у него мозг не заточен под программирование - то тут уж извините. Надо патчить геном:)

Вообще, я сторонник пути от простого к сложному. поэтому только "за" касательно того же VBA. Постепенно до человека доходит осознание, что ему чего-то здесь не хватает и хочется нечто "посерьезней". Понимаешь, спустя некоторое время, что простата программирования на высокоуровневом ЯП компенсируется (в минус) различным "мусором". Типо ограниченности языка, необходимости таскать с прогой монструозные "фреймворки" и т.п. Но это, на мой взгляд, надо прочувствовать.

Конечно, есть гении, к коим я не отношусь, которые начинают чуть ли не с двоичных кодов. У меня в группе был такой пацанчик. Но для "простых смертных" - ИМХО самый лучший путь начать с того, что попроще. И катиться дальше.

Кстати, беда нашего пространства которую нам подарили "пираты", что люди не ищут простых решений. Вот пример (думаю многие встречали), когда "хомячки", что бы сделать надпись на фотке для "одноглазников" или там убрать "красные глаза", непременно ставят себе Фотошоп и не менее. Вот и у нас на форуме топики периодически появляются в стиле "не запускается Кризис на Вын Сервер 2008". Хотя с другой стороны, если "хомячок" заинтересуется, он может пойти дальше и стать хороши дизайнером. Но, как и в любом деле касающимся драгоценностей, крупица золота на тонну породы.
9.7K
24 марта 2010 года
oltzowwa
105 / / 15.02.2007
А можно поинтересоваться, что есть "низкий порог"?
262
24 марта 2010 года
Iktomy
1.2K / / 11.10.2004
Цитата: oltzowwa
А можно поинтересоваться, что есть "низкий порог"?



Наличие в ЯП функции

 
Код:
ХочуБазуДанных();


Функция перегружена. И для отладки используется следующая конструкция
 
Код:
ХочуБазуДанных(БезГлюков);
6
25 марта 2010 года
George
4.1K / / 05.01.2007
или иначе говоря, язык, являющийся очень простым, с множеством удобных функций, типа тех, что привел в примере Iktomy, язык, позволяющий человеку изучить его, не став при этом программистом. наверное так.
1
25 марта 2010 года
kot_
7.3K / / 20.01.2000
Цитата: oxotnik333
К минусам ЯП следует относить отсутствие возможностей или "костность языка". 1С решает возложенные на него задачи. Низкий порог вхождения это даже наверно плюс.
К минусам можно добавить, что он не объектно-ориентированный.


ООП не может быть ни минусом ни плюсом. По поводу заявленных тут обвинений - хотелось бы увидеть конкретику. Я не являюсь "конфигурастом", я реализую например на этом языке, те задачи, которые передо мной ставят. Стоимость оплаты кстати сравнима с ПХП - т.е. в районе -надцить долларов/час. Это кстати, соответствует ценам "конфигурастов" в регионе. Цены вполне адекватны - задачи приходится решать зачастую весьма не стандартные - и если на ПХП у тебя есть возможность рубить гордиев узел - 1С требует точного соотвествия бухгалтерской задаче.
Уровень вхождения тут на самом деле не многим ниже чем в ПХП. А может даже и выше - потому что требует понимания - хорошего бухгалтера и хорошего программиста. Кто из вас легко может сказать задействованные счета, при закупке комплектующих у не резидента. А это весьма несложная задача.
А реальные задачи - сложнее на 2-3 порядка как минимум. Объяснил понятно?
По поводу стоимости внедрения.
У меня к сожалению нет примеров равноценных задач - но основываясь на моем личном опыте в производстве и торговле внедрение на базе распространенных (Бест-ПРО, GrossBee, Парус и еще пару используемых на просторах СНГ) а так же самописных ERP - за редким исключением (имеется ввиду что ERP либо пишется под конкретную компанию, либо в тоже время грамотно (я в частности такое делал)), внедрение на базе 1С оказывается дешевле. Исключение было в моей ситуации - в 1С просто не было такого решения. Тут разумней и эффективней было внедрять свою полностью самописную систему - с возможностью интеграции в 1С ибо патамушта. Пока это стандарт.
По поводу семерки и восьмерки - разный инструментарий - потому и не совместимы. мастдай98 и ХР - в некоторых вещах тоже не совместимы.
Общие принципы присутствуют, но для использования новых возможностей надо использовать восьмерку.
Ну и так далее. На самом деле задачи автоматизации бухгалтерии и складсткого учета 1С решает и в целом успешно. Говорят что зарубежные аналоги делают это лучше - но я пока сравнительный анализ провести не могу.

6
25 марта 2010 года
George
4.1K / / 05.01.2007
Не Бог весть какая статья, но есть что обсудить:
http://insideiq.com/may_be_1C

И заодно приведу пример из жизни про 1С конфигуразм:
У моей мамы, как у владельца бух. аутсорсинговой фирмы, был клиент - контора по продаже авиабилетов. Казалось бы ничего такого, ан нет, после нескольких лет работы стало ясно, что продажа авиабилетов - это очень специфично. Приглашается конфигураст и 1С допиливается для этой конторы. И вроде бы все довольны. Но я наблюдал за процессом разработки - человек дает имена переменным на казахском языке (!), не форматирует код и т.д. Об алгоритмах говорить нечего - он все задачи "крестьянско-народным" методом решал - сам сказал. Я не хочу сказать, что все так конфигурастят, думаю тот же kot_ так не делает. Но в то же время, не думаю, что это единственный случай - он сам мне говорил, что 1С это легко, круто и хорошо платят. Но судя по нему - как программист он не развивается.
253
25 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Так ведь 1С был создан для вполне конкретных бухгалтерских задач, соответственно, конкретного сегмента пользователей - почему разработчиков 1С должны были заботить ООП, какие-то прочие фичи языка, полезные для "настоящих" программёров, но сложные для понимания (+ выше порог вхождения) будущими пользователями их продукта?

Если бы язык выглядел как обычные языки - только латиница, минимальный набор функций, то чем бы он отличался от сотен уже существующих? Было бы проще интегрировать какой-нибудь Ruby (на нём кстати крутится довольно популярная прога для создания игр). Так можно было и здесь сделать.
Но видимо хотели имеено чего-то простого, что "конфигурасты" могли бы понять без лишних пинков. А то, как они будут развиваться в качестве программистов вряд ли было первостепенной задачей.

Тем более, что свои задачи этот продукт, как сказал kot_, выполняет успешнее того же PHP - значит, задачу свою выполнил, имхо.
Цитата: George
Не Бог весть какая статья, но есть что обсудить: http://insideiq.com/may_be_1C


У меня ссылка не открывается.

6
25 марта 2010 года
George
4.1K / / 05.01.2007
Цитата: Proger_XP
У меня ссылка не открывается.

странно, проверил - все нормально.

253
25 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: George
странно, проверил - все нормально.


Теперь и у меня открывается, с задержкой правда.

1
25 марта 2010 года
kot_
7.3K / / 20.01.2000
Цитата: George
Не Бог весть какая статья, но есть что обсудить:
http://insideiq.com/may_be_1C

И заодно приведу пример из жизни про 1С конфигуразм:
У моей мамы, как у владельца бух. аутсорсинговой фирмы, был клиент - контора по продаже авиабилетов. Казалось бы ничего такого, ан нет, после нескольких лет работы стало ясно, что продажа авиабилетов - это очень специфично. Приглашается конфигураст и 1С допиливается для этой конторы. И вроде бы все довольны. Но я наблюдал за процессом разработки - человек дает имена переменным на казахском языке (!), не форматирует код и т.д. Об алгоритмах говорить нечего - он все задачи "крестьянско-народным" методом решал - сам сказал. Я не хочу сказать, что все так конфигурастят, думаю тот же kot_ так не делает. Но в то же время, не думаю, что это единственный случай - он сам мне говорил, что 1С это легко, круто и хорошо платят. Но судя по нему - как программист он не развивается.


Имена переменных на казахском языке вполне допустимы в 1С. Что именно тебя так напугало? :) Как конкретные огрехи конкретного прогера связаны с проблемами языка? Я не говорю, что 1С - это лучшее и т.д. Боков там хватает. Гавнопродукт такой. Но с другой стороны - задачи решает. И альтернатив пока нет - в смысле эффективности внедрения, цены и т.д.

303
25 марта 2010 года
makbeth
1.0K / / 25.11.2004
Согласен.

Вот, кстати, пример еще одного "узкоспециализированного" языка:
Код:
void countItemTypes()
{
    InventTable inventTable; // Здесь мы объявляем табличную переменную
    InventTableModule module; // И здесь тоже

    while select count(RecId) from inventTable // А теперь пошуршим по базе
        group by ItemType
        where inventTable.ItemId like "Н*"
        exists join TableId from module
        where module.ItemId == inventTable.ItemId &&
              module.ModuleType = InventModuleType::Sales &&
              module.Price > 10.0
    {
        print strfmt("%1: %2", inventTable.ItemType, inventTable.RecId);
    }
}

Собственно, язык - X++, а код выводит количество номенклатур, код которых начинается с Н из справочника номенклатур с ценой продажи большей, чем 10.
Я не представляю, как более кратко изобразить это на любом другом популярном не "узкоспециализированном" языке :)
6
25 марта 2010 года
George
4.1K / / 05.01.2007
kot_, дык имена переменных на казахском и в дельфи 2009-2010 допустими - юникод ведь. но хороший ли это стиль?
я не спорю, что 1с в каком то плане вне конкуренции. я просто че думаю, не было бы лучше, если бы они не изобретали свой язык, а заточили бы какой-нибудь питон например, как это сделала когда-то нокиа? может имена переменным на казахском и не получилось бы давать, но зато язык был бы интереснее. в том плане, что если я изучаю 1с, то я знаю, что язык питон мне в будущем может пригодиться. как-то так.
262
25 марта 2010 года
Iktomy
1.2K / / 11.10.2004
Цитата: George
зато язык был бы интереснее. в том плане, что если я изучаю 1с, то я знаю, что язык питон мне в будущем может пригодиться. как-то так.



Ока. Как же? Тогда любой знающий питон + бухгалтерию смог бы бомбиць конфиги 1С в виде скриптов. А так придецо записаться на курсы и получить сертификат, купить базовую платформу (вроде у 8-ки так) и уже потом, с чувством выполненного долга, рубить бабло. Не забывая при этом, посещать курсы опять, продлять сертификат и прочее и прочеее.

Бабло - побеждает всё!

6
25 марта 2010 года
George
4.1K / / 05.01.2007
Цитата: Iktomy
Ока. Как же? Тогда любой знающий питон + бухгалтерию смог бы бомбиць конфиги 1С в виде скриптов. А так придецо записаться на курсы и получить сертификат, купить базовую платформу (вроде у 8-ки так) и уже потом, с чувством выполненного долга, рубить бабло. Не забывая при этом, посещать курсы опять, продлять сертификат и прочее и прочеее.

Бабло - побеждает всё!


а у нас чуваки без всяких сертификатов фигачили. и ниче )))

впринципе 1сники при создании ориентировались на массы, и видимо так оно и вышло.

241
25 марта 2010 года
Sanila_san
1.6K / / 07.06.2005
Вообще слабо понятен предмет спора. Что значит "развиваешься как программист"? Для чего это важно? Язык 1С точно такой же DSL, что и VBA, X++ и т.п. И из того факта, что это DSL, как раз и проистекает ответ, где и куда развитие будет. В общем случае программист развивается не ради спорта, а ради более эффективного умения решать стоящие перед ним задачи. Поэтому можно катить баллоны на что угодно, но за пределами области применения катить баллоны как-то глупо: как-никак, не скажешь ведь, что лучше - язык 1С в среде 1С, или VBA в акцессе. Ну а расширяя понятие DSL до языка, применяемого в некоем множестве задач, приходишь к тому, что всё оно хорошо где-то в своей области и для своих задач.

По большому счёту, универсально хорошим программистом можно стать только если решать множество разных задач. Так, один мой хороший знакомый среди прочего автоматизировал фотошоп яваскриптом. Не скажу, что это его испортило.
6
25 марта 2010 года
George
4.1K / / 05.01.2007
Цитата: Sanila_san
Вообще слабо понятен предмет спора.


А спора нет. Так, болтаем. :)

Цитата: Sanila_san
Что значит "развиваешься как программист"? Для чего это важно?


А то и значит. Вот если продавать магниты, навыки программиста приобретаются? Вряд ли. По моему тот же эффект при программировании на подобных "заточках". Вот прогаю я на ВБА и морально недоволен, на ПХП и то интереснее для меня. А важно может быть много для чего - развитие проф. навыков, карьеры и т.д. Заметка в резюме, что я знаком с ВБА мало, что мне даст, а между тем программировать можно на нем долго, как пример тот же тов. Каймонов (Санила знает о ком я) - 8ой год этим занимается.

Цитата: Sanila_san
Язык 1С точно такой же DSL, что и VBA, X++ и т.п. И из того факта, что это DSL, как раз и проистекает ответ, где и куда развитие будет.


Вот я про то и рассуждаю, так ли уж целесообразно юзать подобные "заточки" или было бы грамотнее интегрировать туда питон или руби (или что-то подобное)?

Цитата: Sanila_san
В общем случае программист развивается не ради спорта, а ради более эффективного умения решать стоящие перед ним задачи.


Ради эффективного решения задач развиваются все. Программирование же, процесс, отчасти, творческий. Поэтому без спорта никак. :) Ну для меня лично.

Цитата: Sanila_san
Поэтому можно катить баллоны на что угодно, но за пределами области применения катить баллоны как-то глупо: как-никак, не скажешь ведь, что лучше - язык 1С в среде 1С, или VBA в акцессе. Ну а расширяя понятие DSL до языка, применяемого в некоем множестве задач, приходишь к тому, что всё оно хорошо где-то в своей области и для своих задач.


Ну вот сидели они, сочиняли свой 1С. В какой раз повторюсь, почему не проинтегрировали готовый язык? Какой-то более универсальный... Ладно VBA - суть заточенный VB - тут проблема в том, что оно само по себе устарело на данный момент.

Цитата: Sanila_san
По большому счёту, универсально хорошим программистом можно стать только если решать множество разных задач. Так, один мой хороший знакомый среди прочего автоматизировал фотошоп яваскриптом. Не скажу, что это его испортило.


Да ради Бога. Но речь не про то, как стать хорошим программером, а все же про то, правильно ли создавать костыли-заточки для решения спец. задач или все таки универсализация наше все? Я за второй пункт.

253
25 марта 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: George

Вот если продавать магниты, навыки программиста приобретаются?


Так а с чего вообще взялась эта идея, что "назыки программиста" должны приобретаться в принципе на такой работе? "Конфигурастам", как их тут красноречиво обозвали :D я думаю, гораздо нужнее и ближе навык бухгалтерии... хочется в это верить, по крайней мере.

5
26 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: George

Вот я про то и рассуждаю, так ли уж целесообразно юзать подобные "заточки" или было бы грамотнее интегрировать туда питон или руби (или что-то подобное)?

Питон и руби нервно курят глядя на то, что у меня на аватаре :) Ладно, шутка.

Проблема не сколько в выборе языка. Проблема в потенциальных пользователях языка. ;)

5
26 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: makbeth
Согласен.

Вот, кстати, пример еще одного "узкоспециализированного" языка:


Так вот откуда в C# LINQ приехал. :rolleyes:

1
26 марта 2010 года
kot_
7.3K / / 20.01.2000
Цитата: George
kot_, дык имена переменных на казахском и в дельфи 2009-2010 допустими - юникод ведь. но хороший ли это стиль?
я не спорю, что 1с в каком то плане вне конкуренции. я просто че думаю, не было бы лучше, если бы они не изобретали свой язык, а заточили бы какой-нибудь питон например, как это сделала когда-то нокиа? может имена переменным на казахском и не получилось бы давать, но зато язык был бы интереснее. в том плане, что если я изучаю 1с, то я знаю, что язык питон мне в будущем может пригодиться. как-то так.


Я думаю, что если бы ты работал с ранними версиями 1С - то ты бы таких вопросов не задавал. Человек, способный написать ТАКОЕ и предлагать его как коммерческий продукт, изначально не мог пойти по тому пути, о котором говоришь ты. ;)
по этому не парься, наиболее верный подход - это изучить достоинства и недостатки и предложить свое. Это в разрезе твоего подхода. В случае же практического решения задач - то тут варианта два - либо преложить готовое решение, наиболее отвечающее специфике рынка, либо взять на себя отвественность по внедрению нормальной системы, без всякого обоснования и реальных перспектив. Я не говорю. что это не реально - но надо понимать, что данный путь будет весьма не простым в ближайших 5-6 лет и потребует огромных вложений труда и вероятно средств.

341
26 марта 2010 года
Der Meister
874 / / 21.12.2007
Цитата: George
Вот я про то и рассуждаю, так ли уж целесообразно юзать подобные "заточки" или было бы грамотнее интегрировать туда питон или руби (или что-то подобное)?

Да не нужен там, мне кажется, ни пайтн, ни рубин. Я сейчас вон Terrasoft конфигурирую (не прям фиолетово, но сами платформы почти похожи) на JavaScript - это реально чересчур шикарный язык для этой системы. Там нужно что-то более заточенное.

1
27 марта 2010 года
kot_
7.3K / / 20.01.2000
Там - это где? :)
И питон и руби - нужны, проблема в том, что нет смысла задавать вопрос почему нет его в 1С - потому что ответ - а нах? Кому нужна мертвая система пусть даже на питоне?
Есть вариант первый - 1С уйдет в небытие - при чем, крики - как так, сотни компаний и т.д. - эти "сотни компаний", как те анаэробные бактерии - живут в безвоздушном пространстве СНГ. И как и положено анаэробным - появление свободного рынка их убъет, либо остановит их размножение. Пока существует клики путинов-януковичейтимошенко-лукашенко - 1С может чувствовать себя в безопасности.
Вариант второй - как облигатные анаэробы - 1С найдут свою нишу на рынке. Может и питон с руби тогда у них появится.
Просто поймите - 1С - это то, что к программированию имеет опосредованованное отношение.
Хотя начиналось все здорово - написание русской ОС и русского языка разработки. Вот такой ребенок по пьяни получился.
Поэтому 1С знать надо - но надо знать его реальные проблемы.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог