Hacker News

D Dɔwɔɖoɖowo ƒe Gbegbɔgblɔ

D Dɔwɔɖoɖowo ƒe Gbegbɔgblɔ Kukuɖenuŋu sia ku ɖe ɖoɖowɔɖiwo ŋu, eye wòdzro eƒe vevienyenye kple ŋusẽ si wòate ŋu akpɔ ɖe amewo dzi me. Nukpɔsusu Vevi Siwo Ŋu Woƒo Nu Ðo Nya sia ku ɖe: Gɔmeɖose veviwo kple nufiafiawo Nusiwo wòfia ŋutɔŋutɔ...

12 min read Via dlang.org

Mewayz Team

Editorial Team

Hacker News

D Dɔwɔɖoɖo ƒe Gbe: Egbegbe Dɔwɔɖoɖowo ƒe Gbe si Wotu na Dɔwɔwɔ

D ɖoɖowɔɖi ƒe gbegbɔgblɔ nye ɖoɖowɔɖiwo ƒe ɖoɖowɔɖi ƒe gbegbɔgblɔ si le ɖoƒe kɔkɔ aɖe, si woŋlɔ ɖe ɖoɖo nu, si ƒoa C ƒe ŋusẽ kple dɔwɔwɔ nu ƒu kple egbegbe kɔmpiuta dɔwɔɖoɖowo ƒe gɔmeɖosewo. Walter Bright ye wɔe eye woɖee ɖe go zi gbãtɔ le ƒe 2001 me, D na mɔnu bubu si ŋu kakaɖedzi le be woatu dɔwɔnu siwo wɔa dɔ nyuie evɔ womatsɔ kɔda ƒe eme kɔ alo dɔwɔlawo ƒe dɔwɔwɔ asa vɔe o.

Nukae Nye D Dɔwɔɖoɖo Gbegbɔgblɔ Kple Nukatae Wowɔe?

Wodzi D le dziɖeleameƒo le C++ ƒe nusiwo sesẽ ta. Walter Bright, amesi wɔ C++ nuƒoƒoƒula gbãtɔ si wodzi la, kpɔ gbegbɔgblɔ si alé dɔwɔwɔ xoxo si le ɖoɖo nu me ɖe asi esime wòɖea nusiwo mehiã o ɖa le susu me. D menye gbegbɔgblɔ ɖeka aɖeke me tsonu o — enye anyigba ƒe nɔnɔme yeye si xɔa gbɔgbɔ tso C, C++, Java, Python, kple Ruby gbɔ.

Le eƒe gɔmedzedze la, D nye gbegbɔgblɔ si woƒo ƒu si me gbeɖuɖɔwo nuƒoƒoƒu le tiatia me, nuŋɔŋlɔ sesẽ, kple kpekpeɖeŋu si wotu ɖe eme na metaprogramming. Eɖoa taɖodzinu na dɔwɔwɔ ƒe ɖoɖo ma ke abe C kple C++ ene esime wòle nyagɔmeɖegbalẽ si le dzadzɛ wu ɖedzesi aɖe kple agbalẽdzraɖoƒe si sɔ wu si woyɔna be Phobos.

nam
ƒe nyawo

"D nye nusi wòle be C++ nanye hafi — exɔa susu nyuitɔwo tso kpɔɖeŋu geɖewo me eye wòƒoa wo nu ƒu ɖe ɖoɖo si wɔ ɖeka, si wɔa dɔ hena xexeame ŋutɔŋutɔ ƒe kɔmpiuta dɔwɔɖoɖowo wɔwɔ."

ƒe nyawo

Nukae Nye Nu Vevi Siwo Na D To Vovo?

