What criteria do you take

via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 6 04:53:36 PDT 2014


On Saturday, 6 September 2014 at 02:30:50 UTC, Cassio Butrico 
wrote:
> What criteria do you take into consideration for the choice of 
> a programming language.

1. Platform support, language stability and solid backing.

Compiled imperative programming languages are more or less alike, 
so platform support is usually the criterion that affects 
selection most and closely related to stability (of all kinds).

2. Learnability. Comprehensible structure of libraries.

Learning a new imperative language is typically done in a week or 
less. It is learning the libraries that takes most time, so I 
prefer languages that use standard structuring of core libraries 
(less to learn).

3. Expressiveness and rapid evolutionary development. Basically 
cheaper development.

4. Type-safety.

5. Predictable performance and portability. 
C/C++/shader-languages supports this well.

6. Transparency.

I want to understand what goes on in the runtime. C supports this 
very well. Big frameworks does not. I avoid big frameworks if 
possible since I they tend to imply limitations that are hard to 
work around.

Quick evalution of D:

1. D lacks platform support, language stability and backing. I 
don't plan on using D for paid projects until I understand the 
compiler internals so well that I know that I can fix it myself.

2. D is fairly easy to learn, except for quirks. Libraries could 
be more comprehensible, but I don't depend on them since D 
interfaces with C/C++.

3. D has decent expressiveness. Better for rapid development than 
C/C++, but Python does better.

4. D has acceptable type safety, but could do better at compile 
time correctness.

5. I think the C world overall does better at performance and 
portability at the moment.

6. The D runtime structure is too big for my liking, and not very 
transparent, but if you go to the trouble of modifying the 
compiler anyway it is not all that bad.




More information about the Digitalmars-d mailing list