Re: D easily overlooked?

2017-09-03 Thread Joakim via Digitalmars-d

On Sunday, 3 September 2017 at 17:56:26 UTC, thinwybk wrote:

On Saturday, 2 September 2017 at 17:00:46 UTC, Joakim wrote:

On Saturday, 2 September 2017 at 15:41:54 UTC, Joakim wrote:

D:
https://bitbucket.org/qznc/d-shootout/raw/898f7f3b3c5d55680229113e973ef95ece6f711a/progs/nbody/nbody.d

ldc 1.4 beta1, llvm 4.0.1

ldc2 -O3 nbody.d

The D version averages 2.5 seconds, the C++ version 6 
seconds, which means D would likely still be at the top of 
that n-body ranking today.


Sorry, I assumed the D version worked fine and didn't bother 
to check the output, turns out it needs two foreach loops 
changed in advance(dt).  Specifically, "Body i" should be 
changed to "ref Body i" in both foreach statements, so the 
data is actually updated. ;)


After that change, the C++ version wins by a little, 6 seconds 
vs. 6.5 seconds for the D translation.  I see that the C++ 
version directly invokes SIMD intrinsics, so perhaps that's to 
be expected.


What needs to be adjusted for optimization? If you let me know 
it I adjust it here 
https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/nbody.d and/or https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/build and/or https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/run#L25


It's not optimization, right now it's subtly incorrect, because a 
struct passed into a foreach loop is copied.  Add a "ref" to 
"Body i" when initializing each foreach loop in advance() to 
remedy that, so that it produces the same output as the C++ 
version for the same input.


Re: D easily overlooked?

2017-09-03 Thread thinwybk via Digitalmars-d

On Saturday, 2 September 2017 at 17:00:46 UTC, Joakim wrote:

On Saturday, 2 September 2017 at 15:41:54 UTC, Joakim wrote:

D:
https://bitbucket.org/qznc/d-shootout/raw/898f7f3b3c5d55680229113e973ef95ece6f711a/progs/nbody/nbody.d

ldc 1.4 beta1, llvm 4.0.1

ldc2 -O3 nbody.d

The D version averages 2.5 seconds, the C++ version 6 seconds, 
which means D would likely still be at the top of that n-body 
ranking today.


Sorry, I assumed the D version worked fine and didn't bother to 
check the output, turns out it needs two foreach loops changed 
in advance(dt).  Specifically, "Body i" should be changed to 
"ref Body i" in both foreach statements, so the data is 
actually updated. ;)


After that change, the C++ version wins by a little, 6 seconds 
vs. 6.5 seconds for the D translation.  I see that the C++ 
version directly invokes SIMD intrinsics, so perhaps that's to 
be expected.


What needs to be adjusted for optimization? If you let me know it 
I adjust it here 
https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/nbody.d and/or https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/build and/or https://github.com/fkromer/exploringBB/blob/nbody/chp05/performance/run#L25


Re: D easily overlooked?

2017-09-03 Thread thinwybk via Digitalmars-d

On Saturday, 2 September 2017 at 17:00:46 UTC, Joakim wrote:
Sorry, I assumed the D version worked fine and didn't bother to 
check the output, turns out it needs two foreach loops changed 
in advance(dt).  Specifically, "Body i" should be changed to 
"ref Body i" in both foreach statements, so the data is 
actually updated. ;)


After that change, the C++ version wins by a little, 6 seconds 
vs. 6.5 seconds for the D translation.  I see that the C++ 
version directly invokes SIMD intrinsics, so perhaps that's to 
be expected.


W.r.t. to the impact of the languages on code base 
maintainability, etc. I would consider D the better choice either 
way :)


(However the domain you are acting in is guiding a decision for 
or against a programming language to a great extend: available 
frameworks, development tools, etc.)


Re: D easily overlooked?

2017-09-02 Thread Joakim via Digitalmars-d

On Saturday, 2 September 2017 at 15:41:54 UTC, Joakim wrote:

On Saturday, 2 September 2017 at 14:49:30 UTC, thinwybk wrote:

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:
Yes, D's compile-time regex are still the fastest in the 
world.
 I've been benching it recently for a marketing-oriented blog 
post I'm preparing for the official D blog, std.regex beats 
out the top C and Rust entries from the benchmarks game on 
linux/x64 with a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, 
suggesting it would still be third on that list if run with a 
bunch of other languages on mobile.  Dmitry thinks it might 
be alignment issues, the bane of cross-platform, 
high-performance code on ARM, as he hasn't optimized his 
regex code for ARM.


Do you plan to implement a version for the fastest benchmark 
"n-body" 
(http://benchmarksgame.alioth.debian.org/u64q/nbody.html) as 
well?


No, the goal is to demonstrate the nice, super-speedy regex 
engine in the D standard library by using that same benchmark 
that Dmitry exhibited years ago, to show D still does really 
well at regex.  It's not to try and compete across all those 
benchmarks, which D used to dominate at one time.


I did wonder how D does on that n-body benchmark now, so I 
built and ran the fastest C++ version, #8, on my single-core 
linux/x64 VPS.  Here's the source link for each benchmark, the 
compiler version, and the command I used to build it:


C++:
http://benchmarksgame.alioth.debian.org/u64q/program.php?test=nbody=gpp=8

clang/llvm 4.0.1

clang -O3 -std=c++11 nbody.cpp -lm -onbody-cpp

D:
https://bitbucket.org/qznc/d-shootout/raw/898f7f3b3c5d55680229113e973ef95ece6f711a/progs/nbody/nbody.d

ldc 1.4 beta1, llvm 4.0.1

ldc2 -O3 nbody.d

The D version averages 2.5 seconds, the C++ version 6 seconds, 
which means D would likely still be at the top of that n-body 
ranking today.


Sorry, I assumed the D version worked fine and didn't bother to 
check the output, turns out it needs two foreach loops changed in 
advance(dt).  Specifically, "Body i" should be changed to "ref 
Body i" in both foreach statements, so the data is actually 
updated. ;)


After that change, the C++ version wins by a little, 6 seconds 
vs. 6.5 seconds for the D translation.  I see that the C++ 
version directly invokes SIMD intrinsics, so perhaps that's to be 
expected.


Re: D easily overlooked?

2017-09-02 Thread Joakim via Digitalmars-d

On Saturday, 2 September 2017 at 14:49:30 UTC, thinwybk wrote:

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

Yes, D's compile-time regex are still the fastest in the world.
 I've been benching it recently for a marketing-oriented blog 
post I'm preparing for the official D blog, std.regex beats 
out the top C and Rust entries from the benchmarks game on 
linux/x64 with a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, 
suggesting it would still be third on that list if run with a 
bunch of other languages on mobile.  Dmitry thinks it might be 
alignment issues, the bane of cross-platform, high-performance 
code on ARM, as he hasn't optimized his regex code for ARM.