D xɔ nɔƒe tɔxɛ aɖe le ɖoɖowɔɖi ƒe nɔnɔme me to asikpekpe ɖe ɖoɖowɔɖi ƒe kpɔɖeŋu geɖewo ŋu le ɣeyiɣi ɖeka me. Eɖanye ɖoɖowɔɖi si hiã vevie, esi wotu ɖe nu dzi, si wɔa dɔ, alo esi wowɔna le mɔ gbadza nu o, D wɔa ɖeka kple wò atsyã evɔ mezi dziwò be nàge ɖe nɔnɔme ɖeka me o.

    ƒe nyawo
  • Templates and Compile-Time Function Execution (CTFE): Ame geɖe bua D ƒe template system be eɖea nu me eye wòxlẽa nu wu C++ tɔ, si wɔnɛ be woate ŋu awɔ metaprogramming sesẽ si me nyagɔmeɖegbalẽ ɣaɣla manɔmee.
  • Ŋkuɖodzinyawo ƒe Dedienɔnɔ kple @safe Numeɖeɖewo: D ɖe mɔ na dɔwɔlawo be woade dzesi dɔwɔwɔwo be @safe, si xea mɔ na ŋkuɖodzinu ƒe dɔwɔwɔ siwo mele dedie o le nuƒoƒoƒuɣi — afɔɖeɖe vevi aɖe si yi ɖe ɖoɖowo ƒe kɔpi dedie gbɔ.
  • Ame ƒe Dodokpɔ si wotu ɖe eme: D lɔ dzɔdzɔme kpekpeɖeŋu na unit dodokpɔwo tẽ le dzɔtsoƒe faɛlwo me, si na be dodokpɔ-ʋuʋu ƒe ŋgɔyiyi nye gbea me tɔ gbãtɔ tsɔ wu be wòanye nusi ŋu wobu le emegbe.
  • Dɔwɔƒewo kple Dɔwɔnawo: D ƒe didime-dzidzenu ƒe akɔntabubuwo na be woate ŋu awɔ nyatakakawo ŋuti dɔwɔwɔ ƒe pɔmpi siwo le dzadzɛ, siwo woate ŋu aƒo ƒu abe gbegbɔgblɔ siwo wozãna ene, si ɖea boilerplate dzi kpɔtɔna eye wònaa nuxexlẽ nyona ɖe edzi.
  • Seamless C Interoperability: To vovo na egbegbe gbegbɔgblɔ geɖe la, D ateŋu awɔ kadodo kple C agbalẽdzraɖoƒewo tẽe manɔmee bindings alo wrapper layers manɔmee, si ana developers ateŋu akpɔ C ecosystem gã la enumake.
ƒe nyawo

Aleke D Sɔ Kple C++ Kple Rust Le Egbegbe Ŋgɔyiyi Me?

Nuɖoɖowo ƒe ɖoɖowɔɖi ƒe teƒea le hoʋiʋlim geɖe wu, eye Rust le ŋusẽ gã aɖe xɔm na ŋkuɖodzinu-safe low-level code eye C++ gakpɔtɔ xɔ aƒe ɖe domenyinu kple fefewo wɔwɔ me. D nɔa ati eve siawo dome le mɔ dodzidzɔnamewo nu.

Ne wotsɔe sɔ kple C++ la, D naa template syntax si le bɔbɔe ŋutɔ, gbeɖuɖɔwo nuƒoƒoƒu si wotu ɖe eme (kple asidzikpɔkpɔ li), kple module system si woate ŋu axlẽ wu. Nuƒoƒoƒu ƒe ɣeyiɣiwo le D me hã le kabakaba ŋutɔ wu C++ tutu siwo bɔ, si le vevie ŋutɔ le dɔ gãwo me.

Ne wotsɔe sɔ kple Rust la, D dzraa Rust ƒe fenyinyi ƒe ɖaseɖigbalẽ sesẽa ɖe ŋkuɖodzinu ƒe kpɔɖeŋu si te ŋu trɔna bɔbɔe wu ta. Esia na be D sɔsrɔ̃ le bɔbɔe eye wòwɔa eƒe kpɔɖeŋu kabakaba, togbɔ be Rust naa kakaɖedzi sesẽwo le nuƒoƒoƒu-ɣeyiɣi ŋu ƒo xlã ŋkuɖodzinu ƒe dedienɔnɔ hã. Le ƒuƒoƒo siwo hiã na dɔwɔwɔ le ɖoɖowo ƒe ɖoɖo nu Rust ƒe nusɔsrɔ̃ ƒe ʋuʋudedi si me kɔ o gome la, D tsɔ titinanya si hea ame ŋutɔŋutɔ ɖo ŋkume.

