Jump to page: 1 28  
Page
Thread overview
What language role does D fullfill?
Jun 21, 2005
clayasaurus
Jun 21, 2005
Brad Beveridge
Jun 21, 2005
clayasaurus
Jun 22, 2005
Manfred Nowak
Jun 21, 2005
Victor Nakoryakov
[OT] Re: What language role does D fullfill?
Jun 21, 2005
pragma
Jun 21, 2005
Brad Beveridge
Jun 21, 2005
Brad Beveridge
Jun 22, 2005
Andrew Fedoniouk
Jun 21, 2005
Sean Kelly
Jun 21, 2005
Nod
Jun 21, 2005
clayasaurus
Jun 22, 2005
David Medlock
Jun 23, 2005
Charlie
Jun 21, 2005
Tom S
Jun 21, 2005
Victor Nakoryakov
Jun 22, 2005
pragma
Jun 21, 2005
Nod
Jun 22, 2005
Andrew Fedoniouk
Jun 24, 2005
Walter
Jun 24, 2005
Walter
Jun 25, 2005
Andrew Fedoniouk
Jun 25, 2005
Walter
Jun 21, 2005
pragma
Jun 21, 2005
Nod
Jun 22, 2005
Andrew Fedoniouk
Jun 22, 2005
Regan Heath
Jun 22, 2005
Andrew Fedoniouk
Jun 22, 2005
Regan Heath
Jun 22, 2005
Derek Parnell
Jun 23, 2005
Regan Heath
Jun 23, 2005
Sean Kelly
Jun 23, 2005
Derek Parnell
Jun 23, 2005
Regan Heath
Jun 22, 2005
Mike Capp
Jun 22, 2005
Regan Heath
Jun 23, 2005
Mike Capp
Jun 23, 2005
Regan Heath
Jun 23, 2005
Mike Capp
Jun 23, 2005
Regan Heath
Jun 23, 2005
Regan Heath
Jun 24, 2005
Brad Beveridge
Jun 24, 2005
Regan Heath
Jun 24, 2005
Andrew Fedoniouk
Jun 24, 2005
Regan Heath
Jun 25, 2005
Walter
Jun 25, 2005
Sean Kelly
Jun 23, 2005
Sean Kelly
Jun 23, 2005
Brad Beveridge
Jun 23, 2005
Andrew Fedoniouk
Jun 23, 2005
Brad Beveridge
Jun 23, 2005
Andrew Fedoniouk
Jun 23, 2005
Andrew Fedoniouk
Jun 23, 2005
Brad Beveridge
Jun 25, 2005
Walter
Jun 23, 2005
Mike Capp
Jun 23, 2005
Andrew Fedoniouk
Jun 23, 2005
Sean Kelly
Jun 24, 2005
Regan Heath
Jun 24, 2005
Regan Heath
Jun 25, 2005
Walter
Jun 25, 2005
Sean Kelly
Jun 25, 2005
Walter
Jun 25, 2005
Walter
Jun 25, 2005
Walter
June 21, 2005
Ok, I'm just wondering what people think. We all know to use the right tool for the right job, so when is D the right tool for the job?

C *******************************************************************

Sucessor to assembly.

Pros:
 - easy to implement compile, hence more x-platform
 - very low level, fast

Cons:
 - hard to master
 - ugly

C++ *******************************************************************

Sucessor to C.

Pros:
 - fast
 - object oriented
 - templates
 - customizable

Cons:
 - all the uglyness of C, with some added uglyness of C++ (templates, using the library for everything)

 - hard to implement compiler for

Java *******************************************************************

Sucessor to C++

Pros:
 - x-platform 'binaries'
 - huge library
 - suger
 - garbage collected

Cons:
 - slow

C# *******************************************************************

Note: I really don't know much about C#

Sucessor to Java

Pros:
 - Everything java is plus microsofts stuff

Cons:
 - it is microsoft only, unless you look at mono

---------------------

So, what new thing does D bring to the table that no other language has done?

D *******************************************************************

Successor to C, C++, and Java.

