www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D easily overlooked?

reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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...
Jul 14
next sibling parent reply Stefan Koch <uplink.coder googlemail.com> writes:
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
Jul 14
next sibling parent reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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.
Jul 14
parent reply Joakim <dlang joakim.fea.st> writes:
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. ;)
Jul 14
next sibling parent Martin Tschierschke <mt smartdolphin.de> writes:
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/ :-)
Jul 14
prev sibling parent reply Adrian Matoga <dlang.spam matoga.info> writes:
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
Jul 21
parent reply Joakim <dlang joakim.fea.st> writes:
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&lang=gpp&id=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.
Jul 21
parent Seb <seb wilzba.ch> writes:
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&lang=gpp&id=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
Jul 21
prev sibling next sibling parent Enamex <enamex+d outlook.com> writes:
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.
Jul 14
prev sibling parent bpr <brogoff gmail.com> writes:
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.
Jul 14
prev sibling next sibling parent reply Moritz Maxeiner <moritz ucworks.org> writes:
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).
Jul 14
parent reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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.
Jul 14
next sibling parent Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
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).
Jul 14
prev sibling parent Moritz Maxeiner <moritz ucworks.org> writes:
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.
Jul 14
prev sibling next sibling parent reply Andrew Chapman <nycran gmail.com> writes:
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.
Jul 14
next sibling parent Moritz Maxeiner <moritz ucworks.org> writes:
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.
Jul 14
prev sibling parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
 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.
Jul 16
prev sibling next sibling parent Emil <emilper gmail.com> writes:
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 ;)
Jul 14
prev sibling next sibling parent reply aberba <karabutaworld gmail.com> writes:
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.
Jul 14
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
 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.
Jul 16
parent reply Joakim <dlang joakim.fea.st> writes:
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/utmwiveailhkouaeyisf 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.
Jul 16
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
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.
Jul 16
prev sibling next sibling parent reply Mark <smarksc gmail.com> writes:
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)
Jul 15
parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sat, 2017-07-15 at 11:22 +0000, Mark via Digitalmars-d wrote:
[=E2=80=A6]
=20
 Well, at one point Andrei said that what is missing to make D's=20
 growth explosive is a strong corporate sponser [1]. This seemed=20
 sensible to me at the time and still seems sensible today. But I=20
 don't know what (if anything) can be done to increase the=20
 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 ??? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t:+44 20 7585 2200 voip:sip: russel.winder ekiga.net 41 Buckmaster Road m:+44 7770 465 077 xmpp:russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype:russel_winder
Jul 15
next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Saturday, 15 July 2017 at 16:52:51 UTC, Russel Winder wrote:
 On Sat, 2017-07-15 at 11:22 +0000, 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&q=stars%3A>1&s=stars&type=Repositories
Jul 15
next sibling parent reply aberba <karabutaworld gmail.com> writes:
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?
Jul 15
next sibling parent Joakim <dlang joakim.fea.st> writes:
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/pjogugkxvvntleoqclef 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.
Jul 15
prev sibling next sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
 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...
Jul 16
next sibling parent solidstate1991 <laszloszeremi outlook.com> writes:
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.
Jul 19
prev sibling parent reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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.
Jul 20
next sibling parent porter <porter vk.ru> writes:
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.
Jul 20
prev sibling parent reply porter <porter vk.ru> writes:
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.
Jul 20
next sibling parent reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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?
Jul 20
parent porter <porter prime.com> writes:
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/
Jul 20
prev sibling parent porter <porter aol.com> writes:
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/bqlfknpsdetzoxuxrtte forum.dlang.org
Jul 22
prev sibling parent solidstate1991 <laszloszeremi outlook.com> writes:
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.
Jul 19
prev sibling parent Mark <smarksc gmail.com> writes:
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. :)
Jul 15
prev sibling parent Adam D. Ruppe <destructionator gmail.com> writes:
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.
Jul 15
prev sibling next sibling parent reply aedt <adnansignsup gmail.com> writes:
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.
Jul 22
next sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sat, 2017-07-22 at 13:27 +0000, aedt via Digitalmars-d wrote:
=20
[=E2=80=A6]
 Unless some miracle happens and makes the GC better by preventing=20
 stop-the-world, or gets rid of the GC, D will not get any more=20
 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 =E2=80=93 but without the= standard library. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t:+44 20 7585 2200 voip:sip: russel.winder ekiga.net 41 Buckmaster Road m:+44 7770 465 077 xmpp:russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype:russel_winder
Jul 22
next sibling parent Timon Gehr <timon.gehr gmx.ch> writes:
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.
Jul 22
prev sibling parent reply aedt <adnansignsup gmail.com> writes:
On Saturday, 22 July 2017 at 14:20:24 UTC, Russel Winder wrote:
 On Sat, 2017-07-22 at 13:27 +0000, 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
