December 18, 2014
On 18 December 2014 at 20:38, ketmar via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> On Thu, 18 Dec 2014 20:24:36 +1000
> Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>> On 17 December 2014 at 20:33, ketmar via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>> > On Wed, 17 Dec 2014 09:48:26 +0000
>> > Tobias Pankrath via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>> >
>> >> std.container.Array(T) if(is(Unqual!T == bool)) vs.
>> >> std.container.Array(T) if(!is(Unqual!T == bool)).
>> >>
>> >> That's super unhelpful for newcomers.
>> > that's why newcomers should NOT try to learn the language using reference documentation for standard library.
>> >
>> > when i started to learn D, i found and read Andrei's book, Ali's book and Philippe's "template tutorial". and i never complained that phobos reference documentation is "hostile to beginners" -- 'cause it's NOT for beginners. you are expected to learn the language before reading reference dox.
>>
>> I couldn't disagree more. People aren't allocated work time to read books.
>> Books are for students or language enthusiasts who want to learn about
>> programming in their home time. That doesn't apply to most
>> professional programmers I've ever worked with.
> that's right: most "professional programmes" i've seen simply can't program. i wouldn't allow them to wash my dishes.

This is even more offensive; suggesting that professional engineers
aren't entitled to lives?
'Excellent' programmers are fairly rare, and often come at the expense
of other pursuits in their lives.
You have to get work done with the resources available.


>> Most people just want to go home to their wives and kids.
> that's why the whole software industry sux nowdays. if one doesn't like his work he shouldn't do that work. simple as it is.

I'm not sure how having a life outside of work implies not liking your work?


