www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - How useful is D

reply "Lars E." <notavailable notavailable.com> writes:
The language itself seems to be very interesting. Unfortunately, there 
does not seem to be a single complete and stable GUI toolkit, which is a 
real show stopper - since I can only imagine using D for small GUI 
client apps on the desktop right now (where it beats Java and C# easily 
since it compiles directly to native code and links everything in 
statically - no giant framework download required).

On the server side, it is impratical to not use Apache or IIS to host 
your applications, since most firewalls block anything but port 80, and 
most servers also host web content.

So if you cannot use it on the server side nor on the client side, what 
is it useful for?

Does anyone here use it commercially or do you only toy around with it 
in your spare time?
Jul 04 2006
next sibling parent James Pelcis <jpelcis gmail.com> writes:
First of all, http://www.dsource.org/projects/ is your friend.  Almost 
all of what I say can be found there.

Lars E. wrote:
 The language itself seems to be very interesting. Unfortunately, there 
 does not seem to be a single complete and stable GUI toolkit, which is a 
 real show stopper - since I can only imagine using D for small GUI 
 client apps on the desktop right now (where it beats Java and C# easily 
 since it compiles directly to native code and links everything in 
 statically - no giant framework download required).

I can't comment much on the GUI toolkit situation. They do, however, exist. DWT is the semi-official one, but it seems to be dormant. As a result, my recommendation would be DUI/Duit (http://www.dsource.org/projects/dui). There is also a different kind of GUI which D excels at, and that is the game engine. For those who want to make games, there is an engine called Arc (http://www.dsource.org/projects/arcgames) and all the necessary tools such as OpenGL in Derelict (http://www.dsource.org/projects/derelict). Torus Trooper (http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html) is a game written in D that was featured in, among other things, Computer Gaming World. It has only gotten easier to do since then.
 On the server side, it is impractical to not use Apache or IIS to host 
 your applications, since most firewalls block anything but port 80, and 
 most servers also host web content.

As far as server side goes, the situation is improving. If you look at http://www.dsource.org/projects/, you can see several things that would likely be very helpful. In particular, you might want to look at Mango (http://www.dsource.org/projects/mango) and D DBI (http://www.dsource.org/projects/ddbi). They are both under active development and might serve your purposes for hosting web content.
 So if you cannot use it on the server side nor on the client side, what 
 is it useful for?

As shown above, it can be used for both client and server side applications. If you look around on dsource, you'll find even more evidence of that.
 Does anyone here use it commercially or do you only toy around with it 
 in your spare time?

you look up "D's commercial weakness," it seems that it is used somewhat for internal purposes only, but that's about it. I think Torus Trooper is the biggest "commercial" success to date.
Jul 04 2006
prev sibling next sibling parent BCS <BCS_member pathlink.com> writes:
In article <e8e924$2q6j$1 digitaldaemon.com>, Lars E. says...
[...]
So if you cannot use it on the server side nor on the client side, what 
is it useful for?

I use it quite a bit, and rarely, if ever do client/server programming (so i can't comment on that). My big projects now consist of a compeller and a N-body solver/orbital environment simulator.
Jul 04 2006
prev sibling next sibling parent Lars Ivar Igesund <larsivar igesund.net> writes:
Lars E. wrote:

 The language itself seems to be very interesting. Unfortunately, there
 does not seem to be a single complete and stable GUI toolkit, which is a
 real show stopper - since I can only imagine using D for small GUI
 client apps on the desktop right now (where it beats Java and C# easily
 since it compiles directly to native code and links everything in
 statically - no giant framework download required).
 
 On the server side, it is impratical to not use Apache or IIS to host
 your applications, since most firewalls block anything but port 80, and
 most servers also host web content.
 
 So if you cannot use it on the server side nor on the client side, what
 is it useful for?
 
 Does anyone here use it commercially or do you only toy around with it
 in your spare time?

Quite a few are planning to use D for commercial applications, but it is slow going since we're somewhat lacking in the libraries department. The applications I know of sofar use little gui (simulations for instance), and some stuff is happening in the server realm. Thinking that everyone use Apache or IIS, is the wrong approach, since most D users are very resourceful and more often than not have full access to the servers and ports used. Where you'll find D most used though in this early phase, is where small standalone tools can be used for either processing, sending emails, etc. Also, as said by others, a disproportionate amount of D developers want to make games, and preferably their own engine :) -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi
Jul 04 2006
prev sibling next sibling parent Derek Parnell <derek nomail.afraid.org> writes:
On Tue, 04 Jul 2006 19:41:53 +0200, Lars E. wrote:

 The language itself seems to be very interesting. 

