D programming language (tsz. D programming languages)
👉 A cél az volt, hogy a C/C++ nyelvek teljesítményét megtartsák, de könnyebben használható, biztonságosabb, modernebb nyelvet hozzanak létre.
✅ Compiled language → natív gépi kódra fordul ✅ C-szintű teljesítmény ✅ Jobb biztonság, egyszerűbb szintaxis, mint C++ ✅ Garbage collection, de opcionálisan kiiktatható ✅ Moduláris felépítés ✅ Multi-paradigm → OOP, funkcionális, imperatív, template metaprogramozás ✅ Metaprogramozás támogatott (jobb, mint C++ template)
import std.stdio;
void main()
{
writeln("Hello, D world!");
int a = 5;
int b = 10;
writeln("Sum: ", a + b);
}
👉 import std.stdio; → standard I/O 👉 writeln → kiírás 👉 Szintaxis hasonló a C++-hoz / Java-hoz.
✅ Klasszikus OOP → class, interface, inheritance ✅ Funkcionális elemek → map, filter, lambda, immutable ✅ Biztonsági szintek → @safe
, @trusted
, @system
✅ Compile-time metaprogramming → static if
, template
✅ RAII támogatás ✅ Unit testing beépítve ✅ Concurrency támogatás (threads, fibers, message passing) ✅ BetterC mód → C-s runtime nélkül is lehet használni
Jellemző | C / C++ | D |
---|---|---|
Nyelv típusa | Kompilált | Kompilált |
Paradigma | OOP + template | Multi-paradigm + FP |
Memory safety | Gyenge | Erősíthető (@safe) |
Garbage collector | Nincs | Van (opcionális) |
Unit testing | Külön tool kell | Beépítve |
Meta-programozás | Bonyolult (template) | Egyszerűbb (CTFE, mixin) |
C interop | Natív | Natív |
✅ C/C++ teljesítmény + modernebb nyelvi elemek ✅ Egyszerűbb, kevesebb boilerplate, olvashatóbb kód ✅ Beépített unit test támogatás ✅ Rendszerprogramozásra, de magas szintű szoftverekre is alkalmas ✅ Kiváló metaprogramozási képességek → templatek, static if, CTFE ✅ Játékfejlesztés, CLI toolok, nagy teljesítményű szerverek
👉 Nem annyira mainstream, mint Rust, de nagyon kiforrott és érett nyelv.
D nyelv: