automem
dpp
automem | dpp | |
---|---|---|
3 | 5 | |
82 | 227 | |
- | - | |
5.5 | 7.0 | |
10 days ago | 6 months ago | |
D | D | |
BSD 3-clause "New" or "Revised" License | Boost Software License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
automem
-
So I started learning about C++ and I feel like I'm doing everything wrong.
D has RAII when its structs are used (classes get allocated with GC but you don't have to use the GC) and there are unique_ptr style libraries around. For example automem.
- Driving with D
- D 2.096.0 Released and Other News
dpp
-
Just a reminder that D is awesome.
do you know dpp ? https://github.com/atilaneves/dpp
-
Fourth failure of trying to use D
give https://github.com/atilaneves/dpp a try ... I made it work and I'm not very literate in C
-
D 2.096.0 Released and Other News
Which is capable of directly linking + invoking most C++ things (except constructors/destructors, it can't handle those, you need a function which calls the constructor from within C++) just given a type definition.
Then you have "d++", which lets you "#include" C/C++ headers. Under the hood tries to run an automatic syntax conversion. It can't handle but for simple code it works and can spit out the equivalent D.
https://github.com/atilaneves/dpp
Also you've got "dstep", which is "A tool for converting C and Objective-C headers to D modules"
https://github.com/jacob-carlborg/dstep
And finally you have the somewhat abandoned (but as far as I know mostly functional) Calypso, which is a fork of the LLVM-based D compiler that supports direct interop with C++. It's a pain to build though, haven't gotten around to trying to build it, but it does look wicked cool:
https://github.com/Syniurge/Calypso
pragma (cppmap, "cppheader.h"); // tells Clang to parse cppheader.h but do not import anything
- Dpp: Include C headers directly into D programs
-
Why Zig When There Is Already C++ and Rust?
dpp* can't do function definitions yet but for declarations it's as easy as #including a C header file natively.
* https://github.com/atilaneves/dpp
What are some alternatives?
prusti-dev - A static verifier for Rust, based on the Viper verification infrastructure.
ldc - The LLVM-based D Compiler.
LWDR - LightWeight D Runtime targeting ARM Cortex CPUs
wg-allocators - Home of the Allocators working group: Paving a path for a standard set of allocator traits to be used in collections!
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
JITWatch - Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.
ponyc - Pony is an open-source, actor-model, capabilities-secure, high performance programming language
Vale - Compiler for the Vale programming language - http://vale.dev/
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
dmd - dmd D Programming Language compiler
reggae - Build system in D, Python, Ruby, Javascript or Lua