Help - Search - Members - Calendar
Full Version: The D programming language.
Hydrogenaudio Forums > Misc. > Off-Topic
LordSyl
The D Programming Language

As this forum is about audio codecs, you developers may like to take a look at this language:
It's still on development stage (currently compiler version is 0.97), yet you'd better take a look at the language syntax and its features by yourself.
Believe me, except for the current amount of libraries, C++ could go to the antique relicary with this new language out there.
And it's time to make it known. wink.gif
niktheblak
Yep, been using it for a few months now.

Since the recent developments in the field of programming, I've pretty much ditched C and C++ forever. The reason is that both of those are simply too painful to use.

My educated guess is that in the short-term future .NET will be the most widely used programming environment, especially after Windows Longhorn launches. A plethora of languages and compilers can currently target MSIL, and the thing just keeps gaining momentum. This is also where D comes in. Whereas C# is a very nice language, it doesn't IMHO stand a chance against D.

D is a very nice cleanup of C++ with some features from LISP and Eiffel. Array handling in D is exceptionally nice. The current compiler generates native code and can link with C easily, a feature that is very useful in this "transition phase" we're living in.

A project called D.NET has already been launched and is proceeding pretty fast. After D.NET is ready, D can target MSIL. This gives a great deal of security for programming in D, even if the Digital Mars' D compiler/environment doesn't "kick off", you can still target .NET with it.
rohangc
QUOTE
My educated guess is that in the short-term future .NET will be the most widely used programming environment, especially after Windows Longhorn launches.


Hmm, but Microsoft Windows is not the only operating system that is used in the world. In addition, built-in features like garbage collection, array handling, etc come at a price (increased execution time, higher resources). I guess that is the reason people still use C in applications such as embedded systems.
Finally, let us not forget the amount of money and resources people have to spend to completely shift to another programming language provided there is exceptional backward compaitiblity.
All this indicate that D has a long way to go. It may run out of steam before it even reaches the finish line.
LordSyl
QUOTE(rohangc @ Aug 6 2004, 06:13 PM)
QUOTE
My educated guess is that in the short-term future .NET will be the most widely used programming environment, especially after Windows Longhorn launches.


Hmm, but Microsoft Windows is not the only operating system that is used in the world. In addition, built-in features like garbage collection, array handling, etc come at a price (increased execution time, higher resources). I guess that is the reason people still use C in applications such as embedded systems.
Finally, let us not forget the amount of money and resources people have to spend to completely shift to another programming language provided there is exceptional backward compaitiblity.
All this indicate that D has a long way to go. It may run out of steam before it even reaches the finish line.
*



D is garbage collected, yet I think you can disable garbage collection.
As for array handling, I prefer a little slowdown for security than the posibility of a buffer overrun, but that's me. rolleyes.gif

And, as for backwards compatibility, actually it causes more problems than solutions! In order of not rewriting some old code, C++ was poorly designed, as it had to be backwards compatible with C, including compatibility with C's problems.
yourtallness
Although D seems to have more features than C++ and Java,
there are still some that are not implemented, e.g. multiple
inheritance. On to D++!
LordSyl
QUOTE(yourtallness @ Aug 7 2004, 03:12 PM)
Although D seems to have more features than C++ and Java,
there are still some that are not implemented, e.g. multiple
inheritance. On to D++!
*



Multiple inheritance won't be implemented in D.
According to Walter Bright (the author of D) it's a buggy feature that is difficult to implement in a efficient manner.
Also, if you look at it, it's not needed at all, when you could simply copy-paste (with a little adaptation, maybe) the methods from the superclasses. cool.gif
rohangc
QUOTE
And, as for backwards compatibility, actually it causes more problems than solutions! In order of not rewriting some old code, C++ was poorly designed, as it had to be backwards compatible with C, including compatibility with C's problems.


