Skip to main content
Participant
September 7, 2021
Question

What language would you recommend for scripting

  • September 7, 2021
  • 1 reply
  • 1694 views

Hows it going guys. I was wondering what language would be best for scripting if Adobe Illustrator. I know a little javascript and a little C++. I am willing to study one of the languages a little more but I am trying to pick a lane. How do people interface with Adobe Illustrator via C++? I must be missing something conceptually. I would like to continue learning C++ but it seems like javascript is more established. Let me know what you guys thing.

 

Thanks for reading!!

This topic has been closed for replies.

1 reply

femkeblanco
Legend
September 7, 2021

For direct scripting in Illustrator:  JavaScript. 

For creating plug-ins:  C++.

Participant
September 7, 2021

Thanks for the prompt reply. Can I still exciute plugins with C++ ? I see the files supported include .exe.

Silly-V
Legend
September 7, 2021

You make plugins using C++ and execute them via the application when the plugin is installed, to my knowledge.
Otherwise you can execute a script or plugin using any language that can execute a file:

For javascript, this is done by executing the javascript file within the context of the Illustrator application: example is VB and its "DoJavaScript" method. VB has type library support for Illustrator, so it can work.

For executing a C++ plugin, same thing, and inside javascript there is a special "sendScriptMessage" function which can take some arguments and relay them from javascript into the application which can then pass the to a C++ plugin. Typically this works good because it takes a lot more time and technical knowledge to do C++, but not as much when doing Javascript: a C++ person can create low-level features which a JavaScript person can quickly utilize using their JavaScript skills in many different ways. As an example, a C++ plugin can do something complex and impossible with regular scripting, but a script can take that feature and run it inside of a loop.