www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: Is D right for me?

reply Jesse Phillips <jessekphillips+D gmail.com> writes:
Every language you choose will have its issue, and your listed requirements are
basically set up so the answer is 'none.' Not one language fulfills every
requirement for various reasons.

It sounds to me like you want to use Haskel but due to the loss in potential
help you are looking at D. You say there were a few people who didn't get on
board because of Haskel, ask them if instead D was used would the join. If not
go with Haskel, if yes than I wish to make on thing clear.

You will have to support the libraries you use or wait patiently. I am not
saying there isn't code to use or people willing/working to support that code.
I mean that we are a small community and have had some ruff hills to clime.
Lots of libraries/tools were written for D1, lots of libraries were written
using Tango (D1 only). Even when effort was taken to support D2, the result was
a broken library on a future compiler release (it was expected as it was
clearly stated, no  longer the issue).

So even if something claims support for D2 it may require work to bring it up
to the latest language specs. But the community is working, things are
progressing. And I don't think D will be dieing. The more libraries D has, the
more users will come and use the language resulting in more libraries. Right
now we are missing some vital libraries that everyone wants, but no one wants
to make/maintain (usually do to time issues).

In relation to compilers[1] I would not worry about it. By the time your
project reaches a stage that must work an more platforms, it is likely that LDC
and GDC, and maybe even DMD will be updated for D2 and a multitude of
platforms. But for a GUI library, you would probably need to choose one and
progress it as you do the project.

I do not wish to discourage you from choosing D, but feel it is always good to
know what to expect. And really you could probably start your project, test the
components you wish to use. It should be pretty obvious if you find something
you couldn't live with.


1. http://www.wikiservice.at/d/wiki.cgi?D__Tutorial/StartingWithD/Compiler
Oct 05 2010
next sibling parent reply "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Tue, 05 Oct 2010 16:14:49 -0400
 "Jesse" =3D=3D Jesse Phillips <jessekphillips+D gmail.com> wrote:






Jesse> Every language you choose will have its issue, and your listed Jesse> requirements are basically set up so the answer is 'none.' Not Jesse> one language fulfills every requirement for various reasons. True. Jesse> It sounds to me like you want to use Haskel but due to the loss Jesse> in potential help you are looking at D.=20 Well, I'm somewhat familiar with Haskell and have zero experience with D. Not even knowing which build system one use to develop. Jesse> You will have to support the libraries you use or wait Jesse> patiently. I am not saying there isn't code to use or people Jesse> willing/working to support that code. I mean that we are a small Jesse> community and have had some ruff hills to clime.=20 Right. I'm ready to help, according to my skills, the projects providing bindings as I'd do to e.g. help qthaskell project, but with Haskell one, at least, does not start from the scratch. Here, I'd choose D, it is not certain that QtD will be revived at any time in the future. Jesse> Lots of libraries/tools were written for D1, lots of libraries Jesse> were written using Tango (D1 only). Even when effort was taken Jesse> to support D2, the result was a broken library on a future Jesse> compiler release (it was expected as it was clearly stated, no Jesse> longer the issue). Otoh, GHC is quite stable and 7.0 is just around the corner... Jesse> So even if something claims support for D2 it may require work Jesse> to bring it up to the latest language specs. But the community Jesse> is working, things are progressing. And I don't think D will be Jesse> dieing.=20 But I already heard rumors about the fork of D2? Jesse>The more libraries D has, the more users will come and Jesse> use the language resulting in more libraries. Right now we are Jesse> missing some vital libraries that everyone wants, but no one Jesse> wants to make/maintain (usually do to time issues). I'm following Haskell community for quite some time and I know when there was no Hackage at all, iow I can understand what it means 'young' community. However, it looks that D1 --> D2 has brought different winds, altgough it will probably pay off later. Jesse> In relation to compilers[1] I would not worry about it. By the Jesse> time your project reaches a stage that must work an more Jesse> platforms, it is likely that LDC and GDC, and maybe even DMD Jesse> will be updated for D2 and a multitude of platforms.=20 Correct. Having choice for compiler is great and makes one peaceful. Jesse> But for a GUI library, you would probably need to choose one Jesse> and progress it as you do the project. This is a big problem for a desktop GUI project making the whole project very uncertain right from the beginning... Jesse> I do not wish to discourage you from choosing D, but feel it is Jesse> always good to know what to expect. And really you could Jesse> probably start your project, test the components you wish to Jesse> use. It should be pretty obvious if you find something you Jesse> couldn't live with. As I wrote earlier, besides sqlite3 bindings and using existent C-lib which needs to be bound to D, we need to write lot of native libs for our app, but it all fails without proper GUI. Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 05 2010
next sibling parent reply Daniel Gibson <metalcaedes gmail.com> writes:
Gour D. schrieb:
 On Tue, 05 Oct 2010 16:14:49 -0400
 "Jesse" == Jesse Phillips <jessekphillips+D gmail.com> wrote:






