www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Programming language for GIMP fork's rewrite

reply Kamran <kamran.ramzan netsoltech.com> writes:
Hello everyone,
People who forked GIMP, a popular open source image editor are 
discussing on which language to choose for their rewrite at [1] 
and they are considering D. Maybe some of you can help them out.

[1] https://github.com/glimpse-editor/Glimpse/issues/70
Sep 01 2019
next sibling parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Kamran wrote:

 Hello everyone,
 People who forked GIMP, a popular open source image editor are discussing 
 on which language to choose for their rewrite at [1] and they are 
 considering D. Maybe some of you can help them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
this project is DOA, there is no reason to waste any time on it.
Sep 01 2019
parent reply Per =?UTF-8?B?Tm9yZGzDtnc=?= <per.nordlow gmail.com> writes:
On Sunday, 1 September 2019 at 19:04:44 UTC, ketmar wrote:
 this project is DOA, there is no reason to waste any time on it.
What does DOA mean?
Sep 02 2019
parent reply IGotD- <nise nise.com> writes:
On Monday, 2 September 2019 at 11:07:26 UTC, Per Nordlöw wrote:
 On Sunday, 1 September 2019 at 19:04:44 UTC, ketmar wrote:
 this project is DOA, there is no reason to waste any time on 
 it.
What does DOA mean?
DOA would in this context mean "dead on arrival" if I'm not mistaken.
Sep 02 2019
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
IGotD- wrote:

 On Monday, 2 September 2019 at 11:07:26 UTC, Per Nordlöw wrote:
 On Sunday, 1 September 2019 at 19:04:44 UTC, ketmar wrote:
 this project is DOA, there is no reason to waste any time on it.
What does DOA mean?
DOA would in this context mean "dead on arrival" if I'm not mistaken.
yep. project starters are not seasoned GIMP developers, and they failed to get original devs in new team. now, GIMP codebase is huge, and to start even understand it one have to invest *years* of fulltime work. talking about any rewrites on this stage is ridiculous. eh, talking about *developing* Glimpse at this stage is ridiculous -- there is no development there, and won't be for a long time. and, of course, it is better to stay away from Glimpse to avoid bad publicity when that project will fail. sincerely yours, mechanical elf, also known as captain obvious, one who forked more projects than he has brain cells (dmd included in the list).
Sep 02 2019
parent ketmar <ketmar ketmar.no-ip.org> writes:
p.s.: idc about renaming, i am looking only at technical... aspects. so 
don't paint me hostile to the project due to some "controversies", my 
hatred to both GIMP, and Glimpse is equal.
Sep 02 2019
prev sibling next sibling parent reply Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at [1] 
 and they are considering D. Maybe some of you can help them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
