thanks moritz. and btw i was really very happy to hear about openexr being ported to c :)
i share the maintainability concerns, so at some point i took some time for an experiment and rewrote parts of dt in vulkan/glsl ( https://github.com/hanatos/vkdt). sorry but if anything it's even more c than the original. but yes, fresh rewrites are always easy to make very clean.. but all the ifdefs for architectures etc will come back in a mature product, don't worry. at least i tried to remove all unnecessary dependencies (glib, gtk, ..) and processing language layers (i386, sse/avx, openmp, opencl). cheers, jo On Sun, Jun 6, 2021 at 7:10 PM Moritz Moeller <virtualr...@gmail.com> wrote: > Hello Paul. > > You raise some good points imho. > > However, what I am replying to here is solely the suggestion of using C++. > > You may of course choose to ignore my reply as I'm not a DT developer. > I do have 25+ years of professional experience writing software for > image processing/generation though. Most of it in C++. So maybe I'm > worth listening to. > > Before I start: I think the choice of C was excellent one of Johannes – > at the time. > > Today I would probably choose Rust for any sort of > refactoring/architecture/API improvements of any C code base I can think > of. Including that of DT. > > C++ – I do not even know where to start how bad an idea I'd consider that. > > But to add some context: There is an ongoing effort from people in the > Academy of Motion Pictures Software Association (ASWF) to expose all > functionality as C APIs. > One reason is that all the libs ASWF hosts will be wrapped in safe Rust > APIs. > What's more: core OpenEXR, just for example, is just being refactored in > C (current codebase is C++). > > These are people relying on such software like OIIO, OCIO, OSL, etc. to > generate millions of images for motion pictures and series. They are > turning their backs on C++. It's early days but ... go figure. > > My suggestion would be: make a nice, safe RUst API to allow people > writing modules in that language. > > Then, if people really feel the need, refactor DT, bit by bit, into Rust. > Starting with the most hard to read parts of the codebase that someone > new may want to contribute to. > > > Just my two c. > > Beers, > > .mm > > ___________________________________________________________________________ > darktable developer mailing list > to unsubscribe send a mail to > darktable-dev+unsubscr...@lists.darktable.org > > ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org