June 06, 2016
On Monday, 6 June 2016 at 06:32:15 UTC, Andrei Alexandrescu wrote:
> These are only a part of our competition. -- Andrei

Sure, I was just remarking on the fact that the amount of complaining about GCs is disproportionate to the number of people not using GCs. As I said, I think it's more of a meme ("lol D sux cuz the GC") than actual C++ users complaining.
June 06, 2016
On Monday, 6 June 2016 at 04:38:15 UTC, Jack Stouffer wrote:
> (...)
> While I understand that some people can't afford a GC, this has confused me as well.
>
> I never understood the large amount of people on /r/programming complaining about the GC when the vast majority of software is written in one of the following languages: C#, Java, PHP, Python, JavaScript. Those have to cover at least 80% of all software projects in the US and not only do they have a GC, they force you to use a GC. This just shows to me that /r/programming is not a representative sample of programmers at all.
>
> The anti D's GC thing has become meme at this point. I have literally seen only one person on /r/programming complain about Go's GC, despite Go being a slower language overall.

People constantly raise the argument that some large fraction (e.g. 80%) of software in all languages is written with GC just fine. This is missing a few points:
- It is often not "just fine" even if they use it. Authors sometimes don't realize that GC would be a liability in their projects until its too late. Then they fight it. Also, people may be forced to use GC because libraries they need use GC.
- Most people don't actively want GC, they just want productivity. Whether its GC that gives it or something else, they don't care. If something else was providing productivity, people wouldn't care that its not GC. Cpython uses reference counding as its GC strategy. Do you think most people care?
- The minority of applications which cannot use GC is not necessarily also a minority in economic value or in the number of running copies. Most of all applications are usually one-off internal business apps or scientific experiments. Also for every 10 programs there are probably 8 bad ones. Hence, the number of applications is a pretty silly metric. Note that non-GC applications are often multi-million dollar operating systems, AAA games, control software, AI software and server software.
June 06, 2016
On Monday, 6 June 2016 at 04:17:40 UTC, Adam D. Ruppe wrote:
> On Monday, 6 June 2016 at 02:30:55 UTC, Pie? wrote:
>> Duh! The claim is made that D can work without the GC... but that's a red herring... If you take about the GC what do you have?
>
> Like 90% of the language, still generally nicer than most the competition.
>
> Though, I wish D would just own its decision instead of bowing to Reddit pressure. GC is a proven success in the real world with a long and impressive track record. Yes, there are times when you need to optimize your code, but even then you aren't really worse off with it than without it.

+1, with @nogc, -profile=gc most problems disappeared. You can even guarantee no allocation at all, which isn't the case when using C++ stdlib.
An overblown "problem" that started being a topic with the Rust appearance.
June 06, 2016
On Monday, 6 June 2016 at 06:50:36 UTC, poliklosio wrote:
> Please, elliminate GC.
> This also hurts the open source community. Why would I write/opensource a high performance library if I know that projects like AAA games are not going to use it anyway due to GC in D?

- well there is an AAA game using it now,
- many existing AAA games have a GC already,
- the GC doesn't prevent anything from being done when it comes to real-time,
- you lose development time by not having GC,
- preciously few people get to make AAA games anyway, and they will workaround anything in their path

> On the other hand if I can write a library that guarantees to not use and not need garbage collector then even C and C++ projects can use it.

Even if you use the GC you can make a library that C and C++ can use.

June 06, 2016
On Monday, 6 June 2016 at 04:17:18 UTC, Andre Pany wrote:
> Hi,
>
> to be usable for companies which want to create economic software,
> in my opinion D lacks std.decimal. Maybe some companies will develop their
> own decimal libraries but for the others they won't.
> There is some great work, but currently it seems to be blocked by std.bigint
> https://github.com/andersonpd/eris/issues/6
>
> For the tooling I can only speak for windows environment. To have a sophisticated
> IDE, the DLL topic needs some love. DLL are a major topic on windows and without
> sophisticated DLL support, it is hardly possible to build an integrated IDE similar
> to the well known like Visual Studio/Delphi/...
> One major issue I faced, I create a class in a DLL and cannot cast the class
> in my main application to another type due to the missing type info.
> The workaround would be to have massive code duplication, which makes the code more complex.
> Also here some great work are already done but blocked by the "export semantic" topic.
>
> Kind regards
> André

