Обновить
22
0
Карташев Сергей@Elisy

IT-менеджер

Отправить сообщение
«Хм, еще недавно учебная версия это в лучшем случае 8.3.3 была, сейчас версия догнала актуальную, это радует, еще бы не только под win…

А смысл от ИТС для разработчиков, если ту же EDT по нему не скачаешь? Каким бы eclipse не был, конфигуратор он превосходит. У меня так то нет опыта с чем то кроме 1С, так, игрался с eclipse немного, и, по моим воспоминаниям, он хоть и подтормаживал, но возможностей больше имел. Я уж не говорю про нормальные системы контроля версий. Правда есть опасение что с ним вообще сервер 1с для разработки потребуется, в таком случае он превращается в тыкву для разработчиков у которых нет средств на серверную лицензию.» Neikist
Если сравнивать с Битриксом, то огороду у Битрикса (и у других CMS) не меньше: 1С + PHP + Apache + обмен + стили Битрикса. Мало кто переживает по этому поводу, потому что отдельно заказывают фрилансеров 1С и отдельно Битрикс. 1С-ников найти достаточно легко за сносную оплату. А вот знающих Битрикс встречается значительно меньше. Битрикс со временем стала очень сложной системой со множеством взаимосвязанных частей и ограничений. Некоторые изменения там просто не реализуемы.

В веб-мире не может быть кучи модулей для администрирования. Потому что модуль подразумевает встраивание в систему управления модулями (CMS), а администрирование подразумевает жесткую привязку к структуре данных, которая может быть вообще любой.
Про Eclipse я, честно говоря, не понял 1С. Они там пытаются повторить конфигуратор. Я работал с Eclipse для Java, не скажу, что это очень комфортная среда. И, главное, язык программирования там остался 1С.
У меня есть альтернативное предложение: Visual Studio + С#, транслируемые в 1С. В такой связке и IDE комфортная и язык позволит конфигурации на модули разбить через классы и наследование.Но эта альтернатива требует очень много ресурсов.
1C сделали версию для обучения бесплатной. В нее входят материалы методической поддержки 1С: ИТС для разработчиков. Вроде, идут на встречу.
Быстрое создание проекта вы тоже отметили. Для стартапа это плюс — получить как можно быстрее прототип, показать владельцу и клиентам идею.

Достоинство 1С еще и в том, что она очень распространена, и в 90% случаев о ней слышали везде. Это означает, что для проекта указание «Совместимо с 1С» является ценностью. Именно так поступает Битрикс.

Чтобы не заботиться о багах платформы, мы стараемся не обновлять платформу и работаем на старой версии до последнего. Последний раз обновились на 8.3.5 из-за добавленных хешей 1С, а потом до 8.3.5.1570 из-за ошибок отображения списка планов обмена.

Компанию 1С не ругает только ленивый. Я тоже этим занимаюсь, чтобы 1С не расслаблялась. Но, нужно также отдать должное 1С. В последнее время она стала более отзывчивой. Скорее всего, воздействие оказал ее выход на Запад в англоязычную среду. В Европе и США публика привередливая, и с существующим подходом 1С не смогла бы конкурировать.
Огород-то небольшой: 1С + Asp.Net.
Очень много интернет-магазинов со связкой 1С + Битрикс, поддерживают как-то. Но в случае с Битриксом еще обмен присутствует, который тоже нужно поддерживать.
Если остановиться на шаге 2, то нужно шлифовать веб-интерфейс 1С.
На следующих шагах 1С используется в качестве административного интерфейса для настройки и модерации веб-проекта. Администраторам проще установить тонких клиентов с доступом через веб-адрес. Тонкие клиенты превосходят веб-интерфейс 1С по скорости и функциональности. Именно поэтому не заостряется внимание на развитии веб-интерфейса 1С.

Управляемые формы скорее упрощают дальнейшую связку 1С с Asp.Net через Business Connector или COM, так как УФ заставляют разработчика 1С мыслить в клиент-серверном направлении. Они вынуждают писать серверные процедуры и функции 1С и продумывать вызовы через простые типы.
Планировал эту статью как вводную для более программистских статей на эту же тему. Хотелось бы, чтобы они были в связке на одном ресурсе. Тема оказалась достаточно обширная.
А разве общая производительность не складывается из производительности всех элементов, участвующих в коде: циклы, условия, вызовы? В статье на Хабре исследовались только циклы (это не значит, что скорость на других элементах не просела). Исследование показало, что скорость при переходе на 8.3 упала значительно. Все эти разговоры про назначение 1С, что она не предназначена для чего-то остается лирикой. Потому что факт простой: раньше работало быстро, в новой версии — значительно медленней. Качество упало. Представители 1С вразумительного ответа дать не могут. Более того, они считают падение производительностью в порядке вещей. Что не гарантирует от падения в следующих версиях тоже.

