Re: C++ to catch up?

2015-02-04 Thread Laeeth Isharc via Digitalmars-d


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.




Re: C++ to catch up?

2015-02-04 Thread Laeeth Isharc via Digitalmars-d

To Zachary:

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.

Yes - economists call this time inconsistency.  And I think 
experience shows the weakness of looking at the world in terms of 
people being pure rational calculators.  I believe one needs to 
make a judgement about the people involved and their motivations 
and character.  Ultimately you cannot protect yourself against 
opportunistic behaviour through contracts (although they can 
help).  So one needs to assess track record in terms of what it 
indicates about character.  Economists define opportunistic 
behaviour as self-seeking with guile - if that is the case here, 
they are going about it in a strange way for such highly 
intelligent people ;)


And to Don:

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.


We had a discussion about this in London at drinks after the 
meetup.  The chap who I was talking with was a very highly 
experienced developer who came from a C++/C/F# background, ex MS 
research, and was writing his own functional language.  He took 
the position that this kind of argument in favour of native code 
was in many cases spurious, since one could simply scale up at 
low cost in the cloud (paying due regard to the difficulties of 
parallelisation).


I found your talk very interesting, and would love to see a piece 
explaining from a technical perspective more on what you discuss 
above.  But of course you must have very little time, and I doubt 
this comes at the top of your todo list!


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.


Aha.  Thanks for the colour.  I think if I spoke German and the 
regulatory environment were a bit more favourable for finance I 
would be there now.  The quality of life, whether you are single 
or have a family, certainly beats London.


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.


Very interesting to hear.  It is an interesting dynamic where the 
forum discussion is not necessarily representative of all the 
constituencies involved.  Companies don't tend to hang out in 
forums, and its a different way of operating to do things in the 
open from how things are typically done in business.  I haven't 
yet earned the right to have an opinion on the topic.


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.


Or on this one so much ;). I suppose one never truly wins the 
fight against entropy in all its disguises, but it is encouraging 
to see the people involved certainly are aware of the risk, and 
recent discussion over the risks of runaway language extension 
fit this idea.


Thanks for your thoughts - I appreciate your taking the time.


Laeeth


Re: C++ to catch up?

2015-02-04 Thread Don via Digitalmars-d
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.




Re: C++ to catch up?

2015-02-04 Thread Zach the Mystic via Digitalmars-d

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.


Re: C++ to catch up?

2015-02-03 Thread Laeeth Isharc via Digitalmars-d
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.


Re: C++ to catch up?

2015-02-03 Thread Steven Schveighoffer via Digitalmars-d

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


Re: C++ to catch up?

2015-02-03 Thread Don via Digitalmars-d

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++ 

Re: C++ to catch up?

2015-02-02 Thread Laeeth Isharc via Digitalmars-d

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 ;)


Re: C++ to catch up?

2015-02-02 Thread Walter Bright via Digitalmars-d

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.



Re: C++ to catch up?

2015-02-02 Thread Laeeth Isharc via Digitalmars-d
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.


Re: C++ to catch up?

2015-02-02 Thread Steven Schveighoffer via Digitalmars-d

On 2/1/15 7:51 PM, Andrei Alexandrescu wrote:

On 2/1/15 4:35 PM, deadalnix wrote:

On Monday, 5 November 2012 at 10:00:29 UTC, jdrewsen wrote:

It seems like the C++ committee is speeding up development adding lots
of the goodies from D like Ranges, static if, template contraints etc.

Will D still have a case when C++ gets this done?

I wonder if Andrei is part of the C++ Ranges Study Group?

The Future of C++:
http://channel9.msdn.com/Events/Build/2012/2-005

/Jonas


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.


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


Re: C++ to catch up?

2015-02-02 Thread eles via Digitalmars-d

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.


But those who know are very grateful to D for that.

OTOH, it would be a pity if D remains just a good proof of 
concept...


Re: C++ to catch up?

2015-02-02 Thread ponce via Digitalmars-d

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.


Re: C++ to catch up?

2015-02-01 Thread Laeeth Isharc via Digitalmars-d
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 

Re: C++ to catch up?

2015-02-01 Thread deadalnix via Digitalmars-d

On Monday, 5 November 2012 at 10:00:29 UTC, jdrewsen wrote:
It seems like the C++ committee is speeding up development 
adding lots of the goodies from D like Ranges, static if, 
template contraints etc.


Will D still have a case when C++ gets this done?

I wonder if Andrei is part of the C++ Ranges Study Group?

The Future of C++:
http://channel9.msdn.com/Events/Build/2012/2-005

/Jonas


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.


Re: C++ to catch up?

2015-02-01 Thread Walter Bright via Digitalmars-d

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.


Re: C++ to catch up?

