Re: A strategic vision for D

2018-05-07 Thread David J Kordsmeier via Digitalmars-d

On Monday, 7 May 2018 at 10:27:32 UTC, Joakim wrote:

On Saturday, 5 May 2018 at 04:59:58 UTC, germandiago wrote:

On Tuesday, 1 May 2018 at 12:26:25 UTC, Joakim wrote:

[...]


My 2 cents. I have been following D for a long time and 
started using it in a very small project. I am a very long 
term C++ user.


[...]


Interesting analysis.  These are pretty much the points of 
technical and marketing emphasis today, so it appears the 
current message resonated with you.


However, I was talking about more from the point of which 
markets D would target first, ie the types of end users who'd 
use D, whether game programmers or compiled GUI apps. So far 
D's gained some traction at startups that need performance.


One issue with the current approach is that they seem to 
implicitly assume that D needs to match or surpass C and C++. 
Can't disagree with the betterC approach as that's really 
needed, but I'm not sure if D should want to be a better C++. 
Certainly app devs don't really care about @nogc and the 
current systems programming emphasis aimed at C++ devs like you.


My point is that whatever that strategy is should be clearly 
articulated, or you may even undermine yourself by not thinking 
through carefully what your goals are.


Great marketing beats great tech (sadly), but we are creatures 
subject to social influence and that which is shiny.


Who actually runs marketing for Dlang?  Is it the foundation, 
collective cooperation, or ?  Does Dlang have what it needs to be 
successful in this category in terms of financial resources, 
expertise, and focus?


As an aside, this was the original marketing for Node.js, in the 
years before it was acquired by Joyent: http://tinyclouds.org/ .  
In a single year, it caught fire (that is, it became wildly 
successful) because it had a strong BDFL (who was not a dictator, 
and who stepped down as soon as it made sense to do so, and he 
took on some messianic stature as a result), strong technical 
merits, a clear focused message of where it fit in the market, 
and it met a need.  In fact, it met many more needs than 
intended, widely used in both cloud and embedded type 
applications.  8 years on from moving the project into the hands 
of a corporate sponsor, through much controversy over governance 
and some community strife, forks, etc., it's doing well in the 
hands of a foundation: https://foundation.nodejs.org/ .


From a market focused perspective there is the technology itself 
in one bucket, and then there is the adoption by enterprise.  
Certain things have to happen for enterprise adoption to actually 
take place.  If we follow the pattern of what happened for Go or 
Node.js, we can boil those down to execution of certain tangibles:


- Project is well documented
- Project is available under favorable OSS license (I won't get 
into what favorable means, but for corporations, they have their 
preferences)

- Project has a good toolchain and tools support
- Project has a good IDE integration
- Project has good sample applications built, lots of good 
examples
- Project has a strong and active community of developers with 
the appropriate mix of core contributors, external contributors, 
experts, casual users, and people evaluating possible use

- Project has strong technical merits
- Project has strong market differentiators (this may require 
real marketing to get this down on paper and promote this)
- Project has commercial support available (training, bug fixing, 
development)
- Project has an academic community (this often helps seed use in 
Universities), and students eventually grow up to work for 
enterprise corporations
- Project has corporate sponsors (or foundation sponsors ... they 
are really representing corporations)
- Project has a sustainable model (legal, financial) to maintain 
its community, engineering, and marketing.

- Project has multiple big projects that rely upon it

Grade Go, Rust, and Node.js on this list above.  Where are they 
at on each item?  Grade Dlang on this.  We still have some work 
to do.  What companies offer commercial support in D?  Are there 
any Dlang focused agencies out there?  How many projects are 
using Dlang commercially?  Who are the corporate sponsors of 
Dlang?  Again, I think much of this comes back to that marketing 
message.  What is the unique selling proposition.  Define that.  
Then conquer the world.





Re: D vs nim

2018-05-03 Thread David J Kordsmeier via Digitalmars-d

On Friday, 10 April 2015 at 21:26:35 UTC, bachmeier wrote:

On Friday, 10 April 2015 at 18:52:24 UTC, weaselcat wrote:
The only things I've read about nim have been on the D forums 
- it seems the wikipedia article is even being considered for 
deletion due to not being noteworthy. So I think you might 
have trouble finding any comparisons.


Read the comments sections on other languages on Reddit 
programming and you'll see their spam all over the place.


I've never used Nim (and don't plan to because I've been turned 
off by their constant spamming of comment threads on Reddit) 
but the numerous comments I've seen repeatedly indicate that 
Nim is not yet ready for real use.


This is a fair set of critiques as far as the spamming goes.  The 
NIM project founder is sort of a one person show in development 
and promotion.  I wouldn't say it is not ready for real 
(commercial) use without being objective, as you have to really 
characterize what those requirements are.  If one considers 
commercial criteria to be something like: toolchain quality, IDE 
support, documentation, platform support, sustainable community, 
fair licensing terms, significant technical merits, actual 
adoption in the enterprise or research community, and commercial 
support available.  I'd agree that if your graded NIM across 
these criteria, it doesn't score high.  What impresses me about 
it are the technical merits, platform support, and its toolchain.


