Skip to main content
GameDev.net gamedev.net
🔒 Locked

D programming language

Started by Toadhead Jul 8, 2004 at 8:52 AM 40 replies 15.9k views
Original Post
Toadhead
Toadhead
Well.. I'm just started with C++, and I heared about a new programming language: D. D will be a new language in the C family like they said on a website. My question is.. should I stop learning C++ and wait for D? I mean I'm affraid that I learned C++ for nothing, that nobody uses C++ anymore :( Or would D be the same as C++ with some small changes? That I can still learn C++ and than switch to D in a year or sometihng? Please tell me :)
eleusive
eleusive
Firstly, D still has awhile to evolve before it even comes close to being as widely implemented as c++(if it ever gets to that stage). Second, the general rule is that if you learn one C based programming language, then it makes it easier to learn any other C based programming language. I would defiantly not stop learning c++ to wait for D.
"What are you trying to tell me? That I can write an O(N^2) recursive solution for a 2-dimensional knapsack?" "No, programmer. I'm trying to tell you that when you're ready, you won't have to." -Adapted from "The Matrix"
Toadhead
Toadhead
Ok thanks :)
Pxtl
Pxtl
D is not a standard language. However, C++ is getting a little polish, as the standards organisations involved in it are planning to release a new standard with new programming features. Hopefully this will bring it up to speed with some of the features that Python and other newer languages have introduced to the programming world. I don't know the details of it though. Either way, I wouldn't bother with D.
-- Single player is masturbation.
Arild Fines
Arild Fines
Quote:
Original post by Pxtl
However, C++ is getting a little polish, as the standards organisations involved in it are planning to release a new standard with new programming features. Hopefully this will bring it up to speed with some of the features that Python and other newer languages have introduced to the programming world.

I doubt that's going to happen. C++ carries around way too much legacy, and any attempt at a reform of the language would require cutting out much of that legacy, abandoning backwards compatibility. In certain circles, that would be considered heretical.
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
Pxtl
Pxtl
Well, the purpose of the designs is to add new features and alternate approachs, not modify existing ones.
-- Single player is masturbation.
Eelco
Eelco
Quote:

Either way, I wouldn't bother with D.

while you certainly shoulndt wait for D because it will make c++ obsolete, you might find it worth checking out though.

some weeks ago i have started programming in D. ive done a lot of programming and im already quite familiar with the language, and i must say im quite liking it. ive never used c++, but ive read a lot of tutorials, but i never really felt comfortable around it. a lot of concepts and syntax seem awkward to me.

D however adresses a lot of these issues. c++ has ofcource a much bigger codebase, but making c/c++ libs work in D isnt hard. im using SDL in D now and i have no complaints at all. it works, its fast, its simple. the compiler is still beta though, so some features might not be implemented, but so far i havnt had any problems with that either.
amedlock
amedlock
D is excellent compared to C++. Try it, you will like it.

And it is linkable with C, so you lose very little using it.
antipka
antipka
D seems to have great design as language itself.

But it's still in development so new features are constantly added
and obscured are removed. The compiler is developed mainly by one person (Walter Bright), but very expirienced one.

There are quite a few libraryies for D for now, but you can link C
libs with D programs, having changed headers a bit.

There is no debugger developed explisitly for D, but people say you can use some other debugger (e. g. from Visual Studio)

So, I advice you to use D in your hobby programming, it's quite funny and you can help D community this way, but the language is not mature enough to use it in industrial projects.

This was my IMHO


Toadhead
Toadhead
I'm a 'hobby' programmer, but since I almost learned the ANSI/ISO C++ I think I'm going stay with this one. Maybe I will learn D later, but I'm first going to learn some libary's :)
yaroslavd
yaroslavd
D looks good but IMHO C# is a better alternative to C++. It's more "experienced," has a wider community, is developed by Microsoft, not an indy developer, and is more OO-oriented.
Matei
Matei
I think D is trying to add too many little features, which makes it somewhat bloated. It also doesn't have access to a big standard library, except for being able to link to C, whereas Java and C# (the other main C-alternatives) both have large, well-integrated and easy to use API's.
Sijmen
Sijmen
Why not modify the D compiler to output MSIL :)

Could have some interresting results. Or not. I don't know, I never really looked into D.
amedlock
amedlock
Quote:
Original post by Matei
I think D is trying to add too many little features, which makes it somewhat bloated. It also doesn't have access to a big standard library, except for being able to link to C, whereas Java and C# (the other main C-alternatives) both have large, well-integrated and easy to use API's.