Do you plan to implement a version for the fastest benchmark 
"n-body" 
(http://benchmarksgame.alioth.debian.org/u64q/nbody.html) as 
well?


No, the goal is to demonstrate the nice, super-speedy regex 
engine in the D standard library by using that same benchmark 
that Dmitry exhibited years ago, to show D still does really well 
at regex.  It's not to try and compete across all those 
benchmarks, which D used to dominate at one time.


I did wonder how D does on that n-body benchmark now, so I built 
and ran the fastest C++ version, #8, on my single-core linux/x64 
VPS.  Here's the source link for each benchmark, the compiler 
version, and the command I used to build it:


C++:
http://benchmarksgame.alioth.debian.org/u64q/program.php?test=nbody=gpp=8

clang/llvm 4.0.1

clang -O3 -std=c++11 nbody.cpp -lm -onbody-cpp

D:
https://bitbucket.org/qznc/d-shootout/raw/898f7f3b3c5d55680229113e973ef95ece6f711a/progs/nbody/nbody.d

ldc 1.4 beta1, llvm 4.0.1

ldc2 -O3 nbody.d

The D version averages 2.5 seconds, the C++ version 6 seconds, 
which means D would likely still be at the top of that n-body 
ranking today.


Adding D to the performance comparison of 
https://github.com/derekmolloy/exploringBB/tree/master/chp05/performance (companion code to the book "Exploring BeagleBone - Tools and Techniques For Building With Embedded Linux") could be good promotion in the embedded domain (where performance, Linux compatibility and code maintainability matters).


Hmm, I have not used an ARM board in years, my Pandaboard is in 
storage far away. By including Android/ARM in the regex blog 
post, hopefully some people will realize D is a good option there.


Re: D easily overlooked?

2017-09-02 Thread thinwybk via Digitalmars-d

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

Yes, D's compile-time regex are still the fastest in the world.
 I've been benching it recently for a marketing-oriented blog 
post I'm preparing for the official D blog, std.regex beats out 
the top C and Rust entries from the benchmarks game on 
linux/x64 with a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, suggesting 
it would still be third on that list if run with a bunch of 
other languages on mobile.  Dmitry thinks it might be alignment 
issues, the bane of cross-platform, high-performance code on 
ARM, as he hasn't optimized his regex code for ARM.


Do you plan to implement a version for the fastest benchmark 
"n-body" 
(http://benchmarksgame.alioth.debian.org/u64q/nbody.html) as well?


Adding D to the performance comparison of 
https://github.com/derekmolloy/exploringBB/tree/master/chp05/performance (companion code to the book "Exploring BeagleBone - Tools and Techniques For Building With Embedded Linux") could be good promotion in the embedded domain (where performance, Linux compatibility and code maintainability matters).


Re: D easily overlooked?

2017-07-29 Thread Bienleine via Digitalmars-d

On Wednesday, 26 July 2017 at 15:55:14 UTC, Wulfklaue wrote:

On Wednesday, 26 July 2017 at 06:40:22 UTC, Bienlein wrote:
D is the most feature rich language I know of. Maybe only 
Scala comes close, but Scala can be at times an unreadable 
mess as the designers of the language valued mixing functional 
and OO higher than readability. D, on the contrary, has a very 
clean design througout.


But you are right. D is missing some unique selling point like 
ease of concurrency using Communicating Sequential Processes 
in Go or memory safety in Rust without a GC. This is because D 
does not have a business model, but seems to be seen as a 
playground for building the greatest language ever. I fear 
this will not change. Topics of people arguing that D needs a 
business case pop up regularly here and are every time mostly 
or also completely ignored. It does not look like this will 
change, because the main drivers of the language never drop a 
comment in those discussions.


I noticed the issues for me is going beyond just the language. 
Its also productivity.


Not going to hide that i switched to Pascal. There are some 
features that are needed in my case, where pascal has been 
kicking D's behind in my personal opinion.


One of those has been frankly community support. Lets say there 
is a issue in D and one posts about it here. If your lucky, in 
a few hours there is a response. Then the response can be 
categorized as:


* Friendly / Useful / Solve issue
* Useless off-topic responds that does not answer the question 
but focuses on a complaint and ignores the issue.
* Semi-aggressive answer that indeed solves the issue but one 
feels "intimidated"


I have for a long time have a love / hate relationship with D. 
And the negative feels have  always stemmed from the strange 
community.


Its not just the Pascal community where i feel better, even in 
the Rust / Go community people feel like the have more patience 
or are less judgmental.


I think I understand what you mean. You have to take into account 
that D is a pure spare time effort. As such it is an incredible 
language. The Go dev team has at least 5 people working on it 
full time and have a big big company behind it. Now compare D to 
Go and you can see how enormous the achievements of the D people 
are given their endowment situation to the one of the Go team.


To me D is a great language and tool to create things in my spare 
time. It is also a great toll for university people that work on 
some research stuff. Developing commercial things with D is a 
different thing. You can still do this, but then you need to be 
aware that D cannot have the same rigour as some tool with a big 
company or a big industry behind it.


Re: D easily overlooked?

2017-07-27 Thread Ola Fosheim Grøstad via Digitalmars-d

On Wednesday, 26 July 2017 at 22:18:37 UTC, kinke wrote:
My point was improving vs. complaining. Both take some analysis 
to figure out an issue, but then some people step up and try to 
help improving things and some just let out their frustration, 
wondering why noone has been working on that particular 
oh-so-obvious thing, and possibly drop out, like all the 
like-minded guys before them.


Yeah, providing details about what failed so that others can 
improve on it if they want to is of course a sensible thing to 
do, but I think most of such "complaints" could be avoided by 
being up-front explicit about what a tool does well and what it 
doesn't do well.


If I use a product and it breaks in an unexpected way I assume 
that not only that part is broken but that a lot of other parts 
are broken as well, i.e. I would assume it was alpha quality. And 
then the provider would be better off by marking it as such.




Re: D easily overlooked?

2017-07-26 Thread kinke via Digitalmars-d
On Wednesday, 26 July 2017 at 20:23:25 UTC, Ola Fosheim Grøstad 
wrote:
so it doesn't make a whole lot of sense telling people to 
"improve" on it if they haven't even adopted it (in production).


My point was improving vs. complaining. Both take some analysis 
to figure out an issue, but then some people step up and try to 
help improving things and some just let out their frustration, 
wondering why noone has been working on that particular 
oh-so-obvious thing, and possibly drop out, like all the 
like-minded guys before them.


Re: D easily overlooked?

2017-07-26 Thread Ola Fosheim Grøstad via Digitalmars-d

On Wednesday, 26 July 2017 at 19:56:01 UTC, Ali wrote:
And dont worry about D, its been around for 16-17 years now, it 
may never be as big as Python, Ruby or Go


But what is more important that it continues to be developed 
and improved and ... used


I don't think anyone that don't use D in production worry about 
it. I simply don't think that many programming languages have any 
intrinsic value so it doesn't make a whole lot of sense telling 
people to "improve" on it if they haven't even adopted it (in 
production).


For some simply understanding the landscape and nature of the 
evolution of open sourced programming languages (Rust, D etc) 
have more value than the languages themselves. So yeah, not 
sticking to any single language makes a lot of sense, they are 
just tools, means to an end, not goals in themselves and none of 
the current day languages are worthy of cultist behaviour…




Re: D easily overlooked?

2017-07-26 Thread Ali via Digitalmars-d

On Wednesday, 26 July 2017 at 19:56:01 UTC, Ali wrote:
.. honestly it should, now one language should be your only 
language,



DIP 9000, we need a real forum software,
the above is a typo it should read

"honestly it should not
no one language should be your only language"




Re: D easily overlooked?

2017-07-26 Thread Ali via Digitalmars-d
On Wednesday, 26 July 2017 at 19:27:06 UTC, Ola Fosheim Grøstad 
wrote:

On Wednesday, 26 July 2017 at 18:58:31 UTC, kinke wrote:
People need to eventually understand that all the energy 
wasted for complaining about D/the community/whatever would be 
so much more valuable if put into contributions.


Value is relative. So, if you don't use a tool in production 
why would you derive more value value from "improving" on the 
tool rather than analysing it to figure out 
why/why-not/how/how-not etc? Gaining insight might actually be 
more valuable…


Well, D now have a Improvement Proposal system (DIP), the actual 
visibility of this process can surely improve


I recommend looking at Tcl's TIP system, for inspiration

In my opinion an Improvement Proposal system is a lot better than 
a roadmap, because you can very clearly see, what the community 
is talking about, which improvements have implementations, which 
are just ideas, which are approved which are not, some IP entries 
takes years to implement


I think as the DIP system matures, it will help D a lot

And dont worry about D, its been around for 16-17 years now, it 
may never be as big as Python, Ruby or Go


But what is more important that it continues to be developed and 
improved and ... used


Many languages have small communities and will continue to .. 
such as Haskell, Idris, OCaml, F#, Clojure, Lisp , Elm  ..


As long as D have a solid, bug free implementation, you have 
nothing to worry about .. and it doesnt have to be your only 
language .. honestly it should, now one language should be your 
only language, I would argue any developer can master 3 to 5 
languages at any time ... try to pick ones that dont overlap much


Python, SQl, R, .. D, Dart


Re: D easily overlooked?

2017-07-26 Thread Ola Fosheim Grøstad via Digitalmars-d

On Wednesday, 26 July 2017 at 18:58:31 UTC, kinke wrote:
People need to eventually understand that all the energy wasted 
for complaining about D/the community/whatever would be so much 
more valuable if put into contributions.


Value is relative. So, if you don't use a tool in production why 
would you derive more value value from "improving" on the tool 
rather than analysing it to figure out why/why-not/how/how-not 
etc? Gaining insight might actually be more valuable…


Re: D easily overlooked?

2017-07-26 Thread kinke via Digitalmars-d

On Wednesday, 26 July 2017 at 15:55:14 UTC, Wulfklaue wrote:
But how about NOT always adding new feature and actually making 
things more easy for new people.


People need to eventually understand that all the energy wasted 
for complaining about D/the community/whatever would be so much 
more valuable if put into contributions. I'm tired of these 
negative vibes, 'somebody else gotta do this in his/her spare 
time, I need it so bad!' paradigm.


You for example reported a potential LDC issue you encountered 
(Visual Studio 2017 not autodetected), thanks for taking that 
time, but when I asked you to dig into it, you didn't even reply: 
https://github.com/ldc-developers/ldc/issues/2134. That's not the 
way issues are fixed and D can move forward, and neither is 
endlessly complaining about the (perceived) status quo.


[I ignored this thread for now but was curious why it's still 
active, so I only read the last 2 posts.]


Re: D easily overlooked?

2017-07-26 Thread Ola Fosheim Grøstad via Digitalmars-d

On Wednesday, 26 July 2017 at 15:55:14 UTC, Wulfklaue wrote:
The issue of D is not the pure language but this strange over 
focus on being the next C++ replacement that nobody is asking 
for! There are already a lot of other languages that can do C++ 
things, namely C++!


Once upon a time D claimed to be a cleaned up and more convenient 
C++ style language, but I don't think it moved in that direction 
after the onset. So I don't view it as a C++ replacement, but 
more like an enthusiast language that more people toy with than 
use in production. If D actually moved to take on C++ then that 
would be sensible strategy, but at this point there is just too 
much baggage and C++ is now much more of a moving target than it 
was 10 years ago. So, D cannot assume that goal, as C++ is moving 
faster than D at the moment...


There are just too much things where D is lacking but people 
there is simply a lack of flow.


Well, you have to match ambitions to the resources. I think Go 
made the right decision there, to scale the language to something 
they could get to relatively stable in a reasonable amount of 
time, then work on the runtime. Not sexy, but useful.


And the end result became, i gave up on D. Switch to the 
freaking old Pascal language and got more stuff done in a few 
days time, then the semi-months with D. How strange it may 
sound.


Why Pascal, and not one of the more contemporary languages?



Re: D easily overlooked?

2017-07-26 Thread Wulfklaue via Digitalmars-d

On Wednesday, 26 July 2017 at 06:40:22 UTC, Bienlein wrote:
D is the most feature rich language I know of. Maybe only Scala 
comes close, but Scala can be at times an unreadable mess as 
the designers of the language valued mixing functional and OO 
higher than readability. D, on the contrary, has a very clean 
design througout.


But you are right. D is missing some unique selling point like 
ease of concurrency using Communicating Sequential Processes in 
Go or memory safety in Rust without a GC. This is because D 
does not have a business model, but seems to be seen as a 
playground for building the greatest language ever. I fear this 
will not change. Topics of people arguing that D needs a 
business case pop up regularly here and are every time mostly 
or also completely ignored. It does not look like this will 
change, because the main drivers of the language never drop a 
comment in those discussions.


I noticed the issues for me is going beyond just the language. 
Its also productivity.


Not going to hide that i switched to Pascal. There are some 
features that are needed in my case, where pascal has been 
kicking D's behind in my personal opinion.


One of those has been frankly community support. Lets say there 
is a issue in D and one posts about it here. If your lucky, in a 
few hours there is a response. Then the response can be 
categorized as:


* Friendly / Useful / Solve issue
* Useless off-topic responds that does not answer the question 
but focuses on a complaint and ignores the issue.
* Semi-aggressive answer that indeed solves the issue but one 
feels "intimidated"


I have for a long time have a love / hate relationship with D. 
And the negative feels have  always stemmed from the strange 
community.


Its not just the Pascal community where i feel better, even in 
the Rust / Go community people feel like the have more patience 
or are less judgmental.


Its this strange semi-aggressive that is her, that just feels so 
strange. I can not put my finger on it. All i can say is that i 
do not experience it in the same degree as with D.


Lets say i bring up the issue: Plugin/DLL linking is a bore and 
needs to be more easy. Go made it easier with simply 
"-buildmode=plugin". In Pascal it only takes one keyword 
"library"... I can bring up a lot of topics like this where 
things are more easy in other languages and in D it requires at 
times hours to get something going but lets use this example.


You will get people that agree but then at the same time point 
out:


* Stop complaining about it, we do not have the people to add 
this.

* Why don't you code it into the D source.
* Agree but it will never happen.
* We do not need this.
* Why do you not pay for this feature.

And every topic with a complained or suggestion comes down to 
this.


They recently added Static foreach ... yay ... and i do not care 
a god daim thing because it only adds more C++ upper language 
focus but does not make the language or the platform more easy. 
And boy are people going to be annoyed for me writing this. But 
how about NOT always adding new feature and actually making 
things more easy for new people.


The issue of D is not the pure language but this strange over 
focus on being the next C++ replacement that nobody is asking 
for! There are already a lot of other languages that can do C++ 
things, namely C++!


You want no memory management, you go Rust, Pascal, ... Easy web 
development, Go, Crystal, hell Ruby, PHP. System development: C, 
C++, Rust...


D is trying to win over a market with a mix of language feature 
that make it a master of none. And that shows...


There are just too much things where D is lacking but people 
there is simply a lack of flow.


Can not do X because of lack of money, people.
Can not get more money because we lack X and people.
Can not get more people because we lack X and money.

And the circle keep going while attention is put on language 
feature when the language is already great but the whole sea of 
other issues outside the language get a minimal of attention


I will not wast too much time on this because i can write on a 
piece of paper and know what the exact responses will be.


And the end result became, i gave up on D. Switch to the freaking 
old Pascal language and got more stuff done in a few days time, 
then the semi-months with D. How strange it may sound. And hell, 
trust me, Pascal there documentation sucks in its 1980s style but 
still its so much more easy to connect the dots. People know my 
opinion on the current D doc system :)  So its not just about 
modern styling and examples...


