D enters Tiobe top 20

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Wed Nov 6 10:10:50 UTC 2019


On Wednesday, 6 November 2019 at 05:02:10 UTC, Walter Bright 
wrote:
> I'm going to speculate that Rust is a bit like pure functional 
> programming. It's a great paradigm, but is inconvenient for 
> that last mile of the code one needs to write.

Yes, but I guess one could say that for Go as well.

On the other hand, the number of projects in Go seems to taper 
off, while the number of contributors is steadily increasing. So 
in the case of Go that might suggest that people  are now able to 
find libraries that are suitable and start contributing to those 
instead of creating new ones.  So, Go appears to have found a 
stable niche where it can become solid. Despite being 
inconvenient in some ways, and quite frankly, despite missing 
features that is welcome when writing larger programs.

In the case of Rust, it is expanding, and it seems like people 
are in the process of figuring out how to best write libraries 
for it and to figure out where Rust is the best solution.  I 
would expect Rust to do really well in all larger server 
scenarios in the long term, where you often deal with many 
objects, tree-like structures, require reliability and also need 
memory-efficiency.

I would expect Rust to do less well in audio/video/embedded, 
unless some really good Rust-frameworks appear that let you do 
audio/video/embedded in a high level fashion. Which could happen, 
e.g. if the Firefox team invest in reusable audio/video 
components for Rust. Swift isn't really a great language for 
audio/video either (for other reasons), but it works out  because 
of the frameworks Apple provide as a foundation.

I don't see anything in the Rust semantics that prevents it from 
becoming a good semi-high-level language for writing applications 
and servers. It all hangs on whether it eventually provides a 
good multi-platform framework.


> This is why D has "pure" functions. You can slip in and out of 
> functional programming as you like.
>
> I'm working on an ownership/borrowing system for D. But the 
> idea is it will only be active in functions marked as @live.

The trend is going towards programmers expecting to spend less 
effort on speccing function signatures and have the IDE/compiler 
du more of that by static analysis, flow-typing and the like. 
That is an argument against Rust, but also against @attributes...



More information about the Digitalmars-d mailing list