Тема: С чего начать?

Расскажите кто и как начинал писать на c++ под "автокад". Чем это было вызвано и почему скажем не хватало VBA или Lisp + DCL?
И с чего следует начать?

Re: С чего начать?

Очень интересный вопрос. smile Когда я начинал писать на C/C++ под AutoCAD (в начале 90-ых под 11-ую версию - с нее и началась возможность писать на C/C++), VBA еще не было даже в планах. Кстати, как и DCL - он появился только в R12. В тот момент необходимость писать не только на AutoLisp была связана с потребностью увеличения  быстродействия и ограниченными возможностями AutoLisp во всем, что не касалось работы с примитивами AutoCAD.
А начинать IMHO следует с изучения C++, документации в составе ObjectARX SDK и примеров оттуда же.

Re: С чего начать?

И каой ObjectARX сейчас лучше сакчать. В смысле какими инструментами от Microsoft и Autodesk пользоваться? Что сейчас "самое последнее"?

Re: С чего начать?

Для изучения конечно лучше пользоваться последним - ObjectARX SDK 2006. Но если у тебя нет AutoCAD 2006, то нужен тот SDK, который соответствует версии AutoCAD. Иначе будут проблемы. Для программирования под AutoCAD 2004-2006 нужен MS Visual Studio .NET 2002 (точнее VC++ 7.0 из его состава).

Re: С чего начать?

А можно немного конкретики?
Скачал я ObjARX, установил VC++7 а дальше что?
покажите как и что к чему подключать?, как выглядит простейшая программа для отрисовки линии,как эту программу подключить к AutoCADу?
ЗЫ. Я в С++ ламо, до этого на VB писал. А сейчас появилась необходимость изучить С++, а изучать лучше постоянно применяя...

Re: С чего начать?

> Boxa
Если начинаешь с нуля, то:
1) купи книжку по C++ (Бьерн Страуструп "Язык программирования C++" ) и изучи ее.
2) купи книжку Н.Н.Полещук. "AutoCAD 2004: разработка приложений и адаптация" (а еще лучше дождись выхода новой с аналогичным названием - скоро должна появиться: http://www.private.peterlink.ru/poleshchuk/cad/).
Там очень хорошо описаны первые шаги в ObjectARX и создание своего первого arx-файла.
Без знания C++ лезть в ObjectARX бессмысленно. Но если тебе будет совсем невтерпеж, то посмотри как сделать первое свое приложение в arxlabs\ObjectARXLabs.chm (это внутри ObjectARX SDK).

Re: С чего начать?

> Boxa.
Советую обратить внимание на  руководство ?Object ARX & Dummies?, толково написанное опытным разработчиком  ARX приложений (http://arxdummies.blogspot.com/).
Насчет Бьерна Страуструпа. На мой взгляд,   очень круто для начинающего. Это почти академическое издание и изучать по нему С++ с нуля занятие довольно утомительное. Лучше приобрести один из многочисленных букварей по VC++  и начать с него, а дальнейшая жизнь покажет,  нужен ли будет Страуструп или нет.

Re: С чего начать?

> Александр Ривилис
1) купи книжку по C++ (Бьерн Страуструп "Язык программирования C++" ) и изучи ее - это круто!

Re: С чего начать?

> VVV

> LeonidSN
Нужно ставить перед собой высокие цели - тогда можно ожидать и результата. А если побаловаться, то можно и книжку по VC++. Хотя в них 90% текста - описание интерфейса интегрированного окружения Visual Studio и 10% примеров создания элементарных приложений - язык по ним учить нельзя. IMHO - так как таких книжек не покупал и последний раз смотрел книжку по VC++ толи 4-ой, толи 5-ой версии). Для меня первой книжкой по C - был Карниган & Ричи, когда ее еще нельзя было купить в виде книги, но можно было распечатать на ЕС-1045 на рулонной бумаге. Если бы не некоторые нюансы, то я бы посоветовал именно ее. Для понимания азов C/C++ - это самое оно. Конечно это все IMHO.

Re: С чего начать?

