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
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
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
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
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
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
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
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
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
prev sibling parent 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
prev 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
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