2015-02-01 Thread Andrei Alexandrescu via Digitalmars-d

On 2/1/15 4:35 PM, deadalnix wrote:

On Monday, 5 November 2012 at 10:00:29 UTC, jdrewsen wrote:

It seems like the C++ committee is speeding up development adding lots
of the goodies from D like Ranges, static if, template contraints etc.

Will D still have a case when C++ gets this done?

I wonder if Andrei is part of the C++ Ranges Study Group?

The Future of C++:
http://channel9.msdn.com/Events/Build/2012/2-005

/Jonas


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.


Wait, is this a reply today to a post made in November 2012? -- Andrei



Re: C++ to catch up?

2015-02-01 Thread Joakim via Digitalmars-d

On Sunday, 1 February 2015 at 23:20:15 UTC, Laeeth Isharc wrote:
[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/


Heh, funny that that article was written by Sinofsky, who 
manifestly failed with his re-imagining of Windows with Win8, 
which is why he was soon given the boot.  Although, Win7 shipped 
under his watch and it's the first Windows that I could bear to 
use, actually a decent OS.


Re: C++ to catch up?

2012-11-06 Thread Timon Gehr

On 11/05/2012 04:54 PM, deadalnix wrote:

Le 05/11/2012 11:22, Nick Sabalausky a écrit :

On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsennospam4...@hotmail.com  wrote:


It seems like the C++ committee is speeding up development adding
lots of the goodies from D like Ranges, static if, template
contraints etc.

Will D still have a case when C++ gets this done?




Yes, even if they go and add all of D's features, D will still be much
cleaner. (IMO)



You never heard about @property ?


The enhanced C++ as specified by Nick will have it as well, so it is not 
too relevant here whether you consider it clean or not. :)


Re: C++ to catch up?

2012-11-05 Thread Nick Sabalausky
On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsen nospam4...@hotmail.com wrote:

 It seems like the C++ committee is speeding up development adding 
 lots of the goodies from D like Ranges, static if, template 
 contraints etc.
 
 Will D still have a case when C++ gets this done?
 


Yes, even if they go and add all of D's features, D will still be much
cleaner. (IMO)



Re: C++ to catch up?

2012-11-05 Thread monarch_dodra

On Monday, 5 November 2012 at 10:22:02 UTC, Nick Sabalausky wrote:

On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsen nospam4...@hotmail.com wrote:

It seems like the C++ committee is speeding up development 
adding lots of the goodies from D like Ranges, static if, 
template contraints etc.


Will D still have a case when C++ gets this done?




Yes, even if they go and add all of D's features, D will still 
be much

cleaner. (IMO)


C++'s range is actually a wrapper over an iterator first-last 
pair. While it does bring the convenience of D's ranges to C++, 
it remains hobbled in terms of efficiency and implementation. 
C++'s paradigm is pointers and iterators. At best, you can 
sparkle some ranges over it, but you'll never shift the paradigm.



The thing with C++'s new feature is that it requires developers 
to be on the bleeding edge of C++ knowledge. It's fine for the 
enthusiasts that read programming journals on their week-ends 
(like you and I), but not for the standard developer. Not to 
mention, even then, the syntax is hard as hell: lambdas in for 
loops? I have to look up the syntax every time. automatic type 
inference of the return value of a function? auto foo() - 
declype(...), what...?


All these functionalities are great, but also out of reach. Most 
of my colleagues still struggle with simple design patters such 
as strategies, or just plain algorithms with functors. Everytime 
I say something like awesome, C++ will allow type inference or 
yay, RValue references! they look at me like I'm some kind of 
weird space alien...



D packages the whole thing in an easy to use but complete 
package. C++ just stacks complicated stuff on top of a hard to 
use core.


Re: C++ to catch up?

2012-11-05 Thread Paulo Pinto

On Monday, 5 November 2012 at 11:06:39 UTC, monarch_dodra wrote:
On Monday, 5 November 2012 at 10:22:02 UTC, Nick Sabalausky 
wrote:

On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsen nospam4...@hotmail.com wrote:

It seems like the C++ committee is speeding up development 
adding lots of the goodies from D like Ranges, static if, 
template contraints etc.


Will D still have a case when C++ gets this done?




Yes, even if they go and add all of D's features, D will still 
be much

cleaner. (IMO)


C++'s range is actually a wrapper over an iterator 
first-last pair. While it does bring the convenience of D's 
ranges to C++, it remains hobbled in terms of efficiency and 
implementation. C++'s paradigm is pointers and iterators. At 
best, you can sparkle some ranges over it, but you'll never 
shift the paradigm.