Re: D easily overlooked?

2017-07-26 Thread Bienlein via Digitalmars-d
When looking at other language ranking sites, D always scores 
better then Rust. Yet, Rust gets included in the ranking but D 
is ... nowhere to be seen.


Well, on the Tiobe index D is currently on place 23 way ahead of 
Lua, Scala, Rust, Kotlin, Groovy. So there is obviously 
asomething wrong with the Tiobe index here as all those other 
languagse are quite a bit in use. Hope this compensates a bit for 
your pain ;-).


Not to be a downer but D really in my eyes is missing that 
"unique" feature that people care about, that allows people to 
blog about the language...


D is the most feature rich language I know of. Maybe only Scala 
comes close, but Scala can be at times an unreadable mess as the 
designers of the language valued mixing functional and OO higher 
than readability. D, on the contrary, has a very clean design 
througout.


But you are right. D is missing some unique selling point like 
ease of concurrency using Communicating Sequential Processes in 
Go or memory safety in Rust without a GC. This is because D does 
not have a business model, but seems to be seen as a playground 
for building the greatest language ever. I fear this will not 
change. Topics of people arguing that D needs a business case pop 
up regularly here and are every time mostly or also completely 
ignored. It does not look like this will change, because the main 
drivers of the language never drop a comment in those discussions.





Re: D easily overlooked?

2017-07-24 Thread Ola Fosheim Grøstad via Digitalmars-d

On Monday, 24 July 2017 at 13:34:18 UTC, Ali wrote:
I am obviously not a language design or implementation expert, 
but what you said, does it mean that D cannot have a fast GC by 
design


Many things are possible if you put enough constraints on the 
problem and enough advanced features in the tooling.


So I think that depends on how you write your programs, the 
hardware they run on as well as the effort it takes to get the 
compiler/runtime/tooling there.


When people say that a GC is fast they probably mean the 
performance you get when writing a variety of programs that 
allocate many objects with no thought given to how it affects 
memory management performance.




Re: D easily overlooked?

2017-07-24 Thread Seb via Digitalmars-d

On Monday, 24 July 2017 at 13:34:18 UTC, Ali wrote:
On Monday, 24 July 2017 at 12:47:43 UTC, Ola Fosheim Grøstad 
wrote:

On Monday, 24 July 2017 at 11:28:51 UTC, Russel Winder wrote:
I had assumed D was designed to be a GC language from the 
outset.


The D memory model is still in flux and always allowed C-like 
memory management. Whereas both Go and Java sacrificed fast C 
interfacing from the early days to get proper GC support, so 
there is a qualitative difference in the assumptions made in 
the language designs.





I am obviously not a language design or implementation expert, 
but what you said, does it mean that D cannot have a fast GC by 
design


http://www.infognition.com/blog/2014/the_real_problem_with_gc_in_d.html


Re: D easily overlooked?

2017-07-24 Thread Ali via Digitalmars-d
On Monday, 24 July 2017 at 12:47:43 UTC, Ola Fosheim Grøstad 
wrote:

On Monday, 24 July 2017 at 11:28:51 UTC, Russel Winder wrote:
I had assumed D was designed to be a GC language from the 
outset.


The D memory model is still in flux and always allowed C-like 
memory management. Whereas both Go and Java sacrificed fast C 
interfacing from the early days to get proper GC support, so 
there is a qualitative difference in the assumptions made in 
the language designs.





I am obviously not a language design or implementation expert, 
but what you said, does it mean that D cannot have a fast GC by 
design




Re: D easily overlooked?

2017-07-24 Thread Ola Fosheim Grøstad via Digitalmars-d

On Monday, 24 July 2017 at 11:28:51 UTC, Russel Winder wrote:
I had assumed D was designed to be a GC language from the 
outset.


The D memory model is still in flux and always allowed C-like 
memory management. Whereas both Go and Java sacrificed fast C 
interfacing from the early days to get proper GC support, so 
there is a qualitative difference in the assumptions made in the 
language designs.


It seems that the Go team are using backward compatibility as a 
rod for their own backs just as Java/JDK folk did.


Yes, maybe. Although I guess one strategy would be to allow 
library codebases to move along up until say Go 1.12 and get wide 
scale feature adoption in Go libraries that are very close to the 
2.0 semantics, thus making porting to 2.0 more attractive to 
library devs. But some platforms, like App Engine is currently 
stuck at Go 1.6 so not sure how Google as a whole thinks about 
this.


Interestingly Dart is now moving towards static typing, as many 
of the current user Google users expect Java-like static 
predictability. So, one thing is what the language designers 
want, but maybe Google's own usage will take Go in another 
direction as well.




Re: D easily overlooked?

2017-07-24 Thread Russel Winder via Digitalmars-d
On Mon, 2017-07-24 at 10:07 +, Ola Fosheim Grøstad via Digitalmars-
d wrote:
> […]
> 
> Those languages were of course designed within the restrictions 
> of a GC to begin with too, but there seems to be a Go 2 language 
> in the works now:

I had assumed D was designed to be a GC language from the outset.

> https://blog.golang.org/toward-
> go2?utm_source=golangweekly_medium=email
> 

It seems that the Go team are using backward compatibility as a rod for
their own backs just as Java/JDK folk did. There is a big difference
between taking the community with you, cf. Python 2 → 3 for an anti-
pattern, versus not allowing breaking changes, cf. the mess Java is in.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D easily overlooked?

2017-07-24 Thread Ola Fosheim Grøstad via Digitalmars-d

On Sunday, 23 July 2017 at 08:27:08 UTC, Russel Winder wrote:

On Sat, 2017-07-22 at 17:06 +, aedt via Digitalmars-d wrote:
Go people are also trying to make their GC pretty fast afaik 
https://news.ycombinator.com/item?id=12821586


