Has D failed? ( unpopular opinion but I think yes )

Laeeth Isharc laeeth at kaleidic.io
Sat Apr 20 15:15:48 UTC 2019


On Sunday, 14 April 2019 at 19:47:59 UTC, Jon Degenhardt wrote:
> On Sunday, 14 April 2019 at 09:42:01 UTC, Laeeth Isharc wrote:
>> It's true that there's a high barrier to entry in the 
>> beginning with D - much better now, but if you are put off by 
>> discomfort and needing to figure things out for yourself then 
>> it's going to be quite a tough experience.  D doesn't place a 
>> high value on being accessible and if that's what is important 
>> then maybe somewhere else would be a better fit.
>
> Interesting. This appears to be a common sentiment, but it's 
> opposite of mine and many other folks I talk to. I've 
> programmed in a number of languages, and I'd say that Python is 
> easier to get started in, but that most other languages are 
> materially harder.

Thanks for sharing your experience, Jon - I very much appreciate 
it.

I actually found it easier to learn D the language than Python.
Just at the time the library documentation and some compiler 
problems
made some aspects harder.  The situation there is remarkably 
better
than it once was - to the extent that I can actually show the 
Phobos
docs (with editable, runnable examples) to colleagues and say we
should aim to have documentation for internal libraries as good as
this.

But I did know C pretty well (by the standards of the era I 
learnt it,
not by modern standards) and to me at least D felt very natural.

I think the accessibility is more when it comes to rough edges.  
It's
not that D is difficult, but that making D as accessible as 
possible
isn't a priority of the community when a choice has to be made.

Whereas by all accounts Rust is not easy to learn, but they seem 
to
place a great deal of effort in making it accessible.  I'm not 
saying
that's a good thing - it's just a question of different community 
values.

> Might be useful to understand why some people find D easy and 
> others find it hard. It could be related to past programming 
> experience, but also might be related to the types of tasks 
> being performed, the way people learn, or differences in 
> approach to programming. (e.g. Perhaps early success or not is 
> being determined by role the ecosystem plays in initial tasks 
> chosen or programming approach used.) This is a material topic 
> because programming model simplicity is, or should be, a 
> strength of D.

If you are coming from C, at least the old-school way I learnt it
(reading sources of Fidonet, BinkleyTerm, things like that) then
I think D is quite easy.  You can write D like C and when you have
a problem where a feature of D would be helpful it's easy to 
remind
yourself about it and learn it that way.  It sounds like the same
is true for C++ programmers.

Getting people to recognise that object-orientation isn't the only
way to solve problems might be harder, though that's a broader
question.

>> Yes - the tolerance for experimentation is an important 
>> question.
>>  In firms where there isn't much of a tolerance for 
>> experimenting and for some of those experiments to fail then 
>> it's probably not the right environment to use D.  But I think 
>> the more interesting places to work are quite different.
>
> The computing landscape is changing rapidly, and there are many 
> technologies companies need to consider experimental 
> investments in, not just programming languages. In effect, when 
> it comes to investments in advanced/experimental technology a 
> company might choose to make, programming languages are 
> competing with many other technologies, not just other 
> programming languages.

Yes - I've met senior people (C level of important divisions) at
Citibank and my colleague similarly at JPM.  It's a matter of
public record that they are partitioning their efforts, creating
incubators,startups within the larger firm.  You would expect
them not to be at all interested in what we are doing, but they
are a little bit.  It's a time of change and nobody has a monopoly
on insights about what might work.

Ocaml makes D look popular, but I understand Bloomberg are doing 
some
interesting work there.

Language choices are probably the least interesting aspect of 
broader
technical and strategic decisions.  But strangely people get
inordinately emotionally involved in them.



More information about the Digitalmars-d mailing list