April 29, 2005
[Curse OE!!]

> Since there's much resistance from Walter to acknowledge/fix the defects, and much apathy/nonchalence from most of the community about them, I think the likelihood of 2 ever being achieved is negligable. It's going to take a real shift in attitude which just isn't going to happen. I think Walter's ambitions would be better served

by loosing *all* the material on the website about being an evolution from / alternative to C++, because it just doesn't wash, and really gunning for Java/.NET.

e.g. "
Why is D as good as Java/.NET? Because it takes all their good
features and makes them better?
Why is D better than Java/.NET? Because it adds in simplicity from C
with many powerful features from C++!
"

That's true - or will be when the libs are here - and I think it's a really powerful statement.

Let's forget competing with C++, and go for the genuine and credible targets: those big fat VM languages beloved by large dev organisations.

Maybe such a shift in focus might mean we'd start to accelerate towards 1.0, by working together on Phobos/libs.

Whadayafink?



April 29, 2005
Walter wrote:
> "J C Calvarese" <jcc7@cox.net> wrote in message
> news:d4n2nl$1hr$1@digitaldaemon.com...
> 
>>I think you're right. There's nothing necessarily /wrong/ the Digital
>>Mars website, but a little CSS and a few simple graphical elements can
>>go a long way. Obviously jazzy web design isn't Walter's favorite hobby,
>>but there are many D programmers who are skilled at designing flashy web
>>pages.
> 
> 
> Is a flashy web page really an advantage? I see a lot of flashy web pages,
> and they don't impress me that much. The DM pages are for programmers, who
> (I assume) want to see a straightforward page that loads fast and is not
> gimmicky. Maybe I'm all wrong about this.
> 
> P.S. I also prefer a smaller number of pages with a lot of text to a larger
> number of small pages. The plethora of small pages means one is constantly
> clicking and waiting, which interrupts the train of thought.
> 
> I do agree that I am not going to win any awards for my english composition,
> and if anyone has any suggestions on rewrites for any part of the text, I'm
> all ears!
> 
> 
The current web pages are basically fine as they are.  One thing that would help is a good index, even a QWIC index (though they rapidly get too bulky).  When I'm using the documentation, I'm generally trying to find out how to do something specific, and for that an index would be a great assist.  Still, I can often go almost right where I need to from the contents index as it is now set up. *DON'T* change that.