Yes it does.
Unfortunately, there 
 does not seem to be a single complete and stable GUI toolkit, which is a 
 real show stopper 

Huh? My company develops many applications for the finance industry and most are not coded using an IDE. We are not hindered by the absence of an IDE.
- since I can only imagine using D for small GUI 
 client apps on the desktop right now

Then maybe your imagination is a little blinkered at the moment? I can imagine many other types of applications that D would be suitable for.
 On the server side, it is impratical to not use Apache or IIS to host 
 your applications, since most firewalls block anything but port 80, and 
 most servers also host web content.

Huh? What has that got to do with writing D server-side applications? You do realize that not every server application has to communicate via HTTP. And many, if not most, servers are not Web servers.
 So if you cannot use it on the server side nor on the client side, what 
 is it useful for?

Batch Text processing. Database utilities. Encryption/Decryption servers. Real-time monitoring. Machine Control. All console applications. Database servers. ...
 Does anyone here use it commercially or do you only toy around with it 
 in your spare time?

I'm not going to do anything commercial with it until it has stabilized into a v1.0 release. I will then be doing prototypes for at least two commercial applications: a data encryption application for generating, printing and managing keys for ATMs and PINs, and one for managing the securatisation of financial instruments (loans, leases, lines-of-credit, ... ) -- Derek (skype: derek.j.parnell) Melbourne, Australia "Down with mediocrity!" 5/07/2006 9:41:56 AM
Jul 04 2006
prev sibling next sibling parent "Unknown W. Brackets" <unknown simplemachines.org> writes:
Personally, I don't do a lot of GUI programming.  If I do an interface, 
it's usually on the web, not in an application - primarily because I'm 
in the web industry.

So, I've never honestly seen GUI as anything that could be a show 
stopper.  Mostly I remember back in the good old days of MS-DOS, I would 
work on my own font drawing, widget handling, and video primitives. 
With D, I would just use already-written libraries for most of that.

D is very useful on the server side, and also on the client side.  Not 
everything is a GUI application.

Anyway, it is impractical to distribute software that uses a 
non-standard port and expect it to work on shared hosts as you say; this 
isn't a problem for most of what I do, but I have dealt with it in the 
past.  You can write CGI executables in D, of course, but also sapi 
modules.  Those wouldn't work on shared hosts either, though.

D really isn't a competitor to web languages like PHP and ASP.NET, 
though, you're right about that.

Still, what do you think FTP servers are written in?  Arabic?  Things 
like that are where D especially shines, because of its better string 
handling.  All the different protocols are handled with lots of text.... 
programming a server in D is so much cleaner and simpler.

But again, you can still use it on both server and client sides.

On the server side, I've used it for audio file processing (on a website 
where you design your own ringtone; scripted languages couldn't do the 
processing at any reasonable speed), for service monitoring, and for 
daemons (e.g. basic chat servers, where persistent connections are 
significantly better than HTTP.)

On the client side, I've done less, but I've written a few command line 
tools for my own usage.  You can write shell extensions in D, for 
example (Windows.)  Or what some would write as shell scripts (Linux.) 
Drivers might be written in D, too, although I've not done that.

Still, for writing GUI apps, D isn't yet in a good place, you're right. 
  But, there are toolkits available and you can always use libraries 
available in C.

Also; why should there be a single GUI toolkit?  Do you also wish that 
there was a single phone company?

