Re: Questionnaire

2017-02-16 Thread rumbu via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language


No, my company does not use D.



2. Does your company uses C/C++, Java, Scala, Go, Rust?


C#, C++, Java - ordered by %usage



3. If yes, what the reasons to do not use D instead?


- no decimal data type;
- no i18n;
- no GUI;
- IDE support;
- lack of "batteries included" experience;


We are following D for long time. The initial idea was "Look, 
ma', there is something like C# that compiles to native". Once 
Tango (which looks a lot like C# standard library) was dropped 
and was replaced by phobos, my team lost the interest, I'm the 
only one right now using D for pet projects.




2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice



Most of the apps we develop are in the financial domain. Didn't 
find any use.


3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.


4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount

5. What D misses to be commercially successful languages?


- IDE;
- IDE;
- IDE;



6. Why many topnotch system projects use C programming language 
nowadays?




I truly don't know.


Thanks,
Ilya





Re: Questionnaire

2017-02-15 Thread Arun Chandrasekaran via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language


We don't use D. But IMO, D is the best PL with it's amazing 
compile time features (templates, templates everywhere and still 
it can be maintainable).



2. Does your company uses C/C++, Java, Scala, Go, Rust?


C, C++, C#, Java


3. If yes, what the reasons to do not use D instead?


1. For algorithms: We develop biometric algorithms and create 
shared objects and DLLs. We need these to be used on variety of 
platforms interfacing with various languages like C++, C#, Java, 
Go. D makes it impossible to convince teams that develop 
algorithms.


2. For applications/solutions: An year ago we evaluated D (to 
replace C++) for one of our large scale distributed solution 
(map-reduce for biometrics). But ended up developing it in C++ 
for the following reasons:
a) Lack of high quality libraries like Boost/Qt. With the 
horrible template syntax of C++, people created Boost and helped 
shape C++ what it is now. D is pleasant to program with and I'm 
wondering why there is no such comprehensive set of libraries in 
D.
b) GC. We fill pretty much the entire RAM (>=128 GB) with data 
and operate on it. The end-to-end system latency must be in 
milliseconds and also provide high throughput. Not really an 
option with D's current state of GC.

c) IDE support.
d) We have already got used to the warts of C++, Java and we know 
how to avoid them. It is fair for us to ask the team to learn D, 
but not *ignore X and get used to it* as well.


D tries to compete and satisfy all paradigms (recently trying to 
catch-up with Rust's safety feature) which is good from a 
language point of view. But it could also focus on fixing it's 
base.



2. Have you use one of the following Mir projects in production:


No.

4. Have you use one of the following Tamedia projects in your 
production:


No.


5. What D misses to be commercially successful languages?


a) Good quality libraries
b) Cross platform IDE
c) Corporate backup
c) Vibrant community. IMHO, the lack of good quality libraries 
can be directly attributed to the lack of critical mass of 
topnotch brains in the community.


6. Why many topnotch system projects use C programming language 
nowadays?


a) Good quality libraries
b) Small run-time
c) Cross platform IDE
d) People are already familiar with C/C++


Re: Questionnaire

2017-02-12 Thread Xavier Bigand via Digitalmars-d-announce

Le 08/02/2017 à 19:27, Ilya Yaroshenko a écrit :
I can answer for the product on which I am working (Home Design 3D), 
others are video games made with Unity which is imposed by the editor.


On Home Design 3D the development teams have the choice of technologies 
to use, but we have to convince our boss. There is an history, any 
developer on previous teams knows the D language, we are now 2 on 6 that 
having few basics.



1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some tasks then
with any other system language



We don't use D.


2. Does your company uses C/C++, Java, Scala, Go, Rust?


C++11, other languages as Java or objective-C can be used for OS 
specifics (Android and iOS).




3. If yes, what the reasons to do not use D instead?


There is a lot of obstacles to migrate to D or at least using it 
partially in our product or for tools.

Here is the list sorted by difficulties:
1. The team isn't enough familiar with the D language
2. It seems too hard to use it with our actual C++ dependencies 
(QtQuick, boost geometry, and a lot of other C/C++ libraries)
3. We don't have enough feedback on how it can be used on all our 
targeted platforms (Android, iOS, Windows x86 and x64, MacOS)
4. Due to some differences with the c++ major refactoring will be 
necessary after a translation to have the same performances (GC will 
impact a lot the resources management)
5. The quality of the possible integration with a complete production 
ecosystem is unknown.

  IDE : Debugging, refactoring
  Platforms : Compatibility with Stores (and there tools such as crash 
reporting,...)
6. D isn't as mature as C++, so there is fewer articles on internet that 
can help on particular subjects. And no body will give code examples in 
D, so even for test we would have to port it. This will globally impact 
the productivity.




2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice



Nop


3. If Yes, can Mir community use your company's logo in a section "Used
by" or similar.

4. Have you use one of the following Tamedia projects in your production:

  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount

5. What D misses to be commercially successful languages?


I think that it start with a bigger adoption, but it can be addressed 
directly, so it have to easy to take into. IMO documentation IDE 
friendly-ness,... will help newbie to start.
After tools necessary to have stable and effective products are 
critical, debugger (code and memory), profiler,... On this point to IMO 
the ergonomic is important (not every developer want to use command line 
and a lot would prefer UI).


I also think that it depends who is the target, because Java developers 
will be certainly more reticent to come to D if tools don't have good UI 
than C/C++ developers that works mostly under linux.


Personally I develop only under Windows and having a great integration 
between D tools with UI is one of the most important thing. I want an 
IDE that is ready for use after installation, with dub integrated, unit 
tests UI, compilers and debuggers configured and ready for cross 
compilation.




6. Why many topnotch system projects use C programming language nowadays?


IMO the fact that C is one of the first language helps a lot, languages 
that came after few or any are system languages.
I find that C/C++ didn't evolve a lot for many years and it start to 
come better with C++11, 14 and 17. Maybe D have put some pressure.


