Hello,

Maciek:
- I do agree that introducing Boost is a heavy dependency, but still I have
a reason to do so.
- Unfortunally I don't see large benefits for object serialization.
  There are many standard formats for storing complete chemical structure
such as MDL and CML.
  I think it's not a good idea to add an another thick pages of
specification.


David:
> Most changes seem to be syntactic sugar
No. If I continue to rewrite this in C++14 (+Boost), i'm sure it will be
more than a syntactic-sugar change.

> Why can't they be implemented without breaking compatibility?
Because the language itself has been updated. Period.
If you really want to provide a "C++ binding" then it's necessary to fit in
C++14-style.

Also, If you're using modern C++, it always comes with Boost library.
Otherwise you will be reimplementing a lot of things, for example, file
operations, range/container algorithm operations, string operations,
compile-time features, etc..

Please do not make me begin "Why Boost is required in modern C++
development" conversation in this thread.


> Dropping language bindings is a horrible idea.  They are part of what
> makes openbabel so useful to a wide range of people.
I understand your concerns. And SWIG is quite not friendly with Boost.

Please understand that I'm not going to destroy the original project.
I want to say a simple sentence:
The C++ library should be updated.
If it's gonna conflict with the original culture, someone's gonna fork it.
That's all.

So I think it comes to a decision whether (1) you take a modern C++ impl
and drop support for SWIG, or,
(2) OpenBabel will oficially not support modern C++ features since it's
gonna break the community.


So... in order not to start a war with the community, I'm starting to think
that I should keep a distance from the original OpenBabel and fork it as a
C++ subproject.
Shall I continue?


Best,
Nana


2015-04-27 22:56 GMT+09:00 David Koes <dk...@pitt.edu>:

> Eh. Most changes seem to be syntactic sugar (e.g., NULL->nullptr). What
> are the changes that bring actual value to the users/developers and why
> can't they be implemented without breaking compatibility?
>
> You can have a great library written in C. Or Python. Or Haskel.  I
> don't see the fact that openbabel isn't C++14 in any way a negative.
> The question is there something in C++14 (or boost) that brings in
> enough value to justify the decreased compatibility?
>
> For example, I think OBConversion should be rewritten to use boost
> filtering streams.  This has the advantage of eliminating significant
> memory leaks for some use cases and possibly improving performance. The
> disadvantage is you introduce a dependency.  But if you don't use boost,
> you basically have to reimplement its functionality.
>
> Dropping language bindings is a horrible idea.  They are part of what
> makes openbabel so useful to a wide range of people.  At one point or
> another I have used the python, perl, or php bindings.
>
> -Dave
>
>
> Message: 6
> Date: Mon, 27 Apr 2015 19:20:24 +0900
> From: Ryushiro Sugehara <n.sakis...@gmail.com>
> Subject: [OpenBabel-Devel] Proposal for a modern C++ codebase
> To: openbabel-devel@lists.sourceforge.net
> Message-ID:
>         <CADL_a3H2pgGbRy=
> mmucce__ahby9zm_ftrhhkxayrjxquux...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hi all,
>
> I've created an experimental fork to show a new codebase of openbabel:
> https://github.com/openbabel/openbabel/issues/154
>
> My codes are just a demo. It aims to show what will happen if you make a
> massive change on the interface.
> For further details please see the attached link above.
>
> Tell me what you think:
> - Removing legacy codes and writing new implementation creates many
> backward-incompatible changes.
>    Which do you think is more appropriate: "OpenBabel v3" or an another
> brand new project?
>
> - What do you think about introducing C++14 and the Boost library?
>
> - What do you think about dropping support on unpopular language bindings?
>    I'm pretty sure that majority of users are using C++ or Python binding.
>
>
> Since the release has stopped for a long time, I think it's time to change.
> Nana Sakisaka
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> OpenBabel-Devel mailing list
> OpenBabel-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openbabel-devel
>
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to