On Sunday, 28 January 2018 at 18:54:34 UTC, Laeeth Isharc wrote:
On Sunday, 28 January 2018 at 13:50:03 UTC, Michael wrote:
I do worry that, having been using D for about 3 1/2 years
now, that the perceptions of D outside of this community don't
seem to be changing much. It does seem to make a huge
difference to have a big company behind a language, purely for
the "free advertisement". Most people at my university,
outside of the computer science department, that are using
languages like Python and R and MATLAB the most, are very
aware of Rust and Go, but not D. I wonder if we do need to pay
more attention to attracting new users just to get people
talking about it.
That's what you would expect, because D is a very ambitious
language, which means its natural user base is much more spread
out and less highly concentrated. And beyond that, most code
is enterprise code that's closed source, and whilst the web
guys talk a lot and influence the culture, enterprise guys talk
much less and just do their thing quietly. Even in our world,
how often do you see the people using D get involved in forum
discussions? Sociomantic, Weka, Ebay, and so on. (Or
Microsoft - did you know that D was used in their COM team?
They didn't exactly send out a press release...) A little bit,
but only a little in relation to their use of the language. If
you're trying to accomplish something in a representative
enterprise context with lean resources, you don't have much
time to talk about what you are doing.
That's one big potential mistake. Enterprises care about making
money with whatever will help them do that (impress investors).
Its developers who care about languages that help them write code
that suites their requirements. The focus should be on developers
not companies. People using D cannot be represented by Microsoft,
Sociomantic, Weka, etc. employees. Its of no use chasing after
companies... make it useful and everyone else will come.
If you want to draw people to the language (and, honestly, I
wonder why it matters so much to many here
Its a simple math well understood since long ago. The larger the
army/workforce the better. Things get done. Walter always say
here "Its left with someone to do the work". There other stuff he
doesn't address including those outside language internals.
- it's clearly
taking hold, has momentum and will continue to grow for
decades; an acorn will become an oak tree, and fretting about
how much it's grown in the past year might be missing the
point, so long as it's healthy enough), why not just focus on
both improving the language itself (pull requests,
documentation)
Someone needs to do that and we're short of people willing, have
the time and able to do that.
Either someone is paid to care enough to do that (Like Google do
with Go, Oracle with Java, Jetbrains with Kotlin, etc.) OR grow
a community/workforce to collectively make that happen.
and on accomplishing something useful and worth doing with it?
There's also a possibility the acorn will loose interest and
momentum and... die. Your opinion on what is worth doing is based
on your domain or interest.
Of course there are the usual trolls who don't seem to write
much D, but seem to be drawn like vampires to the energy of
those who do. Sad.
Someone who doesn't write D or have no stake in it's well-being
will not waste a second in this forum.
don't seem
You don't know for sure. Remember we don't all use D the same way.
On Sunday, 28 January 2018 at 17:23:12 UTC, Paulo Pinto wrote:
This has been mentioned multiple times, D really needs some
kind of killer application.
Why?
It's a generalist language for getting stuff done in an age
where people have succumbed so much to Stockholm Syndrome that
they think it's a positive thing in a language that you can
only use it to do something special. Yet trends in performance
and performance demands point to the rising importance of
efficiency (and I suspect there will be a return to the
recognition of the importance of being a generalist - in
programming, as in other fields). There was a tweet by the
author of Musl libc observing that software today runs slower
than software twenty years ago, and linking the bloat to the
insane pressure to maximise CPU performance over all else. The
era of that kind of ruthless optimization is over because it's
not the only thing that matters, and we start to see the price
of it. And generalism - in a dynamic business environment,
there's considerable value to have capabilities that aren't
adapted to particular narrow skills when what you need is
always changing and may be unknown even to you.
My generation was privileged because very quickly if you wanted
to get anything interesting done you had to learn assembly
language (maybe write your own assembler or disassembler), had
to learn a bit about hardware, and could never pretend the CPU
was this perfect platonic abstraction. And for a while that
changed, but I think the past is returning again, as it often
does.
So I see a value in hiring hacker / generalist types who can
figure things out. For example:
https://hackaday.com/2017/01/26/a-personal-fight-against-the-modern-laptop/
https://www.youtube.com/watch?v=Fzmm87oVQ6c
Back in 2007, most finance types would have said how completely
impracticable and unreasonable. But I say, with GK Chesterton,
that "all progress depends on the unreasonable man". And
someone like that doesn't succumb to helplessness once they are
outside of their shiny IDE, knows that in the end everything is
just code, and you can change it if you want to, and there is
strategic value from building organisational capabilities from
hiring such people. Usually I'm a couple of years ahead, and I
think others will follow. If you hold a contrarian point of
view, you know you're right when surprises start coming in your
direction, and people still can't see it. And I think that's
been the case since 2014.
Anyway - so D is a general purpose language, and I think we are
likely seeing a nascent return in recognizing the value of
generalist tools and people.
On my line of work having Go on the skills list is slowly
becoming a requirement, due to Docker and Kubernetes adoption
on cloud infrastructures.
That's great. Walter says that good code should look good on
the page, and Go code looks nice enough. It's got nice network
and infra libraries, as you say. But why would the adoption of
Go be bad for D? I think it's great for D because after a
period of stagnation it gets people open to newer languages,
and on the other hand the gap between the spirit of Go and D
isn't that far (GC, clean code, native target) even if they
don't have generics.
It's a big world - both D and Go can succeed, and the success
of one isn't bought at the cost of the other.
Just wondering if mir or easier GPGPU programming could be
that killer application.
We sponsor mir algorithm (some of the routines within were
developed for us, and we were happy to open source them), and
we are rewriting our core analytics - used across the firm in a
$4.1bn hedge fund in D from C++ before that. What alternative
really exists for what we are doing there? And C++ vs D, it's
not even a fair fight if you care about productivity,
plasticity of the code, and generating wrappers for other
languages that you can still understand whilst maintaining
decent performance. At the same time, we're not a D shop - a
diversity of languages is not a bad thing, provided you have
some way for them to work together. Code reuse is very
difficult, but the UNIX way does work. On the other hand, if
you want to connect components, how are you to do that? Well,
D is pretty nice for writing DSLs that can connect to code
written in other languages, and where expressions can be
evaluated from other languages.
A specialist language adapted to a particular domain or set of
domains - yes, that benefits from a killer app. But for a
generalist language that's useful for getting stuff done - why
would there be a single killer app? That doesn't make sense to
me. There should be multiple successes across different
domains, and that's what we are beginning to see. Just bear in
mind that the web and tech guys talk a lot, but most
programmers don't work in those industries. It would be a
mistake to conflate salience with economic importance, I think.
Laeeth.