I don't know a lot of languages but I think that D have the potential to 
be a much better system language than C++, and it should be else nobody 
will migrate if the win isn't enough.




=

All my current D project are finished. Probably I will use other
languages for production this year, Java/Go/whatever. Mir libraries are
amazing and good quality. If you use them this would be a good
motivation for us to improve the docs and provide regular updates. Plus,
it can be enchanted during the GSoC 2017.

Thanks,
Ilya





Re: Questionnaire

2017-02-11 Thread Igor Shirkalin via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. a + d + new projects
2. C++ + Python
3. Beacause of D strength with LDC

4. Have you use one of the following Mir projects in production:
  No. The lack of numeric methods. To Ilya personally: if you try 
to realize primitive and fast Gauss you see you don't need 
anything from Mir. It is good work for diplom work.

...
5. What D misses to be commercially successful languages?
IDE only. But I have found Visual D pretty enough. D reminds me 
Watcom C++. Debugging tools are for loosers :)

...


Igor Shirkalin


Re: Questionnaire

2017-02-11 Thread aberba via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language



A.
My on the way to be legalized personal (dictatorship :) ) 
business is using D and vibed. I'm developing a platform like 
pinterest but different audience (local). I'm in Ghana (West 
Africa) so I bearly know any D coder. It did not use php (the 
short path) for long term performance and clean code base...  D 
is just the right tool for it. I'm more of a practical coder 
(immediate solution) than GC, @safe, betterC advocate.

2. Does your company uses C/C++, Java, Scala, Go, Rust?


Nope. Not interested

3. If yes, what the reasons to do not use D instead?

2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice

3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.



Not having need for any of them ATM.
4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount

No. You were maintaining the s3 lib which is now frozen. But 
that's my take. Performance is tomorrow's problem.

5. What D misses to be commercially successful languages?

To me, is not the technical detail but what I can do with it. Its 
libs. Image and video processes, storage apis (minio, s3, swift, 
etc.), db libraries. Real-world everyday problems.
6. Why many topnotch system projects use C programming language 
nowadays?


=

No comment


All my current D project are finished. Probably I will use 
other languages for production this year, Java/Go/whatever. Mir 
libraries are amazing and good quality. If you use them this 
would be a good motivation for us to improve the docs and 
provide regular updates. Plus, it can be enchanted during the 
GSoC 2017.



Lack of An improved and tested s3 compatible api is much the deal 
breaker at the moment for me. Object storage (cloud) is the way 
forward. Docker, k8s, etc. are all the driving forces. S3 being 
the pioneer in object storage has moved most of them to support 
s3 apis (Minio for instance is a driving force for using Go lang 
in containerized storage and computing.).


I rather urge community to focus [some] attention on everyday 
demands. And take them by storm with D. Its not a lang problem 
... JavaScript is top cus its useful (not efficient).


Thanks,
Ilya





Re: Questionnaire

2017-02-11 Thread Dmitry Olshansky via Digitalmars-d-announce

On 2/11/17 5:04 AM, bachmeier wrote:

On Friday, 10 February 2017 at 23:02:38 UTC, Dmitry Olshansky wrote:

Go - they value simplicity and robust run-time (Go's GC breaks news
with sub-milisecond pauses on large heaps). The sheer complexity of D
is enough for it to be a hard sell, D's GC is coup de grace.


I have never understood the appeal of Go. With respect to the GC,
there's this:
https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e#.o6pxesvuw



Has nothing new to say, yes GO's GC fragments heap, is slower at 
allocation and adds "read/write barriers from hell". But it does 
optimize for short pauses, which in turn avoids ugly spikes in server 
workloads and that is priceless. I have had the pleasure of trying to 
"tune away" the GC spikes of Java cluster software - it's not pleasant.




With respect to "simplicity", I found it to be easy to learn a language
that makes it hard to get stuff done. I've never understood the argument
that programming in Go is simple. Clearly others have their own view.


I agree with your view on this one. Go puts both advanced and novice 
programmers on the same ground - both have to write dumb code with 
little to no abstraction. In my limited time with Go I found it futile 
to abstract away even the most trivial patterns such as map-reduce with 
concurrency.


---
Dmitry Olshansky


Re: Questionnaire

2017-02-10 Thread bachmeier via Digitalmars-d-announce
On Friday, 10 February 2017 at 23:02:38 UTC, Dmitry Olshansky 
wrote:
Go - they value simplicity and robust run-time (Go's GC breaks 
news with sub-milisecond pauses on large heaps). The sheer 
complexity of D is enough for it to be a hard sell, D's GC is 
coup de grace.


I have never understood the appeal of Go. With respect to the GC, 
there's this: 
https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e#.o6pxesvuw


With respect to "simplicity", I found it to be easy to learn a 
language that makes it hard to get stuff done. I've never 
understood the argument that programming in Go is simple. Clearly 
others have their own view.


Re: Questionnaire

2017-02-10 Thread Dmitry Olshansky via Digitalmars-d-announce

On 2/8/17 7:27 PM, Ilya Yaroshenko wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some tasks then
with any other system language



Will probably stop on this question as the rest is not applicable.
I do not use D at my company and the reason is that any language to get 
a use need to pass stringent sorting criteria that I don't even 
appreciate fully. The language that have green light I believe are


C++, Go, Java, Python (under heavy pressure to switch to Go)

Anyhow when trying to sell D to any company the only case I can make a 
good offer is having these attributes:


1) It's a new project, not extension of an existing behemoth code base
2) Fairly unique - i.e. cannot be just a bunch of existing libraries 
glued together with some business logic.

3) Needs native performance at least in some areas of the project.

Now let's imagine a company considers technology X and I want to propose 
D instead. Let's look at possibilities:


C++ - they are not afraid of creating their own stack and 
performance-minded. This is probably the only case where selling D is 
easy. However these days selling them Rust would be much easier.