D hã doa alɔ inline assembler, SIMD intrinsics, kple low-level pointer manipulation — ŋutete siwo le vevie na OS ƒe ŋgɔyiyi, fefe ƒe mɔ̃wo, dzɔdzɔmeŋutinunya ƒe kɔmpiuta, kple embedded systems programming.

Adzɔnuwɔƒewo Kple Dɔwɔwɔ Kawoe Viɖe Wu tso D Gbea Me?

D ƒe dɔwɔwɔ ƒe nɔnɔmetata kple expressive type system na wòsɔ nyuie ŋutɔ na domains afisi throughput kple developer velocity siaa le vevie. Fefe ƒe mɔ̃ ƒe ŋgɔyiyi kpɔa viɖe tso D ƒe nuƒoƒoƒu-ɣeyiɣi ƒe ŋugbledede kple zero-overhead abstractions me. Dzɔdzɔmeŋutinunya ƒe kɔmpiuta habɔbɔwo kpɔa ŋudzedze ɖe D ƒe xexlẽdzesiwo ƒe agbalẽdzraɖoƒewo kple nuƒoƒoƒu ƒe tsatsam kabakabawo ŋu hena numekuku ƒe dɔwɔwɔ siwo wogbugbɔna wɔna.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Nyatakakadzraɖoƒe ƒe ŋgɔyiyi hã ateŋu adzɔ to ɖoɖowo abe Vibe.d, si naa asynchronous I/O kple HTTP server ƒe ŋutete siwo le ho ʋlim kple Node.js — esime wòle raw throughput si nyo wu ŋutɔ nam hena CPU-intensive request handling.

Nuɖoɖowo ƒe dɔwɔnuwo, nuƒoƒoƒulawo, numeɖelawo, kple nyatakakawo ŋuti dɔwɔwɔ ƒe pɔmpiwo tsi tre ɖi na dzɔdzɔme ƒe sɔsɔ bubuwo. D nuƒoƒoƒula ŋutɔ (DMD, LDC, kple GDC) ɖe gbea ƒe ŋutete fia le dɔwɔnu ƒe kɔmpiuta dɔwɔɖoɖo deŋgɔwo tutu me.

Nukae Nye D Programming Language ƒe Etsɔme?

D ƒe ŋgɔyiyi tso D Language Foundation, si nye habɔbɔ si mekpɔa viɖe aɖeke tso eme o si tsɔ eɖokui na be yeakpɔ gbegbɔgblɔ dzi ɣeyiɣi didi. Nutoa me tɔwo le dɔ wɔm vevie le gbea ƒe lãwo ƒe agbenɔnɔ, nuŋlɔɖiwo, kple dɔwɔnuwo dodo ɖe ŋgɔ ŋu — nuto siwo tsi megbe le ŋutinya me le eƒe mɔ̃ɖaŋununya ƒe nyonyo me.

DIP (D Improvement Proposal) ƒe ɖoɖoa he dziɖuɖu si woɖo ɖe ɖoɖo nu vɛ na gbegbɔgblɔ ƒe tɔtrɔ, si kpɔa dzitsitsi siwo ƒo xlã gbegbɔgblɔ ƒe liƒo si xea mɔ na dɔwɔƒewo ƒe xɔxlɔ̃ tsã. Dɔwɔwɔ nyuie le package manager DUB ŋu, IDE ƒe ƒoƒo ɖekae nyuie wu, kple afɔɖeɖewo abe -preview=dip1000 hena ŋkuɖodzinu ƒe dedienɔnɔ ƒe kakaɖedzi sesẽwo ɖee fia be lãwo ƒe agbenɔnɔ ƒe ɖoɖo si le tsitsim si le klalo na wo xɔxɔ le mɔ gbadza nu.

| D ƒe nɔnɔme siawo ƒoƒo ƒu ɖoe nyuie na eƒe vevienyenye si ayi edzi le ɖoɖowo ƒe ɖoɖowɔwɔ, kɔmpiutadɔwɔwɔ si wɔa dɔ nyuie, kple dɔwɔnuwo wɔwɔ me.