The thing with C++'s new feature is that it requires developers 
to be on the bleeding edge of C++ knowledge. It's fine for the 
enthusiasts that read programming journals on their week-ends 
(like you and I), but not for the standard developer. Not to 
mention, even then, the syntax is hard as hell: lambdas in for 
loops? I have to look up the syntax every time. automatic type 
inference of the return value of a function? auto foo() - 
declype(...), what...?


All these functionalities are great, but also out of reach. 
Most of my colleagues still struggle with simple design 
patters such as strategies, or just plain algorithms with 
functors. Everytime I say something like awesome, C++ will 
allow type inference or yay, RValue references! they look at 
me like I'm some kind of weird space alien...



D packages the whole thing in an easy to use but complete 
package. C++ just stacks complicated stuff on top of a hard to 
use core.


I have the same feeling with some of our developers.

Simpler languages tend to be manager friendly. It is always 
easier to find cheap resources.


In my currently employer I have only done Java and C# projects so 
far, and I still fear the day I might do a C or C++ project, 
given the type of knowledge shown by some of our coworkers.



--
Paulo





Re: C++ to catch up?

2012-11-05 Thread Adam D. Ruppe

On Monday, 5 November 2012 at 10:00:29 UTC, jdrewsen wrote:

Will D still have a case when C++ gets this done?


C++ does a pretty good job on a lot of things, but there's a 
bunch of little things that just make it a little more 
frustrating day to day than D.


There's still a bunch of big differences too, but it is little 
conveniences and cleaner syntax, etc., that I don't think C++ 
will catch up on.


Re: C++ to catch up?

2012-11-05 Thread deadalnix

Le 05/11/2012 11:22, Nick Sabalausky a écrit :

On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsennospam4...@hotmail.com  wrote:


It seems like the C++ committee is speeding up development adding
lots of the goodies from D like Ranges, static if, template
contraints etc.

Will D still have a case when C++ gets this done?




Yes, even if they go and add all of D's features, D will still be much
cleaner. (IMO)



You never heard about @property ?


Re: C++ to catch up?

2012-11-05 Thread Tobias Pankrath

On 11/05/2012 11:22 AM, Nick Sabalausky wrote:

On Mon, 05 Nov 2012 11:00:27 +0100
jdrewsen nospam4...@hotmail.com wrote:


It seems like the C++ committee is speeding up development adding
lots of the goodies from D like Ranges, static if, template
contraints etc.

Will D still have a case when C++ gets this done?




Yes, even if they go and add all of D's features, D will still be much
cleaner. (IMO)



Compile times!


Re: C++ to catch up?

2012-11-05 Thread H. S. Teoh
On Mon, Nov 05, 2012 at 01:19:04PM +0100, jdrewsen wrote:
 On Monday, 5 November 2012 at 11:39:54 UTC, Erèbe wrote:
 On Monday, 5 November 2012 at 10:00:29 UTC, jdrewsen wrote:
 It seems like the C++ committee is speeding up development
 adding lots of the goodies from D like Ranges, static if,
 template contraints etc.
 
 Will D still have a case when C++ gets this done?
 
 I wonder if Andrei is part of the C++ Ranges Study Group?
 
 The Future of C++:
 http://channel9.msdn.com/Events/Build/2012/2-005
 
 /Jonas
 
 http://forum.dlang.org/thread/iokgislnlzsvsosmq...@forum.dlang.org
 
 I didn't read all of that thread because of the title D vs C++11 -
 but it does list some very good arguments in favour of D.
 
 I'll stop the emergency port of my D project to C++ then :P
[...]

The thing you've to understand about C++ is that it is an old,
widely-adopted language, and therefore it needs to maintain backward
compatibility with the very large existing codebase. This prevents it
from truly cleaning up some of the earliest design flaws, because that
will break just about every C++ program ever written, which is something
the C++ committee pretty much will never do.

We're already seeing a little bit of this effect in D; introducing
breaking changes OT1H lets us clean up the language and make it much
better, but it also alienates a lot of existing users. That's why Walter
has stated that there must be no more breaking changes, even if it is to
fix what is in retrospect a poor language design decision. This limits
how much we can do to fix existing design issues.

D had the advantage that it could learn from C++'s mistakes and do
things better. C++ doesn't have that benefit; it can introduce new
features, but the old flaws that still plague the language must live on.
The horribly ambiguous template syntax, for example, will continue to
live on. C++ will continue being the language that must be parsed before
it can be lexed. The ctor, copy ctor, etc., mess, must still live on.
Operator overloading will never have the convenience of D's compile-time
string-based approach, which allows very nice ways of reducing
boilerplate code. Etc., etc..

And new features must work around existing syntax in order to not break
existing code, which means nice syntax like D's templates, aliases,
etc., will never be as nice as they are in D.

