D and the world
Bill Baxter
dnewsgroup at billbaxter.com
Sun Apr 22 22:13:37 PDT 2007
janderson wrote:
> Its about time for another round of how D can conquer the world.
>
> The way I see it D has 2 options, provide an easy way for C++ users to
> switch over or become D.net. The problem is, it is extremely
> impracticable to switch over to D because:
>
> 1) Everything is already in C++. It would take months to switch over.
> Time that no one has.
> 2) Many API's are in C++. Porting is too dam time consuming. There are
> so many API's that companies use, it is impossible to have them all ported.
> 3) Learning. People are resistant to learning new things. I think this
> hurdle is easiest to jump if the other 2 are in place.
>
> ...
> So if D wants to become big (say in the next year), I think some time
> invested in supporting C++ is its best bet.
I don't think D needs to become big in the next year. If it got the
easy ability to use C++ code (or Java code) directly, that may indeed
help it take off. But I don't think it's necessary.
I see D taking off in more the way of scripting languages like Python or
Ruby. Python got introduced into companies by people who liked
programming in it. I remember there was one guy in the company I worked
for back in 1995 who used Python. And I was like Py what? What's wrong
with Perl? But it grew slowly in popularity from humble beginnings, not
because of huge financial backing, but because people in the trenches
found it easy and *fun* to use. Today extensive libraries are one of
the best things about Python. But I would guess back in 1995 the Python
library collection was probably pretty weak. It grew because people
liked using it and contributed things they needed.
So, just give it time, and D will catch on. I've come back to
programming D heavily for the past few days after an extended stay in
Python land. And I have to say, I just really like D. Python is nice
with it's dynamic everything, but there's something to be said for
having a compiler that can tell you when you're referring to an
undefined variable _before_ you spend 2 minutes running your program to
the point where it executes the function you just added only to find
that you typed "my_varible" instead of "my_variable". And Python is
not without its warts. I'm always looking for ways to avoid making
classes in my Python code because having to say 'self.avariable' and
'self.amethod' everywhere just gets really really annoying. I also find
the lack of any notion of 'private' to be annoying. You need to be
careful about what and how you import in a python module, because that
all becomes part of the public interface for your module. You can
prefix things with an underscore, but that's the other thing that annoys
me about python. For a language with "clean" syntax, it sure does use a
heck of a lot of underscore characters.
Ahem. So anyway, D is cool. And I think it will catch on given time.
The 1.0 release just came out. And 2.0 is shaping up to be the greatest
thing that ever happened to programmer-kind. I think we're just seeing
the beginning.
On the other hand, if you want to write a C++ to D translator or
automatic bridge or whatever to help accelerate the pace, I'm certainly
not going to stop you. :-)
--bb
More information about the Digitalmars-d
mailing list