I believe they are their third or fourth already. Java and Go 
development teams put a significant amount of effort into GC.


Those languages were of course designed within the restrictions 
of a GC to begin with too, but there seems to be a Go 2 language 
in the works now:


https://blog.golang.org/toward-go2?utm_source=golangweekly_medium=email




Re: D easily overlooked?

2017-07-23 Thread Russel Winder via Digitalmars-d
On Sat, 2017-07-22 at 17:06 +, aedt via Digitalmars-d wrote:
> On Saturday, 22 July 2017 at 14:20:24 UTC, Russel Winder wrote:
> > On Sat, 2017-07-22 at 13:27 +, aedt via Digitalmars-d wrote:
> > > 
> > 
> > […]
> > D without the GC isn't at all interesting, might as well use Go 
> > in that case. So D only gets traction if it keeps a GC.
> 
> Go people are also trying to make their GC pretty fast afaik
> https://news.ycombinator.com/item?id=12821586

I believe they are their third or fourth already. Java and Go
development teams put a significant amount of effort into GC.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D easily overlooked?

2017-07-23 Thread porter via Digitalmars-d

On Thursday, 20 July 2017 at 16:15:43 UTC, porter wrote:

On Thursday, 20 July 2017 at 15:40:04 UTC, Wulfklaue wrote:




the problems are greater than thought

http://forum.dlang.org/thread/bqlfknpsdetzoxuxr...@forum.dlang.org


Re: D easily overlooked?

2017-07-22 Thread aedt via Digitalmars-d

On Saturday, 22 July 2017 at 14:20:24 UTC, Russel Winder wrote:

On Sat, 2017-07-22 at 13:27 +, aedt via Digitalmars-d wrote:



[…]
D without the GC isn't at all interesting, might as well use Go 
in that case. So D only gets traction if it keeps a GC.


Go people are also trying to make their GC pretty fast afaik
https://news.ycombinator.com/item?id=12821586



Re: D easily overlooked?

2017-07-22 Thread Timon Gehr via Digitalmars-d

On 22.07.2017 16:20, Russel Winder via Digitalmars-d wrote:

D without the GC isn't at all interesting, might as well use Go in that
case.


Uh, no.


Re: D easily overlooked?

2017-07-22 Thread Moritz Maxeiner via Digitalmars-d

On Saturday, 22 July 2017 at 15:13:12 UTC, Ali wrote:
On Saturday, 22 July 2017 at 14:39:17 UTC, Moritz Maxeiner 
wrote:

On Saturday, 22 July 2017 at 13:27:03 UTC, aedt wrote:
Unless some miracle happens and makes the GC better by 
preventing stop-the-world


I have yet to see a (working, correct) non-STW GC that doesn't 
make other trade offs not acceptable for D (extra thread(s), 
memory barriers for all writes, etc.).
There's room for improvement of the current GC, but I 
sincerely doubt we will see one that's not STW.



or gets rid of the GC


And remove one of the primary reasons why one doesn't have to 
prototype in some script language (e.g. python)? No thanks.


Ocaml comes to mind, it is being used bu jane street for high 
frequency trading

and they dont complain

I think the key point it, is that if stw fast enough, it is 
good enough for most uses


I think a very fast GC should be next on the list for D


Ocaml's GC is stop-the-world for both its minor and major heap 
[1], so if someone wants to write another GC implementation for 
D, that's a good place to draw inspiration from, yes.


[1] 
https://realworldocaml.org/v1/en/html/understanding-the-garbage-collector.html


Re: D easily overlooked?

2017-07-22 Thread Ali via Digitalmars-d

On Saturday, 22 July 2017 at 14:39:17 UTC, Moritz Maxeiner wrote:

On Saturday, 22 July 2017 at 13:27:03 UTC, aedt wrote:
Unless some miracle happens and makes the GC better by 
preventing stop-the-world


I have yet to see a (working, correct) non-STW GC that doesn't 
make other trade offs not acceptable for D (extra thread(s), 
memory barriers for all writes, etc.).
There's room for improvement of the current GC, but I sincerely 
doubt we will see one that's not STW.



or gets rid of the GC


And remove one of the primary reasons why one doesn't have to 
prototype in some script language (e.g. python)? No thanks.


Ocaml comes to mind, it is being used bu jane street for high 
frequency trading

and they dont complain

I think the key point it, is that if stw fast enough, it is good 
enough for most uses


I think a very fast GC should be next on the list for D


Re: D easily overlooked?

2017-07-22 Thread Moritz Maxeiner via Digitalmars-d

On Saturday, 22 July 2017 at 13:27:03 UTC, aedt wrote:
Unless some miracle happens and makes the GC better by 
preventing stop-the-world


I have yet to see a (working, correct) non-STW GC that doesn't 
make other trade offs not acceptable for D (extra thread(s), 
memory barriers for all writes, etc.).
There's room for improvement of the current GC, but I sincerely 
doubt we will see one that's not STW.



or gets rid of the GC


And remove one of the primary reasons why one doesn't have to 
prototype in some script language (e.g. python)? No thanks.




Re: D easily overlooked?

2017-07-22 Thread Russel Winder via Digitalmars-d
On Sat, 2017-07-22 at 13:27 +, aedt via Digitalmars-d wrote:
> 
[…]
> Unless some miracle happens and makes the GC better by preventing 
> stop-the-world, or gets rid of the GC, D will not get any more 
> attention.

D without the GC isn't at all interesting, might as well use Go in that
case. So D only gets traction if it keeps a GC.

Except for the "actually on the metal" people who can prove they cannot
survive if there is a GC, and D does that already – but without the standard
library.

-- 
Russel.
=
Dr Russel Winder t:+44 20 7585 2200   voip:sip:
russel.win...@ekiga.net
41 Buckmaster Road   m:+44 7770 465 077   xmpp:rus...@winder.org.uk
London SW11 1EN, UK  w: www.russel.org.uk skype:russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D easily overlooked?

2017-07-22 Thread aedt via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


[...]


Unless some miracle happens and makes the GC better by preventing 
stop-the-world, or gets rid of the GC, D will not get any more 
attention.


Re: D easily overlooked?

2017-07-21 Thread Seb via Digitalmars-d

On Friday, 21 July 2017 at 13:50:24 UTC, Joakim wrote:

On Friday, 21 July 2017 at 13:25:32 UTC, Adrian Matoga wrote:

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

[...]


Interesting. A few months ago I wanted to sell ctRegex as the 
fastest one in a presentation, but in my benchmarks (based on 
[1]) I found it to be of equal speed or slower than 
boost::regex (LDC vs Clang).


I've got to take a look at your benchmarks, and repeat mine to 
check again if I didn't mess something up.


[1] http://lh3lh3.users.sourceforge.net/reb.shtml


The boost C++ benchmark run in the link I gave says it's more 
than 10X slower than the top C one I found D to be faster than, 
so I didn't bother with it.  Maybe you can speed it up:


http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux=gpp=3

As for your benchmark, I'd be surprised if ctRegex wouldn't 
beat out Boost given how well it does against the faster PCRE 
in the fasta-dna one I tried, but all these microbenchmarks 
only look at particular features of a full regex engine, so 
it's always possible ctRegex is slower in others.


We disabled the Kickstart engine temporarily as there where 
issues with CTFE [1], this means that until newCTFE is out 
runtime will be faster in most cases and it won't perform nicely 
in benchmark. However, newCTFE is almost finished, and with a bit 
of luck we see it in master soon.


[1] https://github.com/dlang/phobos/pull/4995


Re: D easily overlooked?

2017-07-21 Thread Joakim via Digitalmars-d

On Friday, 21 July 2017 at 13:25:32 UTC, Adrian Matoga wrote:

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

Yes, D's compile-time regex are still the fastest in the world.
 I've been benching it recently for a marketing-oriented blog 
post I'm preparing for the official D blog, std.regex beats 
out the top C and Rust entries from the benchmarks game on 
linux/x64 with a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, 
suggesting it would still be third on that list if run with a 
bunch of other languages on mobile.  Dmitry thinks it might be 
alignment issues, the bane of cross-platform, high-performance 
code on ARM, as he hasn't optimized his regex code for ARM.


Interesting. A few months ago I wanted to sell ctRegex as the 
fastest one in a presentation, but in my benchmarks (based on 
[1]) I found it to be of equal speed or slower than 
boost::regex (LDC vs Clang).


I've got to take a look at your benchmarks, and repeat mine to 
check again if I didn't mess something up.


[1] http://lh3lh3.users.sourceforge.net/reb.shtml


The boost C++ benchmark run in the link I gave says it's more 
than 10X slower than the top C one I found D to be faster than, 
so I didn't bother with it.  Maybe you can speed it up:


http://benchmarksgame.alioth.debian.org/u64q/program.php?test=regexredux=gpp=3

As for your benchmark, I'd be surprised if ctRegex wouldn't beat 
out Boost given how well it does against the faster PCRE in the 
fasta-dna one I tried, but all these microbenchmarks only look at 
particular features of a full regex engine, so it's always 
possible ctRegex is slower in others.


Re: D easily overlooked?

2017-07-21 Thread Adrian Matoga via Digitalmars-d

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

Yes, D's compile-time regex are still the fastest in the world.
 I've been benching it recently for a marketing-oriented blog 
