Autodesk Technology Managers Forum
Share your knowledge, ask questions, and engage with fellow CAD/BIM Managers.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Programming - Which direction

4 REPLIES 4
Reply
Message 1 of 5
Lancasterm
270 Views, 4 Replies

Programming - Which direction

Though I have created numerous in-house AutoLisp programs in the past, I have been out of the management, programming, and customization of Acad for the past 2 ½ years. However my new CAD Admin position is leading me down this path again of supporting Acad 2008, Inventor, ProductStream, and other AutoDesk applications. Though I could pick up AutoLisp easily again, I am wondering what other programming languages (C++, VB, .NET, API) I really should be considering to support a large array of AutoDesk products in our environment. I’ve been looking into .NET programming (seems to be the future) but it appears too me that maybe I need to learn C++ or VB first before even heading down that direction. If that is the case, would C++ be the choice or VB or something else?

Any advice I would appreciate….
4 REPLIES 4
Message 2 of 5
Anonymous
in reply to: Lancasterm

Dear Mr. Rip van Winkle,

The .NET Framework (DNF) is not the future, it is the present and is
something like five years in progress already. I don't want to take too much
time at the moment proselytizing but you want to brush up on your AutoLisp
skills for sure and you want to learn C#. You'll only want to learn enough
about C++ to read some of its syntax and grammar as C++ has been used to
develop Autodesk's ObjectARX Framework which is now for the most part reused
with the DNF which can be and is used to work with that legacy ObjectARX
codebase.

You want to learn C# because its punctuation is exactly the same as Java and
JavaScript all of which derived from C so you will be learning three or more
languages for the price of one so to speak even though there are idiot
nitpickers who will argue otherwise. Just put a code snippet of VB next to
C, C++, Java, JavaScript and finally C# (in the order each language was
created and released for use to developers) and you see what I mean. Its a
matter of pragmatism. Functionally speaking LISP and C have some things in
common for the same reasons so you'll understand the underlying concepts of
OOP much easier when using a language derived from C.

What is OOP you may be asking? Well, its the current architecture by which
all of the most widely used software languages function. Object Oriented
Architecture is not the end all and be all but it is dominant right now and
will be for quite some time.

Coming (back) into vogue is Functional Programming Architecture (more like
LISP, Scheme and others). Microsoft has developed F# in this regard for
those needing high performance computing, i.e. math, physics and science
tasks for example. Autodesk may decide to support F# in the near future but
its really C# that provides the most usefullness.

As for your everyday concerns? I say what I've said: AutoLisp and C# using
the DNF which will take you about a year to really learn well as OOP is not
a piece of cake. The DNF is at 3.5 and has amazing capabilities. To give you
an idea DNF 1.0 was 6,500 classes and I've heard 3.5 has well over 100,00
classes which is to say most of us adopting the DNF have had to learn that
what we want to achieve with code has almost always already been written for
us and exists as a class somewhere in the framework. Uh, I just realized you
probably don't even understand what a "class" may be yet. No problem, you
will in due time.

So you'll want to do everything you can to obtain Visual Studio Pro
2008 --and-- the Expression Suite whereas the Expression Suite supports the
vector drawing and coding IDEs to design and code in XAML which is what I
have called a "new era of CAD" whether my narrow minded detractors want to
acknowledge that or not as I do not imply desktop applications are going
away anytime soon but a hybrid model (THE BORG) is what is happening due to
the expansive impact of the Internet, the web and the use of the Internet
Protocols which have signifiacantly changed the way software itself is
designed and the way developers use software to achieve their goals.

Microsoft has released free IDEs that are crippled compared to Visual
Studio. Go find for example Visual Studio Express and SQL Server Express in
this context.

Finally, whether you know it or not and again whether the narrow minded
accept what I say or not you will have to learn what we call "web
development" languages such as HTML, CSS, JavaScript and XML as those
languages with Microsoft's XAML[eXtensible A(pplication) M(arkup) L(nguage)]
are how the graphic user interface of --all-- software applications are
or --will be-- developed in whole or in part now or during the years to
come. Tthe point being every major language and framework is being reworked
to make it possible to make the desktop and the web as transparent and
seamless as possible so as a --smart and pragmatice-- developer you will
master web development as soon as possible.

