w Wydawnictwie Naukowym PWN SA i w wirtualnej czytelni iBUK.pl

niedziela, 3 lipca 2011

To LISP or not to LISP? Oto jest próba odpowiedzi!


W poprzednim artykule zatytułowanym "To LISP or not to LISP? Oto jest pytanie!" napisałem, że krótka odpowiedź na pytanie Pana Aleksandra:
"Czy porzucić AutoLISP na rzecz VBA (Visual Basic For Application)"
brzmi:
"Nie".
Noblista powiedziałby zapewne "Nie, a nawet Tak". Może nawet miałby rację?

Dlaczego NIE porzucać?
1. Widoczny na rysunku przykład wyników ankiety dotyczącej oczekiwań w zakresie interfejsu programisty (Application Programming Interface - API) systemu AutoCAD (krzywa 1) każe przypuszczać, że porzucenie języka AutoLISP jest na razie raczej wykluczone. Druga pozycja VisualLISP IDE (Integrated Development Environment) na tej liście na to nie pozwoli.  
2. Ogromna liczba tzw. lispów na świecie w połączeniu z dziwnym sposobem rozpowszechnienia się wersji 10 systemu AutoCAD, to może jeszcze ważniejszy argument za nieporzucaniem. Próba porzucenia kilka lat temu rozwoju systemu AutoCAD i "przesadzenia" użytkowników na bardziej zaawansowane systemy już raz się firmie Autodesk nie udała, moim zdaniem z tego samego powodu.

Rys. zaczerpnięty z: http://through-the-interface.typepad.com/through_the_interface/visual_basic/

3. Kod AutoLISP można uruchamiać ze wszystkich liczących się języków programowania używanych to tworzenia tzw. aplikacji w środowisku systemu AutoCAD.
Myślę, że te trzy powody wystarczą. 
Dlaczego TAK – porzucać! Na rzecz innego języka?
1.
Widoczny na tym samym rysunku wynik ankiety dotyczącej oczekiwań w zakresie interfejsu programisty platformy .NET (krzywa 2) mówi, że zapewne przyszłość jest przed językami programowania pozwalającymi uruchamiać kod w środowisku .NET Framework. W wersjach 2012 produktów instalowana jest wersja 4 .NET.
2. Procedury AutoLISP można wywoływać z wnętrza programów uruchamianych pod .NET Framework, zatem biblioteka "lispów" Pana Piotra będzie mogła być wykorzystana.

Dlaczego nie Visual Basic for Application (VBA)?
1. Od kilku wersji środowisko programistyczne VBA nie jest elementem standardowym pakietów instalacyjnych programu AutoCAD. Na dziś można je pobrać oddzielnie. W kolejnej wersji systemu AutoCAD już takiej możliwości ma nie być.
Co jeśli nie VBA?
1.
Jakikolwiek język umożliwiający uruchamianie kodu w środowisku .NET Framework. Np. Visual Basic 2010 Express (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express).
2. Porównanie różnych systemów Microsoft można znaleźć na stronie:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/product-comparison
Jak?
Moim zdaniem podobnie jak przy przechodzeniu z projektowania 2D na 3D, czy stopniowo i w sposób przemyślany. Ja spróbowałbym np. tak.
1. Nauczyć się zupełnych podstaw Visual Basic na zasadzie analogii choćby z AutoLISP.
2. Napisać najprostszy program. Choćby taki, jak w moim artykule: http://cadaj.blogspot.com/2010/03/od-do-z-autocad-automatyzacja-vba.html
3. Uruchomić go.
4. Nauczyć się jak wywołać z niego podprogram AutoLISP.
5. Reszta … jest milczeniem  ...

Zaraz kto to powiedział?
Muszę zażyć ten na "B": bulo… bólo bilo…
Nieważne. Wiem gdzie leży :) Nie ma? :(
Pozdrowienia,
Andrzej Jaskulski (http://cadaj.blogspot.com/)

Brak komentarzy:

Prześlij komentarz