How Nested Functions Work, part 2

Jeremie Pelletier jeremiep at gmail.com
Wed Sep 23 08:18:35 PDT 2009


Andrei Alexandrescu wrote:
> bearophile wrote:
>> Walter Bright:
>>
>>> bearophile wrote:
>>>> I think C++ is almost a niche language at Google.
>>> Every chance I get, I ask programmers what languages their
>>> companies use. In the last 5 years, I've seen a steady shrinking of
>>> the amount of C++ in use. Java and C# increasingly dominate.
>>
>> Today C# is probably the best general-purpose language+IDE. It has
>> some problems, but they are usually tolerable. Its main problem is to
>> be a proprietary language. C# gives almost the freedom of C++ (and a
>> lot of more freedom than Java), while being "safe" and allowing for
>> good IDEs. Programming in C# is faster, you avoid many bugs and
>> corner cases present in C++ and the language is designed to be not
>> error prone. Probably C# is the language closest to D. The ecological
>> niche for D is shrinking, programmers like VMs with lot of libraries,
>> good IDE and good amount of modules available. I like D, but I don't
>> know if all the work spent on creating D is somewhat wasted effort.
>> My friends don't seem interested in a "better C++"...
> 
> An opposing trend is that single processor speed is plateau-ing, at 
> least for the time being. This means two things. One, parallelism is 
> becoming increasingly important. Second, efficient languages will be 
> sought after because new applications will always put more demands on 
> processing speed. Until recently, it was the case that processing speed 
> increased together with new software releases (leading to the bloatware 
> we know), but that needs to change now.
> 
> So I see the niche for D growing for the time being.
> 
> 
> Andrei

I agree with Andrei, D is still in its infancy. C++ might be getting 
less popular in certain domains, companies nowadays don't want to spend 
much in development anymore and wrongly focus their resources on 
marketing instead.

However I do believe D has the potential to tap into this market; it 
gives much more freedom in the hands of the programmer than Java and is 
community driven unlike C#, yet allow for faster and easier development 
than C/C++ provides.

Once the shared qualifier gets an usable specification, and a few 
different concurrent models are implemented in the runtime and 
completely abstracted from any underlying libraries or mechanisms, D 
will definitely have an edge over other languages. Most languages I've 
seen implement either one concurrent model, or none.

I would love to see the D runtime implement at least four concurrent 
models: vector processing (OpenCL), message passing, software 
transactional memory and shared memory. I will definitely try and 
implement them in my runtime when I get to it. I believe in giving a 
complete set of tools to the programmer and letting them decide which is 
best suited for what they're doing. And having all four of these models 
in D would really put it at the front of concurrent programming languages.

I also agree with Walter about the lack of an IDE for D as powerful as 
Visual Studio, I myself use poseidon only because of its overly simple 
build process and simple project manager and debug in windbg. But that 
isn't the case with most programmers who like or dislike a language 
based on the IDE they use.

Jeremie



More information about the Digitalmars-d mailing list