[ 
https://issues.apache.org/jira/browse/PROTON-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17551301#comment-17551301
 ] 

Jiri Daněk edited comment on PROTON-2556 at 6/7/22 9:51 PM:
------------------------------------------------------------

This is the app, https://github.com/corda/corda. Looks like they also use 
qpid-cpp in their experimental C++ library, 
https://github.com/corda/corda/blob/cd8cd60a0fd943198a87d266bd15b807eeaa20ba/experimental/cpp-serializer/src/README.md.

bq. Why would you use proton for its internal data structures? There are just 
better libraries out there designed specially for that purpose.

In C, obviously because of the notorious dependency hesitancy that all C 
projects suffer from. And when they decide to depend on something, they then 
exploit that dependency in its fullest. It takes a package manager to break 
that tendency, but then you end up with the npm-style proliferation of 10 line 
libraries in turn. The IT world has weird quirks. Maybe I should've become 
lawyer instead, after all :D

bq. I suppose if one really wanted to use pn_string_t, pn_list_t, pn_hash_t, 
pn_map_t etc. then they could be separated out as a new library

Dispatch apparently wants that. And it also likes the Proton Python URL class. 
Hiding things is probably good artitecture, but it is going to be inconvenient 
and maybe lead to duplication of code between the two projects?


was (Author: jdanek):
This is the app, https://github.com/corda/corda. Looks like they also use 
qpid-cpp in their experimental C++ library, 
https://github.com/corda/corda/blob/cd8cd60a0fd943198a87d266bd15b807eeaa20ba/experimental/cpp-serializer/src/README.md.

bq. Why would you use proton for its internal data structures? There are just 
better libraries out there designed specially for that purpose.

In C, obviously because of the notorious dependency hesitancy that all C 
projects suffer. And when they decide to depend on something, they then exploit 
that dependency in its fullest. It takes a package manager to break that 
tendency, but then you end up with the npm-style proliferation of 10 line 
libraries in turn. The IT world has weird quirks. Maybe I should've become 
lawyer instead, after all :D

bq. I suppose if one really wanted to use pn_string_t, pn_list_t, pn_hash_t, 
pn_map_t etc. then they could be separated out as a new library

Dispatch apparently wants that. And it also likes the Proton Python URL class. 
Hiding things is probably good artitecture, but it is going to be inconvenient 
and maybe lead to duplication of code between the two projects?

> Remove all uses of pn_string and pn_list from example code
> ----------------------------------------------------------
>
>                 Key: PROTON-2556
>                 URL: https://issues.apache.org/jira/browse/PROTON-2556
>             Project: Qpid Proton
>          Issue Type: Sub-task
>          Components: proton-c
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>            Priority: Major
>
> pn_string and pn_list are currently internal APIs and should not be used by 
> application programs.
> The proton library is really not in the business of providing a data 
> structures library!



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to