D programming language
Főnév
D programming language (tsz. D programming languages)
- (informatika) A D programozási nyelv egy modern, általános célú rendszerprogramozási nyelv, amelyet Walter Bright (Digital Mars) fejlesztett ki a 2000-es évek elején. Később Andrei Alexandrescu (C++ guru) is bekapcsolódott a tervezésbe.
👉 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.
🌟 Röviden
✅ 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)
🏗 Fő célok
- Legyen gyors, mint C/C++
- Legyen biztonságosabb → kevesebb undefined behavior
- Legyen könnyebb fejleszteni
- Ne kényszerítsen OOP-re → multi-paradigm
- Jó legyen modernebb szoftverek írására (GUI, szerver, játék, rendszerprogramozás)
📝 Egyszerű D példa
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.
🔑 Nyelvi jellemzők
✅ 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
🚀 D vs C/C++
| 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 |
🧑💻 Modern D eszközkészlet
- Fordítók:
- DMD (Digital Mars D compiler, hivatalos)
- LDC (LLVM backend)
- GDC (GCC backend)
- Build tool: dub → hasonló a Cargo-hoz (Rust) vagy npm-hez
- C könyvtárak könnyen hívhatók
- IDE támogatás: VS Code (code-d plugin), CLion, Vim, Emacs, stb.
🏆 Miért érdemes használni D-t?
✅ 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
🌐 Ki használja D-t?
- Főleg kis csapatok, indie fejlesztők
- Sci-fi játékok (Galaxy in Turmoil)
- High-performance tools
- Compiler írás
- Hobby / R&D projektek
- Kisebb kereskedelmi rendszerek
👉 Nem annyira mainstream, mint Rust, de nagyon kiforrott és érett nyelv.
TL;DR
D nyelv:
- C nyelv közeli teljesítmény + modernebb szintaxis
- OOP + FP + imperatív támogatott
- Garbage collector van, de opcionálisan kiiktatható
- Nagyon jó metaprogramozási lehetőségek
- Egyszerűbb, gyorsabb fejlesztés, mint C++
- Niche nyelv, de iparban is alkalmazzák.
- D programming language - Szótár.net (en-hu)
- D programming language - Sztaki (en-hu)
- D programming language - Merriam–Webster
- D programming language - Cambridge
- D programming language - WordNet
- D programming language - Яндекс (en-ru)
- D programming language - Google (en-hu)
- D programming language - Wikidata
- D programming language - Wikipédia (angol)