Sep 01 2019
next sibling parent reply Eugene Wissner <belka caraus.de> writes:
On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
I thought the most logical choice would be Vala. It may be not that popular outside Gnome, but there were times when it was almost the standard language for new Gtk/Glib projects.
Sep 01 2019
next sibling parent Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 20:23:14 UTC, Eugene Wissner wrote:
 On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor 
 are discussing on which language to choose for their rewrite 
 at [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
I thought the most logical choice would be Vala. It may be not that popular outside Gnome, but there were times when it was almost the standard language for new Gtk/Glib projects.
Vala is too tightly tied to GLib for it to be useful for some of the things we want to do. Can cause issues when binding to lower level APIs.
Sep 01 2019
prev sibling parent reply Russel Winder <russel winder.org.uk> writes:
On Sun, 2019-09-01 at 20:23 +0000, Eugene Wissner via Digitalmars-d wrote:
[=E2=80=A6]
=20
 I thought the most logical choice would be Vala. It may be not=20
 that popular outside Gnome, but there were times when it was=20
 almost the standard language for new Gtk/Glib projects.
Vala is looking like a dead, or at least stalled for many years, project. Clearly it may revive, but at this stage it seems unlikely. Python, D, and Rust are the natural languages of GObject programming since they all have bindings/wrappers based on GIR files. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk
Sep 03 2019
parent aberba <karabutaworld gmail.com> writes:
On Tuesday, 3 September 2019 at 16:24:11 UTC, Russel Winder wrote:
 On Sun, 2019-09-01 at 20:23 +0000, Eugene Wissner via 
 Digitalmars-d wrote: […]
 
Vala is looking like a dead, or at least stalled for many years, project. Clearly it may revive, but at this stage it seems unlikely.
Oh how wrong your are now. Ha ha. See valadoc.org and the vala Gitlab repo. You never know. Not saying Glimpse should be vala, just saying vala is not going anywhere. Its all about convenience. Some people want the capabilities and stack in C just not the outdated conventions.
Jul 02 2020
prev sibling next sibling parent JN <666total wp.pl> writes:
On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
The marketing is better too. On that thread, for D half of the text is about cons. Rust doesn't list any cons, later on someone mentions some minor concerns.
Sep 01 2019
prev sibling next sibling parent reply Meta <jared771 gmail.com> writes:
On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
I'm a bit confused; OP said that it's a rewrite, but looking at the readme on Github: What is different about Glimpse? For now, not a lot! The initial aim is to provide a downstream fork of the GNU Image Manipulation Program that has a less problematic name so there are no potential barriers to using the software in businesses and educational institutions. This is a long-standing problem that has drawn user concern for over a decade, but whenever the issue is raised it tends to be dismissed. We do not believe the upstream project's explanation or workaround is enough to address the problem. In future versions we intend to address other long-standing complaints, particularly around the graphical user interface. How will the package versions work? Glimpse 0.1.0 will be a simple re-branding of the GNU Image Manipulation Program based on version 2.10.12, with some minor fixes to the UI and build system. You can see how this effort is going in the dev-g210 branch. We will stick to following upstream releases until we "hard fork" at v3.0. After the hard fork we can be more ambitious with our changes. It looks like it's only a rebranding for non-technical reasons, unless this rewrite is part of the aforementioned "hard fork". Can I ask you to clarify?
Sep 01 2019
parent Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 22:56:32 UTC, Meta wrote:
 On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 [...]
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
I'm a bit confused; OP said that it's a rewrite, but looking at the readme on Github: What is different about Glimpse? For now, not a lot! The initial aim is to provide a downstream fork of the GNU Image Manipulation Program that has a less problematic name so there are no potential barriers to using the software in businesses and educational institutions. This is a long-standing problem that has drawn user concern for over a decade, but whenever the issue is raised it tends to be dismissed. We do not believe the upstream project's explanation or workaround is enough to address the problem. In future versions we intend to address other long-standing complaints, particularly around the graphical user interface. How will the package versions work? Glimpse 0.1.0 will be a simple re-branding of the GNU Image Manipulation Program based on version 2.10.12, with some minor fixes to the UI and build system. You can see how this effort is going in the dev-g210 branch. We will stick to following upstream releases until we "hard fork" at v3.0. After the hard fork we can be more ambitious with our changes. It looks like it's only a rebranding for non-technical reasons, unless this rewrite is part of the aforementioned "hard fork". Can I ask you to clarify?
Glimpse 0.x will be a soft fork of GIMP, 1.0 will be a hard fork based of GIMP 3.x where we will start to add new features and major UI tweaks, meanwhile we plan to work on an entire UI rewrite (2.x) during that period to solve a lot of UX problems that are present in the current design, and to get a fresh plate that is easier to experiment with UX wise. (Sorry for any typos and such, writing this on a phone)
Sep 02 2019
prev sibling parent dan <dan.hitt gmail.com> writes:
On Sunday, 1 September 2019 at 19:51:58 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
Oh hey, I didn't expect this to be shared here, haha. Yeah we're considering D, though i'm the main advocate for it. So sadly there's p big chances that Rust will be chosen over D.
Hi Clipsey, A big part of gimp is the plugins, may of which are packaged with it. So i wonder if there are any plugins for gimp written in D: it would seem to be possible in principle at least. In fact, i was searching for such a thing when i found this thread. I did not find any plugins written in D for gimp on github, but maybe my github skills are too poor. So i wonder if the glimpse people have tried writing plugins in some of the languages they are considering, just as a way of assessing how comfortable they are in these different candidate languages. (And, if you do know of any gimp plugins written in D, please lmk and tia.) dan
Nov 16 2019
prev sibling next sibling parent reply Adam D. Ruppe <destructionator gmail.com> writes:
The "only recently went fully free" thing is not true. The dmd 
frontend has been GPL since very close to the beginning and the 
fully GPL gdc has been continuously maintained for over a decade 
and has existed even longer.
Sep 01 2019
parent Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 20:23:28 UTC, Adam D. Ruppe wrote:
 The "only recently went fully free" thing is not true. The dmd 
 frontend has been GPL since very close to the beginning and the 
 fully GPL gdc has been continuously maintained for over a 
 decade and has existed even longer.
Yeah, which is what I noted as an answer. The main bullet points at the bottom are questions, while the sub-bullets are my answers. :)
Sep 01 2019
prev sibling next sibling parent reply IGotD- <nise nise.com> writes:
On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at [1] 
 and they are considering D. Maybe some of you can help them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
I think one thing that is important answer between Rust and D are. Do the developers want automatic memory management or manual (Rust is manual as you constantly need to think about it). Does the project have a lot of parallel processing, or just selected parts that runs in parallel? Rust can be advantageous when a lot of structures are used in parallel. Graphics are usually ridiculously parallel so I don't think we have the same problem here. What do you think? Does the project need a lot of C/C++ interop. Do you want some code in C and gradually move to the new language? Another question is why it is GTK or die for GIMP?
Sep 01 2019
next sibling parent Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 21:23:56 UTC, IGotD- wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
I think one thing that is important answer between Rust and D are. Do the developers want automatic memory management or manual (Rust is manual as you constantly need to think about it). Does the project have a lot of parallel processing, or just selected parts that runs in parallel? Rust can be advantageous when a lot of structures are used in parallel. Graphics are usually ridiculously parallel so I don't think we have the same problem here. What do you think? Does the project need a lot of C/C++ interop. Do you want some code in C and gradually move to the new language? Another question is why it is GTK or die for GIMP?
nogc while not perfect is still good enough to do tasks that require the extra amount of custom wrangled speed, so I don't think that'll be an issue. I personally think D is pretty nice for multitasking/parallel code. Granted it's not a language feature like it is in other languages. Rust are still figuring out how to do their async system to some extent. Since GTK is mainly a C API, we'd be doing a lot of C interop with it (through gtk-d) Glimpse is "GTK or die" because most of us (p much except one guy) use (and some work with) GNOME & GTK.
Sep 01 2019
prev sibling parent Eugene Wissner <belka caraus.de> writes:
On Sunday, 1 September 2019 at 21:23:56 UTC, IGotD- wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
I think one thing that is important answer between Rust and D are. Do the developers want automatic memory management or manual (Rust is manual as you constantly need to think about it).
Yeah.. Rust has kind of compile-time garbage collection. And automatic memory management doesn't mean that you don't have to think about memory management. In large applications you have to think about memory even with automatic memory management and it is not even easier since you have to understand how the GC of your language works. Just look for questions, how to reduce garbage in, for example, Java.
 Do you want some code in C and gradually move to the new 
 language?
As far as I understand the UI rewrite will happen from scratch.
 Another question is why it is GTK or die for GIMP?
Gimp is the reason why GTK was written in the first place, GTK is "Gimp ToolKit".
Sep 01 2019
prev sibling next sibling parent reply SashaGreat <s g.com> writes:
It would be awesome but reading the thread I'm pretty sure they 
will end up with Rust,

The currently hype is too strong.
Sep 01 2019
next sibling parent reply Clipsey <clipsey librem.one> writes:
On Sunday, 1 September 2019 at 21:56:40 UTC, SashaGreat wrote:
 It would be awesome but reading the thread I'm pretty sure they 
 will end up with Rust,

 The currently hype is too strong.
Nothing is certain yet, the rewrite is still a year~ off from now, The actual choice will be done in the contributor chat. So the issue is more for reference than anything. It's p much up to me to convince 2-3 people that D is better choice than rust. When the time comes.
Sep 01 2019
next sibling parent General Rex <xxxx google.com> writes:
lol   everybody falling all over themselves to persuade a bunch 
of bikeshedding SJWs to use D.

next time do a little research on politically motivated forks 
before you get too excited. find out the who & why.
Sep 01 2019
prev sibling parent Guillaume Piolat <contact spam.org> writes:
On Sunday, 1 September 2019 at 21:58:28 UTC, Clipsey wrote:
 On Sunday, 1 September 2019 at 21:56:40 UTC, SashaGreat wrote:
 It would be awesome but reading the thread I'm pretty sure 
 they will end up with Rust,

 The currently hype is too strong.
Nothing is certain yet, the rewrite is still a year~ off from now, The actual choice will be done in the contributor chat. So the issue is more for reference than anything. It's p much up to me to convince 2-3 people that D is better choice than rust. When the time comes.
Disclaimer: built a business on D and very happy about it. Well it's simple, you are creating a heavy-UI type program and D has normal support for OO (Java-like), and there is ablog about D + GTK already: https://gtkdcoding.com/ _Subtyping_ is pretty much essential for UI. This very page has subtyping through CSS. An editor like GIMP can completely exist with a GC... you're not doing it on embedded micro-controllers. I'd be surprise if you ever need to go nogc except on image loaders at times. D is productive, and has relatively terrible (low-key) marketing which should lead the astute observer to correct bias - in order to beat the competition.
Sep 02 2019
prev sibling parent bachmeier <no spam.net> writes:
On Sunday, 1 September 2019 at 21:56:40 UTC, SashaGreat wrote:
 It would be awesome but reading the thread I'm pretty sure they 
 will end up with Rust,
I posted not because I want to convince them (it was obvious that it wouldn't have any effect) but because others will read the conversation in the future.
Sep 01 2019
prev sibling next sibling parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 09/01/2019 11:57 AM, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at [1] and they 
 are considering D. Maybe some of you can help them out.
 
 [1] https://github.com/glimpse-editor/Glimpse/issues/70
 
 
Such discussions are always to make people feel good about their wants. Regardless of the pros and the cons, the language that they "want" will win. And there is nothing wrong with it: People are too scared to scream "I want to write this in X" so they have to have a discussion to be quiet about it: "obviously, we needed to use X." Ali
Sep 01 2019
parent IGotD- <nise nise.com> writes:
On Monday, 2 September 2019 at 03:18:02 UTC, Ali Çehreli wrote:
 On 09/01/2019 11:57 AM, Kamran wrote:

 Such discussions are always to make people feel good about 
 their wants. Regardless of the pros and the cons, the language 
 that they "want" will win.

 And there is nothing wrong with it: People are too scared to 
 scream "I want to write this in X" so they have to have a 
 discussion to be quiet about it: "obviously, we needed to use 
 X."

 Ali
Regardless of the reasons of the switch and for the sake of the project they should put up a matrix of features/support for different languages and investigate what is their best fit. Basically it could be a list of requirements. I think the question for this forum should be more in the form "Does D support X and Y" and "How could this be solved in D". In this case we could be helpful.
Sep 02 2019
prev sibling parent reply bachmeier <no spam.net> writes:
On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at [1] 
 and they are considering D. Maybe some of you can help them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
Jul 01 2020
next sibling parent reply Clarice <cl ar.ice> writes:
On Thursday, 2 July 2020 at 02:31:29 UTC, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
I hope it goes well for them, but this is a massive undertaking.
Jul 01 2020
parent reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Jul 02, 2020 at 02:43:31AM +0000, Clarice via Digitalmars-d wrote:
 On Thursday, 2 July 2020 at 02:31:29 UTC, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are
 discussing on which language to choose for their rewrite at [1]
 and they are considering D. Maybe some of you can help them out.
 
 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
I hope it goes well for them, but this is a massive undertaking.
I wonder how they will approach this. Will they rewrite it from ground up, or will they rewrite it piecemeal (module-by-module or some other unit)? I've rewritten a medium-sized C++ project of my own before (nowhere near as big as Gimp though), and I started out with the piecemeal approach, but found it quite frustrating. Eventually I opted to just dive cold turkey into rewriting it in D from ground up. It took a while, but I'm quite pleased with the result, and have taken new directions with the code since, which has been much easier with D than C++. T -- The irony is that Bill Gates claims to be making a stable operating system and Linus Torvalds claims to be trying to take over the world. -- Anonymous
Jul 02 2020
parent reply Meta <jared771 gmail.com> writes:
On Thursday, 2 July 2020 at 16:11:27 UTC, H. S. Teoh wrote:
 On Thu, Jul 02, 2020 at 02:43:31AM +0000, Clarice via 
 Digitalmars-d wrote:
 On Thursday, 2 July 2020 at 02:31:29 UTC, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor 
 are
 discussing on which language to choose for their rewrite 
 at [1]
 and they are considering D. Maybe some of you can help 
 them out.
 
 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
I hope it goes well for them, but this is a massive undertaking.
I wonder how they will approach this. Will they rewrite it from ground up, or will they rewrite it piecemeal (module-by-module or some other unit)? I've rewritten a medium-sized C++ project of my own before (nowhere near as big as Gimp though), and I started out with the piecemeal approach, but found it quite frustrating. Eventually I opted to just dive cold turkey into rewriting it in D from ground up. It took a while, but I'm quite pleased with the result, and have taken new directions with the code since, which has been much easier with D than C++. T
What were the main issues you ran into with the piecemeal approach?
Jul 02 2020
parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Jul 02, 2020 at 09:02:28PM +0000, Meta via Digitalmars-d wrote:
 On Thursday, 2 July 2020 at 16:11:27 UTC, H. S. Teoh wrote:
[...]
 I've rewritten a medium-sized C++ project of my own before (nowhere
 near as big as Gimp though), and I started out with the piecemeal
 approach, but found it quite frustrating. Eventually I opted to just
 dive cold turkey into rewriting it in D from ground up.  It took a
 while, but I'm quite pleased with the result, and have taken new
 directions with the code since, which has been much easier with D
 than C++.
[...]
 What were the main issues you ran into with the piecemeal approach?
The main frustrations were caused by having to stick to the C++ ABI between the C++/D boundary. This meant I can't use any D-specific features across this boundary, which greatly limited what the D portions of the code can do. Basically I had to write C++-style code in D in order to get it to work, which sorta defeats the purpose of rewriting it in D in the first place. In theory, of course, once the entire codebase was in D then I could start refactoring it to be more idiomatic, but that meant a lot more effort was required: first transliterate C++ into D, then do piecemeal rewrites in D. In contrast, rewriting the whole thing cold turkey from ground up meant I could dispense with the first step and do the second more easily (because I wouldn't have to work around old API design problems while doing the piecemeal rewrites -- I could just start fresh with a better design). There remains, of course, what Joel Spolsky said about rewriting software from scratch: old bugfixes may be missing from the new code and therefore old bugs are reintroduced. IME, however, getting a fully-D codebase up and running faster meant I could invest more time and effort into writing unittests until I achieved functionality on par with the old code. The old code didn't even have unittests in the first place, so there were all sorts of latent bugs and regressions that I uncovered while reading the old code in the process of writing the new D code. In contrast, the D code, while initially very buggy, was quickly kicked into shape thanks to a quickly-growing series of unittests, and later on, an external test suite that I threw together (with a convenient test utility -- written in D, of course, which meant I could put it together very quickly). It also so happened that this particular project was heavily used by my website project, which used it in many non-trivial ways, so that also served as a large test case to ferret out all the obscure bugs that the unittests and test suite missed. I'm rather pleased with the result, which has a much better design than the original C++ code. Not having to go through a transition stage where I had to pass everything through the old API meant that I could fix fundamental design issues from the get-go, instead of carrying it over into D and then doing another massive refactoring to fix them as a second step. Of course, a lot of this is very specific to my specific codebase and use case; so YMMV, caveat emptor, et al. DMD would serve as a counterpoint, where the translation to D was essentially a direct transliteration from C++, and even to this day is still gradually being rewritten piecemeal to take advantage of D features. T -- Marketing: the art of convincing people to pay for what they didn't need before which you fail to deliver after.
Jul 02 2020
prev sibling next sibling parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On 7/1/20 10:31 PM, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at [1] and 
 they are considering D. Maybe some of you can help them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
This is pretty interesting and exciting news. I have been using GIMP on and off since it was on X/Motif, and it would be crazy cool to have such a huge project using D. I remember the switch to (and creation) of gtk, it was itself a huge undertaking, and that was before GIMP was as complicated as it is today. I'll note that it looks like they have 2 different "projects", one is just a project that has minor changes (including the name), but is still a derivative of GIMP (what they are calling Glimpse). The "Glimpse NX" will be "a completely new permissively-licensed image editing program that is being written from the ground up with the D programming language and a bespoke cross-platform UI toolkit." (https://glimpse-editor.github.io/) According to this: https://github.com/glimpse-editor/Glimpse/issues/69 They are going to create their own UI toolkit. That's.... a lot of work. -Steve
Jul 01 2020
next sibling parent Claude <claudemr live.fr> writes:
On Thursday, 2 July 2020 at 03:07:06 UTC, Steven Schveighoffer 
wrote:
 This is pretty interesting and exciting news.
 [...]
 They are going to create their own UI toolkit.

 That's.... a lot of work.