Rust - they value native speed, safety and afraid of GC. D's state of GC 
would only confirm their fears and D's safety is mostly opt-in/ relies 
on GC/not supported enough.


Java - they love VM safety and GC, most likely invested in Java 
ecosystem. Here the better sell would be Scala or Kotlin etc.


C# - they are probably hooked on MS technology and tooling 
(VisualStudio). The current state of D's IDE will make them cry like 
little babies, no selling here.


Go - they value simplicity and robust run-time (Go's GC breaks news with 
sub-milisecond pauses on large heaps). The sheer complexity of D is 
enough for it to be a hard sell, D's GC is coup de grace.


Scripting languages - they don't care for elaborate type systems and 
willing to trade performance for flexibility. Selling easy templates to 
them is like giving candies to kids with diabeties. Trying to lure with 
performance hits a brick wall because e.g. NodeJS/LuaJIT have fast JITs 
already and they don't care going beyond that level.


---
Dmitry Olshansky


Re: Questionnaire

2017-02-10 Thread Guillaume Piolat via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses D?


The only other real alternative (everyone using it) in my field 
was C++, and I have worked in a variety of C++ codebases. For me 
it's not a productive language and lead to inflexible programs 
that I don't even like. However, this is subtle enough that you 
don't see it while on the job.


Was it risky to choose D? I don't think so, especially when the 
less risky choice is costing precious productivity day to day.




2. Does your company uses C/C++, Java, Scala, Go, Rust?


Only D. I fear of becoming monoglot programmer. :)



3. Have you use one of the following Mir projects in production:
4. Have you use one of the following Tamedia projects in your 
production:


Nope.



5. What D misses to be commercially successful languages?


Targetting iOS or Web would be nice.

Other than that, I think we need to "reframe" the competition who 
easily took a moral high-ground against us (not mentionning D, 
saying it's old, etc) and repeat our key advantages: D is 
productive, fast, already there (no vapor) and you _kind of 
already know it_(yeah, kind of). Being familiar is key to cater 
to C++ people - a difficult and busy audience.


Rust has convinced people that they don't want a GC, it is the 
most common argument against D. _It does not make any goddamn 
sense_ considering the number of real-time systems with no GC 
problem.


So why people don't even think they could try D? I think it 
really is a cool kid thing, D should present itself as evergreen, 
and not an "old" thing.




6. Why many topnotch system projects use C programming language 
nowadays?


Because of when they were created?
Those that haven't been replaced by topnotch systems in C++ (and 
in language X later, hopefully X = D).





Re: Questionnaire

2017-02-10 Thread Claude via Digitalmars-d-announce

1. Why your company uses  D?


My company does not use D. If I had the time, I really think I 
could integrate D into our build system, probably forcing it a 
bit: "Oh and by the way, that new library I wrote happens to be 
written in D..." (We have Vala in our build system, how worse 
could it be?).


I use it for personal projects.


2. Does your company uses C/C++, Java, Scala, Go, Rust?


We use C/C++/assembly for system stuff. And Java for Android 
applications. We run Linux or Android on ARM embedded systems.



3. If yes, what the reasons to do not use D instead?


Nobody knows about D. Most system developers use C here, half of 
them don't like C++ and scorn Java. And most of them don't know 
about D apart from my close colleagues which probably must hate 
it without having even used it, just because I always bring it up 
in any unrelated conversation at lunch.



2. Have you use one of the following Mir projects in production:


No, but it could be very useful for DSP routines. I hope Mir (and 
D) to have the success it deserves.


4. Have you use one of the following Tamedia projects in your 
production:


No.


5. What D misses to be commercially successful languages?


I don't know, I'm not a sales-person at all.
I also like D because it's got that "made by developers for 
developers" thing. I'm an idealist, I'd prefer D to be successful 
because of its cheer intrinsic value as a programing language, 
rather than because we throw big money at it.


6. Why many topnotch system projects use C programming language 
nowadays?


For history reasons. And because of its simplicity (and tooling 
etc), and its "system" trait.
I don't buy the "C compiles bugs" argument. Every languages in 
the world produce bugs [1].


I noticed the hardest and most insiduous bugs could always be 
avoided if the software was more carefully designed upfront, 
especially for real-time or concurrent software.


I use C a lot, it's my favorite language with D, though I'm not a 
proselyte. I use C++ only as "C with class".


[1] http://jonathanwhiting.com/writing/blog/games_in_c/


Re: Questionnaire

2017-02-09 Thread Nicholas Wilson via Digitalmars-d-announce

On Thursday, 9 February 2017 at 17:28:47 UTC, jmh530 wrote:
I would probably say libraries is most important. Mir is a 
great advance. I've been applauding your work all the way 
through. There are two things that I think Mir needs most (and 
we've talked about them before as things you were thinking 
about) and then a third is a nice-to-have

1) A higher level layer with more convenient syntax for Mir-Glas
2) Lapack support (eigenvalues, svd, & cholesky/qr 
decompositions)
3) D compute support (would be nice to easily offload big 
computations to GPU)


number 3 is in the pipeline. LDC should be able to produce .ptx 
and .spv (the intermediate formats for CUDA and OpenCL 
respectively, with host code all at the same time!) RealSoon™ (I 
hope by the end of the month).


From there it's all just plain D API bashing, which will be 
easily automated with .mangleof and templates.


I am hoping to give a DConf talk about this.


Re: Questionnaire

2017-02-09 Thread bachmeier via Digitalmars-d-announce

On Thursday, 9 February 2017 at 18:38:32 UTC, John Colvin wrote:

On Thursday, 9 February 2017 at 18:34:44 UTC, bachmeier wrote:

On Thursday, 9 February 2017 at 17:28:47 UTC, jmh530 wrote:


Other stuff I would find useful:
1) R integration (I know someone's done work on this, but 
it's hard to find and I don't remember if it works on 
Windows. Really just needs a champion)


Me. The latest version is here: 
https://bitbucket.org/bachmeil/embedr