Jul 22
parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Sat, 2017-07-22 at 17:06 +0000, 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 +0000, aedt via Digitalmars-d wrote:
=20
=20 [=E2=80=A6] D without the GC isn't at all interesting, might as well use Go=20 in that case. So D only gets traction if it keeps a GC.
=20 Go people are also trying to make their GC pretty fast afaik https://news.ycombinator.com/item?id=3D12821586
I believe they are their third or fourth already. Java and Go development teams put a significant amount of effort into GC. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jul 23
parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Sunday, 23 July 2017 at 08:27:08 UTC, Russel Winder wrote:
 On Sat, 2017-07-22 at 17:06 +0000, 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&utm_medium=email
Jul 24
parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 2017-07-24 at 10:07 +0000, Ola Fosheim Gr=C3=B8stad via Digitalmars=
-
d wrote:
 [=E2=80=A6]
=20
 Those languages were of course designed within the restrictions=C2=A0
 of a GC to begin with too, but there seems to be a Go 2 language=C2=A0
 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=3Dgolangweekly&utm_medium=3Demail
=20
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 =E2=86=92 3 for an anti= - pattern, versus not allowing breaking changes, cf. the mess Java is in. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jul 24
parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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.
Jul 24
next sibling parent reply Ali <fakeemail example.com> writes:
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
Jul 24
next sibling parent Seb <seb wilzba.ch> writes:
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
Jul 24
prev sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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.
Jul 24
prev sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 2017-07-24 at 12:47 +0000, Ola Fosheim Gr=C3=B8stad via Digitalmars=
-
d wrote:
=20
[=E2=80=A6]
 Interestingly Dart is now moving towards static typing, as many=C2=A0
 of the current user Google users expect Java-like static=C2=A0
 predictability. So, one thing is what the language designers=C2=A0
 want, but maybe Google's own usage will take Go in another=C2=A0
 direction as well.
There is little traction in a browser-focused language that doesn't offer a massive USP over JavaScript/ECMAScript =E2=80=93 typing is the only= USP over ES6 that has any chance really. Elm, Kotlin, Ceylon, etc. are already populating the market. I suspect Dart will have little hope for traction now. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jul 25
next sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
On Tuesday, 25 July 2017 at 10:27:43 UTC, Russel Winder wrote:
 There is little traction in a browser-focused language that 
 doesn't offer a massive USP over JavaScript/ECMAScript – typing 
 is the only USP over ES6 that has any chance really. Elm, 
 Kotlin, Ceylon, etc. are already populating the market. I 
 suspect Dart will have little hope for traction now.
Well, most languages have little hope for traction :-). Traction comes predominantly from specific use cases, so it all depends on whether Google is going to push Dart as a cross platform programming language with flutter.io and how it is used internally at Google. I think they use it for their Google Ads software, so I guess it currently is quite important for them. Anyhow, my point was more that Google's actual usage and needs might affect where Go 2 heads if we judge by Dart has evolved over time. I assume that the initial design of Go and Dart was more based on designe aesthetics, and that actual demand will drive the evolution if they are used extensively internally at Google...
Jul 25
prev sibling parent Neia Neutuladh <neia ikeran.org> writes:
On Tuesday, 25 July 2017 at 10:27:43 UTC, Russel Winder wrote:
 There is little traction in a browser-focused language that 
 doesn't offer a massive USP over JavaScript/ECMAScript – typing 
 is the only USP over ES6 that has any chance really. Elm, 
 Kotlin, Ceylon, etc. are already populating the market. I 
 suspect Dart will have little hope for traction now.
While Elm and Kotlin get a decent amount of press, Dart is scoring well on Github and TIOBE.
Jul 25
prev sibling parent reply Moritz Maxeiner <moritz ucworks.org> writes:
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.
Jul 22
parent reply Ali <fakeemailadress example.com> writes:
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
Jul 22
parent Moritz Maxeiner <moritz ucworks.org> writes:
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
Jul 22
prev sibling parent reply Bienlein <jeti789 web.de> writes:
 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.
Jul 25
parent reply Wulfklaue <wulfklaue wulfklaue.com> writes:
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...
Jul 26
next sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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?
Jul 26
prev sibling next sibling parent reply kinke <noone nowhere.com> writes:
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.]
Jul 26
parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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…
Jul 26
parent reply Ali <fakeemail example.com> writes:
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
Jul 26
next sibling parent Ali <fakeemail example.com> writes:
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"
Jul 26
prev sibling parent reply Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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…
Jul 26
parent reply kinke <noone nowhere.com> writes:
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.
Jul 26
parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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.
Jul 27
prev sibling parent Bienleine <ffm2002 web.de> writes:
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.
Jul 29