> (just for info: i'm near my 40 and i still love to spend sleepless nights writing interesting code or learning something new)

Good for you.


>> Docs need to have examples which are plain and obvious, and the language will be absorbed by osmosis.
> but phobos dox are exactly like this! i was never puzzled by phobos documentation, and it has alot of samples which illustrates various things. reader just expected to know D, it's template system and some basic "idiomatic" things like ranges.

Congratulations, but my case study demonstrated otherwise.
December 18, 2014
On Thu, 18 Dec 2014 10:54:22 +0000
Ondra via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> No. There are almost no examples on practical usage of packages. Have you tried to use e.g.: std.json from scratch with only reading documentation without googling forums for help how to actually use it?
yes. strange thing is that i had zero troubles with that. it's kind of thing that "just works". and reference dox doing exactly what i want: gives me names i need.

i can't see what can be so hard with simple recursive data structure implementation.

the same for 'std.mmfile', by the way.


December 18, 2014
On Thursday, 18 December 2014 at 09:56:07 UTC, Manu via Digitalmars-d wrote:
>> Of course it is language for nerds. Do you see a paid developer team working
>> on D? At least ONE paid developer? Maybe someone of existing commercial
>> users pays for adding tools / features? It is not a product, it is not
>> funded and can't be anything but language for nerds unless YOU start paying
>> for the change.
>
> Me? Personally?
> Well Remedy kicked in quite substantially for dconf, but I think my
> getting my company involved increases the chances for licensing and
> monetisation than any amount I can donate from my own pocket...

And Remedy sponsorship was very helpful in allowing DConf to happen and greatly boosting communications as a result. Sadly we need much more than just one conference. When I am speaking about personal involvement I don't mean straightforward donation but efforts to convince companies in your industry to _invest_ into D ecosystem.

I keep repeating word "investment" and it is crucical. At this point we don't really need new users, those will come eventually if issues are fixed. We need more companies willing to dedicate time of its developers to work on compilers, tools and core projects of D ecosystem. That is the only way to get what you expect.

For example, consider your disappointment with Windows support. As far as I know, 3 largest commercial D users (EMSI, Facebook Sociomantic; in terms of D developer count) use Linux as foundation for their D projects. Not sure about EMSI but seems so. Why would any of those companies invest into making Windows support better?

You speak about increased chances for licensing and monetisation but there is not licensing in D world. And hardly any monetisation. Please take your time to actually understand it. The fact that your company would have started to use D didn't fucking matter to D development in general apart from some small marketing boost. No licenses they would buy to boost further development, no support contracts with similar benefit. You are asking for huge amount of combined effort from people that won't even slightly benefit from the success.

Sometimes I have a feeling that game developers consider open-source a magic box where you can just shout your complaints in and eventually put your hand inside and get something useful out of it. It doesn't work that way.

>> To start using D effectively in production one needs to stop considering
>> himself a customer. This is absolutely critical.
>
> I am obviously personally capable of working around D's ecosystem
> issues; I'm still here after 6 years.
> What I am presenting here is an account on why my company rejected D,
> despite a large number of staff being super excited and jazzed to try
> it out.
> I'd like to think there's something to learn from that.

I have hardly learned anything new from this story, it is mostly known points and issues. Instead of telling what needs to be done please try telling WHO needs to do it and maybe then you will realize why knowing it is only so useful.

> I don't get it... I really can't understand this perspective at all.
> We're not here to be a cool exclusive little club where super-nerdy
> programmers can hang out and talk about advanced language concepts.
> At least, that's absolutely not why I'm here.
> 
> A language end-user shouldn't require any personal involvement in the
> development community. I don't hang out with stroustrup and sutter and
> talk about C++.

Exactly what I have meant - we don't truly have END-users. There are more involved users and less involved users, each working on parts and tools he needs. Some of those users do it in spare time and for fun, few are paid programmers enhancing tools needed to use D in their company. But there is not a single person actually selling D or getting anything from its success, maybe apart from Walter himself. How can one have customers without having sellers?

We are all bunch of investors here.
December 18, 2014
On Thursday, 18 December 2014 at 10:24:46 UTC, Manu via Digitalmars-d wrote:
> People aren't allocated work time to read books.

Wait, really? X_X The more you tell about game dev culture and your work experience there the more I feel sorry for people who work there.
December 18, 2014
On Thu, 18 Dec 2014 21:15:25 +1000
Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> >> I couldn't disagree more. People aren't allocated work time to read books.
> >> Books are for students or language enthusiasts who want to learn about
> >> programming in their home time. That doesn't apply to most
> >> professional programmers I've ever worked with.
> > that's right: most "professional programmes" i've seen simply can't program. i wouldn't allow them to wash my dishes.
> 
> This is even more offensive; suggesting that professional engineers aren't entitled to lives?
i can't do anything with that: the facts i see the facts i'm speaking of.

> 'Excellent' programmers are fairly rare, and often come at the expense of other pursuits in their lives.
i'm not talking about "excellent" programmes, i'm talking about basic CS knowledge. "why crc32 is bad hashing function?" "how to negate machine integer without using unary minus operator?" "what is closure, what is continuation and how they differ?" and so on. those are basic questions, yet i was forced to add those to my interviews.

> You have to get work done with the resources available.
sometimes it's better to not start at all than trying to do something with inappropriate/lack of resources.

> >> Most people just want to go home to their wives and kids.
> > that's why the whole software industry sux nowdays. if one doesn't like his work he shouldn't do that work. simple as it is.
> 
> I'm not sure how having a life outside of work implies not liking your work?
maybe i misunderstood you, but "most people just want to go home to their wives and kids" for me looks like "i don't want to think about ANYTHING related to my work after my work hours are done".

> >> Docs need to have examples which are plain and obvious, and the language will be absorbed by osmosis.
> > but phobos dox are exactly like this! i was never puzzled by phobos documentation, and it has alot of samples which illustrates various things. reader just expected to know D, it's template system and some basic "idiomatic" things like ranges.
> 
> Congratulations, but my case study demonstrated otherwise.
did your mates really invested time to LEARN D? not in the form "ok, it looks like C++, and i know C++, so it will be enough to spend a hour to become D programmer", but really reading at least Philippe's "template tutorial"? i bet i know the answer.


December 18, 2014
On Thursday, 18 December 2014 at 10:24:46 UTC, Manu via Digitalmars-d wrote:
> On 17 December 2014 at 20:33, ketmar via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
>> On Wed, 17 Dec 2014 09:48:26 +0000
>> Tobias Pankrath via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>>
>>> std.container.Array(T) if(is(Unqual!T == bool)) vs.
>>> std.container.Array(T) if(!is(Unqual!T == bool)).
>>>
>>> That's super unhelpful for newcomers.
>> that's why newcomers should NOT try to learn the language using
>> reference documentation for standard library.
>>
>> when i started to learn D, i found and read Andrei's book, Ali's book
>> and Philippe's "template tutorial". and i never complained that phobos
>> reference documentation is "hostile to beginners" -- 'cause it's NOT
>> for beginners. you are expected to learn the language before reading
>> reference dox.
>
> People aren't allocated work time to read books.

That sucks. It's not universally true though: I have friends in finance and in scientific programming who are allowed to spend work time reading books, testing out new ideas, exploring new techniques and the background behind them. One guy even has 1 (paid) day off a fortnight to go to universities and meet with academics to discuss techniques and work on problems.
December 18, 2014
On 19/12/2014 12:23 a.m., Dicebot wrote:
> On Thursday, 18 December 2014 at 10:24:46 UTC, Manu via Digitalmars-d
> wrote:
>> People aren't allocated work time to read books.
>
> Wait, really? X_X The more you tell about game dev culture and your work
> experience there the more I feel sorry for people who work there.

I know of atleast one company in New Zealand who do major game development work whose managers(are programmers) believe that being able to use a professional game engine to make a game is more important in fact expected over knowing the basics of OpenGL.
Yes it gets work done. But when things go wrong.. You can't exactly drop down to the low level and fix things yourself.

I'm fascinated and love the graphical world. Absolutely would not want to work in it.
December 18, 2014
On Thursday, 18 December 2014 at 11:09:23 UTC, ketmar via Digitalmars-d wrote:
> On Thu, 18 Dec 2014 10:23:32 +0000
> Ondra via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>> What about stop flaming and do some research on this.
>> Create some questionnare of some sort and ask D lang developers what was hard for them while learning. What they found difficult about language and then try to improve based on some data instead of shooting blindly.
>
> and the first questions should be "what other languages do you know?"
> "what other languages do you like?"
>
> i, for example, found compile-time code generation easy, as i love
> Scheme. the same with "function (template, actually) should accept any
> type which conforms to the protocol" conception.
>
> some of my mates are hardcore C programmers, and i see that it's hard
> for them to change their style: they tend to write "classic OOP" code
> instead of "protocol contracts", avoid nested functions and delegates.
>
> what i'm trying to say is that "language of choise" matters here, so
> survey must clearly ask about that.

I meant more to focus only on D. Like : "What do you have most difficulty with while learning language/you were learning langeuage?" "What do you consider most confusing part of D library/language features." etc...

I personally, have problems with: Endless confusion about class/struct. endless confussion about array slices. String details. Lack of enough practical examples on library packages...

On the other hand I don't feel that templates are so hard. That's actually why i started to learn D.
December 18, 2014
On Thursday, 18 December 2014 at 11:00:43 UTC, Chris wrote:

> Very good! I tried it and couldn't clone the repo (permission denied). Downloaded the master zip instead, ran the above command and got this message (dmd v2.066.0 64bit Linux):
...
> Error executing command run: dmd failed with exit code 1.
>
> I'd really love to test your gui toolkit, something I've been dreaming of for a long time!

Sorry, 64bit build has been broken by recent changes.
Fixed in v0.1.5

Https should be used instead of SSH to clone repository.

git clone https://github.com/buggins/dlangui.git
cd dlangui
dub run dlangui:example1

December 18, 2014
On Thu, 18 Dec 2014 11:43:43 +0000
Ondra via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> I meant more to focus only on D. Like : "What do you have most difficulty with while learning language/you were learning langeuage?" "What do you consider most confusing part of D library/language features." etc...
that's what i'm talking about: people with different backgrounds find different things difficult.

> I personally, have problems with: Endless confusion about class/struct. endless confussion about array slices. String details.
see? those was the things i got almost immediately. but it's not 'cause i'm a kind of genious, i just used to concepts internally.

> Lack of enough practical examples on library packages...
yeah, having more practical samples is the most universal desire, i believe. let's hope that someone will write "Phobos Cookbook". ;-)

> On the other hand I don't feel that templates are so hard. That's actually why i started to learn D.
i bet you didn't do alot of convoluted templates in C++, aren't you? 'cause people with that background tent to run away screaming when they hear the word "template". ;-)