This is a post of mostly chat. If you have better things to do you can ignore 
it.

Walter Bright:
> I've tried to program in Java. It takes me considerably more time to get 
> things done in it. That time is lost writing much more code because it 
> is a less expressive language.

I agree that D is more expressive than Java, my D programs are quite shorter 
than Java ones, and I need less time to write D1 programs (especially when I 
use my dlibs).

But expressiveness isn't the only factor to consider if you want to measure a 
programmer productivity, you have to consider debugging time too: one of the 
the points of languages like Java/C# is that they allow you to forget about 
classes of errors, this leads to less memory-related bugs, and this leads to a 
shorter total (development+debug) time.

The purpose of SafeD is to help in this regard, to gain another of the 
debugging speed advantages of Java/C#.

I have seen that when I write a small Java program, when it compiles it's often 
correct. This is less often true compared to D1 programs (and they say it's 
more quite often true in Haskell). D1 compiler tries to be partially compatible 
with C and this makes it "more tolerating" than the Java compiler. Several 
examples can be shown.


> The other problem those "CPU second" languages have is that people often 
> use them in a hybrid manner - Python for the logic, with C++ to speed up 
> the slow parts. Doing that is a sign of desperation, as neither language 
> is fulfilling the needs of the programmer.

I agree. I have started learning D for the limits of C and Python.
Designing a language that is able to be used in that hybrid way isn't easy. C#4 
tries to be an example of such hybrid languages.


>Being a simple language does not imply being a productive language.<

I agree, but you have said:
>>D aims to reduce project costs by reducing training time<<

D doesn't reduce training time compared to Java because I think you need more 
time to learn D compared to learning Java, because Java is simpler (and at the 
university they teach Java, so you are likely to find/hire a person that 
already knows Java, but this is partially beside the point).

Bye,
bearophile

Reply via email to