“Const/immutability in D is great just as it is. I’ve been through the pain of finding non-deterministic bugs in multi-threaded code, so I really appreciate D’s guarantees. I can see his point in liking the idea of a weaker logical single-threaded const. I don’t see any reason why an escapable logical const shouldn’t exist in D in the future, but then I don’t design compilers or languages…”
By offering scripts for both compiled and interpreted languages, G-WAN delivers the productivity that has made less efficient frameworks popular for Web development.
Scripts let you test your code by just pressing F5 in the Web browser. With Apache, Lighttpd or Nginx you have to stop the server, recompile and link your C source code modules, and then restart the server – each time you need to edit your code.
G-WAN lets you get the most of both worlds: efficiency and convenience…”
“It would be interesting to contrast these two new languages by several aspects:
What are their design influences?
Where do they intersect in their goals / where do they rival?
Where are they distinct?
For which tasks is one or the other better suited?
What is your outlook on these languages? That is, which niche will D resp. Go fill?
As far as I know they are not direct competitors. Still it would be interesting to compare both languages especially since
There are hardly any comparisons to find
There are some subtle side blows from Andrei Alexandrescu against Go.
BTW, maybe some idiomatic code samples would be appropriate…”
“There seems to be a lot of confusion among developers on how garbage collectors actually work. They really aren’t as magical as some people think; in many ways, some garbage collectors are actually quite crude and — by modern developer standards — evil, unmaintainable, and full of subtle gotchas (the latter is certainly true no matter one’s perspective). In this post, I’ll try to shed some light on how GCs work in a way that (hopefully) any developer can understand. I do assume that the reader is at least familiar with basic computer memory concepts (C knowledge is preferred)…”
Error codes or exceptions – which is better? Here’s my answer:
- They have the same worst case – a human error can lead to a complete disaster.
- Exceptions are far safer for most code.
- Error codes are far safer for well-reviewed, critical code…
“Composability or the ability to write highly reusable software using a data source → algorithm → data sink model is a feature that depends heavily on language support. New facilities in D now make this possible…”
“The goal of writing reusable software is as old as programming, and is so well ingrained into programmers that we take it as an axiom. It’s accepted and non-controversial. Of course, we all strive to produce reusable software, but as I look back on 35 years of programming, I note with chagrin that practically none of the code I’ve written has been usable in another project. I will “reuse” code by copy-paste-modify, but that’s cheating, and even that doesn’t happen too often…”
“Tiny Redis is a Redis driver for the D programming language (v2). It is intentionally minimal, but powerful and makes working with Redis trivial.
All the basic operations on all data types are supported :
- sorted sets
- transactions (Yay!)
The more esoteric features like Lua scripting and Pub/Sub have not been tested yet…”
“As the D community continues to grow, so does the amount of interest in bindings to C libraries. Recently, a project called Deimos was started over at github to collate a variety of bindings to C libraries. There are several bindings there already, and I’m sure it will grow. People creating D bindings for the first time will, usually, have no trouble. It’s a straightforward process. But there are certainly some pitfalls along the way. In this post, I want to highlight some of the basic issues to be aware of. For the sake of clarity, I’m going to ignore D1 (for a straight-up “static” binding, the differences are minor, but they do exist…”