So, Jow Forums. Why aren't you programming in D?

So, Jow Forums. Why aren't you programming in D?
It's really pleasant.

Attached: D.png (1200x910, 302K)

Other urls found in this thread:

dlang.org/blog/2016/07/25/d-in-games-ethan-watson-of-remedy-games-goes-to-gdc-europe/
github.com/AuburnSounds/Dplug
vibed.org/
twitter.com/AnonBabble

> add gtk dependency to my project
> linker errors

Unacceptable for a modern language

>garbage collector
it ought to collect itself

D isn't a modern language

every time I see Jow Forums complain about garbage collection, I'm really curious as to what timing sensitive applications you people are writing

nice strawman.
I bet you program on java.

You can write real time code in D just fine. Just clean up your damn garbage so that the GC never needs to run.

What would I gain from writing in D over C# .NET Core?

D simply hasn't convinced me on the WHY.

Why would anyone use this over Rust?

because is not Rust.

D's whole aim is to be a nicer C++, without all the cruft.
C# is pretty pleasant to work with though.

what strawman?
either your program is timing sensitive in some way and thus garbage collection will cheerfully pause and clean up a bunch of the memory in the middle of your shit, even if it's something simple as getting frames to the screen 60 times a second
or your program isn't, and you really don't have any reason to care about the GC running and adding a handful of miliseconds to your run time

Why aren't we.

Attached: the d.jpg (200x200, 21K)

Afaik D was meant to be a safer, cleaner alternative to C/C++, correct?
What makes D better at that job than Rust?
>D's whole aim is to be a nicer C++, without all the cruft.
so Rust?

>garbage collection

Attached: file.png (712x616, 507K)

Hello worlds and fizzbuzz

because rust is better

Attached: 800px-Rust_programming_language_black_logo.svg.png (800x800, 34K)

the long standing reasons are language maturity (D is somewhat old, but not crusty), syntax (holy fuck D's syntax is much more pleasant than Rust's), and interoperability (if it's going to do the job of C and C++, it needs to be able to integrate well with C and C++ libraries)

The biggest issue is the D standard library used the GC last time I checked. IIRC, there was work to fix this at some point, I've got no idea if they finished or how far they are.

You'd be sticking it to Bill Gates?

iirc that's a DMD issue. it's got all kinds of issues sometimes. use LDC2 if you need to get something working.

>so Rust?
do you enjoy fighting the borrow checker, or having to know about lifetimes?
imagine just ... writing code, and not giving two shits about memory allocation most of the time.

I've met so many opinionated people who talk mad shit about GCs but the vast majority of them have no need for realtime applications.
like I know some faggot who refuses to leave VB6, because he's too stupid for C++/Rust, but won't touch python or JVM or literally anything because "garbage collection is bad". can't explain why, he's just a royal dumbfuck.
I doubt 1% of the GC complainers have ever benchmarked or profiled their code in a GC environment.

Attached: dlang-gc-etc.png (1776x2164, 1012K)

>add gtk dependency to my project
Unacceptable indeed.

I've been programming in E nigga see you in 2030.

>having to know about lifetimes
If you have no understanding of lifetimes whatsoever, you shouldn't be part of a conversation about systems programming.

it seems nice but it's dead so that gets me worried if it's even worth trying to make anything in it

But I am

D is nice man, but the problem with it is, that is seems like noone is using it for any real-life solution to anything (making games? Databases? server-side dev? devops? mobile apps?). If it had any spread, I'd be glad to jump in, but as of now... It's just a neat curiosity.

Too much of D is reliant on the garbage collector. D occupies an awkward middle ground between C++ and Java leaving it poorly suited to tasks accomplished in either language.

I can't even A so why would I into D?

>what strawman?
look it up

Yes, garbage collection. You have a lot of control over when and if it runs, and you're almost definitely not working on something that would be hampered by it.

>If you have no understanding of lifetimes whatsoever
well that's an unnecessary assumption.
first of all, the vast majority of D programmers have spent years (if not decades) in the C/C++ trenches. the point is to know when manual memory management is useful, and when it's unnecessary ceremony.
it's also like saying that, unless you know how to service your own engine, you have no business driving. do you think world-class racecar drivers spend any amount of time fiddling under the hood? no, they spend their time RACING. why not spend your time PROGRAMMING and only strategically worrying about memory (or mythical GC interference)? systems programming means you CAN write extremely low level stuff when the situation calls for it, not that you always have to.
one thing these anti-GC complainers never do, is write code and PROFILE and BENCHMARK their use cases under GC. manual memory management is a religious orthodoxy. out of all the programs in the world, only a small fraction are truly sensitive to GC activity.
it's ridiculous when even haskellers are more pragmatic than the average never-GC-er.

It's refcounting right? OK for some uses but gets hairy...
It's been years, still no un-GC'd stdlib.

game dev: dlang.org/blog/2016/07/25/d-in-games-ethan-watson-of-remedy-games-goes-to-gdc-europe/

audio plugins: github.com/AuburnSounds/Dplug

server side: vibed.org/

obviously it's sparse compared to C++, but it's a chicken and egg problem of people refusing to touch it because they perceive it as not popular enough / not having enough momentum.

suck on D's nuts lol

It's also worth noting that Herb Sutter has been trying to get a GC into C++ for years now.
GC makes a lot of sense when dealing with concurrency.

D is pretty good at everything, but not especially good at anything. It's kind of like a Python for oldfags. It has no killer app. Even Go, a much weaker language design, at least has channels, goroutines and static binaries. I have programed several little tools in D (dmd) in my free time and enjoyed it, but I don't think I can justify using it for professional work.

D is nice to use but too obscure for support, I ran into various compiler bugs when I was using it. Rust is fugly but it fills the niche for support for me since other people actually use it

I hope it takes off eventually

>exceptions
>garbage collector
yuck no thanks

Attached: 1550692980453.jpg (392x545, 34K)

>GC makes a lot of sense when dealing with concurrency.
This. Some concurrency problems are made much simpler with garbage collection. But many just solve it with defensive copying. It's arguable which is the greater overhead.

More like Herb Stutter

wahey

The anti-GC signaling is pretty funny.

Attached: sexy hiking.jpg (800x1182, 371K)

> Use Code-d from VsCode
> Dub
> New GTK application
> Works

???

it has all the C++ shitty designs though
and there is lots of them

It has had its chance. But at some point you have to accept that Bright is both really mediocre at language design and project/community management. And as it stands there are more appealing alternatives from every end.
these

Because Go.

Name three.

I use Nim

Deferred heap is a lot better than full GC, to the point that I could even imagine tolerating using it.