This is not true. The additions mostly involve arrays, which means to do the same thing in C++ you have to use templates which are far more cumbersome, syntax-wise. Since it has all C libraries, the no useful libs issue is not true either. It actually removes a lot of the cruft from C++(it compiles much faster than C++).

Walter is very talented 'indy' developer. He wrote the Zortech C++ compiler alone, then it was picked up and became Symantec C++.

It is garbage collected, properties(like Delphi), has design by contract, much cleaner templates (which are actually more flexible than C++), in out and inout parameters, inner functions, delegates and a lot which makes it a better C++.

There is also an effort(in beta I think) to port the D frontend to GCC.

Don't write it of simply because it isn't C++.



yaroslavd
yaroslavd
Quote:
Original post by amedlock
Quote:
Original post by Matei
I think D is trying to add too many little features, which makes it somewhat bloated. It also doesn't have access to a big standard library, except for being able to link to C, whereas Java and C# (the other main C-alternatives) both have large, well-integrated and easy to use API's.


This is not true. The additions mostly involve arrays, which means to do the same thing in C++ you have to use templates which are far more cumbersome, syntax-wise. Since it has all C libraries, the no useful libs issue is not true either. It actually removes a lot of the cruft from C++(it compiles much faster than C++).

Walter is very talented 'indy' developer. He wrote the Zortech C++ compiler alone, then it was picked up and became Symantec C++.

It is garbage collected, properties(like Delphi), has design by contract, much cleaner templates (which are actually more flexible than C++), in out and inout parameters, inner functions, delegates and a lot which makes it a better C++.

There is also an effort(in beta I think) to port the D frontend to GCC.

Don't write it of simply because it isn't C++.


C# has ALL the features you just mentioned.
amedlock
amedlock
How does the existence of C# diminish what Walter has done?

D runs on Linux, and there is no chance MS will sue it out of existence either. D is faster in a lot of cases also I would bet. No bytecodes, its natively compiled. C# still has C++ syntax style templates(ugh), and D had these features before C# was released.

Dismiss it if you wish, but not because it is a lesser language.
Chris Hare
Chris Hare
Quote:
Original post by amedlock
How does the existence of C# diminish what Walter has done?

D runs on Linux, and there is no chance MS will sue it out of existence either. D is faster in a lot of cases also I would bet. No bytecodes, its natively compiled. C# still has C++ syntax style templates(ugh), and D had these features before C# was released.

Dismiss it if you wish, but not because it is a lesser language.


C# doesn't diminish the D programming, but it is making a big name for itself, something D simply doesn't have. Walter is clearly a very talented scientist, I'm as much a fan of Walter as any, but both you and Walter need to realise that D is unlikely to make a large impact. Walter's work is still very much admired, and will create its own niche, albeit small. (PS: Who is Walter? The original implementor I take it.)

Wysardry
Wysardry
Tell your boss he's wrong, because I will still be using C++ in a year. [grin]

Toadhead: Learning C/C++ will certainly not be a waste of time because there are more learning resources available than for newer languages, and the basic concepts will be useful when/if those languages become more established.
Woodsman
Woodsman
Quote:
Original post by amedlock
How does the existence of C# diminish what Walter has done?

It depends on your needs. That's a pointless argument either way.
Quote:
Original post by amedlock
D runs on Linux, and there is no chance MS will sue it out of existence either.

C# is NOT an "MS Language." C# also runs on Linux (see Mono).
Quote:
Original post by amedlock
D is faster in a lot of cases also I would bet.

A bet is no good on programming forums.
Quote:
Original post by amedlock
No bytecodes, its natively compiled. C# still has C++ syntax style templates(ugh), and D had these features before C# was released.

Do you think that D was the first to have such features? In any event, one point does not a better language make.
Quote:
Original post by amedlock
Dismiss it if you wish, but not because it is a lesser language.

Agreed. Why not try a little of each language? Hunt around a little.

Edit: That extra /quote killed the forums...
If a plant cannot live according to its nature, it dies; so a man.
h3r3tic
h3r3tic
Hehehe, say what you like about D but it's >apparently< becoming more and more popular with every day. Even the more frequent discussions here prove that.
oh, and IMO, D is far better than C++ and I don't like C# at all :)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.