My first experience as a D Newbie

Laeeth Isharc laeeth at laeeth.com
Thu Oct 19 02:08:13 UTC 2017


On Monday, 16 October 2017 at 08:56:21 UTC, Rion wrote:
> When you invest this time into a language, you have 
> expectations. A person expects for a language this old, that 
> every puzzle fits together without issue.

I can't say that your process for forming expectations is wrong, 
but it's evidently not turned out to be a good guide to reality.  
It could be that reality should conform itself to your view of 
what it should be, but it might also be that D is a thing in 
itself that develops according to its own intrinsic pattern that 
is different from the one with which some people are most 
familiar with today.  And if that's right, one can't evaluate it 
according to heuristics that fit other languages - one needs to 
think about what is the problem one faces, and from an enterprise 
value perspective how and where might D be useful.  And if one 
isn't in a position where one can't think about it from an 
enterprise value perspective, it's going to be hard to use D at 
work.

> Call me spoiled if you want but quick gratification it is not.

Yes - that's the whole point - it's certainly not a language 
community that as things stand today fits someone expecting quick 
gratification, especially on Windows.  I don't see how it becomes 
one very soon.  Expecting it to become what it is not might lead 
to disappointment.  For some people, perhaps that's enough for 
them to look elsewhere - it very much depends on your discount 
rate, on your patience, how quickly you pick up technical things, 
and on the sorts of problems you face.

Debates about languages are often really debates about values.  
And although one may explore differences in values in a rational 
way, that's really not something one is easily going to persuade 
anyone else of.  Hey Javascript guys why not slow down a bit, 
focus on code quality, security, rigour, error reporting and so 
on.  It's not going to happen.

https://www.slideshare.net/bcantrill/platform-as-reflection-of-values-joyent-nodejs-and-beyond
https://vimeo.com/230142234


> The time wasted on dealing with issue on D, is time you can 
> have spend in a different language actually writing 
> code/testing. Its a barrier to the language its own success 
> when its not as user friendly as the other languages.

It's not the time spent sorting out build systems or writing code 
that is the truly expensive bit...  In fact there are days when I 
wonder about imposing a tax on lines of code to make people write 
less of it.

It might not be a positive factor, but empirically it's certainly 
not an overwhelming impediment to the continued growth of the 
language, because adoption is growing.

> If a person needs to do a action in Windows and it takes him 5 
> mouse clicks. But hey, under Linux you can do it with one 
> command line arg, ... the Linux approach sound more easy right?

Yes, to me I find it so - even Microsoft at a WinOps talk 
recently said that in the end the command-line is better for some 
things because a GUI hides things from you (I paraphrase).  Of 
course for some people it's easier to use a mouse.  But the 
command-line is certainly more powerful and if you're managing or 
deploying to even as few as tens or more of machines, it may 
often be the only way.

> Until you add the time needed to learn the command and assuming 
> there are no issues.

You only need to learn once.  And it's my impression classic 
command line tools change much less often than GUI app interfaces.

> What is more rewarding or punishing?

It very much depends on what sort of thing is more your cup of 
tea.  People are evidently quite different in their tastes, and 
it's a good thing too.  It's just not going to be very gratifying 
to go to coffee drinkers and ask why they don't appreciate the 
virtues of Earl Grey.  Unless you enjoy the sort of reaction 
you'll get.

> Windows does not get in the way.
I must beg to differ.

> MS puts a massive amount of time and money in there testing. 
> And it shows in there platform.

So if you prefer to use their platform, there is no point 
expecting D to reach a similar standard in the sheer glossiness 
of the appearance of tools, because time and money in the D 
community is spent in different ways because people using D have 
different problems and therefore different values.  Personally I 
can't stand Visual Studio, but then again I don't write much for 
Windows.

> Its the same reason why Linux as a desktop OS will never work 
> out. Too much puzzle pieces that do not fit, too much assumed 
> that people need ( and have the time ) to learn the complicated 
> way. A lack of inter-testing beyond just the basic compile 
> tests ( i mean really usage ).

Fair enough.  I gather UNIX family has been quite successful on 
the desktop - the only real competitor to Windows, no?  And some 
say easier to use.  And GNU and UNIX derivatives dominate the 
mobile markets.

> Its easy to see the same attitude in D as a community project. 
> There are GREAT pieces being written but everybody is working 
> more as a solo developer, with no clear guideline. That is the 
> big difference between a language like D and corporate backed 
> languages.

I don't think it's true that 'everybody' is working as a solo 
developer.  There are some decent size teams working in D.  But 
most of them have little to no forum presence because when you're 
a decent size team you have bills to pay and people to manage and 
you can't spend much time writing messages on forums.

> I can easily think of a dozen extensions to D, that need to be 
> part of the standard library or extended library of D, like 
> DCompute, mir-algorithm, ...

