yoin

marcelmaas

Hi allemaal,

Ik wil gaan leren programmeren, maar nou sta ik voor de keuze tussen vba of lisp.
Aangezien ik weet dat je het niet in een paar dagen zomaar kunt leren kan ik niet aan beide tegelijk beginnen.
Ik weet dat lisp inmiddels een wat verouderde taal is, maar nog steeds in gebruik.
Zo ook bij het bedrijf waar ik werk.
Wij gebruiken nog steeds een jaren oude lisp routine die het nog goed doet maar wel wat aanpassingen zou kunnen gebruiken.
Als ik lisp zou gaan leren zou ik daar misschien ooit iets aan kunnen aanpassen, maar misschien kun je met vba veel meer of makkelijker.
Ik weet niet precies wat de verschillen tussen beide zijn, en wilde dus eigenlijk vragen wat jullie advies in deze zou zijn.??

Zouden jullie met vba starten of toch met lisp, en wat zijn de verschillen tussen beide.?
Is de een makkelijker te leren als de ander.??

Alvast bedankt, Marcel..

Joop

Om te beginnen:
LISP IS NIET VEROUDERD
Zoek maar eens op internet naar lisp of clisp.

Kijk eens op deze pagina van dit forum.
http://www.cadsite.be/lisp/lisp.php
Hiermee maak je een goede start.

Succes,

Joop
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

EddyBeerke

Citaat van: marcelmaas op do 12 03 2009, 20:06:59
...
Zouden jullie met vba starten of toch met lisp, en wat zijn de verschillen tussen beide.?
Is de een makkelijker te leren als de ander.??
...
Ik zou voor VBA kiezen als ik opnieuw zou beginnen, maar als je de een beetje kent ga dan eens kijken wat de ander te bieden heeft.
Ik denk niet dat je kunt zeggen dat de een makkelijker is dan de ander, dat hangt van je zelf af al vind ik het wel makkelijker DEBUGGEN in vba.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

marcelmaas

Hi Joop sorry.

Ik had deze pagina's al bekeken, en daar ben ik inmiddels ook al aan begonnen.
Maar is het niet verstandiger om voor een van de twee te kiezen, omdat beide tegelijk gaan leren misschien te veel van het goede zou zijn..?
Is het zo dat je met vba hetzelfde kunt als met lisp..?
Lisp is natuurlijk nog steeds in gebruik en okay sorry niet verouderd, maar wat zijn de verschillen tussen lisp en vba of is dat moeilijk aan te geven..?
Ik heb begrepen dat vba ook voor andere programma's bruikbaar zou zijn, en toekomst gericht bekeken is het dan niet verstandiger om voor vba te kiezen..?

groeten, Marcel.

marcelmaas

Hi Eddybeerke,

Voor mij zou het ook fijn zijn als ik ergens een opleiding ervan zou kunnen volgen, en volgens mij kan dat alleen voor vba en niet voor lisp.
Of heb ik dat fout.
Lisp zou ik dus helemaal zelf moeten leren, ook niet erg, maar dan gaat er wel heel veel tijd inzitten, en als dan achteraf blijkt dat ik toch liever vba had gaan leren, dan denk ik dat ik wel zou balen.

Groeten, Marcel..

Reimer

Zelf heb ik er vorig jaar voor gekozen om mij in lisp te verdiepen. Nu, na 1 jaar oefenen, snap ik de basis van lisp en kan ik kleine programma's zelf maken. Ik ben erg blij dat ik hieraan begonnen ben. Waarschijnlijk had ik dezelfde mening wanneer ik vorig jaar met VBA was begonnen. Dit staat echter voor komend jaar op mijn lijstje. Ik heb het boek van R. Boeklage gebruikt als opstap in de wereld van lisp. Dit zelfde boek ga ik gebruiken om te beginnen met VBA.

Een voordeel van VBA is denk ik dat je het ook in bv. Excel kunt gaan gebruiken.
Wat ik erg makkelijk vind aan Lisp is dat je in autocad, op de commandline, ook lispcommando's kunt invoeren. Je kunt zo snel en makkelijk handelingen verkorten. Maar dit kan misschien ook wel met VBA.

Succes met het maken van een keuze  :mrgreen:

Reimer.

EddyBeerke

In het (dikke) "Acad2007 Leerboek en naslagwerk" staan enkele voorbeelden van zowel Lisp als VBA.
Het voordeel van VBA is dat je dezelfde code in de Microsoft-producten kunt gebruiken, denk aan Excel en Word.
Wij maken daar veelvuldig gebruik van bv voor hoeveelheden, coördinaatlijsten e.d.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

julien


HofCAD

#8
Beste Marcel,