It's Linux-only because that's all I know or use. Others that 
I work with use it on Windows and OS X trivially with Docker, 
but for someone that understands development on those OSes, it 
shouldn't take much to get it working natively. Everything is 
handled internally by the R package manager, and the package 
itself has functions to take care of all steps for compilation.


I don't promote it because I don't have time to run an open 
source project properly. However, I am happy to help in any 
way if someone else wants to use it. I am flexible on the 
license, so that's not an issue.


There's a possibility of some commercial need for R <-> D where 
I'm working, so hopefully we'll be able to help here.


I believe you have my email address. Send me a message if 
something comes up.


I redid everything a few months ago, so if you looked at an 
earlier version, this is much improved. Getting it to work on 
Windows/OS X or integrating Dub is something that can be done in 
an afternoon by someone with the appropriate background.


Re: Questionnaire

2017-02-09 Thread John Colvin via Digitalmars-d-announce

On Thursday, 9 February 2017 at 18:34:44 UTC, bachmeier wrote:

On Thursday, 9 February 2017 at 17:28:47 UTC, jmh530 wrote:


Other stuff I would find useful:
1) R integration (I know someone's done work on this, but it's 
hard to find and I don't remember if it works on Windows. 
Really just needs a champion)


Me. The latest version is here: 
https://bitbucket.org/bachmeil/embedr


It's Linux-only because that's all I know or use. Others that I 
work with use it on Windows and OS X trivially with Docker, but 
for someone that understands development on those OSes, it 
shouldn't take much to get it working natively. Everything is 
handled internally by the R package manager, and the package 
itself has functions to take care of all steps for compilation.


I don't promote it because I don't have time to run an open 
source project properly. However, I am happy to help in any way 
if someone else wants to use it. I am flexible on the license, 
so that's not an issue.


There's a possibility of some commercial need for R <-> D where 
I'm working, so hopefully we'll be able to help here.


Re: Questionnaire

2017-02-09 Thread bachmeier via Digitalmars-d-announce

On Thursday, 9 February 2017 at 17:28:47 UTC, jmh530 wrote:


Other stuff I would find useful:
1) R integration (I know someone's done work on this, but it's 
hard to find and I don't remember if it works on Windows. 
Really just needs a champion)


Me. The latest version is here: 
https://bitbucket.org/bachmeil/embedr


It's Linux-only because that's all I know or use. Others that I 
work with use it on Windows and OS X trivially with Docker, but 
for someone that understands development on those OSes, it 
shouldn't take much to get it working natively. Everything is 
handled internally by the R package manager, and the package 
itself has functions to take care of all steps for compilation.


I don't promote it because I don't have time to run an open 
source project properly. However, I am happy to help in any way 
if someone else wants to use it. I am flexible on the license, so 
that's not an issue.


Re: Questionnaire

2017-02-09 Thread jmh530 via Digitalmars-d-announce

On Thursday, 9 February 2017 at 16:33:18 UTC, bachmeier wrote:
Make extensions that others can use within their current 
workflow, and they will use it. Leave it as a Dub package and 
they won't touch it. You've done a lot of good work, but it's 
kind of a dead end to target the standalone D program market 
right now.


+1!




Re: Questionnaire

2017-02-09 Thread jmh530 via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language




I'm the only person I personally know who uses D. I mainly use it 
for personal projects. I like it because the other languages I 
more often use, like R or Python, are just not sufficient for 
some purposes. I've tried C++, but I like D a lot more.



2. Does your company uses C/C++, Java, Scala, Go, Rust?



Not my group, but I imagine other parts.


3. If yes, what the reasons to do not use D instead?

2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice



Not in production, but in personal projects.



5. What D misses to be commercially successful languages?



I would probably say libraries is most important. Mir is a great 
advance. I've been applauding your work all the way through. 
There are two things that I think Mir needs most (and we've 
talked about them before as things you were thinking about) and 
then a third is a nice-to-have

1) A higher level layer with more convenient syntax for Mir-Glas
2) Lapack support (eigenvalues, svd, & cholesky/qr decompositions)
3) D compute support (would be nice to easily offload big 
computations to GPU)


Other stuff I would find useful:
1) R integration (I know someone's done work on this, but it's 
hard to find and I don't remember if it works on Windows. Really 
just needs a champion)

