Maybe D is right about GC after all !

Russel Winder russel at winder.org.uk
Thu Dec 28 11:27:29 UTC 2017


On Wed, 2017-12-27 at 18:41 +0000, Laeeth Isharc via Digitalmars-d
wrote:
> 
[…]
> That's an extremely odd way to conceive of D, IMO, like 
> conceiving of a banana as being like an apple, only it tastes 
> like a banana and has a different shape.

Not really. When you write a function and give it a name, you extend
the working programming language for the application by the label and
it's abstraction. 
 
> If a general purpose programming language is to be conceived of 
> as a domain specific language, what's the difference between a 
> true domain specific language and a regular programming language?

There isn't one. As you write a program in the base language you extend
the working language by the abstractions, functions, classes, etc. that
you give names to. The application creates it's own working language
based on the base general purpose language.

Further the programmer has their own head language which is based on
the base programming language but with influence of all previously
learned languages. So a person who first learned Fortran and then D has
a different head language to a person who has learned C then D. These
two people appreciate the use of D in different ways so the starting
point for writing any program using D is different.

Marian Petre has spent 30 or so years experimenting on the head
language and programming expertise, as have others.

[…]
> 
> I don't think I suggested that tribalism in the everyday sense of 
> the word is favourable to the adoption of a language.  But that 
> aside, C is quite a big example, and I don't see that it has no 
> relevance to the present, even though conditions are of course 
> different.  Was Python adopted because of a big marketing budget? 
>   If so, I didn't know that - who paid for it?  How about R?

Python hit the scene in an interesting way and gained a small
following. That tribe then grew fairly organically without, at least
initially, any formal corporate backing. Even today Python development
is not directly backed by the corporations, but there is significant
indirect support now. You are right, Python is an example, post C, of a
language that grew without marketing budget.

R grew as a domain specific language for statistics. Whilst R could
grow, from what I have seen (so not experimental data), people switch
to Python for it's generality rather than continue with R. My personal
sample is biased as it was hedge funds needing R → Python training, and
hedge funds and others needing Matlab→ Python training.

> I think you also need to consider consequences of beliefs if you 
> are wrong and the choices available in circumstances (unless you 
> can figure out how to create new choices).  You write as if 
> adoption is flatlining.  It isn't - it's growing at a healthy 
> pace, as best I can see.  Human perception doesn't deal very well 
> with compound growth.  It's disappointing for a long time, and 
> all of a sudden it's surprising.

:-)

This is not a point we can argue with philosophy, we must await actual
data in the future.

> It's by far best at this point to get across successful stories 
> about the adoption of D to people who are already receptive to 
> them because they have some problems that D might help with than 
> to try to get people to listen to you who have no interest in 
> listening.  Persuasion works when people are ready to move 
> towards you.  You can't compel that.

Agreed. However I'd say you don't need to have them want to move to
you, though that helps, just that they want to move away from where
they are now.

Having constructive ripostes for negative criticism rather than just
getting defensive also helps. No excuses, that is guaranteed to lose
support. 

I like D and am using it for some Gtk stuff. However the GStreamer folk
are backing Rust (for memory safety issues noted earlier) so even
though D has a GStreamer binding (thanks to Mike and GtkD) I more or
less have to use Rust because it is the official binding. Comparing and
contrasting D and Rust is interesting for me. Both have many pluses and
many minuses. However, in the end, the GStreamer core people know C,
C++ a bit, D not at all. I suspect even if the choice had been Rust or
D, Rust would have been chosen because it has no GC and D is a GC
language.

-- 
Russel.
==========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20171228/060fb9b3/attachment.sig>


More information about the Digitalmars-d mailing list