August 06, 2017
On Sunday, 6 August 2017 at 05:39:36 UTC, Laeeth Isharc wrote:
> [...]

Thanks for sharing your views, a nice read.

Bastiaan.
August 07, 2017
On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> While the Orgs using D page is very nice ... I hoping to hear more personal stories ...
>
> So
>
> How do you use D?

For personal projects, using a mixed form of OOP and procedural programming (I won't make static classes if I'm not forced to, like in Java and C#).

> In work, (key projects or smaller side projects)

I almost got a job at Sociomantic, that's all. If I were asked to develop someone a PHP based website, I'd probably would use vibe.D instead, while keep telling them that how much I had to work with PHP.

> in your side project, (github, links please)

Projects that have been publicized:
-PixelPerfectEngine: https://github.com/ZILtoid1991/pixelperfectengine A 2D engine mainly for retro games, once I get a way for efficient 2D acceleration it probably could easily handle native HD resolutions.
-OpenRG: https://github.com/ZILtoid1991/OpenRG A response to the abandonment of easily usable raster graphics acceleration, will be written in DCompute for easy portability. I currently need more people on planning stuff, mainly for embedded systems.

Currently nonpublic projects:
-libPCM: A Library for converting and playing back various PCM and ADPCM formats. Currently having issues with finding usable ADPCM codec guides.
-libLZHAM: Compression algorithm using an obscure algorithm found on github with my own enhancements, like an archive file format. It has speeds comparable to ZLIB, but almost the same compression rate as LZMA (sometimes it even surpasses it). DCompute version is planned.

> just to learn something new? (I would easily argue that learning D will make you a better C++ programmer, maybe not the most efficient way, but I a sure it i very effective)

I pretty much learned C (and C#) through D.

> Did you introduce D to your work place? How? What challenges did you face?

I introduced it in my college, I even made an OOP project using D as I no longer liked Java. My teacher could instantly read it, since he was pretty good with C++, Java, C#, and many others.

> What is you D setup at work, which compiler, which IDE?

VS2015, DMD for x86 (thinking on working on an ARM codegen), LDC for everything else (engine will have several optimizations for single board computers like rPi, and maybe even mobile phones).
August 07, 2017
I'm a self-employed web-developer, mostly working with PHP and Javascript and markup languages like HTML and stuff like CSS and SQL databases.

On the other hand at school (in Russia) we began with QBasic, then Turbo Pascal and could choose if we use Turbo Pascal or something else for solving class excercises. It was the first time I learned C. After school I continued to use C for some open source projects I was participating for fun. Two years ago I started to look for a language that gives you a control over the system like C but at the same time has high-level constructs I was fimilar with from PHP. Here D comes into play (my second choice would be Haskell and Rust).

> How do you use D?
> In work, (key projects or smaller side projects)
I'm living now in Germany and a year ago I found a job, where I can use D all the time, but I still continue doing web-development with PHP, Javascript and & Co.

> in your side project, (github, links please)
Still my primary interest on D was to replace C in my projects, I started to work on a library that would give me C++ with the syntax of a modern high-level programming language. See https://github.com/caraus-ecms/tanya.

> just to learn something new? (I would easily argue that learning D will make you a better C++ programmer, maybe not the most efficient way, but I a sure it i very effective)
Yes. Everything I know about low-level network programming, assembler, memory management, I learned from my working on my library, tanya.

> Did you introduce D to your work place? How? What challenges did you face?
Though it is not reallistic to replace PHP and js with D for small end customers I want to start some web-service based on D on my own. After some work on tanya, I'm planning to continue to work on my web-framework, I've started before: https://github.com/caraus-ecms/caraus.

> What is you D setup at work, which compiler, which IDE?
neovim, dmd and gcc on Slackware Linux.
August 08, 2017
On Monday, 7 August 2017 at 19:54:51 UTC, Eugene Wissner wrote:
> Yes. Everything I know about low-level network programming, assembler, memory management, I learned from my working on my library, tanya.

OT but tanya's readme has a wrong comment:

```
int i = arr[7]; // Access 7th element.
```

should be 8th element.
August 08, 2017
On Tuesday, 8 August 2017 at 01:20:37 UTC, Nicholas Wilson wrote:
> On Monday, 7 August 2017 at 19:54:51 UTC, Eugene Wissner wrote:
>> Yes. Everything I know about low-level network programming, assembler, memory management, I learned from my working on my library, tanya.
>
> OT but tanya's readme has a wrong comment:
>
> ```
> int i = arr[7]; // Access 7th element.
> ```
>
> should be 8th element.

Fixed, thanks!
January 03, 2018
> How do you use D?

I write code for a living.

We use D for writing the next generation critical large data software. Sequencing centers churn out TBs of data per day and writing code in Python does not cut it. Even JVM tools are problematic when it comes to raw performance. Sambamba, written in D, has been doing heavy lifting since 2014 and is running every second of the day somewhere on an HPC diagnosing cancer.

> Did you introduce D to your work place? How? What challenges did you face?

Not that many as we make up the rules. Great programmers tend to like D once they grok it.
Writing idiomatic D takes time though. I have written significant code in a great number of languages, including Ruby, Python, C++, Perl (ugh), Lisp, Elixir, Erlang, Scala... I am in a position to state what I like. Currently I favor Ruby for the quick and dirty, Elixir for web programming and D for data processing and raw speed. It is the fastest car in my garage. It would be C++ if I had no D - and I am very glad I don't have to write new code in C++. There are reasons I still use other languages. Ruby feels just slightly more productive and Elixir has some great features too for a functional programming language. I have absolutely no incentive to program in Go or Rust though I sometimes have to read such code. I think Go is a royal pain.

> What is you D setup at work, which compiler, which IDE?

ldc and emacs. GNU Guix handles all dependencies.

> And any other fun facts you may want to share :)

Started late programming 70s after a stretch playing chess. Been coding ever since. My first encounters with Walter were on Compuserve when I was using Zortech and Symantec C++ compilers. Obviously I am glad we moved forward, tooling-wise.

On Sunday, 6 August 2017 at 05:39:36 UTC, Laeeth Isharc wrote:
> similar with programming language choices and such.  Its way better to appeal to people who make up their own mind and bear the consequences then to those who have to cover their behinds by getting the right ticks in the boxes because the are never going to be earlier adopters except through some unfortunate accident - because you also don't want such people as early adopters!

I think that is very true. I can understand why the people involved in D want it to be popular - to become famous, rich, or if only to convince those at work. But I think it is fine to target thousands of great programmers, rather than millions of average ones. And D must be there. Similar to the Haskell and Lisp communities we have the luxury of dealing with the best programmers out there.

Hyped languages are for suckers.

Even so, if you are a D programmer and your work environment does not allow you to use D, 'popularizing' D is not going to help that (how do you popularize a powerful language?). Grind your teeth and write in whatever the job dictates (I do that too), but sneak in your best work in D without telling anyone. There are always opportunities. Don't complain. Move on. That is my advice.

I predict D has enough momentum to stay and be a better alternative to C/C++/JVM. Which is the main thing. Even when Walter and Andrei would drop out, for whatever reason, D will continue. There are some language features I would like, but to be honest I can live without them.
January 03, 2018
On Wednesday, 3 January 2018 at 09:56:48 UTC, Pjotr Prins wrote:
> average ones. And D must be there. Similar to the Haskell and Lisp communities we have the luxury of dealing with the best programmers out there.

This attitude is toxic, and it isn't true either.  Sure, Haskell might attract programmers who are more interested in math, but in practical programming formal math is only 1% of what you need (99% of your time is not spent on things that require deep understanding of math).   I don't see any evidence of Lisp programmers being better than other programmers either.

Good programmers aren't stuck on any single language and will pick the tool best suited for the job at hand.  Good programmers are also good at picking up new languages.


> Hyped languages are for suckers.

Hype leads to critical mass, which leads to higher productivity because you get better tooling, better documentation (including stack overflow), better libraries and better portability.

But you don't need lots of users to get hype.  You can focus on a narrow domain and be the "hyped language" within a single realm.


The only time where it is an advantage to be small is when your language design is changing. Once the language design is stable there is only disadvantages in not having critical mass.

January 03, 2018
On Wednesday, 3 January 2018 at 10:29:05 UTC, Ola Fosheim Grøstad wrote:
> On Wednesday, 3 January 2018 at 09:56:48 UTC, Pjotr Prins wrote:
>> average ones. And D must be there. Similar to the Haskell and Lisp communities we have the luxury of dealing with the best programmers out there.
>
> This attitude is toxic

Not necessarily, it all depends if thinking you're the best leads to taking your eye off the ball of improving and acknowledging your problems, which I see little indication of here.

> Haskell might attract programmers who are more interested in math, but in practical programming formal math is only 1% of what you need (99% of your time is not spent on things that require deep understanding of math).   I don't see any evidence of Lisp programmers being better than other programmers either.

Agreed with much of this: they may be better at various things, but those things don't matter much of the time.

> Good programmers aren't stuck on any single language and will pick the tool best suited for the job at hand.  Good programmers are also good at picking up new languages.

And who do you know who does this?  While I myself have espoused the idea of the best tool for the job in this forum, realistically, other than a small handful of coders, when does that ever happen?

I recently read some article linked off proggit that stated the reality much better: programmers learn a language that suits them, then use it everywhere they can.  Ruby programmers can't write an OS kernel, so they don't bother with that.  They may dabble with a few other languages, but unless forced to by a new job or project, they stick with what they know.

Given how much effort it takes to know a language platform well, not only the language itself but all the libraries and their bottlenecks, and most programmers' limited motivation to pick up new tech, that is the only approach that makes sense for the vast majority.

>> Hyped languages are for suckers.
>
> Hype leads to critical mass, which leads to higher productivity because you get better tooling, better documentation (including stack overflow), better libraries and better portability.

Yes, but if you're only hyped because you were stowed away on a popular platform, ie javascript in the browser, or are easy to learn, Go from what I hear, then the technical limitations of the language put a ceiling on how high you can go.  You'll get to that ceiling faster, but then you're stuck there.

> But you don't need lots of users to get hype.  You can focus on a narrow domain and be the "hyped language" within a single realm.

Another way to get stuck, you're highly specialized to a niche and can't break out.  I'm not knocking this approach- it has worked well for many languages nowadays- it's just not what D is going after.

> The only time where it is an advantage to be small is when your language design is changing. Once the language design is stable there is only disadvantages in not having critical mass.

And since when has the D language design been stable? ;) I don't think any language can call themselves done changing these days, look at how often C# has had to update itself and put out major versions.

