начало недели: мелкомягкий тренинг

08.10.2007 21:05

Был сегодня на первом дне обучения по небезызвестному продукту мелкомягких Axapta (ныне именуемая Microsoft Dynamics AX).
Обучение шло с отрывом от производства (полный рабочий день) и проводило его (и будет еще проводить дня 2 минимум) компания Columbus.
Занесло меня туда от моей текущей работы, ибо скоро эти знания будут востребованы.
Занесло — потому как ранее я майкрософтовским софтом серьезно не занимался (делфи и фокспро там всякие — не в счет), ибо всю сознательную жизнь радел за юниксы (FreeBSD, если быть точным).

Что порадовало:

  • ERP-система реально большая и крутая. Знания в этой области никогда не помешают. Мало ли чего.
  • Обстановка обучения была весьма дружественной (было 12 человек, из которых человека 4 — из моей организации)
  • Всё “железо” было от IBM. Вспомнил работу в Плэйфоне, где проработал на таком компе 1,5 года (правда, с большим размером экрана)
  • Хороший офис и приветливый персонал
  • Неожиданно бесплатный обед в близлежащем ресторанчике ;)
    И продуманные кофе-брейки.

Что огорчило:

  • [шквал необузданных мыслей on]
    Система разработки и сам язык программирования X++ (продвигаемый, как синтез С++, Java и SQL) оказались на троечку.
    То есть, конечно, понятно, что от ERP-системы не надо ждать большего.
    Что главная ее цель — решение проблем предприятия, автоматизация там и прочее.
    Но меня, как разработчика, в первую очередь интересовало удобство редактора, продуманность заявленной ООП (но ощутить в полной мере ее пока не удалось: может быть, прошло мало времени, не знаю), наличие грамотной документации (а ее (сюрприз!) не оказалось. То есть для 4-й версии аксапты, которая была выпущена год назад, ее практически нет даже у самого майкрософта), продуманная структура системных объектов и таблиц (а оказалось, что они там свалены все в одну кучу и о базах данных, как таковых, речь не идет — используется только одна (!) БД. Каталогизировать таблицы тоже нельзя и приходится придумывать префиксы и постфиксы), грамотность самого языка в конце концов (Java-like ООП, повторюсь, не заметил. Удивили некоторые искусственные конструкции, например: массивы начинаются с 1, а не с 0. Присвоение значения 0-му элементу приводит к очищению всего массива (!); список переменных (которые в ООП должны быть полями класса) отделяется от программного кода (который должен в ООП быть заключен в методы) просто точкой с запятой (;). Да, точка с запятой — это в Х++ считается разделителем метода на 2 логические части. Ебануться. Удивительно. В стандартные языковые конструкции был зачем-то вплетен SQL. То есть можно написать select * from table и дальше — if, while, for и прочее. Причем это не прямые SQL-запросы к БД — они интерпретируются интерпретатором аксапты в прямые и потом посылаются уже СУБД. Вследствие этого в SQL-язык были введены определеные новшества и убраны, как авторы языка посчитали, излишества (например, нет distinct, having и пользовательских функций). Плюс позабавила возможность писать просто: select table. И всё. И дальше использовать по коду то, что это вернет. В переводе это означает — выбрать все поля указанной таблицы с сортировкой по первичному ключу. Нифига не интуитивно и, как и 0-й элемент массива, может привести к трудноуловимым ошибкам в коде. Finalize-блока в экспепшенах тоже нет. Как закрывать открытые соединения после catch — непонятно). Вспомнил не всё, были еще нюансы. Следующие дни покажут.
    [шквал необузданных мыслей off]
    То есть много вот таких деталей, из которых потом складывается общее впечатление о софте, который будет иметь твой мозг в будущем перед дедлайном.
    В очередной раз убедился, что Intellij IDEA — рулит (если не брать в учет языки и сравнивать с точки зрения методологии программирования и удобства редактора кода).

  • Плохая вентиляция. Приехал весь взмокший.

А в целом всё было на уровне. Мне понравилось.


Назад 

Написать мне