Понятно, что доля замедлений при обращениях к серверу и к БД выше, но элементарные операции очень сильно влияют на отзывчивость интерефейса. Отзывчивость заметна особенно, когда вы работаете на формах чистого C++ по сравнению с формами 1С, где навешаны события на кнопки.
Вы статью смотрели: habrahabr.ru/post/245687?
Где там неоптимальный алгоритм в пустом цикле? Сделали замеры элементарных конструкций на разных версиях 1С.
Ваши фантазии по поводу того, что и почему мы делаем оставлю без комментариев, т.к. нет предмета для комментария.

Мои «фантазии» основаны на личном опыте общения с представителями вашей компании через обращение в службу поддержки, общениях на форумах и статьи. Да, они субъективны и оставляют негативные впечатления. Я буду только рад, если на Хабре ваши отношения с небезразличными пользователями 1С будут более открытыми и откровенными.

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

Критику медленного языка 1С можно разделить на 2 части: он вообще медленный, и он стал медленнее при переходе с 8.2 на 8.3 ( habrahabr.ru/post/245687 ). Меня сильно задевает именно второй момент. Качество фичи можно измерить объективными показателями. Качество языка 1С можно измерить поддерживаемыми конструкциями и скоростью выполнения. При неизменных конструкциях (развития языка нет) вы его замедлили. Значит качество этой фичи ухудшилось, соответственно общее качество продукта тоже. Это неуважение ко мне и ко всем пользователям. А вы проблемы не видите. Соответственно ничто не может вас остановить от дальнейшего ухудшения скорости в будущих версиях.

Если проблему поднимают 3 человека (да и даже если 103), а пользуются платформой несколько сотен тысяч, то надо хорошо представлять себе, насколько эта проблема реальна.

Теперь представьте, что вы замедлили работу языка 1С на 1 секунду в день у каждого пользователя. У всех своих многотысячных пользователей вы замедлили работу примерно на 55 часов (200000 * 1 / 3600). Цена вашего замедления очень высока. Вам не стыдно? :)

Если вы считаете, что рассказать, нам о том, как мы не умеем программировать важнее, чем привести реальный сценарий — ок, позиция понятна :)

Нигде я не указывал, ни в одном сообщении, что вы не умеете программировать. И не собирался этого делать. Наоборот я ставлю в пример вашу компанию, как очень успешную в России. Все прекрасно понимают, что вы являетесь заложниками написанного ранее кода, необходимостью поддерживать обратную совместимость и не можете быстро меняться. Но и здоровая критика вам не повредит. Именно поэтому я трачу время здесь на сообщения, потому что ваш продукт мне небезразличен.

Теперь про JSON. Скажите, из какого вашего сообщений следует, что вы написали JSON-сериализацию тогда, когда ее не было в платформе? Я этого не увидел. Поэтому и уточнил — зачем ее писать самостоятельно? Вы меня стали подозревать в каких-то страшных грехах:) Также оставим за скобками то, что ваша реализация отлажена по умолчанию, а наша — глючна по умолчанию :)

У вашей компании есть статистика по использованию новой 8.3.6, где есть JSON, по сравнению с более старыми версиями? Именно с такой вероятностью люди будут использовать новую фичу JSON. Кстати, опыт работы с вашим продуктом подсказывает, что свежайшая версия 1С богата ошибками и ее лучше использовать на реальных данных через год-два, когда вы исправите большинство ошибок.

ЗЫ: И все-таки предлагаю быть более конструктивным. Если стоит цель доказать нам, что мы не умеем писать экономический софт — наверное мы сразу согласимся :)

Я сама конструктивность. Все мои доводы стараюсь иллюстрировать конкретными примерами, цифрами, ссылками и кодом. 1С вышла за рамки экономического софта. 1С Документооборот этому пример. Новый масштаб выдвигает новые требования к вам по качеству и гибкости.

Ну может быть попросим научить нас его писать качественно (даже вакансии открыты 1c.ru/rus/firm1c/vacan, особенно вот 1c.ru/rus/firm1c/vacan/vacancy.jsp?id=201).