And who's to say D doesn't have critical mass?  I'd say 100-200k users (my math based on the chart below: 2k downloads/day of dmd X 60 days between major versions + ldc/gdc and external downloads) is a significant market:

http://erdani.com/d/downloads.daily.png

It's not hyped or popular, but you can leverage that base to get bigger, particularly since you didn't sell out and specialize to get that base in the first place.
January 03, 2018
On Wednesday, 3 January 2018 at 11:13:04 UTC, Joakim wrote:
> On Wednesday, 3 January 2018 at 10:29:05 UTC, Ola Fosheim Grøstad wrote:
>> On Wednesday, 3 January 2018 at 09:56:48 UTC, Pjotr Prins wrote:
>> [...]
>
>> Good programmers aren't stuck on any single language and will pick the tool best suited for the job at hand.  Good programmers are also good at picking up new languages.
>
> And who do you know who does this?  While I myself have espoused the idea of the best tool for the job in this forum, realistically, other than a small handful of coders, when does that ever happen?
> [...]

Everyone at my employer, a few thousand of them doing enterprise consulting.

We specialize in a few large domains, and tend to jump between them every 6 months or a year, when switching projects.

On my case, full stack development across JVM and .NET languages, with C++ for low level coding.

Occasionally there are some projects using all of them, for example, JVM on the backend with a native desktop GUI developed in WPF.