post I'm preparing for the official D blog, std.regex beats out 
the top C and Rust entries from the benchmarks game on 
linux/x64 with a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, suggesting 
it would still be third on that list if run with a bunch of 
other languages on mobile.  Dmitry thinks it might be alignment 
issues, the bane of cross-platform, high-performance code on 
ARM, as he hasn't optimized his regex code for ARM.


Interesting. A few months ago I wanted to sell ctRegex as the 
fastest one in a presentation, but in my benchmarks (based on 
[1]) I found it to be of equal speed or slower than boost::regex 
(LDC vs Clang).


I've got to take a look at your benchmarks, and repeat mine to 
check again if I didn't mess something up.


[1] http://lh3lh3.users.sourceforge.net/reb.shtml


Re: D easily overlooked?

2017-07-20 Thread porter via Digitalmars-d

On Thursday, 20 July 2017 at 17:04:14 UTC, Wulfklaue wrote:

On Thursday, 20 July 2017 at 16:15:43 UTC, porter wrote:
i did the same, but use for windows programs AWD Modula. its 
free, compiles fast and is used commercially.


AWD Modula? You mean Modula 2?


yes

https://www.modula2.org/adwm2/


Re: D easily overlooked?

2017-07-20 Thread Wulfklaue via Digitalmars-d

On Thursday, 20 July 2017 at 16:15:43 UTC, porter wrote:
i did the same, but use for windows programs AWD Modula. its 
free, compiles fast and is used commercially.


AWD Modula? You mean Modula 2?


Re: D easily overlooked?

2017-07-20 Thread porter via Digitalmars-d

On Thursday, 20 July 2017 at 15:40:04 UTC, Wulfklaue wrote:


Windows: Download, install, runs. It integrates perfectly with 
the Visual Studio Code plugin. Linux a simple apt-get command. 
No need to download a deb or run a shell script.




i did the same, but use for windows programs AWD Modula. its 
free, compiles fast and is used commercially.
i QUIT on D, since you can't install and use, for all the reasons 
you describe. a consequence for me was to warn people at work to 
use it.




Re: D easily overlooked?

2017-07-20 Thread porter via Digitalmars-d

On Thursday, 20 July 2017 at 15:40:04 UTC, Wulfklaue wrote:

After going back recently to good old Pascal. More specific the 
freepascal compiler combined with Visual Studio Code + 
Omnipascal, ... it felt just more easy.


In a few days time after reading up all the details, i got 
myself a nice multithreaded http server build without using any 
standardized framework. Sure it is missing a lot of 
functionality but i felt more proud writing it in Pascal, then 
i did writing the same in D


The easy to write cross platform Dlls. The more clean design to 
use those DLL loading without relying on dlsym all the time. 
The time wasted trying to figure that out in D to get it 
working correctly. *uch* ...


While the language is indeed more "verbose" ( not that much ), 
the compiler does less checking, it just is more "fun". D feels 
more like work. Now it also helps that there is massive amount 
of more documentation for pascal out there, even if its old.



At the same Pascal compiles in 0.1 second, give me the speed 
similar(actually faster) than D, cross platform support, no 
need to mess with different compiler ( dmd for compile, ldc for 
speed ). Its even more TTD then D :)


Windows: Download, install, runs. It integrates perfectly with 
the Visual Studio Code plugin. Linux a simple apt-get command. 
No need to download a deb or run a shell script.




i did the same, but use for windows programs AWD Modula. its 
free, compiles fast and is used commercially.
i QUIT on D, since you can't install and use, for all the reasons 
you describe. a consequence for me was to warn people at work to 
use it.




Re: D easily overlooked?

2017-07-20 Thread Wulfklaue via Digitalmars-d

On Sunday, 16 July 2017 at 08:37:53 UTC, Ecstatic Coder wrote:
I sincerely appreciate the effort, really, but admit that there 
is still a HUGE difference between how D and more popular 
languages like Python, Go, etc are advertised.


I'm still not convinced that D's way is the best in order to 
significantly improve its popularity among developers...


After going back recently to good old Pascal. More specific the 
freepascal compiler combined with Visual Studio Code + 
Omnipascal, ... it felt just more easy.


In a few days time after reading up all the details, i got myself 
a nice multithreaded http server build without using any 
standardized framework. Sure it is missing a lot of functionality 
but i felt more proud writing it in Pascal, then i did writing 
the same in D


The easy to write cross platform Dlls. The more clean design to 
use those DLL loading without relying on dlsym all the time. The 
time wasted trying to figure that out in D to get it working 
correctly. *uch* ...


While the language is indeed more "verbose" ( not that much ), 
the compiler does less checking, it just is more "fun". D feels 
more like work. Now it also helps that there is massive amount of 
more documentation for pascal out there, even if its old.


My system needs a dozen core design implementations. Finding the 
base code for half, in Pascal took me a day. In D it took weeks 
of searching and trying to understand ( and a lot i do not have ) 
and i still have less code examples then pascal.


At the same Pascal compiles in 0.1 second, give me the speed 
similar(actually faster) than D, cross platform support, no need 
to mess with different compiler ( dmd for compile, ldc for speed 
). Its even more TTD then D :)


Windows: Download, install, runs. It integrates perfectly with 
the Visual Studio Code plugin. Linux a simple apt-get command. No 
need to download a deb or run a shell script.


It just more user friendly in a strange way. I feel like i can 
talk hours about Pascal but D feels so C++ like. Maybe that is 
why its hard to accept.


The point that Ecstatic Coder has been trying to make for a long 
time. D for all its merits feels at times ... do not know how to 
express.


Re: D easily overlooked?

2017-07-19 Thread solidstate1991 via Digitalmars-d

On Saturday, 15 July 2017 at 17:36:50 UTC, aberba wrote:


Who is building the killer app?


The problem with a killer app is that it needs multiple teams to 
build it, not a single person, and many open-source projects go 
on their own ways instead of contributing to a single goal, see 
the many distros of Linux for an example. You know my engine 
called PixelPerfectEngine, that project started in 2014, and it's 
still in alpha due to its massive lack of features compared to 
some of its competitors also doing 2D graphics in a similar way. 
One even has mode7-like capabilities and road generation, 
although mine will have an editor and a sound engine capable of 
playing back multi-channel music, instead of concentrating solely 
on graphics, not to mention the possibility of hardware 
acceleration via DCompute and VideoCore4 assembly (I'll write 
that few blitter and alpha-blending stuff in assembly, I already 
had to write them in x86 assembly due to the lack of proper SIMD 
with any of the compilers). Granted, I had college, work, family 
and personal issues due to long periods of unemployment, and in 
the beginning my skills seriously lacked, but with a team the 
engine would already have been finished.


But even first, the language and the compilers still have their 
own problems. DLL support is buggy, SIMD is partial and x86-64 
exclusive, the GC is not perfect, many parts of the standard 
library is obsolete, like the XML parser.


Re: D easily overlooked?

2017-07-19 Thread solidstate1991 via Digitalmars-d

On Sunday, 16 July 2017 at 08:37:53 UTC, Ecstatic Coder wrote:

Let's look how D is "sold" on dlang.org :

"D is a general-purpose programming language with static 
typing, systems-level access, and C-like syntax. It combines 
efficiency, control and modeling power with safety and 
programmer productivity."


And then :

"Why D ?

1. Convenience (type inference, GC, arrays, slices, ranges, etc)

2. Power (classic polymorphism, value semantics, functional 
style, generics, generative programming, contract programming, 
concurrency, etc)


3. Efficiency (native code, fast and safe, native pointers, 
etc)."


Do you see the difference between those website ?

Language features versus real-world usage, again !!!


So this is what Andrei meant when he once mentioned D's 
historical lack of vision.


Re: D easily overlooked?

2017-07-16 Thread Ecstatic Coder via Digitalmars-d

I'm already following both of your advices.

But D doesn't have to prove anything to become more popular.

It just needs to have a better competitive advantage.

And it almost has it.

You know that all the bits of technology are already there, 
spread in independant files from various github accounts.


What is lacking is essentially market-aware packaging and 
promotion.


For instance, add a Nuklear UI binding with touch events, and a 
small existing Http library, and you will have a Dart/Haxe 
competitor.


What D needs right now is commercial leadership, to compensate 
for the lack of  manpower...


There is no other choice, if you don't want D to be "buried" by 
Go, Dart, Rust, Kotlin, and all the other new emergent 
"pragmatic" languages, which instead target the typical 
development needs of the base developer.




Re: D easily overlooked?

2017-07-16 Thread Joakim via Digitalmars-d

On Sunday, 16 July 2017 at 07:25:45 UTC, Ecstatic Coder wrote:

People have DEVELOPMENT needs, before LANGUAGE needs.

In its current state, D is already perfect for some 
developments (high-performance computing and file processing, 
etc), but for many COMMON "real world usages", IMHO it's still 
lagging WAY behind many "inferior" languages in terms of easy 
of use, and thus immediate usability...


Everything can be done in D with the right amount of effort, 
but the more effort required, the more clever you need to 
pickup this language.


And the less people you will convince to use it.

Sorry, but for many less-skilled programmers like me, that's 
how things work.


Then maybe D is not the right language for you, at least not yet. 
 Any tech goes through several well-defined stages, as I've 
talked about before and you can read about online:


http://forum.dlang.org/post/utmwiveailhkouaey...@forum.dlang.org
https://en.wikipedia.org/wiki/Technology_adoption_life_cycle

There are two aspects to any tech, the fundamental design and how 
it integrates with the rest of the world, ie the libraries and 
ease of use that you miss.  A couple of really smart people can 
work on the fundamental design, but it takes a lot of people 
working over years to add libraries and polish to a programming 
language.


