«1С, JavaScript, HTML, VBA, что там ещё из стыдного…» — кандидат на собеседовании на программиста 1С
Вот такая вот интересная фраза, которой (и причиной которой) очень хочется поделиться.
На собеседовании я часто задавал такой вопрос кандидатам: «Как Вы думаете, почему в среде разработчиков язык 1С не считается вообще языком программирования?». На это я слышал кучу всяких ответов, но, как мне кажется, ни один не соответствовал действительности. Свои мысли по этому поводу приведу ниже.
1. Отсутствие методологий и строгих правил. Частично соглашусь, это было верно до выхода платформы 1С: Предприятие 8. Вместе с ней вышла система стандартов и методик разработки. Это тот самый Code Guide или Code Convention, обычно присущие многим языкам разработки высокого уровня. на сегодняшний день эта система достаточно строгая, и большинство разработчиков пытаются следовать ей. Да и, в конце концов, никто не мешает на основании это системы писать свои внутренние правила.
2. Отсутствие хороших инструментов для разработки. Тоже частично соглашусь, но опять-таки, исправлено с выходом платформы 8. В «семёрке» для отладки надо было запускать дебагер отдельно, отдельно отладчик и следить за исполнением кода сразу в двух окнах, а если ещё если надо контролировать пользователей — это ещё одно окно. В платформе 8 всё было сведено к единому «конфигуратору» — инструменту разработки, отладки, тестирования, обслуживания и мониторинга работы пользователей. Он стал очень удобным инструментом, в котором появилась и контекстная подсказка, автодополнение и контроль синтаксиса, возможность живой отладки и многое другое. Но в 1С пошли дальше и с новой версией разработка в 1С будет перенесена в знакомый и привычный многим разработчикам Eclipse.
3. Русский язык. Ну да, основной синтаксис 1С: Предприятие пишется по-русски. Но кто сказал что обязательно на русском? Есть возможность использовать английский аналог, никто не запрещает, если уж очень хочется. Да, так не принято по методологии, но тем не менее, такая возможность есть.
4. Отсутствие контроля версий. Ну, тут тоже частично соглашусь, но нужно сказать что существующий инструмент контроля версий «Хранилище конфигурации» решает многие задачи, которые есть в том же популярном GIT. Хранит версии, помогает организовать групповую разработку, хранит комментарии к версиям и т.д. Но с другой стороны, никто не запрещал использовать Git для 1С. Нужно только немного поковырятся с настройками.
5. Не поддерживается объектно-ориентированный подход к разработке. Ну да, не поддерживается. И что? В смысле, а надо? Ведь платформа специфическая и использование не объектно- а предметно-ориентированного подхода вполне оправдано. Ведь никто же не ругает тот же VBA за то, что там нельзя писать свои классы.
6. Только бухгалтерия, и ни шагу в сторону. И опять мимо. на рынке уже давно появились полноценные ERP, CRM, FRM, EDI системы на платформе 1С, есть много отраслевых решений для управления логистикой, продажами, производством и т.д. Из инструмента для автоматизации бухгалтерских операций, 1С выросла до многопрофильной платформы для разработки любых учётных приложений. Добавьте сюда возможности по интеграции со сторонними системами на других платформах, подключения внешних компонент для, например, телефонии и работы с торговым оборудованием — и получите очень мощный инструмент для комплексной автоматизации всей деятельности предприятий.
7. Ну и куда ты со своим 1С дальше? Стандартный вопрос от тех, кто учится в Беларуси чтобы при первом случае укатить за границу. Ну да, платформа специфическая и используется сугубо на пост-советском пространстве. И это, пожалуй, единственный минус, с которым я готов согласиться. И то только в том случае, если дома не сидится и хочется укатить за поиском лучшей доли.
Ну вот, в общем-то, и всё. Рассказывая своим товарищам, которые уж точно считают себя «настоящими программистами» просто потому что пишут на C++ или Java всё это вижу в их глазах неподдельное удивление. Потому что обычно разработка на 1С у всех непосвящённых ассоциируется с хаотичным запиливанием костылей под разными углами и сугубо для бухгалтерии. Без правил, на стрёмном языке и с непонятными условиями. Да, такая штука есть, но это не минус платформы, а скорее проблемы организации процесса разработки проектными организациями. Но очень радует что очень многие компании приходят к пониманию важности орагнизации правильного процесса разработки и ведения проектов.
Вислоухий поросенок
я бы еще добавил абсолютное отсутствие у почти всех программистов понимания архитектуры компьютера и процессора, работы операционной системы, сложности алгоритмов, структур данных, теории множеств, нормальных условий баз данных и т.д.
те знания которыми должен обладать практически любой программист не зависимо от языка
но + в карму за теплое слово об 1С