January 03, 2018
On Wednesday, 3 January 2018 at 10:29:05 UTC, Ola Fosheim Grøstad wrote:
> On Wednesday, 3 January 2018 at 09:56:48 UTC, Pjotr Prins wrote:
>> average ones. And D must be there. Similar to the Haskell and Lisp communities we have the luxury of dealing with the best programmers out there.
>
> This attitude is toxic, and it isn't true either.

We differ in opinion here.

> Good programmers aren't stuck on any single language and will pick the tool best suited for the job at hand.  Good programmers are also good at picking up new languages.

Very true. Some languages are harder to learn and apply then others. Few C++ programmers make great Lisp or Haskell programmers.

> Hype leads to critical mass, which leads to higher productivity because you get better tooling, better documentation (including stack overflow), better libraries and better portability.

I don't disagree. I am reacting to other messages where people assert that we need to improve this and that for the sake of popularity. Maybe it is toxic not to care too much about what other people want/need and perhaps I am wrong. But I don't think D will become a hyped language, so we may as well stop wanting to be one. D is a language for software engineers - and they come if they need it. I remember a Google engineer telling me that he was tired of people bringing up D every time. That was 10 years ago. D has had every chance to become a hype ;)

Erlang has been a non-hype language for a long time. Now the success of whatsapp made it a lot more interesting to startups and therefore it is growing. Even so, I don't think it will ever become a hype. If you program in Erlang you can appreciate why. What is it that makes a hyped language?

That should not stop us from answering questions and writing docs. I just disagree with the aim of trying to make D a hyped language.

> The only time where it is an advantage to be small is when your language design is changing. Once the language design is stable there is only disadvantages in not having critical mass.

A language like GNU Guile has only a few developers - and they do great work.

D and its community are not small in my book. Large enough not to be endangered and still keep moving forward. Hard but soft. About right.