That's why D is only geared towards those niches you list and a 
few others right now: it needs to prove itself there before 
people will invest a bunch of time and money into making it work 
for the rest of the "COMMON real word usages" you miss.  It took 
millions of dollars and years for Java or .Net to build up the 
massive libraries and JIT/GC improvements that made them easier 
for you to use now.


D is not at that stage for many uses yet, certainly not for 
mobile, which I've been working on for years.  D needs to prove 
itself with startups like Weka and OSS projects like Tilix and 
slowly get polished and many more libraries added.  It is 
happening, there's a lot of stuff on dub these days:


http://code.dlang.org

But if you can't wait till that's all done, you can either chip 
in with writing libraries or polishing up the ease of use, or go 
use something else till D's ready for you.


Re: D easily overlooked?

2017-07-16 Thread Ecstatic Coder via Digitalmars-d

Who is building the killer app?


Why do you need a killer app ?

Here is how Google "sells" Go on golang.org :

"Go is an open source programming language that makes it easy to 
build simple, reliable, and efficient software."


And here is how Google "sells" Dart dartlang.org :

"Dart is an application programming language that’s easy to 
learn, easy to scale, and deployable everywhere.

Google depends on Dart to make very large apps."

In two words : "EASY TO".

Have you seen Dart's core GOALS ?

"1. Provide a solid foundation of libraries and tools

A programming language is nothing without its core libraries and 
tools. Dart’s have been powering very large apps for years now.


2. Make common programming tasks easy

Application programming comes with a set of common problems and 
common errors. Dart is designed to make those problems easier to 
tackle, and errors easier to catch. This is why we have 
async/await, generators, string interpolation, earlier error 
detection and much more.


3. Don’t surprise the programmer

There should be a direct correspondence between what you type and 
what’s going to happen. Magic (automatic type coercion, hoisting, 
“helper” globals, …) doesn’t mix well with large apps.



4. Be the stable, pragmatic solution for real apps

Dart might seem boring to some. We prefer the terms productive 
and stable. We work closely with our core customers—the 
developers who build large applications with Dart—to make sure 
we’re here for the long run."


Let's look how D is "sold" on dlang.org :

"D is a general-purpose programming language with static typing, 
systems-level access, and C-like syntax. It combines efficiency, 
control and modeling power with safety and programmer 
productivity."


And then :

"Why D ?

1. Convenience (type inference, GC, arrays, slices, ranges, etc)

2. Power (classic polymorphism, value semantics, functional 
style, generics, generative programming, contract programming, 
concurrency, etc)


3. Efficiency (native code, fast and safe, native pointers, etc)."

Do you see the difference between those website ?

Language features versus real-world usage, again !!!

The only "major" changes to dlang.org that I've seen appearing 
recently :


1. "general-purpose" is more open and welcoming that "systems".
2. there is a 10-liners we b-server "hello world" example which 
sometimes (randomly) appears in the code roulette.


I sincerely appreciate the effort, really, but admit that there 
is still a HUGE difference between how D and more popular 
languages like Python, Go, etc are advertised.


I'm still not convinced that D's way is the best in order to 
significantly improve its popularity among developers...




Re: D easily overlooked?

2017-07-16 Thread Ecstatic Coder via Digitalmars-d
the only thing missing is that "we have more language than 
[real world usage]" coined from what Andre said at DConf.


I couldn't say it better...

D is a better language, but advertising it for that is not what 
will make it popular.


People have DEVELOPMENT needs, before LANGUAGE needs.

In its current state, D is already perfect for some developments 
(high-performance computing and file processing, etc), but for 
many COMMON "real world usages", IMHO it's still lagging WAY 
behind many "inferior" languages in terms of easy of use, and 
thus immediate usability...


Everything can be done in D with the right amount of effort, but 
the more effort required, the more clever you need to pickup this 
language.


And the less people you will convince to use it.

Sorry, but for many less-skilled programmers like me, that's how 
things work.


So just show a few stupid-simple 20-liners "hello world"-like 
examples ALSO for web and mobile development, and you will 
immediately see much more interest in this language from 
base-level people like me.


Re: D easily overlooked?

2017-07-16 Thread Ecstatic Coder via Digitalmars-d
I agree with the others that having no major company behind 
DLang is not helping from a money/resource/exposure point of 
view.  That said, there must be things we can do as a community 
to help improve the situation.


I can imagine for example that the community could focus on 
particular sectors where D excels, and create as much quality 
content as possible about how to use D to solve problems in 
those areas. Moreover having a push to get articles into the 
blogosphere and social media would do wonders.


Coming from a web development background (PHP), I think D is a 
wonderful language.  It's expressive, elegant, performant and 
fun.  Based on my experience, I think web development is one of 
those sectors where D could become more popular.


+1

Sorry to repeat myself, but D's built-in concurrency (fibers) 
makes it a better alternative to Go for web development.


More over, as it generate fast executable at lightspeed, it can 
be a very good alternative to Dart for cross mobile development.


What is lacking is just immediate usability through simple, easy 
to use libraries, automatically installed along with the compiler.


My advice is to stop focusing on making D a "better language", 
because it's already very usable at the moment in its current 
state. I'm even afraid of some D3 proposals which could injure 
more than heal in this regard.


Instead, try to make it a "better tool" for CROSS-PLATFORM mobile 
and web development.


That's where the need is, that's where the hype will be.

Don't be blind, look at what Dart, Kotlin, etc offer to those who 
need to implement web/mobile applications.


D can do better than them in these areas with the right mix of 
official libraries and auto-promotion.


Right now I'm using Dart for Android/iOS development, and Go for 
web development, despite these language s*ck compared to D.


Because they are VERY CONVENIENT and USABLE for that.

D has better language features, but what makes a language stand 
above its competition are its official libraries.


Those of Go and Dart are obviously not perfect, as everybody has 
different needs and ways of thinking, but many people should 
agree that they are well designed in order get the job done 
quickly.


So again, stop making D a better development language, make it a 
better development TOOL.


Re: D easily overlooked?

2017-07-15 Thread Mark via Digitalmars-d

On Saturday, 15 July 2017 at 17:10:56 UTC, Joakim wrote:
To answer Mark's original question, the corporates get 
interested when there are competitors eating their lunch with 
new tech.  They don't actively scout out all the new tech, 
they're far too lazy for that.  But when Sociomantic or Weka or 
some new company _you_ build with D starts putting them out of 
business, their ears perk up. ;)


Point taken. :)


Re: D easily overlooked?

2017-07-15 Thread Joakim via Digitalmars-d

On Saturday, 15 July 2017 at 17:36:50 UTC, aberba wrote:

On Saturday, 15 July 2017 at 17:10:56 UTC, Joakim wrote:

On Saturday, 15 July 2017 at 16:52:51 UTC, Russel Winder wrote:

[...]


Sociomantic, Weka, EMSI, and a handful of others.  None is as 
humongous as google or Apple, but then it's not like those 
companies write everything in Go and Swift.  Those languages 
are small parts of those giant corporations.


To answer Mark's original question, the corporates get 
interested when there are competitors eating their lunch with 
new tech.  They don't actively scout out all the new tech, 
they're far too lazy for that.  But when Sociomantic or Weka 
or some new company

...

The no. 1 thing that will help D is people writing great 
software with it and showing how wonderful D is.


Who is building the killer app?


Maybe it's Weka?

http://forum.dlang.org/thread/pjogugkxvvntleoqc...@forum.dlang.org

Maybe it's Adam. :) You never know where it will come from.  
Nobody knew who the VisiCalc guys were and they made the Apple II:


https://en.wikipedia.org/wiki/VisiCalc

The important part is that we need many people to try building 
great stuff with D, and out of some combination of good 
application design, users who really want that ability, and luck, 
something will rise up.


Re: D easily overlooked?

2017-07-15 Thread aberba via Digitalmars-d

On Saturday, 15 July 2017 at 17:10:56 UTC, Joakim wrote:

On Saturday, 15 July 2017 at 16:52:51 UTC, Russel Winder wrote:

[...]


Sociomantic, Weka, EMSI, and a handful of others.  None is as 
humongous as google or Apple, but then it's not like those 
companies write everything in Go and Swift.  Those languages 
are small parts of those giant corporations.


To answer Mark's original question, the corporates get 
interested when there are competitors eating their lunch with 
new tech.  They don't actively scout out all the new tech, 
they're far too lazy for that.  But when Sociomantic or Weka or 
some new company

...

The no. 1 thing that will help D is people writing great 
software with it and showing how wonderful D is.


Who is building the killer app?


Re: D easily overlooked?

2017-07-15 Thread Adam D. Ruppe via Digitalmars-d

On Saturday, 15 July 2017 at 16:52:51 UTC, Russel Winder wrote:

D has ???


D has me.

Do not be too proud of the corporate terror the others have 
constructed. The power to wave around a million dollars is 
insignificant next to the power of the Nerdiness.


Re: D easily overlooked?

2017-07-15 Thread Joakim via Digitalmars-d

On Saturday, 15 July 2017 at 16:52:51 UTC, Russel Winder wrote:
On Sat, 2017-07-15 at 11:22 +, Mark via Digitalmars-d 
wrote: […]


Well, at one point Andrei said that what is missing to make 
D's growth explosive is a strong corporate sponser [1]. This 
seemed sensible to me at the time and still seems sensible 
today. But I don't know what (if anything) can be done to 
increase the corporate community's interest in D.


