Почему я ненавижу 1С, или I hate 1C!

Добрый день, уважаемые читатели. Не так давно мне повезло соприкоснуться с 1С предприятие 8.2. Сегодня я бы хотел поделиться с Вами своими впечатлениями.

TL;DR 1C — это ужас, с которым я не советую кому-либо общаться. Я очень рад, что это не моя рабочая платформа, и что моё знакомство длилось лишь несколько часов.

Итак, каковы же причины ненависти к 1С? Их много, но я попытаюсь кратко выделить наиболее критические моменты.

Во-первых, это синтаксис языка программирования. Программирование на русском? Вы серьёзно? Это ужасно, скажу я вам. Да, действительно, можно программировать и на английском языке, но, почему-то, все примеры в сети распространяются именно на русском языке, да и на форумах все так пишут. Собственно, вот пример программы:

Сообщить("Здравствуй, Мир!");

Пример функции, возвращающей квадрат числа:

Функция КвадратЧисла(прЧисло)

Возврат прЧисло * прЧисло;

КонецФункции

Во-вторых, это «очень крутое» сообщество 1С программистов. Сюда входят целых 3 сайта (включая официальный сайт). Примерно 99% запросов (на глаз) приведут вас именно на эти ресурсы. Не сказать, чтобы там нельзя было найти вообще информации, но юзабилити на данных сайтах просто ужасное. Вы привыкли к stackoverflow? Забудьте. Только русские коллеги вам смогут что-то подсказать. Как следствие, размер комьюнити на порядок меньше, чем на нормальных платформах, и помощи можно не ждать.

IDE. Хм, лучше я напишу ИСР (Интегрированная среда разработки), ведь у ОдинЭсников всё нужно писать по-русски. Её просто нет, забудьте PhpStorm, забудьте Visual Studio, забудьте IntelliJ IDEA. Всё, что вы получите — это подсветку синтаксиса, а также, изредко, кое-какие подсказки по вводу конструкций языка. Всё. Это ужасно, честно.

Системы контроля версий. Благодаря специфике «конфигурирования» (термин, обозначающий разработку) ПО в 1С, пользоваться Git-ом не так уж и просто. Так, например, только в 1С: Предприятие 8.3 появилась возможность выгрузки конфигурации и данных в xml => использовать git.

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

Unit tests. Не знаю, используют ли «один эсники» модульные тесты, но за то короткое время, в течение которого я трогал платформу, я вообще ничего не слышал про тесты. Думаю, тут всё также, как и с Git. Как-то, возможно, и можно писать тесты, но такой культуры, в отличие от нормальных ЯП (java/c#/etc), тут нет.

Отсутствие пользовательских классов. Не знаю, почему, но в псевдо-языке 1С (крайне похожим на VB) нет возможности создать свои классы. Так что, придётся вспомнить «библиотеки функций», которыми раньше все обменивались. Это предел повторного использования кода, дальше — уже не получится.

Отдельно хочется сказать «спасибо» создателям 1С за создание целого ряда уникальных терминов, имеющих общепринятые аналоги. Всё это было названо Метаданные (объекты конфигурации). Именно с «этим» вы будете работать во время разработки своих решений. Справочник, Документ, журнал документов, нумератор, последовательность, Регистр накопления, Регистр сведений, План счетов и регистр бухгалтерии, План видов расчета и регистр расчета, Обработка, отчет, План видов характеристик — вот тут моя ненависть к 1С начинает просто зашкаливать.

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

А вам нравится 1С? Отписывайтесь в комментариях.

Категории: Программирование


  • Господа, вы все любите 1С? Серьезно? 🙂

    • Давайте, колитесь, почему вы не любите эту платформу.

  • veesot

    Как человек имеющий дело с 1с по долгу работы — скажу что это просто нишевый язык.Ну не написать на нем ни сайт,ни движок игры,ничего иного выходящего за пределы ИСР,согласен.Да и волосы дыбом встают когда читаешь код(замечу Официальный Код от разработчиков платформы) и нифига непонимаешь логику.
    Но тем кто хочет зарабатывать свои стабильные деньги — вполне вариант на ней кодить.Я же стараюсь особо в это не углубляться,ибо возможности 1c,как ЯП — весьма убоги(нет даже регэкспов из коробки,только со стороними костылями из вижуал бэйсика)

    • Ну да, вполне согласен с Вами и вашим мнением.Денег на 1С в РФ заработать можно много…

  • Евгений Сосна

    Система контроля версий: есть стандартное «хранилище», для небольшой команды подойдет, находиться на уровне svn версии 0.1 .
    Тестирование: в 8.3 появилось приемочное ui тестирование, можно записать порядок действий пользователя и потом преобразовать это в автоматический запуск тестов.
    IDE: можно прикупить решейпер для 1С , в виде «Снегопат» и работа уже становиться значительней приятней.
    По поводу русских наименований — переключитесь в англицкий интерфейс и уже «Подсистемы» превратятся в «Subsystems».