April 29, 2005
Matthew wrote:
> "Derek Parnell" <derek@psych.ward> wrote in message news:2ddk2n5oayb6$.1lycbdczpdp9w$.dlg@40tude.net...
> 
>>On Wed, 27 Apr 2005 09:26:18 +1000, Matthew wrote:
>>
>>
>>>I've read a couple of things recently that've indicated that D's not
>>>taken seriously by the C++ world.
>>
>>I'm not in the C++ plus world, nor are my professional colleagues, but I'm
>>wondering if D's target audience is not the current C/C++/C#/Java crowd.
>>Instead, might it be found in the Perl, Python, Ruby, Euphoria, and
>>total-newbie groups that have not been exposed to the foibles of the 'C'
>>legacy, and are looking for speed, power, and simplicity?
>>
>>Would attempting to "sell" to this set of people be a useful exercise?
> 
> 
> Without built-in regex, it's not going to sell as an alternative to Perl or Ruby.
> 
> And I can't see how it's ever going to be a credible alternative to Python, which takes simplicity and usability to the extreme and, perhaps more importantly, a wealth of libraries.
> 
> I just don't see D as an alternative to scripting languages. DMDScript might, but I've not (yet) used it, and don't really know anything about it.
> 
> I've always felt that D will be a credible alternative to
>     1. C - more OO and built-in GC
>     2. C++ - better templates, address some of its imperfections (http://imperfectcplusplus.com <g>)
>     3. Java - more expressive, better syntax, templates, doesn't need a VM
>     4. .NET - not vendor locked (or won't be), templates, doesn't need a VM
> 
> I would think that at the moment it could credibly be said to have achieved 1, but is woefully failing on 2 because of significant fundamental defects in the language, and failing on 3 and 4 because of lack of libraries and IDEs/tools.
> 
> Since there's much resistance from Walter to acknowledge/fix the defects, and much apathy/nonchalence from most of the community about them, I think the likelihood of 2 ever being achieved is negligable. It's going to take a real shift in attitude which just isn't going to happen. I think Walter's ambitions would be better served
> 
> But I think that the only impediments to 3 and 4 are time, and getting to grips with the gripes - some of which are significant - with Phobos. As long as Phobos gets a proper redesign / reimplementation, such that it neatly, and orthogonally supports 1 programming (procedural, non-OO) and 3/4 programming (class-based, OO), then I see no reason why D cannot compete strongly on 3 / 4.
> 
> So, in summary:
> 
>     Will D beat (i.e. be a credible, practicable alternative to):
> 
>         Perl - no, because that's not its intent
>         Python - no, because that's not its intent
>         Ruby - no, because that's not its intent
>         C - yes, apart from things that have to be minimally coupled and maximally portable to any/all platforms. Big potential here
>         C++ - no, because there's no effective desire/purpose to address the many reasons why C++ programmers are better off sticking where they are. Huge potential here, but would require huge effort. Not going to happen this lifetime
>         Java - yes, once comprehensive tools and libraries are implemented. Big potential. Just a matter of time
>         .NET - yes, once comprehensive tools and libraries are implemented. Big potential. Just a matter of time. And if D.NET is a commercial reality, it can be a takeover, and not a fight
> 
> For me, I can certainly live with the prospect of needing to know two compiled languages - C++ and D - and two scripting languages - Python and Ruby. (Speaking from a programming-as-fun perspective, that's almost ideal!) :-)
> 
> Thoughts?
> 
> 
> 


I liked that summary very much.  I think your analysis of D here was very accurate, specifically pertaining to C++.
April 29, 2005
Matthew wrote:
>         Java - yes, once comprehensive tools and libraries are implemented. Big potential. Just a matter of time

There are a few different things that D would need to accomplish before making any headway into the Java world.

#1 -- Standard Library

As you've mentioned, Java has a huge standard library, with (mostly) well-thought-out implementations of tons and tons of usefull classes. Just to give you an idea of the scope of the library, the Java 1.5 JRE includes 2485 classes and 794 interfaces, organized into 166 packages.

Admittedly, D can dispense with some fraction of these classes because it has more intrinsic language features than Java. But it's likely that a suitable D standard library is still nowhere even remotely close to having the kind of fully fleshed-out library that Java has.

When D has several thousand classes in its standard library, then Java people might start taking interest.

#2 -- Ease of Use with 3rd Party Libraries

Although the standard library is an issue, I think this one is more important, and more consistently overlooked.

In Java, it's trivial to use classes from a third-party library. Here are the steps:

1. Download a JAR file containing the classes I'll be using.

2. Include the path to that JAR file in my classpath.

3. Now I'm able to use all of those classes as if I wrote them and had the source code available to me.

With Java, I don't need to use any special semantics to call external code. The semantics are completely identical when methods in my own classes, methods from compiled classes, methods from classes in a JAR archive, or methods executed on classes constucted through reflection.

The only thing I need to worry about, as a developer, is putting an import statement at the top of my source file pointing to the appropriate package/class. And then the runtime does everything else for me.

What's more, I don't need to use any special linking semantics, and my classes will execute identically on windows or unix.

D is light years away from offering anything that approaches this level of convenience and simplicity when it comes to executing third-party code. And until D provides those same niceties, I believe Java programmers will not be interested.

#3 -- Documentation Deneration

It's nice that there is some grassroots support starting to develop around Doxygen for producing API documentation from D files. But since Java implicitly supports the javadoc specification, I think Java developers would expect the same level of doc-generation support from any vendor of a D compiler.

Either D needs a doc-generation tool of its own (produced by Digital Mars) or it needs a specification and a feature-complete Doxygen implementation (also produced by Digital Mars).

This is the least important of my 3 points, but I think it's still an expectation of Java developers, and you won't be able to lure Java programmers to D without an official document-generation workflow.

--BenjiSmith
April 29, 2005
Benji Smith wrote:
> blah blah blah Java Java Java blah blah blah

Wow, I've never written one message with so many typos in my life.

<<blushes>>

--BenjiSmith
April 29, 2005
"Matthew" <admin@stlsoft.dot.dot.dot.dot.org> wrote in message news:d4udiq$1quc$1@digitaldaemon.com...
> [Curse OE!!]
>
>> Since there's much resistance from Walter to acknowledge/fix the defects, and much apathy/nonchalence from most of the community about them, I think the likelihood of 2 ever being achieved is negligable. It's going to take a real shift in attitude which just isn't going to happen. I think Walter's ambitions would be better served
>
> by loosing *all* the material on the website about being an evolution from / alternative to C++, because it just doesn't wash, and really gunning for Java/.NET.
>
> e.g. "
> Why is D as good as Java/.NET? Because it takes all their good features
> and makes them better?
> Why is D better than Java/.NET? Because it adds in simplicity from C with
> many powerful features from C++!
> "
>
> That's true - or will be when the libs are here - and I think it's a really powerful statement.
>
> Let's forget competing with C++, and go for the genuine and credible targets: those big fat VM languages beloved by large dev organisations.
>
> Maybe such a shift in focus might mean we'd start to accelerate towards 1.0, by working together on Phobos/libs.
>
> Whadayafink?

Noone will be surprised but I consider D to be a perfectly fine alternative to C++. It compete with C++ just as much as it competes with Java/C# (and just as much as Java/C# competes with C++). Obviously some people will prefer C++ just as some people prefer Java etc. But to say it "doesn't compete with C++" is somewhat irrelevant since the marketplace will obviously consider anything that calls itself a successor to C and competing with Java/C# as competing with C++ as well. We might as well be honest and say *how* it competes with C++ and where one might want to choose one over the other. To me the downside of the current web pages is that it tends to be very rah-rah for D and ignores any counter-argument. I wouldn't be surprised if C++ programmers responded better if their specific concerns were addressed (or at least acknowledged) on the site.


April 30, 2005
"Charles Hixson" <charleshixsn@earthlink.net> wrote in message news:d4udnr$1qvt$1@digitaldaemon.com...
> The current web pages are basically fine as they are.  One thing that would help is a good index, even a QWIC index (though they rapidly get too bulky).

Shouldn't search work better than an index?

> When I'm using the documentation, I'm
> generally trying to find out how to do something specific, and
> for that an index would be a great assist.  Still, I can often go
> almost right where I need to from the contents index as it is now
> set up. *DON'T* change that.

I, too, really like the use of frames to have a table of contents on the left, and the right is the page. Maybe it could be made to look nicer, but the functionality can't be beat. It's so much better than randomly clicking on a heirarchy of links looking for something. Check out the books on www.generalatomic.com, those pages use the same idea and it works well.


April 30, 2005
"Ben Hinkle" <bhinkle@mathworks.com> wrote in message news:d4trd3$19v9$1@digitaldaemon.com...
> I assume you are referring to the lack of overloadable assignment to keep track of reference counts, corrent? To me that's a slightly different
issue
> than reference/value semantics. Besides with dynamic arrays sometimes one wants to explicitly not use COW (eg filling in a buffer supplied to a function). Will D someday get some sort of overloadable assignment? Who knows - I personally don't have a strong argument against it but then
again
> I don't miss it.

Overloadable assignment, and its cousins the copy constructor and move constructor, are the source of much of the complicated grief in C++ programs. The primary (in fact, only from what I've seen) use for them is to manage memory. This is one major area where automatic memory management really cleans up and simplifies code. All that drudgery and complexity just goes away.


April 30, 2005
"J C Calvarese" <jcc7@cox.net> wrote in message news:d4u50k$1jcg$1@digitaldaemon.com...
> (By the way, I just found out about D++ today due to its link at http://www.kochandreas.com/home/language/matrix.htm. I wonder how many more people might stumble upon D if it were listed.)

Amusingly, that page says it was last updated in October of 2005.


April 30, 2005
On Sat, 30 Apr 2005 08:42:40 +1000, Matthew wrote:

> "Derek Parnell" <derek@psych.ward> wrote in message
>>I'm
>> wondering if D's target audience is not the current C/C++/C#/Java
>> crowd.
>> Instead, might it be found in the Perl, Python, Ruby, Euphoria,
>> and
>> total-newbie groups that have not been exposed to the foibles of
>> the 'C'
>> legacy, and are looking for speed, power, and simplicity?
>>
>> Would attempting to "sell" to this set of people be a useful exercise?
>
> Without built-in regex, it's not going to sell as an alternative to Perl or Ruby.
> 
> And I can't see how it's ever going to be a credible alternative to Python, which takes simplicity and usability to the extreme and, perhaps more importantly, a wealth of libraries.
> 
> I just don't see D as an alternative to scripting languages.

I'm sorry, but I didn't make myself as clear as I thought I had. I was not suggesting D as an alternative to those scripting languages, but as an additional tool to be used in places that are outside of the scripting language problem domain.

In other words, when people who have only been using such scripting languages, eventually need to use a programming language to do something that is better achieved though using a non-scripting language, then might not D be a useful tool for them? And if so, should the current D community and DigitalMars be actively promoting D to that group of potential users?

-- 
Derek Parnell
Melbourne, Australia
http://www.dsource.org/projects/build
30/04/2005 10:31:44 AM