С и С++ - языки, которые требуют не просто знания синтаксиса, но еще и принципов работы памяти, стека, и других нюансов работы компьютера. Меня очень продвинуло в понимании принципов С++ - это курс по Assembler, сразу стало все понятно, откуда ноги растут :)
Для переходящих с VB на С++ советую сходить на курсы, и чем эти курсы будут больше по времени и глубине, тем лучше.
Имхо, книжки лучше всего подходят при решении конкретных вопросов, как справочник, а не для постоянного кропотливого изучения.

Re: С чего начать?

> Александр Ривилис
Я понимаю, насколько затронутая тема благодатна для пространных рассуждений и воспоминаний о личном опыте, от которых порой невозможно удержатся. Против  тезиса  о вершинах трудно что-либо возразить. Все верно. Но  меня в Ваших советах начинающему смутила огромнейшая разница между предложенными  в пунктах 1 и 2, так сказать, вершинами. Получается, что в С++ новичку предлагается сразу карабкаться  на Эверест, а в ARX советуют совершить  небольшую прогулку по слегка пересеченной местности, к тому же,  следуя за поводырем,  который, как мне кажется,  и сам не сильно знаком с этой местностью?

Re: С чего начать?

Да, при возникновении подобных вопросов (независимо от языка и среды разработки) ветераны советуют начинать изучение с фундаментальных основ. Страуструп, Вирт, Рихтер и т.п. Очень рекомендуют изучить команды процесора, самому собрать что-то вроде РК и так далее. По большому счету - так и есть. Если идти таким путем, из человека почти наверняка получится хороший программист. Лет через 10.
Но имеется маленький нюанс - время. На это уйдут годы. А молодежи надо "здесь и сейчас". Поэтому приходится идти "американским" путем - сначала хватать верхушки, заниматься "батоно-кидательством". Это нормальный путь. Но не гарантирующий, что из человека получится что-то путное. Зато какие-то результаты будут сразу.
Поэтому вполне возможно начинать не со Страуструпа, а с "C++ для чайников" (есть и такие книги, и хороших авторов). И с книг, где 90% места - описание среды. В ней ведь придется работать, хотя мастеру достаточно и Блокнота.
И ObjectARX начать с установки совершенно не нужного мастерам Wisard.
А потом, когда "чайниковых" знаний будет недостатоточно, то придется заняться глубоким изучением основ. Или навсегда остаться "ламером", думающим, что он все уже знает.

Re: С чего начать?

Круто! Становится к 40 годам хорошим программистом ...

Re: С чего начать?