Disclosure, I did actually use NIM before posting.  I wrote a 
module called huenim which handles basic Philips HUE 
communication.  I found the experience to be a mixed bag.  I was 
impressed that the project lead of NIM was available to help me 
in my struggles around UPnP.  But there just is not enough great 
documentation with sample code, at the level I like when I am 
picking up a new language.  The syntax bothers me, but that's 
just my own issue with too many years of Java and C.  Another 
thing that really impressed me was how easy it was to bootstrap 
the language on an ARM device, particularly AARCH64.  The total 
runtime size is small as well.  Would I use it for my company?  
Yes.  Is there risk in doing this?  Yes.  Hard to recruit NIM 
coders.  Hard to know what is the long term sustainability of the 
NIM community and project as a whole.


I still would say that on the ready for "real" commercial use, D 
would get a much higher grade on more categories.


Re: D on AArch64 CPU

2017-10-20 Thread David J Kordsmeier via Digitalmars-d-learn
On Thursday, 10 August 2017 at 07:00:55 UTC, David J Kordsmeier 
wrote:
On Wednesday, 9 August 2017 at 08:37:53 UTC, Johannes Pfau 
wrote:


Iain recently updated GDC & phobos up to 2.074 and we have a 
pull request for 2.075. So don't worry about fixing old GDC 
phobos/druntime versions, recent gdc git branches should 
already have AArch64 phobos changes.


We have a test runner for AArch and GDC master here: 
https://buildbot.dgnu.org/#/builders/2/builds/29


There are still some failing test suite tests though and 
AFAICS we currently don't build phobos on that CI at all.


(We can run ARM/AArch tests without special hardware, thanks to
QEMU's user mode emulation)

-- Johannes


Thanks both for the reply.   I'll be interested to try both gdc 
and the ldc cross compiler options.


BTW - I randomly decided to check on the latest status of builds 
today, to see if by chance AARCH64 is passing the buildbot tests 
run for GDC.  Pleased to find, that actually as of four days ago, 
it is passing:


https://buildbot.dgnu.org/#/builders/2/builds/45/steps/3/logs/stdio

Looking forward to jumping back into D.


Re: D on AArch64 CPU

2017-08-10 Thread David J Kordsmeier via Digitalmars-d-learn

On Wednesday, 9 August 2017 at 08:37:53 UTC, Johannes Pfau wrote:


Iain recently updated GDC & phobos up to 2.074 and we have a 
pull request for 2.075. So don't worry about fixing old GDC 
phobos/druntime versions, recent gdc git branches should 
already have AArch64 phobos changes.


We have a test runner for AArch and GDC master here: 
https://buildbot.dgnu.org/#/builders/2/builds/29


There are still some failing test suite tests though and AFAICS 
we currently don't build phobos on that CI at all.


(We can run ARM/AArch tests without special hardware, thanks to
QEMU's user mode emulation)

-- Johannes


Thanks both for the reply.   I'll be interested to try both gdc 
and the ldc cross compiler options.


Re: D on AArch64 CPU

2017-08-06 Thread David J Kordsmeier via Digitalmars-d-learn

On Sunday, 14 May 2017 at 15:05:08 UTC, Richard Delorme wrote:
I recently bought the infamous Raspberry pi 3, which has got a 
cortex-a53 4 cores 1.2 Ghz CPU (Broadcom). After installing on 
it a 64 bit OS (a non official fedora 25), I was wondering if 
it was possible to install a D compiler on it.




Richard, I would be interested in working through the GDC issues 
further with you if you haven't completely given up on this.  I 
am surprised the response is that there is still no official 
support.  I am struggling on nearly every project I have on 
aarch64 with really lagging support for a wide variety of 
software, mainly platform support in more complex builds that 
does not include aarch64, and clearly the compilers all need more 
core level work to bring up a language and programming toolchains 
in a new environment.  I think Go, for example, isn't fully 
supported on aarch64, and Rust has the same issue.


If you are still available, I would like to share notes on the 
GDC 6.3 work that you started, and see if we can work through the 
issues with the core team.  I realize there is probably some lack 
of visibility into the interest that exists in the ARM-embedded 
area for D, but I've been using gdc on ARM since 2014.  It has 
been reasonably good for me, however, with the migration of many 
device manufacturers to AARCH64, most notably the Raspi3 and all 
of the hordes of Android devices hitting the market, there is a 
substantial installed base.


I can commit some hardware to builds also, and have some contacts 
in the industry around arm stuff, so it shouldn't be hard to find 
more dedicated gear if this helps teams like the GDC team who may 
not have access to gear to even run nightly builds.


Honestly, I stopped using D when I ran into this issue, was 
hoping, as you, that "someone should fix this".  However, that's 
not how good OSS works, and I'm willing to put some cycles on it 
if there is a way forward.  At the time, I had to make some fast 
decisions and opted to rewrite my code base in C.  I look forward 
to hearing from you and anyone else interested in working 
on/contributing to this topic.


Also, why I don't look at LDC further, I think RAM on the 
embedded devices is still pretty skimpy, Raspi3 only has 1GB ram. 
 It's not great for compiling with the LLVM-based things and 
probably run OOM.  Other devices I have only have 512MB ram.  So 
gcc is usually fine in these circumstances.