I totally agree!! However, one should remember that if you work in an organization that has legacy code and needs to maintain it, your boss would definitely not allow you to shift to a new programming language because of the high costs involved. Trust me, such companies contribute to a large extent in the establishment of a programming language. D is relatively unheard of outside the new generation programmer circles. It may take time for it's horizons to expand, and like I said, I hope it doesn't run out of steam before that. Besides, C++ is a good programming language-IF implemented effectively and efficiently. C++ has a loooooong way to go before it gets shoved into the museum of ancient programming languages.
wkwai
[/quote]

I totally agree!! However, one should remember that if you work in an organization that has legacy code and needs to maintain it, your boss would definitely not allow you to shift to a new programming language because of the high costs involved. Trust me, such companies contribute to a large extent in the establishment of a programming language. D is relatively unheard of outside the new generation programmer circles. It may take time for it's horizons to expand, and like I said, I hope it doesn't run out of steam before that. Besides, C++ is a good programming language-IF implemented effectively and efficiently. C++ has a loooooong way to go before it gets shoved into the museum of ancient programming languages.
*

[/quote]

D??? Why I am still using Visual C++ 6.0 instead of Visual C . NET..
A lot depends on your requirement.. and shifting to a new compiler can involve high costs!! A lot of codes may have to be "re - ported " to the new compiler environment which is time consuming and expensive..
LordSyl
QUOTE(wkwai @ Aug 8 2004, 08:49 AM)
D??? Why I am still using Visual C++ 6.0 instead of Visual C . NET..
A lot depends on your requirement.. and shifting to a new compiler can involve high costs!! A lot of codes may have to be "re - ported " to the new compiler environment which is time consuming and expensive..
*



It may be time consuming and expensive in the short term, but don't you prefer a little effort at the beginning, then a drastical drop in complexity?
Dibrom
IMO, one of the biggest problems with this language, just by taking a quick look at it, is the compiler situation. The compiler is for win32 and linux only it seems. It looks like there are some efforts to get this thing working with gcc and stuff, but they don't look to well developed at this point and some of the bugs sound scary.

Too bad because the feature list looks pretty nice.
niktheblak
QUOTE(rohangc @ Aug 6 2004, 08:13 PM)
Hmm, but Microsoft Windows is not the only operating system that is used in the world.
*


No, but it has a sheer 95 % dominance of the desktop market.

QUOTE
In addition, built-in features like garbage collection, array handling, etc come at a price (increased execution time, higher resources). I guess that is the reason people still use C in applications such as embedded systems.

True, and in embedded systems one usually can't use anything but assember and C. With modern PC systems the few additional clock cycles wasted in GC and safe array handling don't mean anything. Actually they can save you from a memory leak or even a BSOD and that is much more important than the wasted clock cycles.

Also in large scale C/C++ projects the memory management code can get so large and complex than it actually costs more than a garbage collector.

QUOTE(Dibrom @ Aug 9 2004, 06:18 AM)
IMO, one of the biggest problems with this language, just by taking a quick look at it, is the compiler situation. The compiler is for win32 and linux only it seems.

True, D desperately needs more compilers. But they're on their way, someone is indeed making a GCC backend for D and D.NET is progressing nicely.
Dibrom
QUOTE(niktheblak @ Aug 9 2004, 03:36 AM)
QUOTE(Dibrom @ Aug 9 2004, 06:18 AM)
IMO, one of the biggest problems with this language, just by taking a quick look at it, is the compiler situation. The compiler is for win32 and linux only it seems.

True, D desperately needs more compilers. But they're on their way, someone is indeed making a GCC backend for D and D.NET is progressing nicely.
*



The main problem is portability. I run on OS X for my main system and the GCC backend stuff I saw seems to have a whole lot of bugs there. .NET doesn't really help much with that either wink.gif

It looks like it'd be fun to play with, but I can't see spending a lot of time learning something that's so non-portable atm. Hopefully they can improve things eventually though, but in the meantime I guess I'll learn something else..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.