Вероятнее всего на Хабре вы найдете того, кого ищете. Здесь много хороших специалистов. То, что вы появились на Хабре — на независимом от вас ресурсе — это хороший знак. Это говорит о вашем стремлении к открытости и диалогу.
Ваши ответы просто поражают компетентностью. А потом вы обижаетесь, когда применяются честные и правильные речевые обороты к вашей компании и поведению ваших работников.

Нет, не транслируется. Это вызов библиотечной функции.

Я утверждаю, что СтрЗаменить транслируется в отдельный ОП-код на основании того, что писал в свое время декомпилятор 1С. Вот несколько ОП-кодов, включая №100:
EndOfMinute = 98,
CurDate = 99,
<b>StrReplace = 100,</b>
LinesCount = 101,


А это просто неправильно и опасно. Правильно использовать json.parse()

Ваш веб-клиент 1С 8.3.5 буквально напичкан вызовами eval для json-парсинга. А веб-модуль расширения 1С позволяет себе JSON вида y:undefined. У вас еще и веб-клиент опасный? :) Да, возможно, это небезопасно, но в реальной жизни это применяется. Возможно, для лучшей совместимости со старыми браузерами. Реальная жизнь другая. Ваш новый гибкий встроенный JSON-парсер справится?
Я вот сейчас запустил тест из стати на 8.2.19 и 8.3.7. Последняя версия процентов на 10 быстрее

Это на самом деле радует. У меня нет под рукой 8.3.7 и, насколько знаю, ее еще нет в широком пользовании.
Более того, если посмотреть Ваш же комментарий к исходной статье, то видно, что дело не в производительности встроенного языка, а в работе функции «СтрЗаменить». Все-таки медленная работа конкретной функции и медленная скорость работы языка это очень разные вещи.

Медленную скорость работы языка я продемонстрировал ссылкой на статью, где вычислялось, какой цикл быстрее. Я подробностей исследования не помню. Но если формально подходить, то вызов СтрЗаменить транслируется в свой особый ОП-код 100, т.е. является элементом встроенного языка. Получается, что медленно работает и весь код в целом, и СтрЗаменить в частности.

Посмотрите СП, сериализация сделана достаточно гибко, можно даже одинарные кавычки вместо двойных использовать. Десериализация — еще гибче.

Я не сомневаюсь, что вы стараетесь сделать все как можно гибче и удобнее, но реальная жизнь вводит свои корректировки. Часто не совсем идеальные.

А про Web JavaScript JSON я не слышал.

Часто десериализацию на стороне веб-клиента делают так:
        var c = eval('({x:5, y:undefined})');
        console.log(c.y);

конструкция y:undefined в этом контексте является валидной, но такая запись, насколько помню, не подходит под официальные стандарты.
У вас в 1С принят стандартный дибильный подход к своим пользователям. Будь-то конечный пользователь или разработчик. Сначала пользователь сообщает вам о проблеме. Вы просите привести примеры. Когда приводят примеры, вы спрашиваете, а зачем вам это надо. После следует обвинение в том, что пользователь не так использует платформу или не умеет пользоваться. Все дураки вокруг, кроме вас. Такой подход полностью неприемлем. Это больше связано не с тем, что вы монополисты, и вам плевать на всех вокруг с высокой колокольни (но и монополисты могут вымереть в один прекрасный момент, как мамонты). Это связано больше с тем, что вы выходите на международный уровень: проект 1c-dn.com. Там, чтобы конкурировать на новом и незнакомом вам рынке, нужно идти навстречу пользователям, важна каждая мелочь. На Западе, например, неприемлемым считается выпуск в релиз фактически бета-версий платформы, чтобы пользователи дотестили ее за вас на местах. Весь заявленный функционал должен стабильно работать.

Теперь конкретно про данную ситуацию. Вас 3 разработчика в комментариях критиковали за медленный скриптовый язык 1С. А он медленный и стал объективно медленней при переходе с 8.2 на 8.3: вот исследование habrahabr.ru/post/245687 Судя по вашей реакции, это в порядке вещей. Вы не согласились с проблемой и не обосновали издержки какой-то новой фичей (напрашивается только технологический журнал). Да, скорость обращений к БД и к серверу затратнее, но это не значит, что нет класса задач, для которых важна скорость скрипта 1С. Его скорость влияет даже на отзывчивость интерфейса. Вам в habrahabr.ru/company/1c/blog/269611/?reply_to=8642701#comment_8640547 привели еще один пример по вычислениями на стороне сервера.

