February 02, 2015
On Monday, 2 February 2015 at 00:35:14 UTC, deadalnix wrote:
>
> Fast compile time, bearable syntax, thread safety arc so on...
>
> C++ is building on faulty foundation. I see them talking example from us as a good news.

I don't see any way writing C++ could become a much better experience than what it is now (ie. an expensive pass-time).

Reading about C++14/C++17 is a yawn-inducing exercise for most since this won't enhance our lives in the next decade. The _existing codebases_ are what defines C++ the language not what they could/should be. C++ also discourages refactoring by being so inflexible.

For example, when C++ finally has modules, they will still coexist with regular headers, and most libraries will use the old, compatible style for long. It will be really more complicated than in D.
February 02, 2015
On Monday, 2 February 2015 at 00:49:14 UTC, Walter Bright wrote:
> Thanks for the good read!
>
> BTW, one effect D has had is that other languages are adopting D's features, though few will admit it.

Yes - eerily out of the book from the Innovator's Dilemma.  But as Jonathan said (and maybe you too), they are trapped by their installed base so one can only do so much.

One sees the same thing with political parties when the tide shifts.  (Let us not start on politics, though ;)
February 02, 2015
>> Wait, is this a reply today to a post made in November 2012? -- Andrei

> Yes, here is what happens:
>
> 1. person does a search, finds 2+ year old thread that he likes to respond to.
> 2. Entire thread gets pushed to the "most recent" posts on forum/newsgroup
> 3. Others now see the thread (possibly for the second time), and don't realize it's old, and read it thinking it's about today.
>
> A nice thing might be to make color of posts on forum.dlang.org based on recentness, 2+ month old be one color, 1+ year be another.
>
> This wouldn't help with newsgroup users, but it probably would help with forum users.
>
> -Steve

Perhaps I should have made clearer in my post, but do you think it is necessarily inappropriate to extend a conversation that petered out rather than making a new post.  Many observers (Neil Postman - 'amusing ourselves to death') have pointed to the superficiality and loss of coherence arising from the way in which we use technology.

The question of D's edge and prospects isn't one that changes more than incrementally over a couple of years, as I understand it.  And I thought more than a few times before deciding to post as to whether this would add value to the world, but it's an important question and my particular part of finance is not a tiny use domain.

Putting oneself in the position of a prospective new user (as I have to do before suggesting my peers give D a try), one comes away from reading Slashdot discussions with the idea that there are a lot of complaints about D - and then one reads the forums and has a similar perspective.  Since people are starved of attention and time, some will give up right then.  So I wanted to do my small part to contextualize this.



Laeeth.
February 02, 2015
On 2/2/2015 12:20 PM, Laeeth Isharc wrote:
> On Monday, 2 February 2015 at 00:49:14 UTC, Walter Bright wrote:
>> Thanks for the good read!
>>
>> BTW, one effect D has had is that other languages are adopting D's features,
>> though few will admit it.
>
> Yes - eerily out of the book from the Innovator's Dilemma.  But as Jonathan said
> (and maybe you too), they are trapped by their installed base so one can only do
> so much.

I can't complain. D steals from other languages, too!

But yes, adopting features is constrained by the base behavior of the language.

