fixin (fixin) wrote,
fixin
fixin

Category:

Идеальная IDE к СУБД и 1С

Считаю, что в программировании кризис и застой. За последний 15 лет, как я отучился в универе, не произошло ничего значимого, ничего не только революционного, но даже эволюционного.

Языки программирования остались такими же, дальше ООП дело не ушло. Появилось АОП, но это костыль для нормальной обработки событий.


Подходы к разработке тоже не поменялись.


Из нового, что я мог бы отметить - это регистры правил и 1С. О регистрах потом, а насчет 1С хочу сказать. У многих неправильное мнение, что это просто программа для автоматизации бухгалтерии. На самом деле 1с - это самая мощная и прогрессивная IDE для разработки приложений к СУБД. Жаль, что проприетарная и дорогая, иначе бы она давно покорила мир в секторе мелких и средних приложений с базой данных.


Прошло 15 лет прогресса, а нормальной среды разработки приложений для базы данных так и не осталось. Как ни странно, но Access как был, так, пожалуй и остается единственным удобным инструментом для этой задачи.


Итак, рассмотрим мои соображения, какая должна быть идеальная среда для разработки маленьких и средних приложений к СУБД (силами 1-3 программистов), и почему этим условиям соответствует 1С и не соответствуют мощные C#, VC, Delphi и т.п..


1. Идеал должен быть кроссплатформеннен - работать на Windows, Linux, OS. Смешно в наше время переписывать код под каждую из платформ. 1С это умеет - работает на Windows и Linux. Переписывать код не надо.


2. Идеал должен работать с разными базами данных. Уровень абстракции работы с таблицами должен быть таким, что если это не узкозаточенное приложение, где важно работать с блокировками, где проявляются нюансы конкретных СУБД, то программисту должно быть безразлично, на какой СУБД пользователь развернет свою базу данных. 1С умеет работать с разными базами - MS SQL, IBM DB, PostGree, простой файл.


3. Идеал должен предоставлять программисту более высокий уровнь чем таблицы. В 1С программист работает с сущностями, которые состоян на низком уровне из таблиц, но предсталяются для него как объекты более высокого уровня - документы, регистры, справочники.


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


5. Работа с формами должна быть простая. Многие IDE для формализации своих оконных библиотек используют ООП, при этом генерируя в проект горы мусорного кода, h-файлов, объявлений классов и т.п. Программист не должен этого видеть! У него должен быть только список событий элементов управления и процедуры реагирования на эти события (как в Visual Basic). Никаких ненужных объявлений. В Java я видел этот мусор. В C# не знаю, но думаю, что этот мусор есть. Без мусора IDE еще не научились делать.


6. Очень важная задача - поставка базы данных и обновлений клиентов. Идеал должен поддерживать метаданные. База должна уметь создаваться с нуля по описанию структуры базы данных. Если происходит обновление базы, программист не должен писать патч, структура базы должна сама обновляться под текущие метаданные. Тогда программист более свободно может менять структуру базы, не парясь об способе обновления структуры. Такие разработки есть, но не входят в IDE, их надо искать. В 1С это уже встроено.


7. Отчеты должны быть не Access-подобные, где на поле вставляются прямоугольники с полями. Такие отчеты можно сохранить только в PDF, но не Excel. В отчетах должна использоваться мощь сводных таблиц. Теория отчетов настолько хорошо предсказуема, что 80% вывода можно сделать в настройках. Не нужно застлвлять программиста ваять сложные отчеты, можно сделать это на уровне пользователя. В 1С все отчеты выводятся в Excel и благодаря технологии СКД настраиваются на этапе использования, а не программирования.


8. Все, что я перечислил, должно быть под рукой у программиста в виде готовой сборки. Ни одна IDE не предоставляет вышеперечисленный набор инструментов. Нет даже любительских сборок. Каждый программист тратит годы на выработку своего стиля, на подбор своих инструментов, в результате чего у каждого свой набор несовместимых подходов и взглядов.


9. IDE должна быть быстро осваиваема. Изучить 1С раза в три быстрее чем JAVA, т.к. не нужно изучать ООП и прочую ненужную для средних программных проектов ерунду.  Если программист хочет написать игрушку для Android, он может изучить IDE за неделю, почему IDE для СУБД надо изучать дольше, если SQL и навыки программирования на одном из классических языков программирования уже освоены?


Так что, озираясь на застой и кризис IT, только 1С радует меня своим уровнем. Недооцененным программистами, но прогресс именно здесь, на Селезневской. Больше нигде программирование не продвинулось, так и застыло на позициях 15-летней давности.


Tags: кризис it, программирование
Subscribe

promo fixin december 31, 2037 16:57 1420
Buy for 30 tokens
UPD: Друзья, в августе 2019 года блог переехал на http://fixinchik.ru. Welcome! Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект "…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 260 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →