www.digitalmars.com         C & C++   DMDScript  

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

reply Mike James <foo bar.com> writes:
https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
Jul 02
next sibling parent reply Mathias LANG <geod24 gmail.com> writes:
On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
Especially since they chose D, I am surprised with the idea of a full rewrite. Gradual transition from a C/C++ code-base is an area where D shines like no other language.
Jul 02
next sibling parent Guillaume Piolat <first.name gmail.com> writes:
On Thursday, 2 July 2020 at 11:07:39 UTC, Mathias LANG wrote:
 On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 Gradual transition from a C/C++ code-base is an area where D 
 shines like no other language.
Disagree. I use GIMP a lot and while it's dependable and fast and featureful... it's pretty clear it has a considerable UX problem. Everything takes a few precise clicks, and even finding the right window is a bit hard. I spent a lot of time changing the brush size and the size isn't log, just a slider from 1 to <unusable> pixels. It's not _bad_, it's just getting increasingly important to be agreeable and quick to learn. Unfortunately, UX in modern consumer programs is getting so important everything has to be designed around it, so I think a rewrite would yield superior usability. Programs that are rich in functionality but hard to learn will be replaced with programs where workflow was considered with more weight ; even when the replacement has less features.
Jul 02
prev sibling parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
On 7/2/20 7:07 AM, Mathias LANG wrote:
 On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
Especially since they chose D, I am surprised with the idea of a full rewrite. Gradual transition from a C/C++ code-base is an area where D shines like no other language.
They appear not to have said exactly what the rewrite will entail - and a lot of the discussion on that thread is how D allows usage of C libraries. I'm a bit surprised at the UI rewrite, as D has good GTK support, and the focus of GIMP is not really UI. They could easily use GTK and make the UX better. -Steve
Jul 02
parent reply aberba <karabutaworld gmail.com> writes:
On Thursday, 2 July 2020 at 14:38:11 UTC, Steven Schveighoffer 
wrote:
 On 7/2/20 7:07 AM, Mathias LANG wrote:
 On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
Especially since they chose D, I am surprised with the idea of a full rewrite. Gradual transition from a C/C++ code-base is an area where D shines like no other language.
They appear not to have said exactly what the rewrite will entail - and a lot of the discussion on that thread is how D allows usage of C libraries. I'm a bit surprised at the UI rewrite, as D has good GTK support, and the focus of GIMP is not really UI. They could easily use GTK and make the UX better. -Steve
Now GTK+ has usability issues beyond the usual UI stuff. Its a C problem. That could be a factor. I believe Gimp is the most complex application using Gtk... large C codebase is a message without those high-level language features.
Jul 02
next sibling parent reply JN <666total wp.pl> writes:
On Thursday, 2 July 2020 at 15:15:47 UTC, aberba wrote:
 I believe Gimp is the most complex application using Gtk...
GTK stands for Gimp ToolKit
Jul 02
parent Steven Schveighoffer <schveiguy gmail.com> writes:
On 7/2/20 12:03 PM, JN wrote:
 On Thursday, 2 July 2020 at 15:15:47 UTC, aberba wrote:
 I believe Gimp is the most complex application using Gtk...
GTK stands for Gimp ToolKit
It used to. It was invented as a replacement for Motif for GIMP, as Motif was not free, and there were no open toolkits for Unix except for Xt at the time. Now it's just GTK. And I'd hazard to guess Gnome is probably the most complex application using GTK. -Steve
Jul 02
prev sibling parent Nick Treleaven <nick geany.org> writes:
On Thursday, 2 July 2020 at 15:15:47 UTC, aberba wrote:
 Now GTK+ has usability issues beyond the usual UI stuff. Its a 
 C problem. That could be a factor. I believe Gimp is the most 
 complex application using Gtk... large C codebase is a message 
 without those high-level language features.
Doesn't GtkD solve them?
Jul 04
prev sibling next sibling parent aberba <karabutaworld gmail.com> writes:
On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
Isn't that a one sided view? How about the many rewrites that turned out making a huge comeback? I'll say it depends, so one should should consider the trade-offs. Probably that's what you meant.
Jul 02
prev sibling next sibling parent reply Liu <liiudk gmail.com> writes:
On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
I think rewrites can be valid if you switch from a buggy/verbose language like C/C++ to a more modern D/rust. You do more with less code and in the long term, you have a more clean code base where you can focus on solving the actual problem rather the thousands of undefined behaviors, verbosity of C/C++. Now, just rewrite a huge C/C++ code base in C/C++ looking for clean up the code, that, I think it is going to be a huge massive waste of time.
Jul 02
parent claptrap <clap trap.com> writes:
On Thursday, 2 July 2020 at 16:09:10 UTC, Liu wrote:
 On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 -=mike=-
I think rewrites can be valid if you switch from a buggy/verbose language like C/C++ to a more modern D/rust. You do more with less code and in the long term, you have a more clean code base where you can focus on solving the actual problem rather the thousands of undefined behaviors, verbosity of C/C++.
Yes if you can do the rewrite a bit at a time and make the code more maintainable, more open to improvement and modification in the future. So it's less a rewrite more a migration with future proofing in mind. But you have to be careful it's not "this code sucks so we'll rewrite it in D and then it wont suck". It's perfectly feasible to rewrite it from the ground up and it'll still suck.
Jul 02
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 7/2/20 5:36 AM, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org
 
 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Interesting piece. However, I think there are a few example where complete rewrites have been successful though. Two come to mind - eggs and hphp. Also I wonder how much of various parts of various Windows versions have been rewrites. For example I recall Windows NT was considered quite a different codebase from Windows 95.
Jul 02
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 7/3/20 12:32 AM, Andrei Alexandrescu wrote:
 On 7/2/20 5:36 AM, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Interesting piece. However, I think there are a few example where complete rewrites have been successful though. Two come to mind - eggs and hphp. Also I wonder how much of various parts of various Windows versions have been rewrites. For example I recall Windows NT was considered quite a different codebase from Windows 95.
s/eggs/egcs/
Jul 02
prev sibling parent reply WebFreak001 <d.forum webfreak.org> writes:
On Thursday, 2 July 2020 at 09:36:28 UTC, Mike James wrote:
 https://forum.dlang.org/post/hinhcixficvfjwidaknc forum.dlang.org

 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
Maybe they need to read... https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ -=mike=-
I think a full rewrite isn't an issue here, especially the points of that blog article are not applying here, because this isn't a replacement to GIMP where GIMP wouldn't continue development, it's just a new program from a separate team. So I think rewrite is a great idea.
Jul 03
parent Dukc <ajieskola gmail.com> writes:
On Friday, 3 July 2020 at 09:10:04 UTC, WebFreak001 wrote:
 I think a full rewrite isn't an issue here, especially the 
 points of that blog article are not applying here, because this 
 isn't a replacement to GIMP where GIMP wouldn't continue 
 development, it's just a new program from a separate team. So I 
 think rewrite is a great idea.
According to their main page [1] they are going to "permissively" license the new version. That might be the real reason: they probably could not do that if they just refactored the old code. 1: https://glimpse-editor.github.io/
Jul 03