I use D mostly during my free time and for my convenience at work. 
However, I have written software for clients in D that was used in their 
backend.  I've also bid out several requests that would require some 
heavier lifting than slower languages can usually managed, but those 
clients have - so far - not gone through with it.

Thanks,
-[Unknown]


 The language itself seems to be very interesting. Unfortunately, there 
 does not seem to be a single complete and stable GUI toolkit, which is a 
 real show stopper - since I can only imagine using D for small GUI 
 client apps on the desktop right now (where it beats Java and C# easily 
 since it compiles directly to native code and links everything in 
 statically - no giant framework download required).
 
 On the server side, it is impratical to not use Apache or IIS to host 
 your applications, since most firewalls block anything but port 80, and 
 most servers also host web content.
 
 So if you cannot use it on the server side nor on the client side, what 
 is it useful for?
 
 Does anyone here use it commercially or do you only toy around with it 
 in your spare time?

Jul 04 2006
prev sibling next sibling parent U.baumanis <U.baumanis_member pathlink.com> writes:
In article <e8e924$2q6j$1 digitaldaemon.com>, Lars E. says...
The language itself seems to be very interesting. Unfortunately, there 
does not seem to be a single complete and stable GUI toolkit, which is a 
real show stopper - since I can only imagine using D for small GUI 
client apps on the desktop right now (where it beats Java and C# easily 
since it compiles directly to native code and links everything in 
statically - no giant framework download required).

At least on Windows you can look to DFL for GUI apps. http://www.dprogramming.com/dfl.php UB
Jul 05 2006
prev sibling next sibling parent Dave <Dave_member pathlink.com> writes:
Lars E. wrote:
 The language itself seems to be very interesting. Unfortunately, there 
 does not seem to be a single complete and stable GUI toolkit, which is a 
 real show stopper - since I can only imagine using D for small GUI 
 client apps on the desktop right now (where it beats Java and C# easily 
 since it compiles directly to native code and links everything in 
 statically - no giant framework download required).
 
 On the server side, it is impratical to not use Apache or IIS to host 
 your applications, since most firewalls block anything but port 80, and 
 most servers also host web content.
 

Well, that's kind of a 'Internetwork-centric' statement <g>
 So if you cannot use it on the server side nor on the client side, what 
 is it useful for?
 

There are a lot of things that can be done on the server that you don't even need a port for :) Also, there is probably room for a few more implementations of things like SMTP/POP/NNTP servers and the like for which D is very well suited. Not to mention things like database engines, etc. Initially though, I see D as becoming a fast running and fast development alternative to Perl and Ruby scripts that you wouldn't normally use C for (because of C's lack of the built-in's that D has).
 Does anyone here use it commercially or do you only toy around with it 
 in your spare time?

Jul 05 2006
prev sibling parent Sean Kelly <sean f4.ca> writes:
Lars E. wrote:
 The language itself seems to be very interesting. Unfortunately, there 
 does not seem to be a single complete and stable GUI toolkit, which is a 
 real show stopper - since I can only imagine using D for small GUI 
 client apps on the desktop right now (where it beats Java and C# easily 
 since it compiles directly to native code and links everything in 
 statically - no giant framework download required).

Why is that?
 On the server side, it is impratical to not use Apache or IIS to host 
 your applications, since most firewalls block anything but port 80, and 
 most servers also host web content.

I'm not sure I understand. D is a programming language, not a server technology. You could write a program to listen on any port you choose.
 So if you cannot use it on the server side nor on the client side, what 
 is it useful for?

What is C++ useful for? It has all the same limitations you mention above.
 Does anyone here use it commercially or do you only toy around with it 
 in your spare time?

Spare time. I would be hesitant to produce a commercial application in D before it hits 1.0, even if I do think it's a wonderful language. About the only exception would be if I were freelancing and working on a small closed-source application for a customer--then I might consider it. Until D is "ready" I don't see a point in training others, justifying its use, etc, simple because I personally think the language is fantastic. Sean
Jul 05 2006