Pros:
 - garbage collected (Java/C#)
 - high level with low level retainability (C++)
 - not ugly (Java/C#)
 - easy to implement (none other?)
 - fast (C++)
 - fast compile (none other?)
 - design by contract (none other?)

Cons:
 - not enough exposure / usage
 - not as many libraries as C++ / Java


So, here is what I am seeing D's niche as being...

* A more powerful and easier to implement on different platforms (palm, etc.)

* If you want a modern garbage collected language that is fast

All other things seem to be already covered by the other langauges. Am I missing something? D seems to be an assimilation language to assimilate users from other languages, instead of doing something new on its own.

I know D is poised to compete as a 'C/C++' killer, but too many code is already in C/C++ for it to be able to kill those languages off.

D seems to want to compete with Java/C# too, and it can if performance and easy implementation is the priority.

While Design by Contract is great, I think it would take a while for programmers to use it effectively and realize its benefits, who are not used to it from C/C++.

Maybe my point is that right now D is a 'trickle-down' language. Users trickle in from all sorts of other languages because D does a few things that others cannot do (dbc, native & gc, fast, pretty) all at once.

If D is to be used widely, do we need to add something new? Something that no other language can do? (metaprogramming anyone?)

Just my 2 cents.

-------- PS ---------

I switched from C++ to D mainly for one reason only. C++ seems like a hack, where as D is more thought out and has more elegant answers to the same old problems.



























June 21, 2005
clayasaurus wrote:

> 
> I switched from C++ to D mainly for one reason only. C++ seems like a hack, where as D is more thought out and has more elegant answers to the same old problems.

That's the main reason that I prefer D where I can, although it doesn't offer anything amazingly special over C/C++ (well, GC maybe), D is actually nice to write code in.  After writing even a little bit of D code and getting used to it, I was loath to go back to a C++ compiler!
So for me the difference between C/C++ and D is like the difference between driving a Lada and driving a Merceedes - they both get you where you want to do, but one gets you there in style and comfort :)

Brad
June 21, 2005
Brad Beveridge wrote:
> clayasaurus wrote:
> 
>>
>> I switched from C++ to D mainly for one reason only. C++ seems like a hack, where as D is more thought out and has more elegant answers to the same old problems.
> 
> 
> That's the main reason that I prefer D where I can, although it doesn't offer anything amazingly special over C/C++ (well, GC maybe), D is actually nice to write code in.  After writing even a little bit of D code and getting used to it, I was loath to go back to a C++ compiler!
> So for me the difference between C/C++ and D is like the difference between driving a Lada and driving a Merceedes - they both get you where you want to do, but one gets you there in style and comfort :)
> 
> Brad

Yes. Maybe the whole point of D should just simply be to avoid this... http://www.andromeda.com/people/ddyer/topten.html
June 21, 2005
In article <d99jqm$h1i$1@digitaldaemon.com>, clayasaurus says...
>
>I switched from C++ to D mainly for one reason only. C++ seems like a hack, where as D is more thought out and has more elegant answers to the same old problems.

I know how you feel.  I, for one, took the longest possible road to get to D.

I was in the middle of writing a "next-generation MUD" using C# for a while, and I abandoned that in favor of C++ for speed and portability; Mono wasn't stable at the time.  That C++ architecture grew to incorporate my own object library and garbage collector design.  I even had some features built into the GC to assist with remoting and proxy generation ala C#.

After all that effort, I wound up with a really fancy class library that took forever to compile, was riddled with templates and macros, and was difficult to understand, document and maintain.  It was a mess.

Along came D, and just about everything I was looking for. It does OOP and GC correctly, all without a VM.  I haven't looked back.

>
>If D is to be used widely, do we need to add something new? Something that no other language can do? (metaprogramming anyone?)
>

Metaprogramming and vectorization come to mind, as they have been talked to death in this newsgroup.  I've been convinced of their usefulness for certain applications, and to have a C-like language that has such features would put D well ahead of the rest.

I think something along the lines of Java's classloader would be worth having. Sure it's borrowing an idea from another langauge, but I have yet to see a compiled language that breaks from using OS support for dynamic bindings.  I've dreamed of something that would just load .obj or .lib files *directly* and bind symbols with the environment at run-time.  Its either that or provide ways to build runtime symbolic binding support to the runtime/compiler so we can use dll/so files in this manner.  No language outside of a VM or scripting language has this kind of support.

Also, having automatic proxy generation is extremely useful for environments like CORBA or OODBMS.  This would involve runtime support for creating an object instance that implements stub methods, to satisfy a given interface (vtable). The "proxy object" created will now "feel" like a first-class object, but will have each method communicate over a pipe, stream or socket instead of running local code.  Again, this is something that I haven't seen outside an interpreted or VM-based language.

The above would also require full dynamic, run-time reflection.  Something that includes the degree of introspection seen in Python or at least Java.  *Again*, a feature not seen in languages in the same class as D.