To help you understand something early on we are talking client-server
architecture which is the architecture by which most if not all software is
being developed: JavaScript is the code that runs on the client (the browser
or within a Window in AutoCAD for example that uses a browser control) and
C# on the server where all code is compiled and results are returned to the
client application.

There used to be something wise about adopting VB as there was a well
defined migration path: VBScript > VBA > VB > VB.NET so a developer could
pragmatically reuse skills up the pipeline. While that legacy persists it
has been C# that has replaced such usefullness in all of the applications
where the legacy of VB was once dominant and its all due to the use of the
DNF which vendors such as Autodesk has licensed from Microsoft. The primary
reason as I contend is the pragmatism of the punctuation issues I've
discussed as nobody supports VB on the web and without question not on any
other *nix or Mac platforms. If you learn a C language you can go just about
anywhere is what I'm trying to convey.

The best C# textbooks I can recommend are from Deitel and Deitel
http://deitel.com/ --to learn the C# langauge-- but to learn the DNF there
are many many others you can learn about by perusing Microsoft's newsgroups
such as news://microsoft.public.dotnet.general and
news://microsoft.public.dotnet.languages.csharp as "which book" has been
perhaps the most often asked question for the past five years so you see Mr.
van Winkle you have a lot of work to catch up with now that you've been
woken back up eh? 🙂


<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://clintongallagher.metromilwaukee.com/



wrote in message news:5801867@discussion.autodesk.com...
Though I have created numerous in-house AutoLisp programs in the past, I
have been out of the management, programming, and customization of Acad for
the past 2 ½ years. However my new CAD Admin position is leading me down
this path again of supporting Acad 2008, Inventor, ProductStream, and other
AutoDesk applications. Though I could pick up AutoLisp easily again, I am
wondering what other programming languages (C++, VB, .NET, API) I really
should be considering to support a large array of AutoDesk products in our
environment. I've been looking into .NET programming (seems to be the
future) but it appears too me that maybe I need to learn C++ or VB first
before even heading down that direction. If that is the case, would C++ be
the choice or VB or something else?

Any advice I would appreciate..
Message 3 of 5
dgorsman
in reply to: Lancasterm

There is an excellent discussion on this very subject at AUGI:

http://forums.augi.com/showthread.php?t=67675

Learning C++/C#/VB these days *is* learning .NET, so there is one less step for you. Keep in mind, .NET programming is not forgiving and cannot be picked up over a few lunch hours for any kind of productivity. If you don't have a programming background some kind of classroom learning is pretty much a requirement.

If you are looking at doing the CAD Manager thing, keep in mind most companies have existing libraries of LISP and VBA that they will not give you time to upgrade to .NET (little cost benefit for hours spent). Not to mention updating for every new release that is implemented. In addition to that, you must consider the likelyhood of your replacement being able to support what you code. While .NET may be current among developers, it still has a ways to go before it takes root in the CAD (Support) Manager field.

If you are looking at employment at a company that develops add-ons/support programs, then a .NET variant is definitely the way to go. C++ would probably be the most effective, but contact a few developers to see what they want potential hires to know to find out for sure.

To put this in context, I am an actual CAD Manager for an engineering company, providing daily support to around 50 users working with a variety of AutoCAD products. That includes customizing, project support, and "why doesn't this work?" support.

Edit: you don't need to learn any kind of web programming to support AutoCAD. None at all. Its a nice thing to know for ancillary support items but is something you can put off for later. Message was edited by: dgorsman
----------------------------------
If you are going to fly by the seat of your pants, expect friction burns.
"I don't know" is the beginning of knowledge, not the end.


Message 4 of 5
Anonymous
in reply to: Lancasterm

Clinton,

>>Dear Mr. Rip van Winkle,

Suggesting you as a visionary. Please!

Your diatribe offers not direction!


Mark,

Learning C or C++ is no mean feat I would stick with lisp considering
your main business role.

Regards Gary.
www.ltfactory.com
Message 5 of 5
Anonymous
in reply to: Lancasterm

/*
Markl...

...Acad 2008, Inventor, ProductStream, and other AutoDesk applications.

Any advice I would appreciate..
*/

First, I would go and read what languages can be use to customize those
programs.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Administrator Productivity


Autodesk Design & Make Report