Java has IBM, Oracle, Red Hat, many companies, and the JCP

C++ has Microsoft, Intel, many companies, and ISO/IEC 
JTC1/SC22/WG21


Rust has Mozilla, and lots of companies thinking it beats C++.

Go has Google, Cloudflare, and many companies, mostly Web 
focussed.


Swift has Apple, and the entire iOS community.

D has ???


Sociomantic, Weka, EMSI, and a handful of others.  None is as 
humongous as google or Apple, but then it's not like those 
companies write everything in Go and Swift.  Those languages are 
small parts of those giant corporations.


To answer Mark's original question, the corporates get interested 
when there are competitors eating their lunch with new tech.  
They don't actively scout out all the new tech, they're far too 
lazy for that.  But when Sociomantic or Weka or some new company 
_you_ build with D starts putting them out of business, their 
ears perk up. ;)


The no. 1 thing that will help D is people writing great software 
with it and showing how wonderful D is.  More than docs, fixing 
bugs, marketing, anything.  It doesn't matter if the language 
still has flaws, the influx of use, attention, and money after 
that will help patch those holes up, look at Rails.  You don't 
have to have a huge budget to write that D software, the guy who 
wrote Tilix did it in his spare time and it's the top-starred D 
project on github after dmd:


https://github.com/search?l=D=stars%3A>1=stars=Repositories


Re: D easily overlooked?

2017-07-15 Thread Russel Winder via Digitalmars-d
On Sat, 2017-07-15 at 11:22 +, Mark via Digitalmars-d wrote:
[…]
> 
> Well, at one point Andrei said that what is missing to make D's 
> growth explosive is a strong corporate sponser [1]. This seemed 
> sensible to me at the time and still seems sensible today. But I 
> don't know what (if anything) can be done to increase the 
> corporate community's interest in D.

Java has IBM, Oracle, Red Hat, many companies, and the JCP

C++ has Microsoft, Intel, many companies, and ISO/IEC JTC1/SC22/WG21

Rust has Mozilla, and lots of companies thinking it beats C++.

Go has Google, Cloudflare, and many companies, mostly Web focussed.

Swift has Apple, and the entire iOS community.

D has ???

-- 
Russel.
=
Dr Russel Winder t:+44 20 7585 2200   voip:sip:
russel.win...@ekiga.net
41 Buckmaster Road   m:+44 7770 465 077   xmpp:rus...@winder.org.uk
London SW11 1EN, UK  w: www.russel.org.uk skype:russel_winder

signature.asc
Description: This is a digitally signed message part


Re: D easily overlooked?

2017-07-15 Thread Mark via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


A total lack of D even mentioned!!!

When looking at other language ranking sites, D always scores 
better then Rust. Yet, Rust gets included in the ranking but D 
is ... nowhere to be seen. It gets even a bit annoying when its 
always Rust, Rust, Rust ... that keeps popping up. Seen it more 
and more how Rust is simply trampling over any D messaging.


D... It really has no very unique feature that makes it 
noticeable.


* No Galactic overlord ( C#, Go, ... )
* no GC language that people can push until people there ears 
bleed ( Rust)
* no really unique features that people care about to set it 
aside from C/C++, ...
* It has the kitchen and sink but nobody talk about the kitchen 
and sink.


I know people will jump onboard and start yelling how D has 
very unique features but from the "outside world" its always 
the same response. While more people are downloading D and 
trying it out, i barely see any independent D language blogs.


Not to be a downer but D really in my eyes is missing that 
"unique" feature that people care about, that allows people to 
blog about the language...


Well, at one point Andrei said that what is missing to make D's 
growth explosive is a strong corporate sponser [1]. This seemed 
sensible to me at the time and still seems sensible today. But I 
don't know what (if anything) can be done to increase the 
corporate community's interest in D.


[1] CPPcast, Oct. 27, 2015: 
http://cppcast.com/2015/10/andrei-alexandrescu/ (at 25:30)


Re: D easily overlooked?

2017-07-14 Thread aberba via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/



I know people will jump onboard and start yelling how D has 
very unique features but from the "outside world" its always 
the same response. While more people are downloading D and 
trying it out, i barely see any independent D language blogs.


Maybe you havent't looked enough. I blog about D (basic stuff) at 
http://aberba.com/#blog. I wrote one for Opensource.com at 
https://opensource.com/article/17/5/d-open-source-software-development which received some positive feedback. There are other blog posts about D too.


Not to be a downer but D really in my eyes is missing that 
"unique" feature that people care about, that allows people to 
blog about the language...
We care about the existing features done right that D has. In my 
experience, people like D (syntax, features, CTFE, UFCS, modules, 
etc.)... the only thing missing is that "we have more language 
than [real world usage]" coined from what Andre said at DConf.


D is way better and addictive than how I found it in 2014. The 
language and ecosystem keeps getting richer. I can't enjoy coding 
in any other language than I do in D.


Re: D easily overlooked?

2017-07-14 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 14 July 2017 at 15:13:23 UTC, Andrew Chapman wrote:


I agree with the others that having no major company behind 
DLang is not helping from a money/resource/exposure point of 
view.  That said, there must be things we can do as a community 
to help improve the situation.


I can imagine for example that the community could focus on 
particular sectors where D excels, and [...]


The primary issue isn't what *can* be done, but what *is going* 
to be done:
People (including me) can be (reasonably) expected to spend their 
free time on things that interest them; those don't usually 
intersect with things that would make D more popular - not to 
mention that D has still too many internal rough edges for me to 
think making D significantly more popular at this point in time 
is going to help us in the long run. I personally much prefer a 
slow, steady growth until the internals (@nogc, shared, etc.) 
have been sorted out.


Re: D easily overlooked?

2017-07-14 Thread bpr via Digitalmars-d

On Friday, 14 July 2017 at 09:02:58 UTC, Stefan Koch wrote:

The beauty of D lies in it's holistic approach.

The one unique feature to point out would be CTFE which is not 
to be found in other compiled langauges.


CTFE is found in Nim, as well as inline assembler. Relatively 
easy to use AST macros are also found in Nim.


I don't know another language with full D-like scope guards.

I agree that it's the combination of features that make D 
appealing. I generally think of D as "C++ done righter" and don't 
think about specific unique features.





Re: D easily overlooked?

2017-07-14 Thread Emil via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity


Are you aware this is a github infomercial ? That is how 
gamification works: make you compete  over who has the most 
github repos or more migration or whatevers, but the important 
part is making github keep the score :)


This is not about language popularity but about language 
popularity on github. Moreover while charts are nice we don't 
have a "other" category so we don't really see if the languages 
listed cover 90% of github repos or 50% of github repos. Even 
more, if you used github you know the language the project gets 
listed under by default is rather random: if you have js files it 
might get listed under js, if you have C files it might get 
listed under C: for example the rather large migration of Perl 
programmers to C is very probably just Perl modules adding XS 
components.



So don't stress and keep using D ;)


Re: D easily overlooked?

2017-07-14 Thread Enamex via Digitalmars-d

On Friday, 14 July 2017 at 09:02:58 UTC, Stefan Koch wrote:

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


[...]


The beauty of D lies in it's holistic approach.

The one unique feature to point out would be CTFE which is not 
to be found in other compiled langauges.


constexpr does not even come close since it cannot return 
literals :0


There's Red: http://red-lang.org (to my understanding, you can 
execute arbitrary Red (*) code in macro context; which is 
basically CTFE+macros).


(*) Right now it accepts Rebol code because of implementation 
limitations; the spec says Red code though and the developers 
says this is planned.


Re: D easily overlooked?

2017-07-14 Thread Andrew Chapman via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


A total lack of D even mentioned!!!

When looking at other language ranking sites, D always scores 
better then Rust. Yet, Rust gets included in the ranking but D 
is ... nowhere to be seen. It gets even a bit annoying when its 
always Rust, Rust, Rust ... that keeps popping up. Seen it more 
and more how Rust is simply trampling over any D messaging.


D... It really has no very unique feature that makes it 
noticeable.


