digitalmars.D - is D ncurses-only language?
- Gour (111/112) Nov 23 2011 Hello!
- Jude Young (23/129) Nov 23 2011 ncurses needs a few minor fixes I believe, ( one or two minor edits )
- Gour (21/34) Nov 23 2011 Yes...it may be useful e.g. when just testing libs and/or
- Jude Young (8/34) Nov 23 2011 Good, humility is a virtue. =P
- Jacob Carlborg (4/8) Nov 23 2011 You could help out and contribute to DWT, for example.
- Gour (11/12) Nov 23 2011 Thank you for offering. Atm, I'm more leaning to some of the other 3
- Jacob Carlborg (20/25) Nov 23 2011 Probably because the original author abandoned the project. I think he
- Gour (18/33) Nov 24 2011 Ahh, now it makes sense. Thank you for taking time to explain.
- Jacob Carlborg (15/23) Nov 24 2011 Well, yes. It helps. But in general, the part of D that Java supports
- Gour (18/24) Nov 24 2011 OK. My experience with Java is 0.
- Dejan Lekic (5/7) Nov 24 2011 Not really. Java has nothing that D does not have anyway. Most SWT and S...
- Trass3r (2/6) Nov 23 2011 So he's still working on it?
- Mike Wey (5/12) Nov 23 2011 Yes, I'll probably update GtkD to the latest 2.x release before looking
- bls (5/16) Nov 23 2011 Understandable. However have just seen GTK broadway samples. Blows me
- Dejan Lekic (1/1) Nov 24 2011 That is simply put - brilliant.
- Gour (13/15) Nov 28 2011 Have you considered using SWIG to provide GtkD bindings?
- Dejan Lekic (11/11) Nov 23 2011 Direct answer to the question - support for ncurses is soon there. So it...
- Gour (19/23) Nov 23 2011 No, but to, maybe, suggest that it would be better having ONE or TWO
- Dejan Lekic (10/13) Nov 23 2011 In open-source world people do various things. Almost all organised open...
- Gour (19/27) Nov 23 2011 You imply that D community is not organized and without "higher"
- Rainer Schuetze (28/42) Nov 23 2011 I wonder whether it would help, if dmd would improve with respect to the...
- mta`chrono (3/7) Nov 23 2011 It's very important that dmd will be able to call C++'s non virtual
- Martin Nowak (18/25) Nov 23 2011 Forget about ctor/dtors, even if C++ object construction boiled down to
- mta`chrono (2/4) Nov 24 2011 Martin, what needs to be done to use SmartPtrs for every c++ class
- Martin Nowak (8/12) Nov 24 2011 It's really not much.
Hello! Re-considering to use D for real-world project and must say that we're very pleased by seeing all the progress which has happened in a recent time...64bit DMD, gdc might be included in gcc, there are more bindings available (we're interested abotu sqlite3), Phobos is receiving new modules, community is alive github... There is still one area which needs, imho, more attention and that is the GUI world or language bindings for different toolkits. New web page says: "D is a lan=C2=ADguage with C-like syntax and static typ=C2=ADing. It pragmatically combines effi=C2=ADciency, control, and mode= l=C2=ADing power, with safety and programmer productivity." and I hope that the word 'pragmatically' includes writing GUI apps as well (hopefully there is still life for non-web apps) :-) However, the world of GUI bindings is not thrilling... a) DWT was supposed to become THE toolkit for D, maybe (I'm not sure) it was still in the D1-era, but from the contact with the main (only) DWT developer - "unfortunately DWT is not a project I'm currently focusing on" andd, as he told me: "I think it's quite usable on windows and linux, the mac port isn't finished yet". Moreover, DWT is based on SWT-3.4, while SWT-stable is 3.7 with the development on 3.8. So, DWT(2) is not suitable for multi-platform GUI development in D. :-/ b) QtD repo bitbucket has last commit by David in May. According to him: "Qt 4.7 should work, although I haven't tested the latest minor release", he and Max "working on it from time to time" and "It does the job for me in its current form, and I don't have the time for working on it any further". Qt does not offer native look on supported platforms, although it looks quite good. c) gtkD looks it's in best shape...works with Phobos and Tango, with D 1.0 and D 2.0, 64 bits support, wraps GTK+ 2.22.x API. Quite good, although a bit behind GTK+ schedule. The problem might be there is only one developer (Mike) working on it. There is endeavour to bring GTK+ looks good on Mac OS X, Windows port needs, afaik, some more manpower, but GTK, in general, might look a bit strange on non-Linux OS. d) wxD...recently moved to github, the only developer (Anders) recently announced he is stepping down from the project (let's hope he'll change his mind), although there are some fixes committed and according to Andrej "It compiles fine on DMD 2.056, but you need to compile wxWidgets via DMD make first. It's described on wxd's website." which looks quite good. Considering that wxWidgets is the only player amongst {gtk,qt,wx} providing native look on all supported platforms (2.9/3.0 brings new Cocoa port), this looks as great option for true multi-platform development of GUI apps in D. Now, wx lib is big and I was discussing it with wx folks about the possibility to make it easier for language bindings developers. Here is the comment from one of the main wx devs, Vadim Zeitlin who wrote ("help for language bindings developers" thread on wxwidgets list): <quote>it seems that there is prominent opionion that providing languageG> bindings for wxWidgets is not an easy and simple task. =20 This is pretty obvious, yes. I don't know of any library of comparable size for which writing bindings would be an easy and simple task. Do you? G> Otoh, I wonder if there is some general plan to have something like G> introspection in GTK+ which could help present and future authors of G> language bindings to make it easier to provide & maintain them for G> plethora of languages? =20 I am not aware of such a plan. IMHO it's not very realistic and I think the best bet to make writing bindings easier in practice would be to have a well-maintained and working wxC project. I also think that SWIG is the best bet to make it work in practice but there could be other approaches. In any case the most important thing would be to find someone motivated enough to work on it. </quote> and Robin Dunn, main dev behind wxPython said: <quote> I've decided to switch to SIP for wxPython, but the main goal of the=20 Phoenix project is to auto-generate as much of the wrapper code as=20 possible, so if other language bindings would rather use SWIG, some=20 other tool, or custom C code with Phoenix then it should be possible.=20 It will just take writing the generator class for the target back-end.=20 There is still currently some Python and SIP-specific stuff in the other=20 parts of Phoenix, but it should be possible to either remove that or at=20 least to make it possible for other generators to ignore it. OTOH, I've also thought of using Phoenix to generate a wxC library as=20 Vadim mentioned, so maybe that would be a good first step for other=20 bindings. </quote> So, one possibility would be to have wxC bindings from where it would be, hopefully, easier to provide D bindings. I'm aware there is no ideal GUI multi-platform toolkit, some look better, some are better documented, supported as well. My main concern is quotes like: "I do like a lot of things about D. It still seems a bit raw to me for "serious" projects though but then I last looked at it more than a year ago so perhaps things have changed since then. It would be interesting to hear if you run into any problems using it." "Whether you use GTK or Qt, I see no reason to avoid C++. I can understand reluctance to build in C (there is Vala of course). Python is a good choice. If you do want to build a project that is open source and actually could have some community behind it, D is probably not the best language to pick." so I wonder whether D is meant to be ncurses-only language, or it is possible to find some crew to enhance one of the above mentioned projects so that it can be said that writing multi-platform deskop app using D+X gui toolkit is safe & viable option *today* ? I may say that considering nativity of wxWidgets it's my choise, I'd be glad to know for any toolkit to receive more love. In the meantime, we'll try to find the answer which toolkit might be optimal for our needs (today & tomorrow) by using some non-technical methods. ;) Sincerly, Gour --=20 While contemplating the objects of the senses, a person=20 develops attachment for them, and from such attachment lust=20 develops, and from lust anger arises. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 23 2011
On Wed 23 Nov 2011 04:23:22 AM CST, Gour wrote:Hello! Re-considering to use D for real-world project and must say that we're very pleased by seeing all the progress which has happened in a recent time...64bit DMD, gdc might be included in gcc, there are more bindings available (we're interested abotu sqlite3), Phobos is receiving new modules, community is alive github... There is still one area which needs, imho, more attention and that is the GUI world or language bindings for different toolkits. New web page says: "D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity." and I hope that the word 'pragmatically' includes writing GUI apps as well (hopefully there is still life for non-web apps) :-) However, the world of GUI bindings is not thrilling... a) DWT was supposed to become THE toolkit for D, maybe (I'm not sure) it was still in the D1-era, but from the contact with the main (only) DWT developer - "unfortunately DWT is not a project I'm currently focusing on" andd, as he told me: "I think it's quite usable on windows and linux, the mac port isn't finished yet". Moreover, DWT is based on SWT-3.4, while SWT-stable is 3.7 with the development on 3.8. So, DWT(2) is not suitable for multi-platform GUI development in D. :-/ b) QtD repo bitbucket has last commit by David in May. According to him: "Qt 4.7 should work, although I haven't tested the latest minor release", he and Max "working on it from time to time" and "It does the job for me in its current form, and I don't have the time for working on it any further". Qt does not offer native look on supported platforms, although it looks quite good. c) gtkD looks it's in best shape...works with Phobos and Tango, with D 1.0 and D 2.0, 64 bits support, wraps GTK+ 2.22.x API. Quite good, although a bit behind GTK+ schedule. The problem might be there is only one developer (Mike) working on it. There is endeavour to bring GTK+ looks good on Mac OS X, Windows port needs, afaik, some more manpower, but GTK, in general, might look a bit strange on non-Linux OS. d) wxD...recently moved to github, the only developer (Anders) recently announced he is stepping down from the project (let's hope he'll change his mind), although there are some fixes committed and according to Andrej "It compiles fine on DMD 2.056, but you need to compile wxWidgets via DMD make first. It's described on wxd's website." which looks quite good. Considering that wxWidgets is the only player amongst {gtk,qt,wx} providing native look on all supported platforms (2.9/3.0 brings new Cocoa port), this looks as great option for true multi-platform development of GUI apps in D. Now, wx lib is big and I was discussing it with wx folks about the possibility to make it easier for language bindings developers. Here is the comment from one of the main wx devs, Vadim Zeitlin who wrote ("help for language bindings developers" thread on wxwidgets list): <quote>ncurses needs a few minor fixes I believe, ( one or two minor edits ) and other than that, I cannot say. But really, what is a language if it doesn't have ncurses? =P I agree that D needs GUI support. The problem is that what you are suggesting takes time, and it takes effort. and it takes people who know and understand these things. If you are trying to get a small team together to ensure that a particular GUI project gets the time and the effort needed to make it worthwhile(no offense to any maintainer), then I am on board. You have my email address. Pick a project that you are willing to invest time and effort in. (GTK, QT, wxWidgets... the list goes on. Preferable cross-platform support.) I have no experience with any of them. I've never used them, I've never played with them. Draw up a roadmap of what needs to be done. Fork the projects, or get the original maintainers on board. You've posted about the state of GUI's several times, now lets see you put your money where your mouth is, and let's see if we can get an up-to-date, stable, platform-independent GUI for D. (assuming one doesn't already exist. I assume it doesn't) Are you willing to put the time and effort into a project like this?it seems that there is prominent opionion that providing languageG> bindings for wxWidgets is not an easy and simple task. This is pretty obvious, yes. I don't know of any library of comparable size for which writing bindings would be an easy and simple task. Do you? G> Otoh, I wonder if there is some general plan to have something like G> introspection in GTK+ which could help present and future authors of G> language bindings to make it easier to provide & maintain them for G> plethora of languages? I am not aware of such a plan. IMHO it's not very realistic and I think the best bet to make writing bindings easier in practice would be to have a well-maintained and working wxC project. I also think that SWIG is the best bet to make it work in practice but there could be other approaches. In any case the most important thing would be to find someone motivated enough to work on it. </quote> and Robin Dunn, main dev behind wxPython said: <quote> I've decided to switch to SIP for wxPython, but the main goal of the Phoenix project is to auto-generate as much of the wrapper code as possible, so if other language bindings would rather use SWIG, some other tool, or custom C code with Phoenix then it should be possible. It will just take writing the generator class for the target back-end. There is still currently some Python and SIP-specific stuff in the other parts of Phoenix, but it should be possible to either remove that or at least to make it possible for other generators to ignore it. OTOH, I've also thought of using Phoenix to generate a wxC library as Vadim mentioned, so maybe that would be a good first step for other bindings. </quote> So, one possibility would be to have wxC bindings from where it would be, hopefully, easier to provide D bindings. I'm aware there is no ideal GUI multi-platform toolkit, some look better, some are better documented, supported as well. My main concern is quotes like: "I do like a lot of things about D. It still seems a bit raw to me for "serious" projects though but then I last looked at it more than a year ago so perhaps things have changed since then. It would be interesting to hear if you run into any problems using it." "Whether you use GTK or Qt, I see no reason to avoid C++. I can understand reluctance to build in C (there is Vala of course). Python is a good choice. If you do want to build a project that is open source and actually could have some community behind it, D is probably not the best language to pick." so I wonder whether D is meant to be ncurses-only language, or it is possible to find some crew to enhance one of the above mentioned projects so that it can be said that writing multi-platform deskop app using D+X gui toolkit is safe & viable option *today* ? I may say that considering nativity of wxWidgets it's my choise, I'd be glad to know for any toolkit to receive more love. In the meantime, we'll try to find the answer which toolkit might be optimal for our needs (today & tomorrow) by using some non-technical methods. ;) Sincerly, Gour
Nov 23 2011
On Wed, 23 Nov 2011 05:33:04 -0600 Jude Young <10equals2 gmail.com> wrote:ncurses needs a few minor fixes I believe, ( one or two minor edits ) and other than that, I cannot say. But really, what is a language if=20 it doesn't have ncurses? =3DPYes...it may be useful e.g. when just testing libs and/or prototyping..I agree that D needs GUI support.Good.The problem is that what you are suggesting takes time, and it takes=20 effort. and it takes people who know and understand these things.Yes.Preferable cross-platform support. iI agree.I have no experience with any of them. I've never used them, I've never played with them.Same here...I only use apps written in 'em.You've posted about the state of GUI's several times, now lets see you put your money where your mouth is, and let's see if we can get an up-to-date, stable, platform-independent GUI for D. =20Sure, I do care about D to become successful...Are you willing to put the time and effort into a project like this?...but I do not see myself neither qualified nor skillful enough to lead the herd. However, I'm ready to learn and put the time & effort into it. It sounds scary to me that some GUI project would depend on leadership of mine. :-() Sincerely, Gour --=20 You have a right to perform your prescribed duty,=20 but you are not entitled to the fruits of action.=20 Never consider yourself the cause of the results=20 of your activities, and never be attached to not doing your duty. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 23 2011
On Wed 23 Nov 2011 06:04:57 AM CST, Gour wrote:On Wed, 23 Nov 2011 05:33:04 -0600 Jude Young <10equals2 gmail.com> wrote:Good, humility is a virtue. =P Send me an email. Not asking you to lead the herd, Just thought that we could collaborate in order to reach our goal. We pick a project, work out a plan of attack, and attempt to better the GUI situation for D. Sound Good?ncurses needs a few minor fixes I believe, ( one or two minor edits ) and other than that, I cannot say. But really, what is a language if it doesn't have ncurses? =PYes...it may be useful e.g. when just testing libs and/or prototyping..I agree that D needs GUI support.Good.The problem is that what you are suggesting takes time, and it takes effort. and it takes people who know and understand these things.Yes.Preferable cross-platform support. iI agree.I have no experience with any of them. I've never used them, I've never played with them.Same here...I only use apps written in 'em.You've posted about the state of GUI's several times, now lets see you put your money where your mouth is, and let's see if we can get an up-to-date, stable, platform-independent GUI for D.Sure, I do care about D to become successful...Are you willing to put the time and effort into a project like this?...but I do not see myself neither qualified nor skillful enough to lead the herd. However, I'm ready to learn and put the time & effort into it. It sounds scary to me that some GUI project would depend on leadership of mine. :-()
Nov 23 2011
On 2011-11-23 13:04, Gour wrote:...but I do not see myself neither qualified nor skillful enough to lead the herd. However, I'm ready to learn and put the time& effort into it. It sounds scary to me that some GUI project would depend on leadership of mine. :-()You could help out and contribute to DWT, for example. -- /Jacob Carlborg
Nov 23 2011
On Wed, 23 Nov 2011 14:32:30 +0100 Jacob Carlborg <doob me.com> wrote:You could help out and contribute to DWT, for example.Thank you for offering. Atm, I'm more leaning to some of the other 3 toolkits, but wonder why DWT did not become THE D toolkit? Sincerely, Gour --=20 What is night for all beings is the time of awakening=20 for the self-controlled; and the time of awakening for=20 all beings is night for the introspective sage. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 23 2011
On 2011-11-23 15:37, Gour wrote:On Wed, 23 Nov 2011 14:32:30 +0100 Jacob Carlborg<doob me.com> wrote:Probably because the original author abandoned the project. I think he worked fulltime on the project, that's why the project progressed so fast. Another guy who contributed quite a lot of code, porting of the browser package, just stopped contributing one day and wasn't reachable. Then it was basically me left. I have focused on other D related project and haven't prioritized DWT in quite a while. There have been a couple of people contributing since the original author left the project. I've only basically tried to merged in their changes. I have recently started to move the repository to github, hoping it will get some more attention. All the code is moved but I need to setup git submodules and update the build script. One reason I haven't prioritized DWT is because I'm running Mac OS X and that port isn't finished. So when I need to fix a bug or make sure a patch works I need to boot Linux or Windows virtually, which I try to avoid. It just takes some extra effort to fix a bug or similar. I've created an organization at github with all the repositories: https://github.com/d-widget-toolkit/ -- /Jacob CarlborgYou could help out and contribute to DWT, for example.Thank you for offering. Atm, I'm more leaning to some of the other 3 toolkits, but wonder why DWT did not become THE D toolkit?
Nov 23 2011
On Thu, 24 Nov 2011 08:29:00 +0100 Jacob Carlborg <doob me.com> wrote:Probably because the original author abandoned the project. I think he worked fulltime on the project, that's why the project progressed so fast. Another guy who contributed quite a lot of code, porting of the browser package, just stopped contributing one day and wasn't reachable.Ahh, now it makes sense. Thank you for taking time to explain.I have recently started to move the repository to github, hoping it will get some more attention. All the code is moved but I need to setup git submodules and update the build script. One reason I haven't prioritized DWT is because I'm running Mac OS X and that port isn't finished.=20I see.So when I need to fix a bug or make sure a patch works I need to boot Linux or Windows virtually, which I try to avoid. It just takes some extra effort to fix a bug or similar.I bet that working on DWT requires some Java knowledge?I've created an organization at github with all the repositories:=20 https://github.com/d-widget-toolkit/Thank you. Can you, btw, give some case for DWT(2)? I do not use any Java app and have no experience with SWT whatsover. What would be some pro/cons of DWT comparing it with gtk/qt/wx? All I know is that it is (like wx) toolkit providing native look... Sincerely, Gour --=20 A person who is not disturbed by the incessant flow of=20 desires =E2=80=94 that enter like rivers into the ocean, which is=20 ever being filled but is always still =E2=80=94 can alone achieve=20 peace, and not the man who strives to satisfy such desires. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 24 2011
On 2011-11-24 09:24, Gour wrote:I bet that working on DWT requires some Java knowledge?Well, yes. It helps. But in general, the part of D that Java supports looks very similar in Java and D. There are a few corner cases where both languages uses the same syntax but the semantics are slightly different.The thing is that I don't have much experience with these libraries. I or wx. I recommend trying to find some page that compares SWT, Qt, GTK and wx and see what it says. Just so it's not forgotten, JFace is an Eclipse library built on top of SWT for simplifying some tasks. JFace is port to D as well. http://en.wikipedia.org/wiki/JFace -- /Jacob CarlborgI've created an organization at github with all the repositories: https://github.com/d-widget-toolkit/Thank you. Can you, btw, give some case for DWT(2)? I do not use any Java app and have no experience with SWT whatsover. What would be some pro/cons of DWT comparing it with gtk/qt/wx? All I know is that it is (like wx) toolkit providing native look...
Nov 24 2011
On Thu, 24 Nov 2011 14:11:11 +0100 Jacob Carlborg <doob me.com> wrote:Well, yes. It helps. But in general, the part of D that Java supports=20 looks very similar in Java and D. There are a few corner cases where=20 both languages uses the same syntax but the semantics are slightly=20 different.OK. My experience with Java is 0.I recommend trying to find some page that compares SWT, Qt, GTK and wx and see what it says.Mostly old stuff...However Ports section (http://www.eclipse.org/swt/community.php)=20 lists what ports are available: * port to Fox toolkit - latest news Sep 16, 2005 * port on top of the Swing - latest file 2007-08-20 and * port to D :-) It does not look very thrilling. Sincerely, Gour --=20 You have a right to perform your prescribed duty,=20 but you are not entitled to the fruits of action.=20 Never consider yourself the cause of the results=20 of your activities, and never be attached to not doing your duty. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 24 2011
I bet that working on DWT requires some Java knowledge?Not really. Java has nothing that D does not have anyway. Most SWT and SWING classes are very simple and easy to use. I doubt there is anything Java- specific one needs to know to work with DWT. Sure, previous Java knowledge will make it easier to learn DWT because some concepts used there are known to everybody (observer pattern, mvc, etc).
Nov 24 2011
c) gtkD looks it's in best shape...works with Phobos and Tango, with D 1.0 and D 2.0, 64 bits support, wraps GTK+ 2.22.x API. Quite good, although a bit behind GTK+ schedule. The problem might be there is only one developer (Mike) working on it.So he's still working on it? GTK+3 is a major step.
Nov 23 2011
On 11/23/2011 01:58 PM, Trass3r wrote:Yes, I'll probably update GtkD to the latest 2.x release before looking at GTK+ 3. -- Mike Weyc) gtkD looks it's in best shape...works with Phobos and Tango, with D 1.0 and D 2.0, 64 bits support, wraps GTK+ 2.22.x API. Quite good, although a bit behind GTK+ schedule. The problem might be there is only one developer (Mike) working on it.So he's still working on it? GTK+3 is a major step.
Nov 23 2011
On 11/23/2011 01:58 PM, Mike Wey wrote:On 11/23/2011 01:58 PM, Trass3r wrote:Understandable. However have just seen GTK broadway samples. Blows me away. This is is must have 4 D. For the curious.. http://www.geek.com/articles/news/gtk-html-5-update-puts-desktop-apps-on-the-web-20110318/Yes, I'll probably update GtkD to the latest 2.x release before looking at GTK+ 3.c) gtkD looks it's in best shape...works with Phobos and Tango, with D 1.0 and D 2.0, 64 bits support, wraps GTK+ 2.22.x API. Quite good, although a bit behind GTK+ schedule. The problem might be there is only one developer (Mike) working on it.So he's still working on it? GTK+3 is a major step.
Nov 23 2011
On Wed, 23 Nov 2011 22:58:00 +0100 Mike Wey <mike-wey example.com> wrote:Yes, I'll probably update GtkD to the latest 2.x release before looking at GTK+ 3.Have you considered using SWIG to provide GtkD bindings? btw, do you have any influence dsource forums? I registered 8 days ago and still neither received confirmation email that my account was activated nor I can login. Sincerely, Gour --=20 When your intelligence has passed out of the dense forest=20 of delusion, you shall become indifferent to all that has=20 been heard and all that is to be heard. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 28 2011
On 11/28/2011 05:08 PM, Gour wrote:On Wed, 23 Nov 2011 22:58:00 +0100 Mike Wey<mike-wey example.com> wrote:I'll have to check it out, currently updating the lookup files will be the easiest way to update GtkD.Yes, I'll probably update GtkD to the latest 2.x release before looking at GTK+ 3.Have you considered using SWIG to provide GtkD bindings?btw, do you have any influence dsource forums? I registered 8 days ago and still neither received confirmation email that my account was activated nor I can login.You'll probably have to contact Brad.Sincerely, Gour-- Mike Wey
Nov 28 2011
On Mon, 28 Nov 2011 22:33:58 +0100 Mike Wey <mike-wey example.com> wrote:I'll have to check it out, currently updating the lookup files will be the easiest way to update GtkD.OK.You'll probably have to contact Brad.Done & fixed, but Forums are really spammed a lot and dsource is not very alive in general. Sincerely, Gour --=20 One who is not connected with the Supreme can have neither=20 transcendental intelligence nor a steady mind, without which=20 there is no possibility of peace. And how can there be any=20 happiness without peace? http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 29 2011
Direct answer to the question - support for ncurses is soon there. So it is not a "ncurses language". :) I know, what you tried to ask is - is it only for console-bases applications? - The answer to this question is - NO. It can use any GUI toolkit you like. (And you know this very well as we talked about this on irc://irc.freenode.org/d ) So what is the point of the question? To troll about not having a standard GUI package in Phobos, or what? :) Being an open-source project makes it open to your contributions as well - go ahead and do it yourself, if you need it. Regards
Nov 23 2011
On Wed, 23 Nov 2011 15:24:09 +0000 Dejan Lekic <dejan.lekic gmail.com> wrote:So what is the point of the question? To troll about not having a standard GUI package in Phobos, or what? :)No, but to, maybe, suggest that it would be better having ONE or TWO stable bindings available for D. Maybe you didn't visit http://www.wikiservice.at/d/wiki.cgi?GuiLibraries for some time. ;)Being an open-source project makes it open to your contributions as well - go ahead and do it yourself, if you need it.No, I'd like to join some project which has some momentum and better support from D community. Do-it-yourself approach has created dozen of half-or-less-baked projects. D community is, imho, not big-enough to waste precious resources in *too many* projects. (Tango & Phobos should taught us the lesson.) Sincerely, Gour --=20 In this endeavor there is no loss or diminution,=20 and a little advancement on this path can protect=20 one from the most dangerous type of fear. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 23 2011
D community is, imho, not big-enough to waste precious resources in *too many* projects. (Tango & Phobos should taught us the lesson.)In open-source world people do various things. Almost all organised open- source projects have some company, or someone who has a "higher" interest in the project. No matter what binding you chose, it is going to be a wrong choice from the perspective of others (who use some other binding). With Windows and MacOSX it is easy - you have only one or two choices. With Linux, BSD, OpenSlowaris and others it is much more difficult. I humbly believe D should have its own GUI library which heavily utilises brilliant std.concurrency, plus the (improved) signals module (where improved = thread-safe).
Nov 23 2011
On Wed, 23 Nov 2011 16:04:31 +0000 Dejan Lekic <dejan.lekic gmail.com> wrote:In open-source world people do various things. Almost all organised open- source projects have some company, or someone who has a "higher" interest in the project.You imply that D community is not organized and without "higher" interest? ;)No matter what binding you chose, it is going to be a wrong choice from the perspective of others (who use some other binding).=20Right, but at least there would be one or two which are stable and fully maintained. I do not see the current status of GUI bindings being advantageous.I humbly believe D should have its own GUI library which heavily utilises brilliant std.concurrency, plus the (improved) signals module (where improved =3D thread-safe).I humbly believe that at the moment, when D community cannot even have one fully supported GUI bindings project, it's illusion to think about full-fledged GUI lib.=20 One day? Sure, since library in D should bring D's advanced features into it. Sincerely, Gour --=20 As a strong wind sweeps away a boat on the water,=20 even one of the roaming senses on which the mind=20 focuses can carry away a man's intelligence. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
Nov 23 2011
On 23.11.2011 11:23, Gour wrote:Hello! Re-considering to use D for real-world project and must say that we're very pleased by seeing all the progress which has happened in a recent time...64bit DMD, gdc might be included in gcc, there are more bindings available (we're interested abotu sqlite3), Phobos is receiving new modules, community is alive github... There is still one area which needs, imho, more attention and that is the GUI world or language bindings for different toolkits. New web page says: "D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity." and I hope that the word 'pragmatically' includes writing GUI apps as well (hopefully there is still life for non-web apps) :-) However, the world of GUI bindings is not thrilling...I wonder whether it would help, if dmd would improve with respect to the integration of C++ object code with D. Name mangling for extern(C++) seems almost ok, and there is a not too old patch for dmd that shows usage of Qt without additional bindings: http://d.puremagic.com/issues/show_bug.cgi?id=4620 I recently played around with C++ interfaces a bit in another context and noticed that you can interface C++ classes like this: // test.cpp class C { public: virtual int virtual_fun(int x); int nonvirtual_fun(int x); int a; }; // test.d extern (C++) interface C { int virtual_fun(int n); final int nonvirtual_fun(int n); } It actually needs a tiny patch on windows (nonvirtual_fun is mangled as static function). Unfortunately I did not find a way to sensibly declare member "a" in D. There is another bug that a derived class is using a wrong virtual function table offset, but that should be fixable.
Nov 23 2011
It actually needs a tiny patch on windows (nonvirtual_fun is mangled as static function). Unfortunately I did not find a way to sensibly declare member "a" in D. There is another bug that a derived class is using a wrong virtual function table offset, but that should be fixable.It's very important that dmd will be able to call C++'s non virtual functions and it's ctors/dtors. But there must be some significant reasons why Walter didn't accept the patch.
Nov 23 2011
On Wed, 23 Nov 2011 21:04:04 +0100, mta`chrono <chrono mta-international.net> wrote:Forget about ctor/dtors, even if C++ object construction boiled down to a function call, you would need the size of a struct/class. C++ interfacing will rather only ever work with references. It should be possible to simply create smart pointers that wrap C++ classes in D though. extern(C++) { interface Foo { // using convention names static Foo* construct(); static void destruct(Foo*); int blah1(); final void blah2(); } } alias DSmartPtr!(Foo) DFoo;It actually needs a tiny patch on windows (nonvirtual_fun is mangled as static function). Unfortunately I did not find a way to sensibly declare member "a" in D. There is another bug that a derived class is using a wrong virtual function table offset, but that should be fixable.It's very important that dmd will be able to call C++'s non virtual functions and it's ctors/dtors. But there must be some significant reasons why Walter didn't accept the patch.
Nov 23 2011
It should be possible to simply create smart pointers that wrap C++ classes in D though.Martin, what needs to be done to use SmartPtrs for every c++ class without using a c-wrapper?
Nov 24 2011
On Thu, 24 Nov 2011 10:20:03 +0100, mta`chrono <chrono mta-international.net> wrote:It's really not much. https://gist.github.com/1391734 You could add things as implicit conversion to base classes. One limitation will remain though, there is no way around duplicating declarations. martinIt should be possible to simply create smart pointers that wrap C++ classes in D though.Martin, what needs to be done to use SmartPtrs for every c++ class without using a c-wrapper?
Nov 24 2011