One unexpected challenge of CSV is the lack of explicit encoding. I think it’s common knowledge that CSV is often best avoided, but wanted to highlight this painful point.
The most important reason why .csv is so popular is that you can edit info easy in Exel or import data in .csv. About XML I have not checked yet. Thanks for the point :)
Personally I’m very satisfied with Discord: the client is lightweight, infinite history, and free.
If you are interested about D, I wrote d-idioms as a way to quickstart your understanding, starting with the edge cases :) => https://p0nce.github.io/d-idioms/
I have built my company with this language and it’s picking up steam in my local area. Usually people dismiss D immediately when they first heard of it ; I find it nothing short of fascinating, and well usable since the last ten years.
I’d be very interested in chatting about strategies. My company is pivoting towards Rust and while that might feel like competition, breaking the monoculture of C is to everyones gain in that area. (Same goes for, for example, Ada in the embedded space)
(I’m based in Berlin)
Are you in Germany? For some reason, it seems that Germany is the only place where D has really picked up.
I’m not sure why D isn’t more popular. My guess is some teething issues back in the day limited its growth:
From what I understand, these have all since been resolved. It will be interesting to see if D usage picks up, or if those early speed-bumps made too much room for other (newer) languages to pass it by (Go, Rust, Swift).
For me, D is known and perceived just as a “better C++” (Alexandrescu is one the brightest evangelists of D and his C++ past does not help with the language image) and I do not want a better C++. I do not want another deeply imperative programming language that can do some functional programming accidentally. I do not want another language born from the culture of obsessive focus on performance at the expense of everything else.
What I want is a ML-ish language for any level of systems programming (sorry, D and Go: having GC is a non-starter) with safety and correctness without excessive rituals and bondage (like in Ada). Rust fits the bill: it’s explicitly not functional, but has strong safety/correctness culture.
Precisely because of the lack of GC and the focus on lifetimes, Rust is much more similar to (modern) C++ than D will ever be. Writing Rust is like writing correctly written C++.
D, having a GC, leads to different programs (than C++ or Rust) because of this global owner for resources that are only memory. eg: slices have no ownership information in the type system. This makes scripting very friction-less, at the cost of some more problems with non-memory resources. But not at the cost of speed.
D has @safe which is machine-checked, opt-in memory safety.
Thanks for the clarification, indeed I had a slightly wrong impression about the D programming style and ignored the profound influence of garbage collection on the programming style.
Still, everything that I learn about D irks me (native code with GC by default? metaprogramming with native code, without dynamic eval? opt-in @safe?!) and feels too much like the old C++ culture with its insensible defaults.
native code with GC by default?
This is why Go appealed to so many people isn’t it. This is the “new normal”. (Of course, OCaml etc had this before)
dynamic eval
This is probably a bridge too far if you are appealing to people from C++ background (C++ programmers as target audience is bad market strategy for D, IMHO)
Opt-in
@safe.
I agree with you on this.
feels too much like the old C++ culture
Well, the two main D architects are old C++ hands after all!
I think I addressed at the very top the current biggest obstacles to D adoption. I encounter them often when I try to excitedly discuss D with anyone.
I agree with all those points.
I was more thinking about folks skipping over D in the past, and how that potentially limited its uptake, than from the perspective of a D programmer looking at the current popular trends. Certainly an interesting perspective though. Thanks for sharing!
Indeed all those points have since been resolved. What hasn’t been resolved is that there isn’t a simple message to give as a marketing motto, since D tends to check all the boxes in many areas.
I think it should go back to its roots, which is why I happen to like it: “D: the C++ you always wanted.”
Very true!
Also, I must be one of the few people who learned C++ and never learned C. “C/C++” has always irked me, as if the two were easily exchangeable, or worse, the same language.
Working towards the release of my first game on Steam (PC/Mac): https://www.youtube.com/watch?v=cBwMHSlFagg
This disclosure has been made in good intelligence with Ledger, who talks about how the latest firmware can avoid such attacks (two other attacks are described, and mitigated):
https://www.ledger.fr/2018/03/20/firmware-1-4-deep-dive-security-fixes/