* No Galactic overlord ( C#, Go, ... )
* no GC language that people can push until people there ears 
bleed ( Rust)
* no really unique features that people care about to set it 
aside from C/C++, ...
* It has the kitchen and sink but nobody talk about the kitchen 
and sink.


I know people will jump onboard and start yelling how D has 
very unique features but from the "outside world" its always 
the same response. While more people are downloading D and 
trying it out, i barely see any independent D language blogs.


Not to be a downer but D really in my eyes is missing that 
"unique" feature that people care about, that allows people to 
blog about the language...


I agree with the others that having no major company behind DLang 
is not helping from a money/resource/exposure point of view.  
That said, there must be things we can do as a community to help 
improve the situation.


I can imagine for example that the community could focus on 
particular sectors where D excels, and create as much quality 
content as possible about how to use D to solve problems in those 
areas. Moreover having a push to get articles into the 
blogosphere and social media would do wonders.


Coming from a web development background (PHP), I think D is a 
wonderful language.  It's expressive, elegant, performant and 
fun.  Based on my experience, I think web development is one of 
those sectors where D could become more popular.


Expanding on web development using D, I must say that Vibe.d is a 
pleasure to work with and once the new release of Vibe.d is fully 
optimised, it should stack up favourably over using a PHP 
framework in terms of performance, memory consumption and 
scalability.  However if you're not a D programmer and you're 
looking at the vibe.d website for the first time, you'd probably 
leave for a few reasons without trying it. To address that I 
would recommend the following:


- Vibe.d has built in Redis and Mongo drivers which is excellent, 
but it may not be immediately obvious that you can in-fact work 
with MySQL and Postgres easily.  This is very important to many 
developers, and hence having a clear nav/menu item that links to 
a tutorial or two on the vibe.d website about integrating with 
those databases would be very useful to put that objection to bed.


- Once it's appropriate, do some benchmarks that compares D to 
PHP frameworks such as Slim, Silex, Lumen for common 
functionality such as CRUD operations with sessions, JSON 
serialisation etc, linking to the D code for reference.  Assuming 
D is easily the winner, really highlight the results.  Ultimately 
handling more requests on a single machine means money saved once 
web apps start scaling.


- Have some tutorials about using JS frameworks such as 
React/Angular/Vue.js and CSS frameworks such as Bootstrap and 
Foundation with Vibe.d.  Obviously these really aren't directly 
related to D or Vibe.d, it helps to show that D can be used 
easily for solutions using those technologies.


- Improving the vibe.d website look and feel, and having some 
clear and bold messaging on the home page about why you should 
use it.


Cheers.


Re: D easily overlooked?

2017-07-14 Thread Martin Tschierschke via Digitalmars-d

On Friday, 14 July 2017 at 13:29:30 UTC, Joakim wrote:

On Friday, 14 July 2017 at 09:29:27 UTC, Wulfklaue wrote:

On Friday, 14 July 2017 at 09:02:58 UTC, Stefan Koch wrote:

The beauty of D lies in it's holistic approach.

[...]
But with tech nowadays, you need a good foundational design 
before all else.  Yes, someone else may get out of the gate 
faster with the bicycle they built out of spare parts, but once 
you get the Millenium Falcon going, it will blast by them. ;)


Off topic - but do you know this https://lilium.com/ :-)


Re: D easily overlooked?

2017-07-14 Thread Joakim via Digitalmars-d

On Friday, 14 July 2017 at 09:29:27 UTC, Wulfklaue wrote:

On Friday, 14 July 2017 at 09:02:58 UTC, Stefan Koch wrote:

The beauty of D lies in it's holistic approach.

The one unique feature to point out would be CTFE which is not 
to be found in other compiled langauges.


constexpr does not even come close since it cannot return 
literals :0



CTFE is indeed unique but is it a selling point where people 
will talk about. Something that they will experience in there 
daily life and say, i can not live without that?


Yes, D's compile-time regex are still the fastest in the world.  
I've been benching it recently for a marketing-oriented blog post 
I'm preparing for the official D blog, std.regex beats out the 
top C and Rust entries from the benchmarks game on linux/x64 with 
a single core:


http://benchmarksgame.alioth.debian.org/u64q/regexredux.html
https://github.com/joakim-noah/regex-bench

D comes in third on Android/ARM, but not far behind, suggesting 
it would still be third on that list if run with a bunch of other 
languages on mobile.  Dmitry thinks it might be alignment issues, 
the bane of cross-platform, high-performance code on ARM, as he 
hasn't optimized his regex code for ARM.


Its part marketing, part unique features, part giving people 
confidence by having a big name attached to it. A lot of 
languages really are so much the same ( fast compiling, single 
deployment, multi platform, ... ), that it becomes harder to 
stand out with features that the end user cares about.


Recently been doing a bit of Pascal programming. Ultra fast 
compiler, low memory usage ( No GC ), cross compiler with 
massive platforms support, there own cross platform GUI ( 
Lazarus ). And yet they have the same issue. Pascal does not 
stand out despite being a mature and easy fast, efficient 
language. But it did get included in that article ;)


D is technically C++ replacement and yet, C++ has been losing 
massive market shares but D has not been enjoying much from 
that loss.


Frankly, i am also a bit lost of ideas as to what can D stand 
out. Its almost like D is going to Pascal route. People use it, 
it great, but beyond the core audience, its hard to reach out 
to others.


The pitch is that you can write very fast code quickly and 
easily, and make it the fastest in the world if you spend some 
time profiling and optimizing.  At the end, you'll have code that 
you can actually read easily and aren't scared to modify because 
you're not sure you understand how it works.  And all this 
without struggling with C's primitive features or Rust's borrow 
checker.


Is the dream fulfilled?  No, D still has plenty of rough edges 
and gaping holes:


https://issues.dlang.org/show_bug.cgi?id=17630

But with tech nowadays, you need a good foundational design 
before all else.  Yes, someone else may get out of the gate 
faster with the bicycle they built out of spare parts, but once 
you get the Millenium Falcon going, it will blast by them. ;)


Re: D easily overlooked?

2017-07-14 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 14 July 2017 at 09:32:15 UTC, Wulfklaue wrote:

On Friday, 14 July 2017 at 09:27:19 UTC, Moritz Maxeiner wrote:
There's no such language (yet), of course, but D has been the 
closest contender for a long time with Scala coming second 
(but dropping out as it's not native).


Heuuu?

Scala Native:
https://github.com/scala-native/scala-native


Third party project that supports only a subset (albeit a large 
one) and effectively requires writing certain code differently 
(-> scala.scalanative.native).




Kotlin Native:
https://github.com/JetBrains/kotlin-native


Irrelevant, I wasn't talking about Kotlin.



C# Native:
https://github.com/dotnet/corert


Same here.



Re: D easily overlooked?

2017-07-14 Thread via Digitalmars-d

On Friday, 14 July 2017 at 09:32:15 UTC, Wulfklaue wrote:

On Friday, 14 July 2017 at 09:27:19 UTC, Moritz Maxeiner wrote:
There's no such language (yet), of course, but D has been the 
closest contender for a long time with Scala coming second 
(but dropping out as it's not native).


Heuuu?

Scala Native:
https://github.com/scala-native/scala-native

Kotlin Native:
https://github.com/JetBrains/kotlin-native

C# Native:
https://github.com/dotnet/corert

... very few language that are not going native these days. 
Especially with LLVM.


I think he meant System (!= Native). E.g. none of the languages 
listed above have inline assembly, which is crucial if e.g. your 
doing kernel level programming or low-level optimizations. Also, 
(AFAIK) none of these language allow you to easily create threads 
outside of their language runtime, which is critical for e.g. 
writing real-time audio DAW plugins (see 
https://www.auburnsounds.com/blog/index.html). Also unlike D, the 
GCs of each respective language is implemented in a different 
language (C++, IIRC).


Re: D easily overlooked?

2017-07-14 Thread Wulfklaue via Digitalmars-d

On Friday, 14 July 2017 at 09:27:19 UTC, Moritz Maxeiner wrote:
There's no such language (yet), of course, but D has been the 
closest contender for a long time with Scala coming second (but 
dropping out as it's not native).


Heuuu?

Scala Native:
https://github.com/scala-native/scala-native

Kotlin Native:
https://github.com/JetBrains/kotlin-native

C# Native:
https://github.com/dotnet/corert

... very few language that are not going native these days. 
Especially with LLVM.


Re: D easily overlooked?

2017-07-14 Thread Wulfklaue via Digitalmars-d

On Friday, 14 July 2017 at 09:02:58 UTC, Stefan Koch wrote:

The beauty of D lies in it's holistic approach.

The one unique feature to point out would be CTFE which is not 
to be found in other compiled langauges.


constexpr does not even come close since it cannot return 
literals :0



CTFE is indeed unique but is it a selling point where people will 
talk about. Something that they will experience in there daily 
life and say, i can not live without that?


Its part marketing, part unique features, part giving people 
confidence by having a big name attached to it. A lot of 
languages really are so much the same ( fast compiling, single 
deployment, multi platform, ... ), that it becomes harder to 
stand out with features that the end user cares about.


Recently been doing a bit of Pascal programming. Ultra fast 
compiler, low memory usage ( No GC ), cross compiler with massive 
platforms support, there own cross platform GUI ( Lazarus ). And 
yet they have the same issue. Pascal does not stand out despite 
being a mature and easy fast, efficient language. But it did get 
included in that article ;)


D is technically C++ replacement and yet, C++ has been losing 
massive market shares but D has not been enjoying much from that 
loss.


Frankly, i am also a bit lost of ideas as to what can D stand 
out. Its almost like D is going to Pascal route. People use it, 
it great, but beyond the core audience, its hard to reach out to 
others.


Re: D easily overlooked?

2017-07-14 Thread Moritz Maxeiner via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


A total lack of D even mentioned!!!

[...]


Small initial community + no one paying for viral marketing will 
do that.




I know people will jump onboard and start yelling how D has 
very unique features but [...]


Au contraire (in my case)! I don't need unique features. What I 
need is a language that allows me to express 
abstractions/algorithms in a readable, concise manner with the 
absolute minimum of fuss/time possible.
There's no such language (yet), of course, but D has been the 
closest contender for a long time with Scala coming second (but 
dropping out as it's not native).


Re: D easily overlooked?

2017-07-14 Thread Stefan Koch via Digitalmars-d

On Friday, 14 July 2017 at 08:57:17 UTC, Wulfklaue wrote:

https://blog.sourced.tech/post/language_migrations/

A recent article where github programming languages popularity 
and migration got analysed was very interesting but it showed 
one noticeable thing:


[...]


The beauty of D lies in it's holistic approach.

The one unique feature to point out would be CTFE which is not to 
be found in other compiled langauges.


constexpr does not even come close since it cannot return 
literals :0