I can understand the motivation of pure C for the actual processing code or if creating a library, especially if binding for other languages need to be generated.
My concern if more about the actual darktable core application (collections, tags, ratings, UI views, module loading, command history). Let's be clear, at this stage I'm no darktable developer either. I totally understand how frustrating it can be to have someone come in, who hasn't done anything and start to criticize. I'm just trying to get the topic discussed if it hasn't been so already and hopefully, I can lend a hand into making darktable more maintainable. But maybe I've opened up a can of worms... ________________________________ De : Moritz Moeller <virtualr...@gmail.com> Envoyé : dimanche 6 juin 2021 19:09 À : Paul Lemire <paullem...@hotmail.com>; darktable-dev@lists.darktable.org <darktable-dev@lists.darktable.org> Objet : Re: [darktable-dev] Is it time for a major code overhaul? 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