2) Stan (http://mc-stan.org/) interface


=

All my current D project are finished. Probably I will use 
other languages for production this year, Java/Go/whatever. Mir 
libraries are amazing and good quality. If you use them this 
would be a good motivation for us to improve the docs and 
provide regular updates. Plus, it can be enchanted during the 
GSoC 2017.




I agree on GSOC 2017, but you should provide some sort of 
guidance or support. I hope Mir gets more attention!


Re: Questionnaire

2017-02-09 Thread bachmeier via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice


I wasn't going to comment, since I'm not part of the target 
group, but I have enough familiarity with commercial usage to 
give you an answer to this question.


Why would someone in an "enterprise" situation want to use Mir? 
If you create a nice R package to make Mir functionality 
available to Rcpp users, and you provide new functionality not 
currently available in other R packages (with good performance to 
boot), you will see commercial usage. But it has to be a package 
they can install from CRAN/Github/Bitbucket using the R package 
manager. They're not going to mess around with Dub.


The same is true for Matlab/Octave/Python. Make extensions that 
others can use within their current workflow, and they will use 
it. Leave it as a Dub package and they won't touch it. You've 
done a lot of good work, but it's kind of a dead end to target 
the standalone D program market right now.


Re: Questionnaire

2017-02-09 Thread Paulo Pinto via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language





My company doesn't use D.


2. Does your company uses C/C++, Java, Scala, Go, Rust?


My company uses what the customers ask for, we don't get to 
choose that much.


iOS projects - Objective-C, Swift

Java projects - Java, Scala, Clojure

Windows projects - C#, VB.NET

Web Projects - JavaScript on frontend with a Java or .NET stack 
on backend


Android projects - Java

Hybrid development across iOS and Android - Cordova, Ionic

Traversal to all projects, C++ as infrastructure language for 
performance reasons or integration of C and C++ libraries.




3. If yes, what the reasons to do not use D instead?


Customers don't ask for it on their RPF to allow its use.



2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice



No, as they don't follow on the typical enterprise computing 
projects we work on.


3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.


4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount


No, I wasn't aware of their existence.



5. What D misses to be commercially successful languages?


A GC that can compete with Java and .NET ones.

The IDE tooling at the same level of the InteliJ and Visual 
Studio.


Above all,  a killer project that makes customers ask us about 
employees with D skils. As an example, Docker and Kubernetes 
success means our devops guys are slowly improving their Go 
skills in the newly introduced internal training.




6. Why many topnotch system projects use C programming language 
nowadays?


Due to existing tooling, libraries and that for many companies 
using a managed language + C, is good enough and allows for 
cheaper developers.


Also many developers born after memory safe system languages lost 
the market to UNIX + C, think that C was the first one to exist 
for system programming.




=

All my current D project are finished. Probably I will use 
other languages for production this year, Java/Go/whatever. Mir 
libraries are amazing and good quality. If you use them this 
would be a good motivation for us to improve the docs and 
provide regular updates. Plus, it can be enchanted during the 
GSoC 2017.


Thanks,
Ilya





Re: Questionnaire

2017-02-09 Thread Mike via Digitalmars-d-announce

On Thursday, 9 February 2017 at 10:38:11 UTC, Johannes Pfau wrote:


But OTOH I'm an electrical engineer as well ;-)


Haha! Then this 
(https://www.youtube.com/watch?v=D7Sd8A6_fYU&feature=youtu.be&t=2389) is for you ;-)


"What we know is that C code will compile all sorts of bugs, more 
so than most languages, and C programmers know this and accept 
this.  This is the world that they live in.  So it breeds a very 
unfortunate mindeset which is:  'Let's just get the code to 
compile so we can get to the real work which is debugging.'" -- 
Dan Saks


But you're right, C++ is a very complex language and can easily 
turn into a monstrosity if not done tastefully.


Mike




Re: Questionnaire

2017-02-09 Thread Johannes Pfau via Digitalmars-d-announce
Am Wed, 08 Feb 2017 21:41:24 +
schrieb Mike :

> On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
> wrote:
> > 1. Why your company uses  D?  
> 
> We don't use D.
> 
> > 2. Does your company uses C/C++, Java, Scala, Go, Rust?  
> 
> C/C++.  Currently exploring Rust.
> 
> > 3. If yes, what the reasons to do not use D instead?  
> 
> * The powers that be in my company are the kind of C programmers 
> that can't understand why anyone would want to use C++ (i.e. 
> Electrical engineers that write software).

I always felt like C is the better designed language when compared to
C++. Of course C misses many features of C++ and C also has some
badly designed features (preprocessor, header/include system, function
pointer syntax, array [n] not attached to the type but to the variable
identifier). But among some useful features C++ also adds much more
noise on top of the already existing C misfeatures: ugly template
syntax, iostreams/pipe syntax, operator overloading for controversial
operators, c++ namespaces, multiple inheritance, ...

Of course C has limited means for abstraction and therefore is not
suitable for certain projects. But the language feels 'cleaner' imho,
C++ sources files using templates and similar features are often hard to
read.

But OTOH I'm an electrical engineer as well ;-)

-- Johannes



Re: Questionnaire

2017-02-09 Thread Satoshi via Digitalmars-d-announce

1. Why your company uses  D?

I can use D only for very small apps in my job.

My own project use D because it was the best language what I 
found when I started developing OS from scratch 5 years ago.



2. Does your company uses C/C++, Java, Scala, Go, Rust?

We use C/C++, Java


3. If yes, what the reasons to do not use D instead?

Replacement as C++:
There is problem to find and hire C++ programmers so how could we 
find D programmers...


Nobody here wants to learn new programming language...
Many of ours projects/libraries are already written in C/C++.

Replacement as Java:
Making GUI apps in D (with Qt) is pain in the a$$. We need good 
IDE, Drag'n'Drop GUI builder and framework with stuff like in 
Java or .NET first.




2. Have you use one of the following Mir projects in production:

No

4. Have you use one of the following Tamedia projects in your 
production:

No


5. What D misses to be commercially successful languages?

Native GUI
IDE with D'n'D interface builder
Framework with all stuff in (like .NET)
Maybe more understandable documentation with more examples.

More syntactic sugar in D? Like maybe monad, tuples, etc.

6. Why many topnotch system projects use C programming language 
nowadays?

Small and fast programs with no runtime.



Re: Questionnaire

2017-02-09 Thread Ola Fosheim Grøstad via Digitalmars-d-announce

On Wednesday, 8 February 2017 at 21:41:24 UTC, Mike wrote:
* "Minimal Runtime" is the building block of systems 
programming.
 If this is not a core feature of a language, it will never 
compete with C.  Systems programmers in my field need to 
incrementally opt-in to features in a pay-as-you-go fashion to 
make precise tradeoffs for their unique requirements and 
hardware platforms.  Rust is the only modern language that I'm 
aware of that's getting this right.


Whiley is in early stages, but I believe they have optional 
Rust-like memory management implemented (proof-of-concept?) to 
enable embedded programming situations.


http://whiley.org/2016/05/28/reference-lifetimes-in-whiley/

It isn't a production ready language, but well worth following.



Re: Questionnaire

2017-02-08 Thread Chris Wright via Digitalmars-d-announce
On Wed, 08 Feb 2017 18:27:57 +, Ilya Yaroshenko wrote:
> 1. Why your company uses D?

You might have specified that this questionnaire is only for people who 
use D at work.

I use D for small utilities to help in development. For instance, I used 
vibe.d to compare performance with other frameworks when I had performance 
concerns.

> 2. Does your company uses C/C++, Java, Scala, Go, Rust?

We use Java, Kotlin, and some C/C++.

> 3. If yes, what the reasons to do not use D instead?

On the client side, we're building for Android. Some of it is native, and 
it would not be a natural fit to use D (minor modifications in Android 
platform code that's written in C/C++).

We use Swagger and Thrift for service definitions. Thrift supports D; 
Swagger does not.

We use AWS. There is no AWS client library for D and it would not be cost-
effective to implement one.

If we want people to learn a new programming language for the JVM, they 
probably know Java already, and the rest of the ecosystem is identical. 
With D, the ecosystem is entirely difficult.

Java has NullPointerException, while D has a segmentation fault. It's easy 
to catch NPE and harder to handle a segmentation fault, even if you are 
just trying to log and exit.

The "die on error" trend has me worried that it will be difficult to run 
services with reasonable uptime, and the people saying that we shouldn't 
even try to log anything in the face of an error worry me even more. I 
can't run systems in production if I'm not allowed to log errors. The 
runtime doesn't even promise to make an effort to let me catch an Error.

> 2. Have you use one of the following Mir projects in production:

No.

> 4. Have you use one of the following Tamedia projects in your
> production:

I've never even heard of them before. Have they ever thought of going into 
advertising?

> 5. What D misses to be commercially successful languages?

The backing of a large organization. The example of Go shows me that a 
language can become successful despite its technical attributes with the 
backing of a large organization.


Re: Questionnaire

2017-02-08 Thread Dsby via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language



a,d

2. Does your company uses C/C++, Java, Scala, Go, Rust?


We use the C++ alaso.  we have C++ for writeing the Client by Qt.


3. If yes, what the reasons to do not use D instead?


No reasons to use D instead.


2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice


No.
3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.


4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount


a, we use the asdf in hunt.


5. What D misses to be commercially successful languages?


Not has  distinct orientation。 and update slow。

6. Why many topnotch system projects use C programming language 
nowadays?



The GC。 and if not GC , D only has a little.





Re: Questionnaire

2017-02-08 Thread Moritz Maxeiner via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language


I use D only privately so far.



2. Does your company uses C/C++, Java, Scala, Go, Rust?


I've seen C, C++, and Java being used.



3. If yes, what the reasons to do not use D instead?


Nobody ever heard of the language (this holds true pretty much in 
every discussion I have on the topic)




2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice



No.

3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.




N/A

4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount



I've used asdf for configuration files[1][2], it works very well 
for shortening development time.



5. What D misses to be commercially successful languages?


My two cents:
- "Name" backing by a well-known (i.e. internationally famous) 
corporation/foundation

- Viral marketing ("spread the D")
- Fix or removal of all the little things that may make someone 
go "ugh, wtf?". I'm looking at you, `shared`, and your missing 
memory barriers[5], or you, `std.parallelism.taskPool`, and your 
non-daemon "daemon" threads[6]. Privately I can work around them 
since it's my own time, but I don't expect many people in big 
companies (see first point) with a deadline to want to put up 
with that.

- Tooling, though that's been getting better
- Phobos without GC (where possible)
- std.experimental.allocator -> std.allocator and promote it as 
*the* memory management interface for D. Seriously. With it I can 
even allocate and pass delegates to C in an intuitive way (see 
[3] and [4]).




6. Why many topnotch system projects use C programming language 
nowadays?


Don't know if the premise holds, but if it does I'd wager it's 
because people who *do* write topnotch (system) software can do 
so in *any* (system) language that's asked of them - since in the 
end the topnotch comes from the person writing the code, not the 
language ("ignorance (of a language) can be remedied, stupid is 
forever") - and C has the de facto corporate monopoly of being 
asked to write in.



[1] https://git.ucworks.org/UCWorks/dagobar/tree/master
[2] https://git.ucworks.org/UCWorks/tunneled/tree/master
[3] 
https://git.ucworks.org/UCWorks/dagobar/blob/master/source/libuv.d#L125
[4] 
https://git.ucworks.org/UCWorks/dagobar/blob/master/source/libuv.d#L159

[5] https://dlang.org/faq.html#shared_guarantees
[6] https://issues.dlang.org/show_bug.cgi?id=16324


Re: Questionnaire

2017-02-08 Thread Mike via Digitalmars-d-announce

On Wednesday, 8 February 2017 at 22:52:36 UTC, bpr wrote:

On Wednesday, 8 February 2017 at 21:41:24 UTC, Mike wrote:
Suggesting D would be an exercise in futility, unless I can 
create a notable project in D in my spare time that 
demonstrates its advantages and appeal to the masses.  I tried 
to do this 2 years ago, but D failed me, primarily due to 
https://issues.dlang.org/show_bug.cgi?id=14758


I read this comment from you on another thread too, and 
(caveat: I'm not working in such resource constrained domains 
as you are) it seems sensible. It seems like it may be a good 
GSOC project to modify dmd as you suggest elsewhere. Have you 
considered trying to find someone to do that?


First, for that to happen, the D leadership would need to chime 
in with a plan on how they want to address this problem.  Second, 
for me to allocate any more of my resources, I'd have to be 
convinced that their plan is a good solution to the problem.  A 
-betterC switch is not at all attractive to me.


I think the D leadership are too busy addressing broader issues 
with the language at the moment, so this specific case is just 
not a high priority.  Also, if it's not a priority to the them, 
then anyone that does attempt to work on it will just suffer an 
eternity in pull request purgatory.


So, I would not recommend it as a project for anyone until the D 
leadership decides to get involved.


I'd love to see a D3, but that seems unlikely, and more 
unlikely if D2 languishes. It seems though that your issues are 
with the implementation, not the language itself, so if you got 
your wishes below



Instead I suggest following through on things like
https://issues.dlang.org/show_bug.cgi?id=12270 and considering 
this proposal

(http://forum.dlang.org/post/psssnzurlzeqeneag...@forum.dlang.org) instead.


wouldn't you be mostly satisfied with D2?


Correct, my issue is not really with the language, but with its 
implementation.


Resolving issue 12270 and implementing my proposal for decoupling 
the compiler and druntime would prompt me to further explore D.


I'd also like to see how the recent DIP25 and DIP1000 could be 
leveraged.  I'm looking forward to an article on the topic, or 
Walter's talk at DConf2017 before I dedicate any of my time to 
it.  At first glance, however, it seems like a lot of attribute 
patchwork.


It's become apparent to me that D just hasn't been designed with 
bare-metal systems programming in mind, so I'm skeptical that 
even if issue 12270 and my decoupling proposal were implemented, 
I'd still run into other disappointments.   But I'd at least be 
willing to give it another try, and would be thrilled to be 
proven wrong.


Mike


Re: Questionnaire

2017-02-08 Thread Nicholas Wilson via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:
All my current D project are finished. Probably I will use 
other languages for production this year, Java/Go/whatever.


N...

I Guess I'll have to try to convince you to help with DCompute 
once the necessary compiler stuff gets merged into LDC.




Re: Questionnaire

2017-02-08 Thread bpr via Digitalmars-d-announce

On Wednesday, 8 February 2017 at 21:41:24 UTC, Mike wrote:
Suggesting D would be an exercise in futility, unless I can 
create a notable project in D in my spare time that 
demonstrates its advantages and appeal to the masses.  I tried 
to do this 2 years ago, but D failed me, primarily due to 
https://issues.dlang.org/show_bug.cgi?id=14758


I read this comment from you on another thread too, and (caveat: 
I'm not working in such resource constrained domains as you are) 
it seems sensible. It seems like it may be a good GSOC project to 
modify dmd as you suggest elsewhere. Have you considered trying 
to find someone to do that?


I believe D has the potential to bury all other emerging 
languages out there, but only if it drops its historical 
baggage.
 At the moment, I'm of the opinion that D will remain an 
obscure language until someone forks D and takes it in a 
different direction (unlikely), or the D Foundation decides to 
"reboot" and start working on D3 with a new, updated 
perspective (more unlikely).


I'd love to see a D3, but that seems unlikely, and more unlikely 
if D2 languishes. It seems though that your issues are with the 
implementation, not the language itself, so if you got your 
wishes below



Instead I suggest following through on things like
https://issues.dlang.org/show_bug.cgi?id=12270 and considering 
this proposal

(http://forum.dlang.org/post/psssnzurlzeqeneag...@forum.dlang.org) instead.


wouldn't you be mostly satisfied with D2?



Re: Questionnaire

2017-02-08 Thread Mike via Digitalmars-d-announce
On Wednesday, 8 February 2017 at 18:27:57 UTC, Ilya Yaroshenko 
wrote:

1. Why your company uses  D?


We don't use D.


2. Does your company uses C/C++, Java, Scala, Go, Rust?


C/C++.  Currently exploring Rust.


3. If yes, what the reasons to do not use D instead?


* The powers that be in my company are the kind of C programmers 
that can't understand why anyone would want to use C++ (i.e. 
Electrical engineers that write software).  Suggesting D would be 
an exercise in futility, unless I can create a notable project in 
D in my spare time that demonstrates its advantages and appeal to 
the masses.  I tried to do this 2 years ago, but D failed me, 
primarily due to https://issues.dlang.org/show_bug.cgi?id=14758


* Our customers don't use D.  Some of our products are libraries 
and tools that our customers use.  It doesn't make sense to 
program them in D if our customers don't use D.  Though, if D had 
a minimal runtime, we could write them in D and distribute them 
with bindings to other languages.


* For us, binary size efficiency and minimal runtime are 
important features.  D is not pay-as-you-go; many heavy-weight 
features are opt-out instead of opt-in.  In contrast Rust has 
"minimal runtime" as one of its pillars making it a much better 
alternative language choice for us than D.



2. Have you use one of the following Mir projects in production:


No

3. If Yes, can Mir community use your company's logo in a 
section "Used by" or similar.


N/A

4. Have you use one of the following Tamedia projects in your 
production:


No


5. What D misses to be commercially successful languages?


I believe D has the potential to bury all other emerging 
languages out there, but only if it drops its historical baggage. 
 At the moment, I'm of the opinion that D will remain an obscure 
language until someone forks D and takes it in a different 
direction (unlikely), or the D Foundation decides to "reboot" and 
start working on D3 with a new, updated perspective (more 
unlikely).


6. Why many topnotch system projects use C programming language 
nowadays?


Which topnotch system projects?

* C is the lowest common denominator.  All modern languages that 
I'm aware of can interface with C.  If one wants to write a 
library for mass adoption, the best way to do so is to write it 
in C and create bindings for other languages.  D could be a good 
substitute for this if it had a "minimal runtime" philosophy.


* C is a simple, efficient, and powerful language.  Some equate 
language complexity and heavy runtimes to bloat and inefficiency. 
 Some see too much language complexity as an impediment to 
productivity.  C creates the appearance of simplicity with 
efficiency.


* "Minimal Runtime" is the building block of systems programming. 
 If this is not a core feature of a language, it will never 
compete with C.  Systems programmers in my field need to 
incrementally opt-in to features in a pay-as-you-go fashion to 
make precise tradeoffs for their unique requirements and hardware 
platforms.  Rust is the only modern language that I'm aware of 
that's getting this right.


* You may also be interested Dan Sak's recent talk "extern c: 
Talking to C Programmers about C++": 
https://www.youtube.com/watch?v=D7Sd8A6_fYU&t=2631s





Re: Questionnaire

2017-02-08 Thread Nick Sabalausky via Digitalmars-d-announce

On 02/08/2017 01:27 PM, Ilya Yaroshenko wrote:

1. Why your company uses  D?

   a. D is the best
   b. We like D
   c. I like D and my company allowed me to use D
   d. My head like D
   e. Because marketing reasons
   f. Because my company can be more efficient with D for some tasks
then with any other system language


x. Because I'm self-employed so I get to choose the best tool for the 
job instead of whatever some know-nothing manager thinks "must be good 
because its popular". Also, all of the above.



2. Does your company uses C/C++, Java, Scala, Go, Rust?


Not when I can help it.


3. If yes, what the reasons to do not use D instead?


If, for whatever reason, my hands are tied and it's just not a 
possibility. Usually platform/framework compatibility. Or somebody above 
me deciding "You must use language X". (But, after having had more than 
enough PHP/VB/Java/C++/Python/etc in my life, I'm more inclined now to 
simply avoid situations that would involve such restraints. Life's too 
short to suffer bad tools for bad reasons.)



2. Have you use one of the following Mir projects in production:


No. I keep hearing about Mir, but still haven't quite wrapped my head 
around what it is, or how/where to use it. (and that bugs me)



3. If Yes, can Mir community use your company's logo in a section "Used
by" or similar.


N/A


4. Have you use one of the following Tamedia projects in your production:

   a. https://github.com/tamediadigital/asdf
   b. https://github.com/tamediadigital/je
   c. https://github.com/tamediadigital/lincount


First I've heard of them. I'll take a look.


5. What D misses to be commercially successful languages?


A groupthink mentality and loads of bad ideas and broken reasoning. Ie, 
the basic requirements for anything to be popular in the computing arena.


Seriously. I'm not joking.

Well, that and, nobody's ever really been in a situation where they're 
more or less FORCED to use D. Many, heck probably most, big-name 
languages got big because there were enough people who didn't have much 
of a choice:


- Earlier days of Unix/Linux dev? Hard to avoid C/C++.
- Work for a company that's heavily invested in MS tools? Hard to avoid 
VB (90's) or C# (2000's).
- Work for a non-MS-based enterprise? Hard to avoid Java, because that's 
what the higher-ups had already been sold on.

- Need to use a relational DB? SQL, period.
- Need client-side scripting on a web page? JavaScript, period (until 
just recently).
- If you wanted an MVC web framework, for a short while Ruby was the 
only choice. I guarantee Ruby would be more popular today if that time 
period had been longer. It's undeniable nobody would've ever heard of 
Ruby were it not for Rails.
- Need to run something on an affordable commodity server in the late 
90's/2000's? PHP, period. Unless you paid an extra $5-$10/mo. and 
restricted your choice of providers - then you could use VBScript/ASP, 
which was basically the same exact thing as PHP, but just incompatible.
- Need low-level hardware access, memory management or other direct 
control over performance and resource usage? Until recently, had to be 
C/C++.


Then once onboard, stockholm syndrome sets in. Instant popularity.

Coercion (and perceived coercion[1] for that matter) makes technologies 
popular far more than any other factor. The computing sector is NOT a 
meritocracy, not by a longshot. That right there is D's #1 biggest 
marketing flaw, period. If you nail that coercion part, it doesn't 
matter HOW badly you do on any other technical or marketing aspect. Been 
proven time and time again. And if you DON'T have that coercion, you 
face an uphill battle no matter how good you do on technical and 
marketing fronts. Also been proven time and time again.


[1] The "I must keep up or get left behind" thought train. See also 
"Cover Fire" and the Fire and Motion stuff here: 
https://www.joelonsoftware.com/2002/01/06/fire-and-motion/



6. Why many topnotch system projects use C programming language nowadays?


Partly inertia, but also because there was a decade or two (that only 
ended a few years ago) where nearly all language designers obsessed over 
VMs and eliminating low-level capabilities, and in general dumbing down 
their languages to the point of uselessness for anyone but novices, 
hobbyists, and those who could afford to throw money/hardware at any and 
all performance/resource/scalability issues[2]. Because of that, for 
many C/C++ users, there simply was no realistic alternative, period.


[2] I'm sure 90's Sun LOVED their JVM/Java - it virtually guaranteed 
"optimization" could only mean "rent/buy more hardware" - Everything 
else besides reducing algorithmic complexity was deliberately banned by 
both the language and the VM...as a self-proclaimed "feature" no less. 
That "feature" allegedly being for safety, but decades of security 
patches and exploits for every VM on the planet proved that to be a load 
of...male cow.




Re: Questionnaire

2017-02-08 Thread Ilya Yaroshenko via Digitalmars-d-announce

Plus, it can be enchanted during the GSoC 2017.


EDIT: enhanced


Questionnaire

2017-02-08 Thread Ilya Yaroshenko via Digitalmars-d-announce

1. Why your company uses  D?

  a. D is the best
  b. We like D
  c. I like D and my company allowed me to use D
  d. My head like D
  e. Because marketing reasons
  f. Because my company can be more efficient with D for some 
tasks then with any other system language


2. Does your company uses C/C++, Java, Scala, Go, Rust?

3. If yes, what the reasons to do not use D instead?

2. Have you use one of the following Mir projects in production:

  a. https://github.com/libmir/mir
  b. https://github.com/libmir/mir-algorithm
  c. https://github.com/libmir/mir-cpuid
  d. https://github.com/libmir/mir-random
  e. https://github.com/libmir/dcv - D Computer Vision Library
  f. std.experimental.ndslice

3. If Yes, can Mir community use your company's logo in a section 
"Used by" or similar.


4. Have you use one of the following Tamedia projects in your 
production:


  a. https://github.com/tamediadigital/asdf
  b. https://github.com/tamediadigital/je
  c. https://github.com/tamediadigital/lincount

5. What D misses to be commercially successful languages?

6. Why many topnotch system projects use C programming language 
nowadays?


=

All my current D project are finished. Probably I will use other 
languages for production this year, Java/Go/whatever. Mir 
libraries are amazing and good quality. If you use them this 
would be a good motivation for us to improve the docs and provide 
regular updates. Plus, it can be enchanted during the GSoC 2017.


Thanks,
Ilya