News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

D Programming Language

Started by Twister, October 03, 2010, 03:39:49 AM

Previous topic - Next topic

Twister

Oh God! The D Programming Language is the best language around!

This thing is like a powerhouse compared to how C++ is like a toy-mill.

Twister

It has the simplicity of Java with the power of C with full OOP. [Not that bullcrap C++ OOP!]

Building objects [modules] for use and for other people's use is as simple as in Java. :bg :bg


It also has an inline assembler for you geeks! :lol

drizz

D 2.0 is awesome.

ever wanted to print out size of a structure to stdout in c++ ? you can in d2
ever wanted to print out any slightly more complex message to stdout in c++ ? you can in d2
ever wanted to use number constants in binary form ( with underscores ) in c++? you can in d2
ever wanted to have a real macro function in c++ (that can GENERATE CONSTANT DATA!! )? you can in d2


struct test1
{
ulong d;
int a;
byte b;

}
pragma(msg, Format!("structure 'test1' size = %s", ToString!(test1.sizeof) ) );
////////////////////////////////////////////////////////////////
const uint CRC32TableSize = 256;

uint[CRC32TableSize] genCrc32Table()
{
uint[CRC32TableSize] table;
uint crc = 0;

foreach (i; 0 .. CRC32TableSize)
{
crc = i;
foreach (j; 0 .. 8)
crc = (crc >>> 1) ^ (0xED_B8_83_20 * (crc & 1));

table[i] = crc;
}
return table;
}

// computed at compile time
const uint[CRC32TableSize] CRC32Table = genCrc32Table();
The truth cannot be learned ... it can only be recognized.

ecube

yeah I posted about it in 06 http://www.masm32.com/board/index.php?topic=6296.0 my only issue with it, atleast at the time of that post was the lack of win32 support in terms or proper headers etc... The few win32 focused D sites I found had died off. My thing with programming languages has always been not "what can the language do, but what can the language do for me", and I mean that in terms of utilizing the environment i''m programming in and increasing my productivity. Investing the time it would take to learn D fully, only to have it be useless in terms of putting it in use is a horrible ROI(return on investment).

TmX

Hi drizz,

Do you manage to get Tango work with D v2?

Twister

QuoteI have been having that same problem with programming languages myself.

Java is just so damn popular because so many packages are being designed and it's Java itself is being improved on an hourly basis.


I wanted to learn Delphi because it interested me, but there just was no documentation for the language so it bewildered me to think that the developers would do this to their own product?




I honestly do think that the D Language has a chance, and once it gets that chance it's popularity and usage will just explode to tremendous levels. :dance: :dance:

drizz

The truth cannot be learned ... it can only be recognized.

box

D is just a wannabe C clone with no optimizations right?

Twister

C++0x sounds very nice and I am hyped for it, but the syntax is just... wow... :snooty:

ecube

Quote from: box on October 09, 2010, 01:12:50 PM
D is just a wannabe C clone with no optimizations right?

it's more like a C++ clone with added features. They claim it's highly optimized aswell. the guys that made the language actually did create a C++ compiler a long time ago, so they're pretty skilled. I find it impressive when someone can create something that complex from scratch instead of using existing code and simply modding it abit, then claiming skill...

bieber

Quote from: Baluga Boo on October 10, 2010, 02:32:38 AM
C++0x sounds very nice and I am hyped for it, but the syntax is just... wow... :snooty:

lol, it's C++1x now, they've missed that deadline :P

As for D, it's a really nice looking language, but I very strongly doubt it will ever take off.  At the moment, your compiler choices are Digital Mars D, which is proprietary and only runs on a couple of platforms and front-ends to GCC and LLVM, neither of which seem to be actively developed (latest updates for either one are at least a couple of months old).  If I write a project in standard C or C++, I can be reasonably certain that it will compile with little or no trouble on just about any platform imaginable using GCC, and that that infrastructure will be actively supported on new platforms as they arise, so I don't find myself ten years down the line with a codebase that I can't compile on the newest CPU architecture or operating system.  With D, I have no such assurances.  I've got one proprietary compiler vendor that may or may not choose to support any platform in the future (even 64-bit Linux in the present), and I've got some stagnant community driven projects that just don't have enough of a community behind them to drive development at a reasonable rate.  It really is an unfortunate catch-22: without the infrastructure you're not going to get an enthusiastic community of users flocking to the language, and without that enthusiastic community of users you just don't have enough interest to drive the development of that infrastructure.

I think that in the absence of Java, D would probably be a lot more popular than it is today.  As it stands, though, if people want more high-level features they go to Java, and if they want performance and low level control in an OO language they go to C++.  D is a pretty nice best of both worlds type of solution, but most people are perfectly content working with the far more common-place languages and dealing with whatever faults come with that decision.

tl;dr - When I first looked into D 5 years ago it looked like a really nice language that lacked the community and compiler support to make it worth pursuing seriously.  Five years later, that situation hasn't changed at all...heck, the official D site even looks the same as it did back then.  If D were going to take off, it would have happened by now.

TmX

Quote from: bieber on October 10, 2010, 05:27:12 AM
As for D, it's a really nice looking language, but I very strongly doubt it will ever take off.

Beside the 64 bit version, still there are another issues such as:
- D 1 vs D 2 incompatibilities (?)
- Standard library to use: Tango or Phobos
- etc

Twister

I wish the programming language was much more simpler.

Installation was quick and simple, Few clicks and installed.

It was a pain to try to install 3rd-party modules.

Little documentation about the powers of the language and the standard library itself.