July 15, 2017
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.
July 15, 2017
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. :)
July 16, 2017
> 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.
July 16, 2017
> 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.
July 16, 2017
> 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...

July 16, 2017
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.
July 17, 2017
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.

July 20, 2017
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.
July 20, 2017
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.
July 20, 2017
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.