Whatever the language, I suppose that would still be a lot of work. That could be the project D needs to gain more traction! I think that's great news. I hope it goes well for their team. It will provide some valuable feedback to the D community. :)
Jul 02 2020
prev sibling next sibling parent aberba <karabutaworld gmail.com> writes:
On Thursday, 2 July 2020 at 03:07:06 UTC, Steven Schveighoffer 
wrote:
 On 7/1/20 10:31 PM, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 The "Glimpse NX" will be "a completely new 
 permissively-licensed image editing program that is being 
 written from the ground up with the D programming language and 
 a bespoke cross-platform UI toolkit." 
 (https://glimpse-editor.github.io/)

 According to this: 
 https://github.com/glimpse-editor/Glimpse/issues/69

 They are going to create their own UI toolkit.

 That's.... a lot of work
And pretty cool to see it being D :)
Jul 02 2020
prev sibling next sibling parent Dukc <ajieskola gmail.com> writes:
On Thursday, 2 July 2020 at 03:07:06 UTC, Steven Schveighoffer 
wrote:
 They are going to create their own UI toolkit.

 That's.... a lot of work.

 -Steve
On the other hand, since they are an open-source project, it means everyone will get a DLangUI alternative. If they make it to the end, that is.
Jul 02 2020
prev sibling parent Jesse Phillips <Jesse.K.Phillips+D gmail.com> writes:
On Thursday, 2 July 2020 at 03:07:06 UTC, Steven Schveighoffer 
wrote:
 This is pretty interesting and exciting news. I have been using 
 GIMP on and off since it was on X/Motif, and it would be crazy 
 cool to have such a huge project using D. I remember the switch 
 to (and creation) of gtk, it was itself a huge undertaking, and 
 that was before GIMP was as complicated as it is today.
Note this is only the front end. I'm not saying that means small, especially if they are in fact writing a toolkit too. I could definitely see a team who has worked on gimp being able to do something interesting with D in the graphics space. They wanted something more differentiating, that will certainly happen using D.
Jul 05 2020
prev sibling next sibling parent sebasg <h366l6wxik 326oo.anonbox.net> writes:
I wondered who and why would one want to take on a project like 
this. After reading the introduction, looking at some added 
top-level files, trying to see who this team is...
Uh, well, yeah... Let's just say that it is indeed a huge lot of
work.
Jul 02 2020
prev sibling parent reply Johan <j j.nl> writes:
On Thursday, 2 July 2020 at 02:31:29 UTC, bachmeier wrote:
 On Sunday, 1 September 2019 at 18:57:07 UTC, Kamran wrote:
 Hello everyone,
 People who forked GIMP, a popular open source image editor are 
 discussing on which language to choose for their rewrite at 
 [1] and they are considering D. Maybe some of you can help 
 them out.

 [1] https://github.com/glimpse-editor/Glimpse/issues/70
They have decided to go forward with a rewrite in D: https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
Wow this is very exciting :) If you are looking for an open source project to contribute to, I can highly recommend graphics programs. My past experience with Inkscape dev was always very rewarding (it's pretty cool to literally _see_ the result of your work and the amazing things people can craft using it). cheers, Johan
Jul 04 2020
parent reply Martin Tschierschke <mt smartdolphin.de> writes:
On Saturday, 4 July 2020 at 13:05:42 UTC, Johan wrote:
 On Thursday, 2 July 2020 at 02:31:29 UTC, bachmeier wrote:
[...]
 They have decided to go forward with a rewrite in D:
 https://github.com/glimpse-editor/Glimpse/issues/70#issuecomment-652644336
Wow this is very exciting :)
Yes! I was reading to fast in this thread and missed the original post. The process of rewrite and later the success would be a very good promotion for D.
Jul 05 2020
parent IGotD- <nise nise.com> writes:
On Sunday, 5 July 2020 at 14:22:39 UTC, Martin Tschierschke wrote:
 Yes!
 I was reading to fast in this thread and missed the original 
 post.
 The process of rewrite and later the success would be a very 
 good promotion for D.
Not only that, now that they claim that they will design their own GUI framework (which also must be cross platform) this will be a huge undertaking. That would mean that D gets another cross platform GUI framework which would benefit the D language even more. Unfortunately at least in my opinion, that license is likely to be GPL but a cross platform GUI framework none the less. Still I'm not sure if they will decide to go that route, Gtk is the obvious choice otherwise.
Jul 05 2020