As for completely original ideas?  Well, I'm out of ammo.  If it satisfies your thirst for innovation, then perhaps the aim for D to become a feature super-set is all it takes?  Right now, I want to tell folks "D takes the best of C, C# and Java", but that's not completely true... yet.

- EricAnderton at yahoo
June 21, 2005
Brad Beveridge wrote:
> So for me the difference between C/C++ and D is like the difference between driving a Lada and driving a Merceedes - they both get you where you want to do, but one gets you there in style and comfort :)

Yeap, good analogy. However current situation has a drawback. If I drive Lada I know that when it brokes I can visit nearest autoshop and buy broken detail for a $3, if I drive Mercedes I'll have to visit half shops of Moscow just to find detail, and another half to find it cheaper then $1000. So if I'll start big project in D I'ld have to write all for myself and GUI lib, and Math lib, and parsers, and plugins for IDE's, and etc etc.
So for now I prefer C++ for money and D for fun... an have to drive a Lada in programming as well as in real life :)

-- 
Victor Nakoryakov
nail-mail<at>mail<dot>ru

Krasnoznamensk, Moscow, Russia
June 21, 2005
In article <d99kcq$hd0$1@digitaldaemon.com>, Brad Beveridge says...
>
>So for me the difference between C/C++ and D is like the difference between driving a Lada and driving a Merceedes - they both get you where you want to do, but one gets you there in style and comfort :)
>

OT: Living here in the USA, I had no clue what a "Lada" was.

So here we go. This is the low-end model on their website:

http://www.lada.de/html_e/content_e/models/lada_2110_pricelist.html

(at today's rate, thats $9634.39 USD.)

And the sales pitch:

This saloon not only looks good on the outside! Inside it offers spacious
accommodation for 5, easily accessed by 4 doors. The generous interior of the
LADA 2110 offers even more comfort-from the four electric windows via the remote
bootlock to the electronic immobilizer and the automatic heating system.
All fitted as standard in the LADA 2110 with 56kW (77hp) or 67kW (91hp) and
unbeatable value for money!

- EricAnderton at yahoo
June 21, 2005
pragma wrote:
> In article <d99kcq$hd0$1@digitaldaemon.com>, Brad Beveridge says...

> 
> OT: Living here in the USA, I had no clue what a "Lada" was.  
> 
> So here we go. This is the low-end model on their website:
> 
> http://www.lada.de/html_e/content_e/models/lada_2110_pricelist.html
> 
> (at today's rate, thats $9634.39 USD.)
> 
> And the sales pitch:
> 
> This saloon not only looks good on the outside! Inside it offers spacious
> accommodation for 5, easily accessed by 4 doors. The generous interior of the
> LADA 2110 offers even more comfort-from the four electric windows via the remote
> bootlock to the electronic immobilizer and the automatic heating system.
> All fitted as standard in the LADA 2110 with 56kW (77hp) or 67kW (91hp) and
> unbeatable value for money!
> 
> - EricAnderton at yahoo

I've recently moved to the USA, but couldn't think of a brand of car that has a poor reputation for comfort, etc :)  I'm originally from New Zealand, and Lada's (although they may be better now) don't have a good reputation there :)

Brad
June 21, 2005
Oh dear, I should have looked at the link first - they're still UGLY!
June 21, 2005
pragma wrote:
> OT: Living here in the USA, I had no clue what a "Lada" was.  
> 
> So here we go. This is the low-end model on their website:
> 
> http://www.lada.de/html_e/content_e/models/lada_2110_pricelist.html

Well, to me Lada is more like this one:
http://meelis.klimov.ee/auto/lada.jpg



-- 
Tomasz Stachowiak  /+ a.k.a. h3r3tic +/
June 21, 2005
In article <d99jqm$h1i$1@digitaldaemon.com>, clayasaurus says...
> <snip>

> What language role does D fullfill?

I just think that D hits a sweet spot. C doesn't scale, my apps should. C++ is ugly, my code shouldn't be. Java is slow, I don't want my apps to be. C# is vendor-locked-in, my apps can't be.

What I like about D is that it balances all these features, and still manages to be fun to program in.

>If D is to be used widely, do we need to add something new? Something that no other language can do? (metaprogramming anyone?)

Aspect-oriented programming. While not new, doing it cleanly and sanely would clearly nudge D one notch higher on my scale. (I do have some ideas regarding this, but I'll save that for another thread).

-Nod-


« First   ‹ Prev
1 2 3 4 5 6 7 8