Google eens met de term 'VBA versus Lisp' je krijgt dan bijv.:
http://www.cadtutor.net/forum/showthread.php?t=20823
http://management.cadalyst.com/cadman/Harry's+Code+Class+Newsletter+(Archives)/Harrys-Code-Class-September-2007/ArticleStandard/Article/detail/460433
http://manufacturing.cadalyst.com/manufacturing/article/articleDetail.jsp?id=100579

VBA is sneller en staat dichter bij Windows en AutoLisp staat dichter bij AutoCAD en
Visual Lisp is AutoLisp met uitbreiding.
Door dit feit kan de hoeveelheid code flink verschillen.
VBA code om een lijn te tekenen:
Sub Example_AddLine()
    ' This example adds a line in model space
   
    Dim lineObj As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
   
    ' Define the start and end points for the line
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0#
   
    ' Create the line in model space
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    ZoomAll
   
End Sub

AutoLisp code om een lijn te tekenen:
(command "_LINE" "1,1" "5,5" "")
AutoLisp code om een lijn via de database te tekenen:
(entmake (list '(0 . "LINE") '(10 1.0 1.0 0.0) '(11 5.0 5.0 0.0)))
Visual Lisp code om een lijn te tekenen:
(vl-load-com)
(setq Tekening (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq MS (vla-get-ModelSpace Tekening))
(vla-AddLine MS (vlax-3d-point '(1 1 0)) (vlax-3d-point '(5 5 0)))

Een voordeel van AutoLisp is ook dat het geinterpreteerd kan worden
naast compilatie, wat o.a. inhoudt dat je het ook op de commandoregel
kan gebruiken.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

Staat er in Autocad 2006 van ir. R. Boeklagen ook hetzelfde als in 2007 over lisp en vba..?
Ik heb thuis namelijk nog wel de 2006 versie liggen, naast mijn nieuwe 2009 waarin bijna niks meer staat over lisp.

Is het zo dat als je lisp kunt dat je dan ook vba begrijpt..?

En de sit van afralisp.net ga ik zeker iets mee doen, ondanks dat hij in het engels is.!!

Alvast bedankt voor alle tips.

Reimer, uit welk jaar is jouw boek waaruit jij de basis van lisp hebt geleerd..?

Groeten, Marcel..

HofCAD

#10
Citaat van: marcelmaas op vr 13 03 2009, 10:33:51
Staat er in Autocad 2006 van ir. R. Boeklagen ook hetzelfde als in 2007 over lisp en vba..?
Ik heb thuis namelijk nog wel de 2006 versie liggen, naast mijn nieuwe 2009 waarin bijna niks meer staat over lisp.

Is het zo dat als je lisp kunt dat je dan ook vba begrijpt..?

En de sit van afralisp.net ga ik zeker iets mee doen, ondanks dat hij in het engels is.!!

Alvast bedankt voor alle tips.

Reimer, uit welk jaar is jouw boek waaruit jij de basis van lisp hebt geleerd..?

Groeten, Marcel..
Beste Marcel,

In het bericht http://www.cadsite.be/smf/index.php/topic,2567.msg13226.html#msg13226
en http://www.cadsite.be/smf/index.php/topic,2913.msg14970.html#msg14970
staat ook nuttige informatie naar sites.
In de laatste boeken van ir. R. Boeklagen staat eigenlijk niets meer over Visual Lisp
(bijv. de koppeling van AutoCAD met Excel), maar wordt slechts een summiere uitleg
gegeven over AutoLisp.
Mijn eerste Autolisp boek was het boek 'Het AutoLisp handboek programmeren in AutoCAD'
van Leo van der Geest en Ad den Otter van Addison-Wesley van 1989(ISBN 90-6789-150-9).
Dit boek kan echter niet meer gekocht worden.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

marcelmaas

Dank je hofcad voor de info, ga ik zeker opslaan bij mijn favorieten en gebruiken.

Maar lijken lisp en vba eigenlijk ergens wel op elkaar, of zijn ze totaal niet met elkaar te vergelijken..?

Is het zo dat als je lisp goed kent je ook vba begrijpt en misschien enigzins mee zou kunnen werken.?


Groeten, Marcel..

HofCAD

#12
Citaat van: marcelmaas op vr 13 03 2009, 11:56:39
Dank je hofcad voor de info, ga ik zeker opslaan bij mijn favorieten en gebruiken.

Maar lijken lisp en vba eigenlijk ergens wel op elkaar, of zijn ze totaal niet met elkaar te vergelijken..?

Is het zo dat als je lisp goed kent je ook vba begrijpt en misschien enigzins mee zou kunnen werken.?


Groeten, Marcel..

Beste Marcel,

Met VBA en Visual Lisp is het Object georiënteerd programmeren in
tegenstelling met AutoLisp.
Lisp is oorspronkelijk ontwikkeld voor Artificial Intelligence waarbij
je een programma zich zelf kan laten aanpassen, omdat er geen
verschil is in data en statements.
Je kan bijv. de definitie van een plus functie veranderen dat de
werking gelijk is aan een min functie.
AutoLisp (een dialext van common Lisp) was van oorsprong alleen een
interperter taal en geen compilatie taal, zodat je de programmaregels
op de commandoregel van AutoCAD kan ingeven.

Bij het aanleren van een nieuwe programmeertaal is het een voordeel
dat je al een andere programmeer taal kent, omdat je bijv. al iets
weet over gestructureerd programmeren en bijv. iets weet over
logische functies en herhaalfuncties.
In de help van AutoCAD kun je veel vinden t.a.v. AutoLisp en VBA
(o.a. worden alle functies alfabetisch behandeld), maar o.a. de alfabetische
lijst voor Visual Lisp is niet volledig.
Ook kun je er een AutoLisp tutorial vinden.
Als je kennis van AutoLisp hebt en enig inzicht in VBA, dan kun
je vanuit de help van VBA zien hoe je met Visual Lisp moet werken.
Ik ken geen boek over Visual Lisp waar alfabetisch alle functies
behandeld worden, zoals bijv. in het VBA boek
http://www.bol.com/nl/p/boeken-engels/autocad-2006-vba/1001004002700198/index.html

Is het HBO-traject van CadCollege niet een goed idee, waarbij je
via een afstudeeropdracht kan werken aan de problemen van je bedrijf.
http://www.cadcollege.nl/cursus/cur_hbo.htm

Met vriendelijke groet, HofCAD CSI
ACADcadabra

marcelmaas

Hi Hofcad,

Ik heb een nederlands boekje liggen "geen haakje te veel", dit is een boekje uit 1992.
Dit is waarschijnlijk ook autolisp en geen visual lisp.
Is het erg om vanuit dat boek te gaan leren, of is autolisp en visual lisp echt verschillend en niet met elkaar te vergelijken.

Je zei dat visual lisp een uitbreiding op autolisp is, en dat daardoor de code flink anders is.
Kan ik het zo zien dat autolisp tegenwoordig nog gewoon gebruikt wordt en kan worden, of werk je tegenwoordig met visual lisp..?

Groeten, Marcel..

HofCAD

#14
Citaat van: marcelmaas op vr 13 03 2009, 13:42:18
Hi Hofcad,

Ik heb een nederlands boekje liggen "geen haakje te veel", dit is een boekje uit 1992.
Dit is waarschijnlijk ook autolisp en geen visual lisp.
Is het erg om vanuit dat boek te gaan leren, of is autolisp en visual lisp echt verschillend en niet met elkaar te vergelijken.

Je zei dat visual lisp een uitbreiding op autolisp is, en dat daardoor de code flink anders is.
Kan ik het zo zien dat autolisp tegenwoordig nog gewoon gebruikt wordt en kan worden, of werk je tegenwoordig met visual lisp..?

Groeten, Marcel..
Beste Marcel,

Sommige mensen weten niet of ze binnen een Lisp (LISt Programming of spottend ook
Lots of Insane Stupid Parentheses) programma bezig zijn met AutoLisp of met Visual Lisp
en deze kunnen ook binnen een programma gemixed gebruikt worden.

Visual LISP was developed as an enhancement to standard AutoLISP.
It was introduced as an add-on product for AutoCAD Release 14 and is now included
as part of the package with AutoCAD 2000.
Visual LISP is a fully integrated development environment (IDE) for AutoLISP.
This new environment includes all the capabilities of the original AutoLISP, in addition
to a compiler, a debugger, and various productivity tools


In http://www.cadsite.be/smf/index.php/topic,2567.msg13226.html#msg13226
staat, hoe je kan zien of een functie een Visual Lisp functie is.
In het bestand van Marcel.lsp http://www.cadsite.be/smf/index.php/topic,3192.0.html
heb ik bijv. geen enkele Visual Lisp functie gebruikt.
AutoLisp is in de loop van de tijd maar weinig veranderd, je mag bijv. vanaf AutoCAD
2000 de letter T niet meer als een variabele gebruiken.
Dus ik zou zeggen: Gewoon starten met het boekje "Geen haakje te veel".

Met vriendelijke groet, HofCAD CSI.

PS Misschien ook leuk voor je http://www.faqs.org/faqs/CAD/autolisp-faq/part1/preamble.html
ACADcadabra