On Monday, 9 September 2013 at 08:29:44 UTC, Russel Winder wrote:
...
If Windows and (C or C++ or C# or F# or Python) then
VisualStudio.
If Windows and Java then (Eclipse of IntelliJ IDEA)
I understand the point about Visual$. While I myself hardly know
it, very many (quite possibly the majority) of programmers on
Windoze use it and seem to be quite happy with it. That's reason
enough for me to accept it.
This, however, is (to me) the really interesting point
So if D is to compete with C++ on Windows, a D plugin for
Visual Studio
has to be in place and enjoyably usable.
Is it? Why compete? The only way to attracts large numbers of C++
developers is to become more and more like C++ (incl. of course,
massive amounts of libraries and tools) and to end up as some
kind of C+++.
Python is similar to - nothing (commonly used) - and yet it grew
wildly. There are so many to complain about Python's weird
indentation syntax. And yet they come and use it. Because it
promises something tangible and it delivers. Because there is
"the Python way". Because there excellent docs. And because there
is no real competitor.
Had van Rossum tried to please the perl crowd, he might have
attracted some more and quicker but today Python would be a small
niche thingy nobody'd care much about.
I feel we should largely ignore C++. I feel that D is grossly
inconsequent in a) - very smartly - aiming to be what C++ wanted
to be and b) - not at all smartly - trying to please the C++
crowd and to mimick C++ up to the point of at least seriously
considering mimicking leper and plague of C++, too.
D already *is* what C++ wanted to be, namely a more modern C with
OO. D shouldn't measure itself against C++ but rather against
what C++ wanted to be.
And there is another immensely important factor: reliability and
safety.
This world gets ever more dependent on software - and software is
ever more recognized as unreliable and insecure; hell, there is
even an industry living from that (anti virus, anti-malware, etc,
etc).
THAT's the sweet spot. To be what C++ wanted to be - plus - a
strong focus on reliability and safety.
The Ada people are not stupid. There is a good reason for them to
ponder a year or longer over a new keyword. Bertrand Meyer may
have it implemented in a way that looks strange to many but that
man isn't stupid at all. The lesson to learn from those two
languages known for reliability? Have a tight definition and
think long and hard before you make the slightest changes. And
*always* keep your "guiding principles" in mind.
A+ -R