how true.
we discarded D for development after discovering these problems after a 2 hour discussion in our company. nobody had a problem with the gc or the other previously mentioned points except for:
Documentation and tutorials are weak.
It was also the general impression, that windows is an orphan and there should be no risk taking with D because of that.
instead of taking about decimal etc., you should fix the minimum issues of the language to make it useful for development, in our case windows, even if this train left the station.
June 06, 2016
On Monday, 6 June 2016 at 07:39:40 UTC, interessted wrote:

> It was also the general impression, that windows is an orphan and there should be no risk taking with D because of that.

I've never understood this. DMD started out on Windows exclusively. Linux and other platforms came later. It has a Windows installer that will find the MS tools if you need to use them, the zip package works out of the box, the compiler ships with a minimal (and admittedly outdated) set of Win32 libraries that work with OPTLINK... Where does this impression come from that Windows is a second-class citizen?
June 06, 2016
On Monday, 6 June 2016 at 05:49:53 UTC, Ethan Watson wrote:
> There's definitely an information war that needs to be won. That D has been around for 15-odd years and is still considered an emerging language is something of a problem.

Hi Ethan.

I enjoyed your talk, and thanks for this.

But don't you think that as a language D has intrinsically matured quite slowly?  Sociomantic began in 2008,or 2009,whenever it was,  but at the time given where the language was that must have been quite a courageous decision if one thought one might be using it to process large amounts of data.

These is nothing wrong with maturing more slowly - indeed maybe more complex creatures take time for everything to come together. Things develop at their own pace.

Ie it's important to go to the root of the challenge - it's a different thing if the language has been ready for a decade and adoption is perceived to be slow than if it's been ready for some uses for maybe five years and people have that perception.

> I linked my DConf talks on a games industry forum, and the first response was that "It looks like a poor man's Rust". A notion I quickly dispelled, but it's a mindset that needs solid, linkable examples to work against.

Agree about this.   Also to have a few different channels by industry because I guess what's important for you is different for  bio informatics and different again for me in finance.   In addition there's a tribal and social proof aspect and people relate more easily to use cases closest to what they wish to do.


> Echoing the need for decimal support. I won't use it myself, but I know it's critical for finance.

In banking maybe, and it would be nice to have, but large parts of finance (I am on the hedge fund side) don't need it so much.


June 06, 2016
On Monday, 6 June 2016 at 07:01:33 UTC, Walter Bright wrote:
> On 6/5/2016 11:38 PM, rikki cattermole wrote:
>> On 06/06/2016 6:29 PM, Andrei Alexandrescu wrote:
>>> On 6/6/16 6:17 AM, Andre Pany wrote:
>>>> to be usable for companies which want to create economic software,
>>>> in my opinion D lacks std.decimal.
>>>
>>> Do C, C++, Java, Go, or Rust have a standard decimal type? -- Andrei
>
> Apparently there's a spec: http://speleotrove.com/decimal/decarith.html

There's been a lot of work on decimal floating-point types for
C and C++, even if they haven't yet made it into the languages.
See, for instance:

http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1312.pdf
http://open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3871.html
and
http://www.quadibloc.com/comp/cp020302.htm
the last of which is not a standards-related document but
provides some interesting detail.

The point being, while decimal floats are something to be
wished for, it's a complex matter, not something that can be
quickly thrown together.

That said, GNU C++ does provide some support:
https://gcc.gnu.org/onlinedocs/gcc/Decimal-Float.html
June 06, 2016
On Monday, 6 June 2016 at 08:04:07 UTC, Observer wrote:
> That said, GNU C++ does provide some support:
> https://gcc.gnu.org/onlinedocs/gcc/Decimal-Float.html

Apparently, I meant GNU C.
June 06, 2016
On Monday, 6 June 2016 at 04:17:40 UTC, Adam D. Ruppe wrote:
> On Monday, 6 June 2016 at 02:30:55 UTC, Pie? wrote:
>> Duh! The claim is made that D can work without the GC... but that's a red herring... If you take about the GC what do you have?
>
> Like 90% of the language, still generally nicer than most the competition.
>
> Though, I wish D would just own its decision instead of bowing to Reddit pressure. GC is a proven success in the real world with a long and impressive track record. Yes, there are times when you need to optimize your code, but even then you aren't really worse off with it than without it.

Maybe we need official containers that use the allocator,  better messaging with concrete examples that get the point across that D generates less garbage than some other languages whose history might be putting people off, and better examples, tutorials,  and documentation on how to do things without the GC.