ƒe nyawo

Nyabiase Siwo Wobiana Enuenu

Ðe wogakpɔtɔ le D ƒe ɖoɖowɔɖigbea dzi kpɔm vevie?

Ẽ, D nye D Gbegbɔgblɔ Gɔmeɖoanyiha si léa be na vevie kple nuƒoƒoƒula ƒe dodo edziedzi na DMD (nufiame nuƒoƒoƒula), LDC (LLVM-si wotu ɖe, nyonyome nyuitɔ kekeake), kple GDC (GCC megbenyawo). Gbea xɔa nya yeye siwo yia edzi, eye nutoa me tɔwo gakpɔtɔ le dɔ dzi le nyamedzroƒewo, GitHub, kple Discord mɔnu siwo woɖo ɖi na D ƒe ŋgɔyiyi.

Ðe D ɖoɖowɔɖi ƒe gbegbɔgblɔ nyo na gɔmedzelawoa?

D te ɖe eŋu wu C++ na gɔmedzela siwo tsɔ ɖe le ɖoɖowo ƒe ɖoɖowɔwɔ me, akpe na nyagɔmeɖegbalẽ si le dzadzɛ wu, dodokpɔ si wotu ɖe eme, kple vodada ƒe gbedasi siwo nyo wu. Gake zi geɖe la, womekafunɛ be wòanye gbe gbãtɔ ne wotsɔe sɔ kple Python alo JavaScript o. Dɔwɔla siwo si ɖoɖowɔɖi ŋuti nunya aɖewo le siwo di be yewoate ɖe ga la ŋu la akpɔe be D ƒe nusɔsrɔ̃ ƒe mɔnu ate ŋu akpɔ edzi eye wòɖea vi.

Aleke mawɔ adze D ɖoɖowɔɖi gbea gɔme?

Àteŋu awɔ D compiler kple toolchain ƒe kɔpi le dlang.org. Tsaɖiɖi si dziɖuɖua wɔ le tour.dlang.org naa ŋgɔdonya si wotu ɖe web-browser dzi si me wowɔa nu aduadu le. Le package dzikpɔkpɔ gome la, DUB kpɔa nusiwo dzi woanɔ te ɖo gbɔ abe alesi npm alo agbawo wɔa dɔe ene. Kɔda ɖɔlila gã akpa gãtɔ siwo dometɔ aɖewoe nye VS Code, Vim, kple Emacs ƒe D gbegbɔgblɔ ƒe kpeɖeŋutɔ siwo li na nyagɔmeɖegbalẽ ƒe dzesidede, ewuwu, kple vodadawo ɖɔɖɔɖo ƒe kpekpeɖeŋu.


ƒe nyawo

Egbegbe kɔmpiuta dɔwɔɖoɖo aɖe dzi kpɔkpɔ — eɖanye D, Python, Rust, alo gbe bubu ɖesiaɖe mee nèle xɔ tum o — bia nu geɖe wu kɔpi nyui aɖe ko. Èhiã dɔwɔnu siwo nàtsɔ akpɔ wò ƒuƒoƒoa, asisiwo, dɔwɔƒewo, kple dzidziɖedzi gbɔ le teƒe ɖeka. Mewayz nye asitsadɔwɔɖoɖo si katã le ɖeka me si dzi ezãla siwo wu 138,000 ka ɖo, si naa modules 207 siwo wotsɔ wɔ ɖekae be wòana wò dɔwɔƒea ƒe akpa sia akpa nawɔ dɔ nyuie — tso asisiwo dzikpɔkpɔ dzi va ɖo numekuku dzi va ɖo fexexe dzi — si dzea egɔme tso $19/ɣleti ko dzi.

Dze wò dodokpɔ femaxee gɔme le app.mewayz.com eye nàke ɖe alesi Mewayz ateŋu ado ŋusẽ wò ŋgɔyiyidɔa ƒe asitsatsa ƒe akpa esime nèle susu hem yi kɔmpiuta dɔwɔɖoɖo gãwo tutu dzi.