February 03, 2015
On Sunday, 1 February 2015 at 23:20:15 UTC, Laeeth Isharc wrote:
> On Monday, 5 November 2012 at 18:20:23 UTC, Jonathan M Davis wrote:
>
>> The closer that C++ gets to D, the less interested that many people will be in adopting it, particularly because of the large user base and the large amount of code out there that already uses C++. Programmers have to be convinced to  move to D, and for many C++ programmers, the improvements to C++11 are enough  to make a move to D not worth it, even if D is a better language.
>
> (He goes on to point out that nonetheless D will always have the edge because legacy and installed base).
>
> One should be careful about superficial translation of instances from the purely commercial world to the world of languages, but it strikes me that Clayton Christensen's Innovator's Dilemma does apply somewhat to the case of D vs its peer languages.  His central point is that in the beginning disruptive innovation very often tends to commence as a niche thing that may well be globally inferior - he uses the example of Honda motorbikes that allowed them to gain a foothold, and that once they dominated this niche and gained succour from it were able to use to expand their footprint to the extent that they posed a serious threat to the established dominant players.  But for many years, these (and later the cars) were seen as products of clearly inferior quality that had the advantage of being cheap.
>
> The interesting thing is the emotional aspect of perception - nobody would have taken you seriously had you predicted in the early stages that Japanese auto makers would become what they subsequently became.  And one could have pointed out some decades after the war ended that they had been in the business for years, and why should anything change.  This is exactly what people say about D - it's been around forever and hasn't taken off, so why bother.  (see recent Slashdot thread for an example of this).
>
> It is a basic insight of gestalt psychology that perception is shaped by emotion (really it's affect, which goes much deeper - emotion is the tip of the affect iceberg), and one way to know when this is occurring (my background is as an investor and speculator, so I have devoted a couple of decades to applying this in a practical way) is that on the one hand you have an emotional intensity out of proportion to the importance of the topic, and on the other the reasons people put forward to justify how they feel are observably not in accordance with the facts.  See the Slashdot thread...
>
> So in any case, D is not competing on price, but has other strengths that are of very high appeal to a certain group (if you want to write native code in a productive way) even though one must honestly acknowledge its imperfections in a global sense - reading back through the forums a dozen years, this seems to occur quite regularly in waves.  "When is D going to be finished?" even a decade back.  To be upset by the imperfections is missing the point, because languages - even programming languages - have a certain innate pattern of development (that resembles Goethe's observations about the metamorphosis of plants) that can't be forced, no matter how much one grumbles or stamps one's feet.
>
> Furthermore, people tend to extrapolate superficial trends even though history tells us this is a poor guide to the future.  Japanese cars really took off once crude exploded in the early 70s (and again towards the end), and auto-makers were slow to respond.  Perhaps they did not organize their business on the basis of a prediction abuot energy prices, but the point is they were ready to take advantage of this shift when it occurred.
>
> I do not want to attempt to be a pundit, but it is interesting that the notable use cases of D - at Sociomantic, Adroll, and Facebook are all aligned with certain salient and very powerful underlying technological drivers and trends.  It's no longer true in many applications that programmer time is expensive compared to machine time, and large data sets encountering the challenges of memory vs CPU trajectories create new challenges and require new approaches.  And it is a positive for D that some of its competition does not take D seriously at this stage - one thinks for example of Guido and his insistence that execution speed ought not to be a factor given work is I/O + network bound, even though this is less true for numerical computing and some kinds of data crunching.  (Not that D is mature here, but there is much that can be done within the existing framework).
>
> In any case, dissatisfaction channeled in a constructive direction is a positive thing, because it is the opposite of complacency and is the edge of the challenger.  The point isn't how people feel, but how they respond to the challenges in front of them.
>
> As a newcomer, it is very satisfying to see the progress made on documentation, ecosystem, and C++ integration and I have quite some respect for the difficulty of the roles of Walter and Andrei.  One is so short of time and attention, and no matter how hard one works and, whatever decisions one makes, it is impossible to keep everyone happy.  If one isn't being criticized, one isn't doing it right.  (Which is not to say that some of the criticisms will not have merit).
>
> Here is a table from an article exploring Christensen's ideas.  There are some resonances with past and current questions in the development of D, although as I said one can't map things perfectly because it's a different situation.  And the original book is better than what has been written based upon it.
>
> [Table doesn't format well, but you can see it here.  The surrounding text is less relevant].
> http://recode.net/2014/01/06/the-four-stages-of-disruption-2/
>
>
>
> Laeeth.

Excellent post. This situation is very obvious to us at Sociomantic, as we're at the forefront of a massive disruption that is happening in the advertising industry. D has far better prospects in disruptive technology, rather than trying to compete with incumbents in the rapidly disappearing traditional desktop market.

And when I read this:

"First published in 1997, Christensen's book suggests that successful companies can put too much emphasis on customers' current needs, and fail to adopt new technology or business models that will meet their customers' unstated or future needs" -- http://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma

I thought: "they put too much emphasis on backwards compatibility" ...





February 03, 2015
On 2/2/15 3:32 PM, Laeeth Isharc wrote:

> Perhaps I should have made clearer in my post, but do you think it is
> necessarily inappropriate to extend a conversation that petered out
> rather than making a new post.  Many observers (Neil Postman - 'amusing
> ourselves to death') have pointed to the superficiality and loss of
> coherence arising from the way in which we use technology.

Absolutely not inappropriate. I actually prefer it being a newsgroup user. Many people will instead reference a post on the forum instead of replying, and then I have to use the forum interface to see what they are talking about. I'd much rather have the full discussion in my preferred interface.

However, a note to say this is in response to a really old post at the top may be helpful, people typically ignore the "X posted in 2012" part of the quoted original.

> The question of D's edge and prospects isn't one that changes more than
> incrementally over a couple of years, as I understand it.  And I thought
> more than a few times before deciding to post as to whether this would
> add value to the world, but it's an important question and my particular
> part of finance is not a tiny use domain.
>
> Putting oneself in the position of a prospective new user (as I have to
> do before suggesting my peers give D a try), one comes away from reading
> Slashdot discussions with the idea that there are a lot of complaints
> about D - and then one reads the forums and has a similar perspective.
> Since people are starved of attention and time, some will give up right
> then.  So I wanted to do my small part to contextualize this.

The thing is, not everyone here is on slashdot, reddit etc. I think you can always find a place where people are hostile to your language to bitch (and some users find some sort of glee in trolling those posts to complain about the language every chance they can). The best place to ask questions about d is on the d.learn forum. And yes, there are chronic complainers about the language here too. Sometimes their gripes are legitimate, sometimes they are not, and generally the devs are there to answer every one. D is definitely not for mission critical applications yet, unless you are willing to work your whole business around it (e.g. Sociomantic).

I think we are in a pretty good spot right now. I'm very optimistic about the future of D.

-Steve
February 04, 2015
> Excellent post. This situation is very obvious to us at Sociomantic, as we're at the forefront of a massive disruption that is happening in the advertising industry. D has far better prospects in disruptive technology, rather than trying to compete with incumbents in the rapidly disappearing traditional desktop market.

Thanks, Don.  I am honoured that you took the time to read through all of this, and appreciate the feedback.  Every now and then I question whether I am headed in the right direction to use D (not because of anything lacking in D, but because it is less conventional, and because I have been away from the pulse of technology for a very long time).  Your industry is a little different, and my needs for the time being are not even soft real-time (although that could easily change).  But from listening to your talk, I am pretty sure you know what you are doing, and wanting high productivity when dealing with potentially quite respectably sized data sets is one shared aspect - so that is a source of comfort.

Could I ask you one thing, not directly relating to D?  Why did you pick Berlin to launch your startup?  (You in the corporate sense, I mean).  My fiancee is German, and I have some inklings as to why, but I would be curious to know if you have time to jot down a few lines.  Feel free to shoot an email if you don't wish to post publicly.  laeeth laeeth com.  I heard from a chap who is CTO for a German fund of funds that one can hire well at a good price there, but I doubt that's the only reason, particularly for your kind of business.

> "First published in 1997, Christensen's book suggests that successful companies can put too much emphasis on customers' current needs, and fail to adopt new technology or business models that will meet their customers' unstated or future needs" -- http://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma
>
> I thought: "they put too much emphasis on backwards compatibility" ...

Haha - I know you have been one of the proponents of breaking changes.  I think that is a distinct question from the other stuff, and guess it is not easy for the language leaders to balance the different demands - impossible not to make one group unhappy.  Someone cynical might say it is easier for you take that position if you are still mostly on D1, and so don't pay the same price others would.  I doubt that's a fair comment because you have a much larger vested interest in the survival of the ecosystem.  In any case, that's not an area where I have expertise.

Breaking changes aside, one can't say there isn't a sustained dynamism to the development of D.


Laeeth.
February 04, 2015
On Wednesday, 4 February 2015 at 03:52:26 UTC, Laeeth Isharc wrote:
>> Excellent post. This situation is very obvious to us at Sociomantic, as we're at the forefront of a massive disruption that is happening in the advertising industry. D has far better prospects in disruptive technology, rather than trying to compete with incumbents in the rapidly disappearing traditional desktop market.
>
> Thanks, Don.  I am honoured that you took the time to read through all of this, and appreciate the feedback.  Every now and then I question whether I am headed in the right direction to use D (not because of anything lacking in D, but because it is less conventional, and because I have been away from the pulse of technology for a very long time).  Your industry is a little different, and my needs for the time being are not even soft real-time (although that could easily change).  But from listening to your talk, I am pretty sure you know what you are doing, and wanting high productivity when dealing with potentially quite respectably sized data sets is one shared aspect - so that is a source of comfort.

Thanks! Yes, I think that larger data sets are not well served by existing languages. And ease of handling large data is actually more significant than raw performance. Domains like ours are at least as much I/O bound as CPU-bound, and ability to adapt rapidly is very important.

> Could I ask you one thing, not directly relating to D?  Why did you pick Berlin to launch your startup?  (You in the corporate sense, I mean).

Perhaps Berlin chose the company, rather than the other way around :)
The companies' founders all grew up in East Germany, I think they were just living in Berlin.
But, there are a huge number of startups in Berlin. It's a place with great infrastructure, low costs, and available talent. So it's certainly an attractive place to launch a startup.

>> "First published in 1997, Christensen's book suggests that successful companies can put too much emphasis on customers' current needs, and fail to adopt new technology or business models that will meet their customers' unstated or future needs" -- http://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma
>>
>> I thought: "they put too much emphasis on backwards compatibility" ...
>
> Haha - I know you have been one of the proponents of breaking changes.  I think that is a distinct question from the other stuff, and guess it is not easy for the language leaders to balance the different demands - impossible not to make one group unhappy.  Someone cynical might say it is easier for you take that position if you are still mostly on D1, and so don't pay the same price others would.

Yes, that's true, and so my opinions should be slightly weighted downwards. But even so, the reality is that bugfixes cause breakages anyway. Most code that isn't actively being maintained, is broken already. If you're an early adopter, you expect to have a lot of breakage pain.

The thing that is frustrating is when decisions are made as if we were much further along the adoption/disruption cycle, than where we actually are.
We don't yet have huge, inflexible users that demand stability at all costs.
There was widespread agreement on this, from all of the eight companies at DConf who were using D commercially.

> Breaking changes aside, one can't say there isn't a sustained dynamism to the development of D.

Yes. Though I wonder if we are putting too much emphasis on being a replacement for C++; I fear that the better we become at replacing it, the more we will duplicate its problems. But that's just a niggling doubt rather than a well-reasoned belief.

February 04, 2015
On Wednesday, 4 February 2015 at 10:07:53 UTC, Don wrote:
> Yes, that's true, and so my opinions should be slightly weighted downwards. But even so, the reality is that bugfixes cause breakages anyway. Most code that isn't actively being maintained, is broken already. If you're an early adopter, you expect to have a lot of breakage pain.
>
> The thing that is frustrating is when decisions are made as if we were much further along the adoption/disruption cycle, than where we actually are.
> We don't yet have huge, inflexible users that demand stability at all costs.
> There was widespread agreement on this, from all of the eight companies at DConf who were using D commercially.

From a recent post of mine:

The big temptation for software developers is to *promise*
stability in order to attract the users they need in order to get
the feedback they need in order to create the best possible
design, and then break stability with the new design.
February 04, 2015
> Absolutely not inappropriate. I actually prefer it being a newsgroup user. Many people will instead reference a post on the forum instead of replying, and then I have to use the forum interface to see what they are talking about. I'd much rather have the full discussion in my preferred interface.

Thank you, and will be clearer in future.

> The thing is, not everyone here is on slashdot, reddit etc. I think you can always find a place where people are hostile to your language to bitch (and some users find some sort of glee in trolling those posts to complain about the language every chance they can).

Mass medium has low average quality.  But for the moment, that is what people will find and many won't dig further.  Someone ostensibly in a position of power to pick his platform doesn't necessarily have real power because he may have to be sensitive to what other people say - silly, superficial matters of perception matter even though they ought not to.

Some day there will be a nice opportunity for someone in the field to write an article interviewing CTOs and other uses of D about their rationale and experiences, warts and all.  I don't know people in tech journalism, otherwise I would try to make it happen myself.

The best place to ask questions about d is on
> the d.learn forum. And yes, there are chronic complainers about the language here too. Sometimes their gripes are legitimate, sometimes they are not, and generally the devs are there to answer every one.

Complaining is good, particularly when the energy is channeled well, as is happening with D (it seems to me).  Compare and contrast England and Germany.  The English don't complain as much, and so life is much more pleasant socially, but nothing works!  If you have high standards, you will have many more occasions to express ways in which something can be improved.  It might take you longer to finish, but the race is not always won by the swiftest.

> D is definitely not for mission critical applications yet, unless you are willing to work your whole business around it (e.g. Sociomantic).

I am making the bet that it is, although my application is less brittle than many.

> I think we are in a pretty good spot right now. I'm very optimistic about the future of D.

I agree, and hope we are both right.