I used to be big on C/C++ before I found D. From my admittedly biased
POV, though, C++11 (and beyond) is too little, too late. I remember
being really excited when I first found out about C++11 (back when it
was still called C++0x -- it didn't make it before the turn of the
decade). Finally, I thought, here was the long-needed language update
that everyone's been waiting for. Well, I have to say that I felt quite
deflated after reading the spec summary. Yes it introduced some new
innovations which I liked, and some fixes to the most glaring language
flaws. But it was too little, too late. It took way too many years to
finalize, which meant many more years before wide adoption and
availability of conforming implementations. And it *still* didn't fix
all of the fundamental flaws in the language.

Not long afterwards, I found D, and that was the end of C++ for me. Yes
D does have its warts, but in spite of it all it's still superior to C++
in many fundamental ways.


T

-- 
Guns don't kill people. Bullets do.


Re: C++ to catch up?

2012-11-05 Thread Jonathan M Davis
On Monday, November 05, 2012 11:00:27 jdrewsen wrote:
 It seems like the C++ committee is speeding up development adding
 lots of the goodies from D like Ranges, static if, template
 contraints etc.
 
 Will D still have a case when C++ gets this done?
 
 I wonder if Andrei is part of the C++ Ranges Study Group?
 
 The Future of C++:
 http://channel9.msdn.com/Events/Build/2012/2-005

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.

But C++ will never have all that D does. There are too many things that it 
would have to fundamentally change (e.g. how arrays work) which it can't 
change, because it would break backwards compatibility. Many of C++'s flaws 
stem from retaining backwards compatibility with C, and they're not going to 
break that now either. So, while they can do a lot to improve C++, there's a 
definite limit to it. D will ultimately have similar problems, since we'll have 
to maintain backwards compatibility for the same reasons that every other 
mainstream language does, but it's definitely ahead of C++ in that regard, 
because it was able to learn from C++'s mistakes. And if we ever create a D3, 
and we're willing to actually break compatibility with that version change 
(which C++ will never do in any real way with any version change), then we can 
avoid C++'s fate in that regard to at least some extent, but then you get into 
a situation like python 2 and python 3 or perl 5 and perl 6.

In any case, it's pretty much a given that improving C++ will mean that fewer 
people will move away from it to other languages, but it's also a given that 
there are fundamental problems with C++ that can't be fixed, and in that 
regard, D will always come out ahead of it.

- Jonathan M Davis


Re: C++ to catch up?

2012-11-05 Thread Marco Leise
Am Mon, 05 Nov 2012 13:10:35 +0100
schrieb Paulo Pinto pj...@progtools.org:

 On Monday, 5 November 2012 at 11:06:39 UTC, monarch_dodra wrote:
  On Monday, 5 November 2012 at 10:22:02 UTC, Nick Sabalausky 
  wrote:
  On Mon, 05 Nov 2012 11:00:27 +0100
  jdrewsen nospam4...@hotmail.com wrote:
 
  It seems like the C++ committee is speeding up development 
  adding lots of the goodies from D like Ranges, static if, 
  template contraints etc.
  
  Will D still have a case when C++ gets this done?
  
 
 
  Yes, even if they go and add all of D's features, D will still 
  be much
  cleaner. (IMO)
 
  C++'s range is actually a wrapper over an iterator 
  first-last pair. While it does bring the convenience of D's 
  ranges to C++, it remains hobbled in terms of efficiency and 
  implementation. C++'s paradigm is pointers and iterators. At 
  best, you can sparkle some ranges over it, but you'll never 
  shift the paradigm.
 
  
  The thing with C++'s new feature is that it requires developers 
  to be on the bleeding edge of C++ knowledge. It's fine for the 
  enthusiasts that read programming journals on their week-ends 
  (like you and I), but not for the standard developer. Not to 
  mention, even then, the syntax is hard as hell: lambdas in for 
  loops? I have to look up the syntax every time. automatic type 
  inference of the return value of a function? auto foo() - 
  declype(...), what...?
 
  All these functionalities are great, but also out of reach. 
  Most of my colleagues still struggle with simple design 
  patters such as strategies, or just plain algorithms with 
  functors. Everytime I say something like awesome, C++ will 
  allow type inference or yay, RValue references! they look at 
  me like I'm some kind of weird space alien...
 
  
  D packages the whole thing in an easy to use but complete 
  package. C++ just stacks complicated stuff on top of a hard to 
  use core.
 
 I have the same feeling with some of our developers.
 
 Simpler languages tend to be manager friendly. It is always 
 easier to find cheap resources.
 
 In my currently employer I have only done Java and C# projects so 
 far, and I still fear the day I might do a C or C++ project, 
 given the type of knowledge shown by some of our coworkers.
 
 
 --
 Paulo

Are you talking bad about your colleagues behind their backs ?
Hey, if I was to write a project in Haskell I'd be the idiot,
too.

-- 
Marco