Нда... накидали..
В общем так, я не профессиональный программист и становиться им не хочу.
У меня есть опыт работы в асм(не большой но все же) по этому меня в С++ больше интересует структура языка и синтаксис. Почему АРХ? по тому что я каждый день работаю с акадом и программирую для себя под него, чтобы облегчить себе труд, и программируя под акад на С++ я буду иметь постоянную практику, а не какие-то абстрактные програмули писать.
К тому же для того чтобы воспользоваться серьезными книгами по классическому С++ необходимо использовать не VC++, а что то другое... а под акад писать надо будет на VC++ =(
Вот несколько сумбурно, но правдиво.

Re: С чего начать?

Перед Страуструпом надо еще несколько лет помучаться - чтоб знать шо такое условные, логические, арифметические, битовые операторы; списки, деревья, строки, стеки, кучи, сборшики мусора, указатели, ссылки, менеджеры памяти, умные указатели, далее ООП, интерфейсное программирование, перегрузка, переопределение, таблицы функций, RTTI, макроподстановки, компиляторы, линкеры, наследование и т.п. и т.д. - это все то откуда ноги растут, к сожалению выучить все это по Страуструпу нельзя. Человек который не занимался программированием - вот так сразу Страуструпа НИАСИЛИТ.
В этом плане система преподавания С++ во многих универах неверна т.к. заставляют учить C++ и писать проги студентов, которые не владеют алгоритмическими азами... а особенно стремно когда попадаются студенты, которые нахватались "верхушек" по книгам VC++ для чайников и могут сделать калькулятор или минер - при этом впервые слышут что такое переменная на стеке или кусок памяти в куче...

Re: С чего начать?

> VVV
Есть небольшая разница между книгами по C++ и книгами по ObjectARX. Т.е. первых достаточно много. Есть и фундаментальные. Вторых практически нет, в том числе и на языке оригинала. Что касается книги Н.Н.Полещук. "AutoCAD 2004: разработка приложений и адаптация" - то я ее не читал. Я читал главу по ObjectARX из следующей его книги, которая готовится к публикации. И считаю ее достаточно приличной для начального изучения. Возможно и программисты считающие себя "проффи" найдут для себя что-то интересное. Там будет достаточное некоторое количество готовых программ (на CD), которые дают возможность разобраться в специфике программирования с использованием ObjectARX.
Я не собираюсь ни за что агитировать и если увижу фундаментальное издание по ObjectARX, то сразу же сообщу о нем на этом форуме.
Ну а дальше придется работать своим серым веществом, задавать вопросы на форумах, вступать в ADN smile и т.д.

Re: С чего начать?

> VVV
А по поводу настальгии, это Вы совершенно правы - удержаться очень сложно. biggrin

> ShaggyDoc
Конечно я с Вами согласен. Но C++ и ObjectARX - это IMHO вещь не для внутреннего потребления. Если человек решился заняться его изучением, то он должен понимать, что это очень тернистый и сложный путь к вершине. Многие вещи в ObjectARX вообще не документированы и только интуиция, глубокое знание AutoCAD и Windows API могут позволить создавать серьезные приложения. А для остального можно ограничится VisualLisp и VBA.

> KonstantinM
Согласен, хотя и не слишком знаком с системой современного преподавания C++ и вообще языков программирования. Во времена моего обучения в ГГУ преподавали Fortran в очень небольшом объеме и совершенно для другой платформы. Если начинать не со Страуструпа, то с Карниган & Ричи - ситаксис языка C может быть изучен самостоятельно (во всяком случае я так делал), а дальше по восходящей. Конечно, параллельно придется изучать и интерфейс Visual Studio и особенности компилятора VC++

Re: С чего начать?

Странно, но факт - хороших книжек по VC++ значительно меньше, чем по языку, как таковому.
Может быть это отражение определенного снобизма корифеев программирования?
   Возвращаясь к теме ветки, есть хороший (к сожалению давно не обновлявшийся) русскоязычный сайт:
http://www.arxmaster.vizxp.com/
именно для начинающих.

Re: С чего начать?

> LeonidSN
спасибо.

Re: С чего начать?

я вот тоже решил переходить с VBA на ARX потому, что у всех довесков к акаду, таких как SPDSGraphigs и т.д., облегчающих и ускоряющих проектирование мне хоть какая-то малость да ненравится, куда лучше написать свои объекты, проектировать и радоваться. По поводу того, что овчинка выделки не стоит - это полная чушь, ведь когда само программирование по-кайфу и отсутствие результа - тоже результ! я  VB сам изучил (процентив на 50 - те 50% которые мне нужны для создания конечного продукта) и вот я с благоговением и трепетом стою перед офигидительной лестницей с названием С++ (эх, ещё бы времени свободного побольше...)
PS Поздравляю всех вместе и Александра Ривилисса в частности наступающим 2006-м годом!!!

Re: С чего начать?

> Егор Опарин
Спасибо! Взаимно! Хотя еще и рановато для поздравлений.
P.S. В моей фамилии только одна буква "с". :)

Re: С чего начать?

извините, исправляюсь: "...с днём конституции Российской Федерации (сегодня) ... и нашего пророка религии объектно-ориентированного программирования Александра Ривилиса, да воздастся ему хвала и всяческие блага за его бескорыстное стремление поделиться своим богатым опытом и глубокими знаниями с нуждающимися, в частности …

Re: С чего начать?

имея акад2006, студию2003, objectARX и си/си++ знания  - c xtuj с чего начать?

Re: С чего начать?

> Nat
Начать с того, что нужна студия 2002 (или хотя бы ее *.h и *lib файлы). Это на форуме уже обсуждалось - поиск рулит.

Re: С чего начать?

На сайте Майкрософта только 2005 предлагают. А студии 2003, и тем более 2002 только у дилеров и за деньги. Подскажите плиз, а ObjectARX работает со студией 2005 Express?
Я пытаюсь сейчас скачать 2003, но уже трое суток сливаю, и все никак. Тоже хочу начать проектировать для себя программки. Посмотрим что из этого получиться.
И еще вопросик:
В теме с обсуждениями 2003 и 2002 студии мертвые ссылки на файлы студии 2002.
Кто нибудь знает живые ссылочки?