News for hackers. Stuff that matters.
Re:The D Garbage Collector by swah on Monday March 20, 2017 @01:16PM (#13915885)
Most folks will say that either C++ has improved or use Rust. (D was a really lovely experience a few years ago, though..)
Re:The D Garbage Collector by p0nce on Monday March 20, 2017 @01:42PM (#13916097)
Most folks haven't tried D.
Re:The D Garbage Collector by x0x0 on Monday March 20, 2017 @03:24PM (#13916924)
Since you use it in prod / sell products written in it, could you (briefly) share why you like it and the advantages you see in it? Thank you!
Re:The D Garbage Collector by p0nce on Monday March 20, 2017 @04:41PM (#13917479)
Went from Delphi to Ocaml to lots of C++ to D. Basically I'm happier with the products I wrote in D so I keep using it. It's an almost schizophrenic language that always says "yes" when you ask if something is possible. The community regularly "discovers" new idioms within the language.

Learning D for real is as involved as any other language, but what people remark first is the low mental overhead and how absurdly practical it is.

Advantages I see would be: fast to edit, compile, and run. Non-controversial syntax, focus on power, and the fact you kind of already know it.

Re:The D Garbage Collector by int_19h on Monday March 20, 2017 @09:45PM (#13919154)
How good is the tooling? IDE support, code completion and debugging especially.
Re:The D Garbage Collector by Ace17 on Tuesday March 21, 2017 @01:54AM (#13920150)
There are 3 major compiler implementations (dmd, gdc, ldc).

I mostly work with gdc from GNU/Linux, and basically, everything that works with g++ works with gdc. More precisely, I use, on a daily basis: - vim + ctags (editor + symbol lookup) - gdb (debugger) - gcov (code coverage) - valgrind (mostly callgrind (call-graph) and massif (memory profiler)) - oprofile (cpu profiler)

Unfortunately there's no ccache equivalent yet, and I'm missing it.

For the Windows people, there's VisualD, which basically is the integration in Visual Studio. At this point, you have an IDE and a debugger (I don't know about code completion).

There's also a build-tool (with package-managing abilities), called "dub" ; that handles fetching and building external dependencies (in the vein of npm).

Re:The D Garbage Collector by int_19h on Tuesday March 21, 2017 @03:22AM (#13920409)
I'll need to check out VisualD.

Someone should do a Language Server Protocol (http://langserver.org/) implementation for D - that's clearly the way forward. Right now this will give you VSCode, Eclipse and NeoVim, with regular Vim and Emacs on the way.

VSCode also has something similar for debugging (https://code.visualstudio.com/docs/extensionAPI/api-debuggin...), but it hasn't been standardized in a similar fashion (yet?).

Re:The D Garbage Collector by p0nce on Tuesday March 21, 2017 @07:13AM (#13921205)
I use the debugger in VisualD on Windows and LDC on macOS. I guess you can also use the one in Visual Studio Code. There is ongoing work with the LSP actually, since the VSC integration uses something similar already.
Re:The D Garbage Collector by int_19h on Tuesday March 21, 2017 @04:19PM (#13925838)
BTW, I tried VisualD, and it seems that its code completion support is rudimentary. I could get it to complete functions sometimes, and I couldn't get it to complete members at all. Obviously, no refactoring either. It's unfortunate, but that would be a blocker for me.
Re:The D Garbage Collector by int_19h on Tuesday March 21, 2017 @03:24AM (#13920416)
Oh, what's the language feature parity between compilers? Are things as bad as in C++ land in that regard, or is everything reasonably close, without portability headaches when moving code between compilers?
Re:The D Garbage Collector by p0nce on Tuesday March 21, 2017 @07:10AM (#13921193)
LDC and DMD are basically at the same frontend, so it is rare to do a `version(LDC)`. GDC is a bit behind atm, but the language and library is really stable. Usually you don't change anything at all between compilers and OS. Most notable exceptions is the SIMD capabilities, and inline assembly is different on GDC. The stdlib covers a lot of ground so portability across OSes is much easier than in you-know-which-language, so small tools tend to blossom.
Re:The D Garbage Collector by systems on Monday March 20, 2017 @02:01PM (#13916259)
or use Go