Earlier quoted context omitted.
I use D every day at work (inherited codebase) and the UFCS bothers me to no end. I try not to use it.
There are "bad" uses of UFCS, and good ones (sometimes depending on preference). For example, I hate code like `1.writeln`. The major feature that it provides is pipelining (as shown in the article)
Driving with D
41–50 of 186 posts
Re: Driving with D
#42Earlier quoted context omitted.
I used D for a while. It improves several things over C++, among them: - More powerful metaprogramming capabilities. - Better module and library system. - Nicer syntax. The problem IMO is it's just not enough to justify a total move from C++ -> D. The syntax of C++ can't really be fixed, but the other aspects can be improved without a new language. Furthermore, many of the other downsides of C++ are still present: -…
Except that Rust compilers seem incredibly hard to implement, as opposed to C.
CPU fabs aren't easy, yet we're fine with that.
Re: Driving with D
#43Any reasons D never caught on more? No big tech company anchor behind it?
Challenging to overcome languages like C++, Rust, Java, and C#. D seems to sit somewhere in between, a better C++, but with (optional) GC. The thing is, Java and C# are already making strides into that space.
That's at least why I glossed over it.
Re: Driving with D
#44Earlier quoted context omitted.
The idea that Rust is suitable to replace C and D isn't is odd to me. It's really not hard to do + we (unlike some languages, not sure about rust) actually test on embedded targets via GCC.
What I meant by this is: if you are starting a project today, and have to choose between C and C++, there are certain reasons why you might choose C over C++. Those same reasons would apply for choosing C over D. They might not apply for choosing C over Rust.
Re: Driving with D
#45Re: Driving with D
#46Any reasons D never caught on more? No big tech company anchor behind it?
I used D for a while. It improves several things over C++, among them: - More powerful metaprogramming capabilities. - Better module and library system. - Nicer syntax. The problem IMO is it's just not enough to justify a total move from C++ -> D. The syntax of C++ can't really be fixed, but the other aspects can be improved without a new language. Furthermore, many of the other downsides of C++ are still present: -…
https://www.embedded.com/spark-2014-why-i-am-backing-a-predi...
EDIT: Cool list of SPARK2014/Ada embedded projects: https://blog.adacore.com/tag/embedded%20development
Re: Driving with D
#47Hi, I'm the author of the article. Feel free to ask any questions you may have. I have to go to bed, I have work in about 4 hours, so I'll reply when I can.
Re: Driving with D
#48Re: Driving with D
#49Any reasons D never caught on more? No big tech company anchor behind it?
Honestly, I believe it is much more about marketing than one might expect.
Re: Driving with D
#50Earlier quoted context omitted.
I use D every day at work (inherited codebase) and the UFCS bothers me to no end. I try not to use it.
Can you expound upon why you feel that way?
https://github.com/Pure-D/serve-d
https://github.com/Pure-D/code-d
(I can't remember if the Visual Studio extension, VisualD handles UFCS or not)
http://rainers.github.io/visuald/visuald/StartPage.html
It's possible to implement, because Nim's language server handles UFCS, but atm D's doesn't do it (it's written pretty much by one people)
So personally I avoid UFCS except for very simple/common function like "to!" because it breaks the intellisense for that call.
Though if I knew the language inside and out probably I wouldn't care.
It's still my "favorite" language.
-----
SIDE NOTE: This single person wrote the D lang server, and has maintained it, written and maintained the VS Code extension, and other fundamental tooling + libs for years.
https://github.com/sponsors/WebFreak001
If you use D and feel like sponsoring someone, consider sponsoring them, or Rainers (VisualD), or the maintainers or LDC or GDC, also single individuals for the most part.
LDC Maintainer: https://github.com/sponsors/kinke
GDC Maintainer: https://github.com/sponsors/ibuclaw