Теперь про JSON. Сериализация JSON для чего нужна, вам нужно объяснять? Или последует вопрос, зачем сериализация JSON в учетной системе 1С, 1С не для этого? JSON на встроенном языке 1С появился примерно с 2012 года (http://infostart.ru/public/119601/). До выхода свежей версии 1С, где вы соизволили сделать реализацию JSON на уровне платформы. Но, то, что вы сделали свою убыстренную реализацию это еще не значит, что она будет сразу отлаженная и рабочая, что все, кто использовал старую платформу сразу пересядут на новую версию. Самое главное, что вы не закрыли весь класс проблем по скорости сериализаций всех возможных в мире форматов. Кстати, Вы в курсе, что даже JSON может быть несовместим между вендорами. Например, в Web JavaScript JSON допускает вольность с unknown (a=unknown без кавычек), а Microsoft WCF не понимает такой вольности. Вы по какому стандарту сериализацию делали? А какую нужно будет доделать самостоятельно опять же на вашем медленном скрипте?
Есть прецеденты. Сериализация JSON скриптом 1С. На данных из примерно 5 тысяч записей таблицы значений перевод в XML уменьшил время обработки со 120 секунд (2 минуты) до 4 секунд.
Смысла не вижу продолжать дискуссию. Вы начали себе противоречить.

Сначала вы утверждали, что 1С не сможет отвечать после прямого доступа в базу данных, но сейчас согласились, что 1С и так ни за что не отвечает. Так в чем принципиальная разница? Не отвечала 1С раньше и не отвечает она после.
В конце вообще вы сожалеете о каком-то законе, «не дающем людям жизнь». Но закон явно говорит о защите прав на прямой доступ к базе данных. Ссылки на конкретные статьи я привел в посте выше
habrahabr.ru/company/1c/blog/269611/?reply_to=8637909#comment_8634219
Ну если вы подписали такой договор — то кто ж вам теперь судья? Эксклюзивные договоры — штука вполне логичная.

Вы немного не поняли остроты момента. Интернет-провайдера из-за непонравившегося договора можно поменять. А 1С в связи с доминирующей позицией на рынке не поменяешь. В случае с интернет-провайдером сохраняется конкуренция на рынке. 1С же фактически монополист и подобные запреты дело антимонопольных органов.
Это скорее повод обратиться к разработчику и попросить сделать нужный вам API, а не повод лезть «грязными ручками» в базу из которой потом финансовые документы порождаются.

Вы до сих пор верите в отзывчивость 1С? У 1С очень циничный подход. Компания занимается только тем, чем выгодно. И разработчики здесь не при делах. Разработчики подчиняются руководству 1С. АПИ вы будете ждать до «ишачьей пасхи», а результат нужен завтра.
А так всё просто: вы залезли в базу (нарушив тем самым лицензию), целостность её состояния более не гарантируются, так что никаких претензий к 1C больше быть не может.

Нужно посмотреть документы. Уверен, что в них явно прописан отказ от претензий. Что-то в виде используете ПО 1С на свой страх и риск. 1С сама не гарантирует целостность данных. Убираешь режим совместимости — пропадают узлы обмена из списка. Ставишь разделение итогов на регистр бухгалтерии — пропадают субконто за все годы. В последнем случае как без прямого доступа восстанавливать базу данных?
Ваше мнение тоже имеет право на существование. Но оно не убедительно. Простыми словами: база данных моя, что хочу с ней то и делаю. Хочу копирую, хочу удаляю, хочу пускаю кого-то в нее со стороны. Кстати, в одной базе данных у меня могут работать несколько приложений в т.ч. 1С. Никто не вправе со стороны говорить мне, что мне делать со своей собственностью. Все равно, что вы купили квартиру, а интернет-провайдер добавил пункт в договор, что в вашу квартиру вообще никакие провода кроме его идти не должны.

К разработчикам 1С как раз претензий нет. Они проделали огромную работу и продолжают работать. Есть претензии к пункту лицензии про прямой доступ. Потому что де-юре прямой доступ запрещен, а де-факто уже на средних предприятиях и базах данных без прямого доступа не обойтись. Прямой доступ убыстряет операцию в 80-100 раз по сравнению со штатными средствами (на примере пометки на удаление). И если штатными средствами операция будет длиться 3 суток, то прямым доступом она завершится за 45 минут.
Статья стала ценной не только содержанием, но и комментариями, где можно для себя по ссылкам много нового и интересного найти.
Потому что правообладателем базы данных в организации является сама организация в силу ее авторства, а не компания 1С.

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность