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

топ 100 блогов fixin16.02.2013 Считаю, что в программировании кризис и застой. За последний 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-летней давности.


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

Оставить комментарий

Архив записей в блогах:
надоело платить за талон т.о. коррупционерам и поехал сегодня проходить по-чеснаку. чо сказать, через писят минут ровно я оттуда уехал с талоном причем минут 20-30 из этого времени гаишник болтал по телефону и ходил в будку к диагностам, видимо ...
Еще совсем недавно мы страдали от аномального холода накрывшего почти все восточное побережье США, а несколько дней назад природа сделала резкий разворот на 180 градусов и температура на градуснике взяла и поднялась до +17С. Получились этакие американские температурные горки, которые ...
Галчатки, у меня к вам вопрос. Имеется детское кресло и новорожденный ребенок. Я правильно понимаю, что для того, чтобы его перевезти в машине, нужно вынуть из пеленок, ибо иначе не зафиксируешь его ремнем? А то у бабушки когнитивный диссонанс, она ...
Евда ли не ежедневно Украина докладывает Западу об инновационном подходе русских в минировании. От этого нет реального наступления, от этого леопарды и брэдли превращаются в хлам. Преодолеть минные поля русских - это одна из главных непреодолимых задач. ...
Мировая история богата случаями, когда людей по тем или иным причинам пытались отправить к праотцам, но у палачей, как они ни старались, ничего не получалось. Очень выносливая жертва В 1933 году американский гангстер Энтони Марино придумал ...