?

Log in

No account? Create an account
О дивный новый мир.
против жуликов и воров
fixin



В понедельник я с Вау перепил кофе в Макдональдсе и всю ночь не мог уснуть. Но в этом была и своя приятная сторона.


Я мечтал о новом дивном загробном мире, где, согласно учению Религии Дембеля, я стану богом и царем.


Я представил как получил новую планету и заложит там несколько городов.


Я клонировал жителей Земли и населил этот город мужчинами и женщинами. Большинство женщин поимел, конечно же.


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



Read more...Collapse )


promo fixin december 31, 2037 16:57 1417
Buy for 30 tokens
UPD: Друзья, в августе 2019 года блог переехал на http://fixinchik.ru. Welcome! Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект "…
Идеальная IDE к СУБД и 1С
против жуликов и воров
fixin
Считаю, что в программировании кризис и застой. За последний 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-летней давности.