Originally Posted by
peter
(getpoint) is pretty simple.
I have seen the full page of code in .NET to do the same thing.
I think you're exaggerating. Here is the C#.NET equivalent of (getpoint):
Code:
PromptPointOptions pops = new PromptPointOptions("\nSelect Point");
Application.DocumentManager.MdiActiveDocument.Editor.GetPoint(pops);
That's it. And while it might initially seem like a lot compared to "(getpoint)", it really isn't, once you consider all the additional functionality and control you have in .NET.
That's basically why I say that I view Lisp as only appropriate for macro programming or short scripts. It is actually a very poor language choice for large development efforts, because of its lack of readability and maintainability.
There is also no comparison between the support offered by the free Visual Studio Express or SharpDevelop platforms and the VLisp IDE. The VLisp IDE in Autocad is quite weak. That helps make it more difficult to do large development efforts in Lisp.
As for your "thousands of Lisp routines", I can pretty much guarantee you that nobody uses thousands of Lisp routines. So how many of those routines are REALLY being used by your users?
And then out of those routines that are actively being used, how many of them could actually be replaced by built-in functionality that has been added to Autocad since you initially wrote the routine?
And out of what's left, how many are self-contained routines that are working fine, and you don't even need to look at?
If you assess all of that, you may find that there really aren't that many routines you need to focus on.
If you are moving toward the route of a bridge, simply because you have some Lisp "library" routines that you use frequently in your coding, then a better approach may be to migrate those "library" routines to .NET. It would be much more maintainable, moving into the future.
Of course, it's very possible that your route is the best route. I can't say that from my position. I just felt obliged to urge you to really think about your proposed approach, and make sure you are really choosing the best route, and not simply making a decision based on a personal preference for Lisp over .NET. There are many huge advantages to using .NET instead of Lisp, and there are strong reasons to not want to continue large development efforts in Lisp, or even in a mixed Lisp/.NET environment. So such an approach should only be embarked upon if there really is no other viable choice.