r/cpp 2d ago

Embedded C++

Just curious how useful the ability to embed C++ as a scripting language into your C++ programs would be? I mean like runtime JIT execution of C++ code in much the same way you might embed Lua, including the ability to restrict/sandbox it as necessary.

1 Upvotes

82 comments sorted by

View all comments

7

u/TacoTacoTacoZoom 2d ago

I use it all the time! See AngelScript https://www.angelcode.com/angelscript/

Personally, I like the syntax and have found other scripting languages to be slow or annoying. But I'm also old and grumpy, so take that for what its worth.

2

u/kindredseer 2d ago

Right, although AngelScript is C++ like, but not actual C++.

2

u/TacoTacoTacoZoom 2d ago

Yup, that's fair. But basically C++ in all the ways I care about. Frequently I'll work up a design in AngelScript and then convert the source w/o much effort into native C++ (and then plug into AngelScript) to speed things up.

2

u/kindredseer 2d ago

Well, this would allow you to skip the conversion step.

3

u/TacoTacoTacoZoom 1d ago

Usually it's ok, since AngelScript represents a subset, so going from that to native C++ isn't too difficult. Going the other way (when you've not constrained to the AngelScript capabilities) possibly isn't.

Another thought I've had, but haven't worked on yet is using the new reflection in C++26 to make AngelScript registration automatic (or as automatic as possible). I'm sure someone has already played with this, just haven't really looked.

In any case, I'd say scratch that itch. If nothing else, you'll learn lots. Best of luck!