Jesse> patiently. I am not saying there isn't code to use or people Jesse> willing/working to support that code. I mean that we are a small Jesse> community and have had some ruff hills to clime. Right. I'm ready to help, according to my skills, the projects providing bindings as I'd do to e.g. help qthaskell project, but with Haskell one, at least, does not start from the scratch. Here, I'd choose D, it is not certain that QtD will be revived at any time in the future.

What about using gtk instead of qt? GtkD is, according to their homepage ( http://www.dsource.org/projects/gtkd ) and http://www.prowiki.org/wiki4d/wiki.cgi?GuiLibraries stable and usable. BTW: the quotation style of your email/ng-client is strange.
Oct 05 2010
parent reply =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Gour D. wrote:

 Moreover, we were told by dev working on gtk port for Mac that wx is
 more suitable if Mac OS is important for us.

Probably right, even though wxWidgets for Cocoa is still in alpha. GTK+ "works" (especially X11), but it doesn't really look "native". wxWidgets for Carbon ("wxMac") is stable, but it is 32-bit only... You can find old wx bindings for D at http://wxd.sourceforge.net/
 Since there is no wxQt, Qt emerged as clean winner here...

But see http://wxwidgets.blogspot.com/2010/07/gsoc-2010-mid-term.html And http://wiki.wxwidgets.org/WxQt for the current state of the port. --anders
Oct 06 2010
parent reply =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Gour D. wrote:
 Anders> http://wxwidgets.blogspot.com/2010/07/gsoc-2010-mid-term.html
 Anders> 
 Anders> And http://wiki.wxwidgets.org/WxQt for the current state of the
 Anders> port.
 
 Thank you for those links. It is very nice to see wxQT getting a nice
 shape, but the problem is with wxD - it's D1 only and I'm sure that,
 considering we don't have D1 legacy, there is no reasonable to think
 about D1 (especially in comparison with Haskell's features).

wxD should build with D2 and Tango, just that I don't feel like supporting them any more. It only does the 2.6 version API, too. That mostly means it was written for GDC (with Phobos) and wx 2.8; not that it couldn't be updated to D2 and wx3, if you wanted to ? http://wxd.sourceforge.net/#d2 http://wxd.sourceforge.net/#tango It's not a port (from C++), though. And that is a design decision. Also means all languages can share the system wxWidgets libraries. If you wanted to *port* it to D, you would need to also port all the system headers too (some of which are in C++ and Objective-C) DWT would be better, in that case: http://wxd.sourceforge.net/#dwt The idea was to have an open source compiler and GUI and IDE bundle. Cross-platform, so that it would work on Windows, Macintosh, Unix. I think if you are starting over with D2, that Qt is a better choice. It is LGPL now, and looks native enough. And it doesn't need porting. http://wxd.sourceforge.net/#screenshots http://wxd.sourceforge.net/#codeblocks --anders
Oct 06 2010
parent reply Jacob Carlborg <doob me.com> writes:
On 2010-10-06 20:50, Anders F Björklund wrote:
 DWT would be better, in that case:
 http://wxd.sourceforge.net/#dwt

 --anders

Since SWT 3.4 (currently stable version is 3.6) there has been a Cocoa port available. DWT is a port of the Cocoa version. -- /Jacob Carlborg
Oct 07 2010
parent =?UTF-8?B?QW5kZXJzIEYgQmrDtnJrbHVuZA==?= <afb algonet.se> writes:
Jacob Carlborg wrote:
 DWT would be better, in that case:
 http://wxd.sourceforge.net/#dwt

port available. DWT is a port of the Cocoa version.

Yeah, that page is a bit outdated. But I'll try to fix. When it was first written, it was Phobos and Carbon :-) --anders
Oct 07 2010
prev sibling next sibling parent Jesse Phillips <jessekphillips+D gmail.com> writes:
 Jesse> But for a GUI library, you would probably need to choose one
 Jesse> and progress it as you do the project.

 This is a big problem for a desktop GUI project making the whole
 project very uncertain right from the beginning...

What I meant was that there is something created and functioning (I really don't know how much) which may be just what you need. But I can not state that cross-platform GUI is available for D at this time.
Oct 05 2010
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2010-10-05 22:38, Gour D. wrote:
 As I wrote earlier, besides sqlite3 bindings and using existent C-lib
 which needs to be bound to D, we need to write lot of native libs for
 our app, but it all fails without proper GUI.


 Sincerely,
 Gour

Have you considered DWT? It's a port of the Eclipse project SWT, a cross-platform GUI library. The windows and linux ports are usable, although a little behind SWT. As for Mac OS X, the Cocoa port is a work in progress, somethings are usable and somethings are not. http://dsource.org/projects/dwt -- /Jacob Carlborg
Oct 06 2010
parent Jacob Carlborg <doob me.com> writes:
On 2010-10-06 20:53, Gour D. wrote:
 On Wed, 06 Oct 2010 20:35:57 +0400
 "Denis" == "Denis Koroskin" wrote:






Denis> Did you try DWT2? http://hg.dsource.org/projects/dwt2 No, but 'doob' on #dwt (it seems this is Jacob Carlborg) replied my question: "hi, is dwt available for d2?" with "no, not currently", so I bet I saved some time trying it for myself. Sincerely, Gour

Exactly, hopefully I can get DWT to work with D2. -- /Jacob Carlborg
Oct 07 2010
prev sibling next sibling parent "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Tue, 05 Oct 2010 22:46:26 +0200
 "Daniel" =3D=3D Daniel Gibson wrote:






Daniel> What about using gtk instead of qt? I was considering gtk on haskell-side as well, but considering we'd like to have 'lite' version of the application available on mobile platform (Meego), it seems that it's better to have (more) common codebase provided by Qt. Moreover, we were told by dev working on gtk port for Mac that wx is more suitable if Mac OS is important for us. Since there is no wxQt, Qt emerged as clean winner here... =20 Well it's =C3=A0 la Gnus. You have never seen it or you are thinking something else? --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 05 2010
prev sibling next sibling parent "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Wed, 06 Oct 2010 09:30:36 +0200
 "Anders" =3D=3D Anders F Bj=C3=B6rklund wrote:






Anders> http://wxwidgets.blogspot.com/2010/07/gsoc-2010-mid-term.html Anders>=20 Anders> And http://wiki.wxwidgets.org/WxQt for the current state of the Anders> port. Thank you for those links. It is very nice to see wxQT getting a nice shape, but the problem is with wxD - it's D1 only and I'm sure that, considering we don't have D1 legacy, there is no reasonable to think about D1 (especially in comparison with Haskell's features). Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 06 2010
prev sibling next sibling parent "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Wed, 06 Oct 2010 09:35:13 +0200
 "Jacob" =3D=3D Jacob Carlborg wrote:






Jacob> Have you considered DWT? It's a port of the Eclipse project SWT, Jacob> a cross-platform GUI library. The windows and linux ports are Jacob> usable, although a little behind SWT. As for Mac OS X, the Cocoa Jacob> port is a work in progress, somethings are usable and somethings Jacob> are not. I got same suggestion on #d yesterday and went to see it today. Interesting, but, afaics, no port for D2 which rules it out. Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 06 2010
prev sibling next sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Wed, 06 Oct 2010 20:31:17 +0400, Gour D. <gour atmarama.net> wrote:

 On Wed, 06 Oct 2010 09:35:13 +0200
 "Jacob" == Jacob Carlborg wrote:






Jacob> Have you considered DWT? It's a port of the Eclipse project SWT, Jacob> a cross-platform GUI library. The windows and linux ports are Jacob> usable, although a little behind SWT. As for Mac OS X, the Cocoa Jacob> port is a work in progress, somethings are usable and somethings Jacob> are not. I got same suggestion on #d yesterday and went to see it today. Interesting, but, afaics, no port for D2 which rules it out. Sincerely, Gour

Did you try DWT2? http://hg.dsource.org/projects/dwt2
Oct 06 2010
prev sibling next sibling parent "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Wed, 06 Oct 2010 20:35:57 +0400
 "Denis" =3D=3D "Denis Koroskin" wrote:






Denis> Did you try DWT2? http://hg.dsource.org/projects/dwt2 No, but 'doob' on #dwt (it seems this is Jacob Carlborg) replied my question: "hi, is dwt available for d2?" with "no, not currently", so I bet I saved some time trying it for myself. Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 06 2010
prev sibling next sibling parent "Gour D." <gour atmarama.net> writes:
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Tue, 05 Oct 2010 19:26:58 -0400
 "Jesse" =3D=3D Jesse Phillips wrote:






Jesse> But I can not state that cross-platform GUI is available for D Jesse> at this time. Despite of that we've decided to take a risk and choose with D & (hopefully it will become ready) QtD. Thanks to all who replied and see you in newer threads. ;) Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 09 2010
prev sibling parent "Simen kjaeraas" <simen.kjaras gmail.com> writes:
Gour D. <gour atmarama.net> wrote:

 On Tue, 05 Oct 2010 19:26:58 -0400
 "Jesse" == Jesse Phillips wrote:






Jesse> But I can not state that cross-platform GUI is available for D Jesse> at this time. Despite of that we've decided to take a risk and choose with D & (hopefully it will become ready) QtD.

We're glad to hear that. Welcome aboard! -- Simen
Oct 09 2010