D vs Rust

bearophile via Digitalmars-d digitalmars-d at puremagic.com
Mon Mar 14 17:07:59 PDT 2016


gour:

> For quite some time I was looking at Ada as potential language 
> to write multi-platform desktop application, but, being the big 
> language which requires lot of time and energy to invest into 
> learning/mastering it, I, somehow, feel reluctant seeing that 
> there is practically no open-source community around Ada, no 
> truly open-source compile -- what would happen if AdaCore would 
> simply pull the plug since I do not believe there are enough
> people capable to maintain/develop FSF GNAT, so I'd appreciate 
> if you can write few words about Ada vs D hoping that the 
> latter it one you are recommending for new (gui) projects?
>
> I simply hope that D can provide me with most/all the features 
> I'd expect from the language like Ada, but but even more modern 
> features, more choices when it comes to developing GUI desktop 
> app, more compiler choices, better tooling and, of course, much 
> bigger community of open-source enthusiasts.

Ada language has several nice features worth stealing (I'd like 
both D and Rust to add constrained values, static preconditions, 
ranged subtypes, and annotations to control access to global 
variables), and if you're writing a train control system, a space 
probe/satellite, a military machine control, a 
hardware-constrained device that needs to be very reliable (like 
a medical machine working inside the body) then using Ada/SPARK 
could be reasonable.

But for an average multi-platform desktop application Ada is not 
a good idea. The main problem is not the language itself (that is 
very verbose, but that's not a show-stopper), but the tooling 
(very scarce, and very pricey, very few compilers, very few IDEs, 
etc), the community (small), and the libraries (not many). A 
sufficiently rich and sufficiently determined group of 
programmers could probably write a regular desktop application in 
Ada, but you're walking uphill for not enough reason. Sometimes 
worse is better because it's actually overall better.

There is a recent thread about Ada on Reddit, but unfortunately 
the best comment in that page has being deleted... :-)
https://www.reddit.com/r/programming/comments/49y7sc/11_myths_about_ada/

Bye,
bearophile


More information about the Digitalmars-d mailing list