Autodesk / Autodesk/AutomaticComponentToolkit

Clarify the meaning of "dynamic" for bindings

Open
#213 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
53
Forks
26
PR merge metrics
No merged PRs in 30d

Description

Just my experiences as a first time user of this library while I'm digging through the library itself, the tutorial, etc:

Currently, it is not obvious what the difference between `C++` and `C++ Dynamic` bindings is (Same for `C` and `C dynamic`).
My first idea was that it could be related to the internal usage of `dynamic_cast` or something like that, but it seems like this is not the case.

Am I correct assuming that `dynamic` refers to the way the library is loaded (dynamically or statically linked)? The `C++ dynamic` bindings will have all the `dlsym` bits in it, whereas the normal `C++` binding assumes static linking?

If that is correct, I propose the following changes:
- Add a new `Linking type` column in the `Feature Matrix: Bindings` table that (either `dynamic` or `static`)
- Clarify that most of the bindings are implicitly `dynamic` - I think it's a bit confusing that C and C++ have variants without the suffix (static linking) and with the `dynamic` suffix (dynamic linking), whereas the other language like Python or Pascal are just implicitly dynamic without the suffix.

If you're not using the library for the first time this may seem obvious, however to me as a first time library user it was not.

Contributor guide

Open the contributing guide

Research direction

Start by locating the “Feature Matrix: Bindings” table and the tutorial or binding documentation referenced in the issue. Confirm how C, C++, C dynamic, and C++ Dynamic bindings are described, then make the linking type and implicit dynamic behavior explicit. Done when a first-time user can distinguish static and dynamic loading from the documentation alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, cpp, python
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.