Захотелось оценить свою стоимость в разрезе того, куда двигается Autodesk, да и нас за собою тянет.
Облачные вычисления, AutoCAD под Mac и планшеты, совместная работа... Классно? Ага, да вот только гложет что-то. Пора разобраться с этим "чем-то" и прикинуть, куда и насколько быстро надо двигаться.
Разговор пойдет не о том, что и как делает Autodesk. Разговор пойдет о том, что под продукты Autodesk делают программисты. Армия программистов. Безумное количество людей, написавших первый макрос, первое приложение, первое дополнение. Чего нам-то делать? В какую сторону смотреть?
Похоже, что с lisp'а как основного языка нужно потихоньку уходить. Вряд ли Autodesk сможет себе позволить одновременно поддерживать несколько реинкарнаций lisp'a: один для Windows с поддержкой VisualLISP (читай - COM-модель со всеми ее плюсами и минусами), один - для Mac (а это, насколько я понимаю, практически *nix-система, где понятие COM отсутствует априори), а если сюда добавить еще и планшеты, то становится совсем грустно. Нет, какие-то элементарные вещи, наверное, останутся во всех вариантах - то есть lisp станет практически таким, каким он был в самом начале своего становления. Но возможности работы с другими приложениями, с неактивными документами и прочие прелести VisualLISP, скорее всего, канут в лету. Уже почти 3 года как выпускаются 64-разрядные версии AutoCAD, но вычисления в lisp'е как были 32-разрядными, так и остались. В некоторых случаях это весьма серьезно мешает. Поправка: скоро наверняка можно будет сказать "мешало". Обидно наблюдать угасание такого языка... Конечно, если разрабатывать только для Windows, то еще несколько лет на эту тему можно будет особо не заморачиваться, но тем не менее :(
VBA можно уже практически уверенно считать тупиковой веткой - Microsoft, прародитель языка, и та от него отказалась. Autodesk тоже поняла глухую безнадежность этих костылей и с 2010, кажется, версии, уже не поставляет поддержку VBA прямо внутри AutoCAD. Хотите - скачивайте соответствующий пакет, конечно, но сколько такая халява будет продолжаться - неизвестно. И опять же, разрядность, ангидрид ее!
DIESEL и язык макрокоманд? Ннну, наверное, да... В общем, грустно улыбнусь и пожму плечами: возможности этих диалектов весьма сильно ограничены.
Что же у нас в чистом остатке?
Ну как что - ObjectARX и .NET. При этом у меня ощущение, что оба эти направления сейчас идут практически ноздря в ноздрю, что называется. Под .NET, как я слышал краем уха, уже есть портирование под Mac и *nix. Решения для arx наверняка уже есть - я их просто не искал.
Грустно, блин! Столько лет потрачено на один из самых интересных языков, вдобавок весьма слабо зависящего от версии и платформы AutoCAD - и все коту под хвост.
Ффух, все, выдохнул, себя пожалел, коньяку дернул... Ну что, уважаемые, как жить будем?
.NET изучать - по мне так это однозначно. Вот на новогодних праздниках хотел поднять немного свой уровень. И буду гонять его под nanoCAD... Уверен, что глюков в API еще будет прилично, но в целом интересно попробовать...
ОтветитьУдалитьАнонимному
ОтветитьУдалитьКто о чём, а вшивый о БАНЕ (нано..) ! :))))
Прекращать совсем разработку под AutoCAD, он протух. Для 2D есть уже куча аналогов в том числе бесплатных, для 3D он абсолютно не пригоден.
ОтветитьУдалитьЯ бы не был так категоричен. Существуют области, где специализированных-решений днем с -огнем не сыщешь.
ОтветитьУдалитьПривет, Алексей! Мне тоже немного грустно, но это всегда так после корпоратива ;)
ОтветитьУдалитьВ остальном, все те проблемы, о которых ты пишешь, тебя затрагивают, только если Windows уже умер и поэтому тебе надо писать под Mac. Но Windows живее всех живых, и COM тоже. Да, думаю, лет пять можно спать спокойно (если, конечно, налоги заплатил).
О чём бы я посоветовал подумать коллегам на новогодних каникулах, глядя, как засыхает ёлка, это о том, насколько удобнее программировать на уровне не линий и кружочков (пусть даже объединенных в блоки), а на уровне стен, окон, трасс дорог, шестерёнок и т.д. - AutoCAD хоть и самая раскопированная САПР, но, если Ваш пользователь выполнил хоть один проект в Civil 3D (Revit/Inventor/...), вряд ли он захочет работать в чистом Автокаде, даже с вашей замечательной лисп-программой, сорри.
Да, возможно, придется изучить Civil (Revit/Inventor/...) и его API, возможно, .NET.
Еще один путь - не распыляться, сосредоточиться на постановке задач, а непосредственно программирование перепоручить кому-нибудь ещё, кто знает .NET, но не знает, что такое окна/шестерёнки...
Марат Миргалеев, Autodesk Developer Network
>
ОтветитьУдалитькак жить будем?
На мой взгляд, ответ очевиден - не стоит ждать тот весьма недалёкий день, когда новое ядро AutoCAD перестанет работать с ActiveX. Сидеть под "голым" AutoLisp - малоприятное занятие. Хотя... Умельцы и с ним смогут "вещи" делать (у них даже азарт появится :) ). Писать на C++ или C# функции для Lisp - это можно, но более походит на извращение (уж если писать, так сразу на C++ или C#).
P.S. Лёша, стиль блога сейчас таков, что набирая сообщение нихрена не видишь где курсор... Глянь на скрин и попробуй определить, где он... http://s1.ipicture.ru/uploads/20120217/r64TQNUN.png
А ты в настройках ничего не менял? Сегодня и у меня работает так же как у тебя... Google Chrome.
ОтветитьУдалитьНе-а, не менял. Не видел резона.
ОтветитьУдалить