Yes, well we sponsor mir-algorithm, and would like to sponsor 
dcompute too, but I haven't had any time.  And I think it would 
be by far premature for them to be in Phobos, because the 
consequence of raising the bar for quality in Phobos has been 
that it stifles the growth of new things.  Mir itself was 
originally in Phobos experimental and Ilya asked for it to be 
withdrawn, for that very reason.

It's good the bar has been raised for Phobos too.

It just might be an idea to create an intermediate layer of high 
quality projects with a degree of community support and where you 
know they are likely to basically work.  That's I think why D 
Community Hub was created, and I guess it will probably continue 
to grow from here:

https://github.com/dlang-community


> Why? Because its again lose projects that you as a end consumer 
> need to discover. Most of the time written and maintained by 
> one person. Too much here is so single person focused, that its 
> hard to see people continue the work if that person has no more 
> time.
>
> Too much here is single issue focused and it shows in the 
> developers there background, what results in the testing of 
> platforms, the interaction etc.
>

There's an old joke about hiring.

===
One day while walking downtown, a Human Resources woman was hit 
by a bus and was tragically killed. Her soul arrived up in heaven 
where she was met at the Pearly Gates by St. Peter himself.

“Welcome to Heaven,” said St. Peter. “Before you get settled in 
though, it seems we have a problem. You see, strangely enough, 
we’ve never once had an HR manager make it this far and we’re 
really not sure what to do with you.”

“No problem, just let me in,” said the woman.

“Well, I’d like to, but I have higher orders. What we’re going to 
do is let you have a day in Hell and a day in Heaven and then you 
can choose whichever one you want to spend an eternity in,” the 
Saint replied.

“Actually, I think I’ve made up my mind… I prefer to stay in 
Heaven.”

“Sorry, we have our rules…”

And with that St. Peter put the HR manager in an elevator and it 
went down-down-down to Hell. The doors opened and the HR manager 
found herself stepping out onto the putting green of a beautiful 
golf course. In the distance was a country club and standing in 
front of her were all her friends – fellow HR professionals that 
she had worked with. They were all dressed in evening gowns and 
cheering for her. They ran up and kissed her on both cheeks and 
they talked about old times. They played an excellent round of 
golf and at night went to the country club where she enjoyed an 
excellent steak and lobster dinner. She met the Devil who was 
actually a really nice guy (kinda cute) and she had a great time 
telling jokes and dancing. The HR manager was having such a good 
time that before she knew it, it was time to leave. Everybody 
shook her hand and waved goodbye as she got on the elevator. The 
elevator went up-up-up and opened back up at the Pearly Gates 
where St. Peter was waiting for her.

“Now it’s time to spend a day in Heaven” he said. So the HR 
manager spent the next 24 hours lounging around on the clouds and 
playing the harp and singing. She had a great time and before she 
knew it, her 24 hours were up and St. Peter came and got her.

“So, you’ve spent a day in Hell and you’ve spent a day in Heaven. 
Now you must choose your eternity,” he said.

===

The HR manager paused for a second and then replied, “Well, I 
never thought I’d say this. I mean, Heaven has been really great 
and all, but I think I had a better time in Hell.”

So, St. Peter escorted her to the elevator and again the HR 
manager went down-down-down back to Hell.

When the doors of the elevator opened she found herself standing 
in a desolate wasteland covered in garbage and filth. She saw her 
friends were dressed in rags and were picking up garbage and 
putting it in sacks for the evening meal. The Devil came up to 
her and put his arm around her and laughed at her.

“I don’t understand,” stammered the HR manager. “Yesterday I was 
here and there was a golf course and a country club and we ate 
lobster and we danced and had a great time. Now all there is a 
wasteland of garbage and all my friends look miserable.”

The Devil looked at her and grinned: “That’s because yesterday we 
were recruiting you… but today you’re staff.”

http://www.sun-gazing.com/explains-recruitment-perfectly-true-hurts/#OFZ8GL7Y7jCloAmf.99
===

> Maybe i explain this badly, but D seems has a lot of issues 
> that people here are not aware off because they are already in 
> the D mindset. And its those issues that show up the most, when 
> one first tries this language.

And it's the opposite of the recruiting joke - with D the pain is 
upfront - I'd by far rather it were that way, because if you only 
discover critical things after you have written a lot of code, 
that's by far more expensive.

I don't think people here are oblivious.  Nothing you have said 
would have come us a surprise to anyone who has been around a 
while, and it isn't something nobody has said before.

But one can pick from the choices available to one, or the new 
ones one can imagine.

Things change when somebody decides to make them change, and 
there's nothing more powerful than writing code - at least a 
proof of concept - to inspire others to follow.

Outside of that, pointing out the obvious won't change anything.  
And if one won't write code (or failing that, donate money or 
time or something) then one shouldn't expect the world to move to 
accommodate one's wishes.  And it's in the context where the 
values of the D community are different from the values of some 
other languages - that's a good thing, because diversity of the 
sort that really matters - cultural, intellectual, cognitive - 
does make the world a richer place.


Laeeth.




More information about the Digitalmars-d mailing list