Idea #1 on integrating RC with GC

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Mon Feb 10 04:04:37 PST 2014


On Monday, 10 February 2014 at 09:36:53 UTC, Manu wrote:
> I'm confused. A couple of posts ago, you seemed to be annoyed 
> at me for
> consistently raising games as a target application space that 
> was
> unrealistic, or not 'down to earth', or some fairly niche and 
> irrelevant
> target workload.

Sorry about that. I have been following D since 2005, on and off, 
and kept waiting for the "better C++" to materialize so I can use 
it to do fun stuff with it (audio, 3D, raytracing etc).

One hobby of mine is to read Intel/AMD CPU docs, raytracing 
papers and compiler stuff, and discussing those aspects and 
improving my understanding of those areas is fun. I am loosing 
hope in that direction for D, because I don't think D has anyone 
with a strong interest in project management that can drive it in 
that direction. The responses from the D leads shows signs, not 
of a lack of skills, but a lack of interest in project management 
"theory" (and unfortunately, that is an area where I know the 
theory quite well since I majored in that area).

On the fun side I want what you want. I would love to see you be 
the third lead on D, to get a person that "falls to sleep 
thinking real time" into that position would make me believe in 
the project.

On the "pay for bread" side I am looking at D from the 
perspective of having an alternative to Go on the server side. I 
guess that has made me "janus-faced" in this discussion. What 
would make me tilt in favour of Go instead of D, is that it has 
corporate backing and therefore give priority to production level 
stability. Even though I like the semantics of D better. 
Stability is important to me since I personally pay the price 
(literally) for technical flaws since I offer fixed priced 
solutions.

Instead of A.A. and W.B. going defensive (and yes it is painful 
to see your child get a needle in the foot at the doctor to get 
that vaccine that will keep the child healthy in the long term) 
they should try to get someone into the team of leads that has an 
interest in software development process and software process 
improvement. Or at the very least, one person with real time 
focus.

(Please note that I found it quite amusing that you claimed that 
I was ignorant of long running games, since I studied Anarchy 
Online from inception to end in a qualitative manner while trying 
to figure out the design properties of the design domain, from a 
system development perspective. You don't have to convince me, I 
do understand where you are coming from and enjoy reading about 
your perspective. ;^)

> Video games is a bigger industry than the movie industry. 
> Casual/phones
> have captured a large slice in recent years, but the rest of 
> the pie is
> almost entirely games consoles, which I don't think is a 
> diminishing
> industry so much as the casual/phone space is rather growing 
> the pie in
> overall volume. The industry is expanding as a whole.

Yes, unfortunately the revenue in the mobile app space is very 
low for the majority of developers which requires tools that make 
them very productive at the cost of technical quality. So lots of 
stuff is being done with cheap (and not really performant) tech 
to cut down on dev time.

A more performant and productive language could certainly make a 
difference, but to get there you need to focus on that niche, 
otherwise it will take too many years to catch up with the 
alternatives (with their eco system). And the landscape keeps 
changing very quickly. Companies that offer 3rd party solutions 
fold all the time. So mobile devs are "jaded".

> I don't think anyone in the D community really has that power. 
> If Walter
> were to dictate direction that was unpopular enough, the 
> developer base
> would promptly dissolve.

Yes, some would leave, but others would join. Those who today 
look at D and say:

- "This is kind of cool, but not quite there yet"

- "when can I expect to see it land in the area where it makes me 
productive"

- "is this cart worth pushing, can we actually make a significant 
improvement here or do I have to push this cart all by myself"

I would imagine that there are more people sitting on the fence 
than not.

What made Linux work out was that they were aiming for a well 
defined vision, Unix. Progress was easy to measure.

What made Linux fail on the desktop that they did not have a well 
defined vision, so the community spread out on N alternatives and 
progress was hard to measure.

This is a bit simplistic, but Open Source projects that does not 
have a strongly projected vision tends to wither and dissolve 
over time.

> the goal. Contributing to D is, in some way, a form of 
> recreation for contributors.

But you still need a clear vision and well defined goals, because 
for every "fun" bit there is 2 "unfun" bits. For every "excellent 
feature", you have to axe "2 nice to haves". (kind of)

> Are you saying I don't complain enough? :) (at least, last year 
> before I left)
> I would never want to assert authority on the language 
> direction on behalf
> of a single company, like you say, it's a niche target, 
> although a very big
> niche which I think will really benefit from D.

Actually, I think you have the passion to put forth a vision that 
could bring D to real time and thus make it a project that is 
making "fun" possible.

With no "real time" person on the team I probably will take the 
"hobby focus" and enjoy discussing technological possibilites 
(such as the discussion we had about ref counting recently).

If that makes A.A. upset. Great. He should be. I am implying that 
D needs leadership. He should take leadership. If he does not 
want to listen. Well, in that case I am not forcing him to read 
what I write. But pointing to github is pointing in the wrong 
direction. Github tracks missing bolts and nuts, not a skewed 
skeleton.

> I just make sure that people never forget that the niche 
> exists, what the
> requirements are, and that tends to result in those targets 
> being factored
> into conversations and designs.

I am perfectly cool with that. If AAA games is the vision. Good. 
My prime gripe is the lack of a clearly stated vision. I could go 
with any "system level" vision that is not covered by C++/C#.

> That's a shame, I see that as one of it's greatest (yet 
> unrealised) potentials. What are some other reasons anyone 
> would reach for a native language these days?

Scalable, low resource, servers. Servers that boot up real fast 
and handle many connections.

I am currently musing at OSv. It is a kernel written in C++ that 
can run on top of KVM. Having something like Go or D on that 
platform could be interesting.

Backing caches/databases/web services for low revenue mobile apps.

> If it's not an operating system, or some enterprising web 
> service... what
> else commands native hardware access and performance than 
> embedded
> development in a *highly* aggressive and competitive industry?

Again, I don't disagree.  *smooch*

;)


More information about the Digitalmars-d mailing list