Hacker News

D programavimo kalba

D programavimo kalba Šis tyrimas gilinasi į programavimą, nagrinėja jo reikšmę ir galimą poveikį. Apimtos pagrindinės sąvokos Šiame turinyje nagrinėjama: Pagrindiniai principai ir teorijos Praktinės pasekmės...

7 min read Via dlang.org

Mewayz Team

Editorial Team

Hacker News

D programavimo kalba: modernių sistemų kalba, sukurta siekiant produktyvumo

D programavimo kalba yra aukšto lygio statinio tipo sistemų programavimo kalba, sujungianti C galią ir našumą su šiuolaikiniais programinės įrangos inžinerijos principais. Sukurtas Walterio Brighto ir pirmą kartą išleistas 2001 m., D siūlo kūrėjams patrauklią alternatyvą kuriant didelio našumo programas, neprarandant kodo aiškumo ar kūrėjo produktyvumo.

Kas yra D programavimo kalba ir kodėl ji buvo sukurta?

D atsirado dėl nusivylimo C++ sudėtingumu. Walteris Braitas, pirmojo vietinio C++ kompiliatoriaus kūrėjas, numatė kalbą, kuri išlaikytų neapdorotą sistemos lygio našumą ir pašalintų nereikalingą sudėtingumą. D nėra kurios nors vienos kalbos vedinys – tai iš esmės perdarytas dizainas, įkvėptas C, C++, Java, Python ir Ruby.

Iš esmės D yra sudaryta kalba su pasirenkamu šiukšlių rinkimu, stipriu spausdinimu ir integruotu metaprogramavimo palaikymu. Jis taikomas tokiam pačiam našumo lygiui kaip C ir C++, kartu siūlo žymiai švaresnę sintaksę ir turtingesnę standartinę biblioteką, vadinamą Phobos.

„D“ turi būti C++ – jis perima geriausias idėjas iš kelių paradigmų ir sulieja jas į nuoseklią, praktinę realaus pasaulio programinės įrangos kūrimo sistemą.

Kokios yra pagrindinės funkcijos, dėl kurių D išsiskiria?

D užima unikalią vietą programavimo aplinkoje, palaikydama kelias programavimo paradigmas vienu metu. Nesvarbu, ar teikiate pirmenybę imperatyviam, į objektus orientuotam, funkciniam ar bendriniam programavimui, D prisitaiko prie jūsų stiliaus, nepriversdamas jūsų pasirinkti vieno modelio.

  • Šablonai ir kompiliavimo laiko funkcijų vykdymas (CTFE): D šablonų sistema plačiai vertinama kaip išraiškingesnė ir skaitomesnė nei C++, todėl galima atlikti galingą metaprogramavimą be slaptos sintaksės.
  • Atminties sauga su @safe Anotations: D leidžia kūrėjams pažymėti funkcijas kaip @safe, užkertant kelią nesaugioms atminties operacijoms kompiliavimo metu – tai svarbus žingsnis link saugaus sistemos kodo.
  • Įtaisytasis vienetų testavimas: D apima savąjį vienetų testų palaikymą tiesiai šaltinio failuose, todėl bandymais pagrįsta kūrimas yra aukščiausios klasės kalbos pilietis, o ne pasekmė.
  • Diapažai ir funkciniai konvejeriai: D diapazonu pagrįsti algoritmai įgalina švarius, sukomponuojamus duomenų apdorojimo vamzdynus, panašius į funkcines kalbas, todėl sumažėja nuoseklumas ir pagerinamas skaitomumas.
  • Tobulas C suderinamumas: skirtingai nei daugelis šiuolaikinių kalbų, D gali tiesiogiai susieti su C bibliotekomis be susiejimo ar apvyniojimo sluoksnių, todėl kūrėjams suteikiama tiesioginė prieiga prie didžiulės C ekosistemos.

Kaip šiuolaikinėje plėtroje D lyginamas su C++ ir Rust?

Sistemų programavimo erdvė tampa vis konkurencingesnė, o „Rust“ įgauna didžiulį pagreitį atmintį saugančiam žemo lygio kodui, o C++ išlieka dominuojančia senųjų ir žaidimų kūrimo srityje. D įdomiai įsitaiso tarp šių dviejų polių.

Palyginti su C++, D siūlo žymiai paprastesnę šablono sintaksę, integruotą šiukšlių surinkimą (galima valdyti rankiniu būdu) ir lengviau skaitomą modulių sistemą. Kompiliavimo laikas D kalboje taip pat yra žymiai greitesnis nei įprastų C++ versijų, o tai labai svarbu dideliuose projektuose.

Palyginti su Rust, D iškeičia griežtą Rust skolinimosi tikrintuvą į lankstesnį atminties modelį. Dėl to D lengviau išmokstama ir greičiau sukuriamas prototipas, nors „Rust“ suteikia didesnes kompiliavimo laiko garantijas dėl atminties saugumo. Komandoms, kurioms reikia sistemos lygio našumo be staigios Rust mokymosi kreivės, D yra tikrai patrauklus vidurys.

D taip pat palaiko tiesioginį surinkėją, SIMD ypatybes ir žemo lygio žymeklio manipuliavimą – galimybes, būtinas kuriant OS, žaidimų variklius, mokslinį skaičiavimą ir įterptųjų sistemų programavimą.

Kokioms pramonės šakoms ir taikomoms programoms D kalba suteikiama daugiausia naudos?

Dėl D našumo profilio ir išraiškingo tipo sistemos jis ypač tinka sritims, kuriose svarbus ir pralaidumas, ir kūrėjo greitis. Žaidimo variklio kūrimui naudingas D kompiliavimo laiko atspindys ir nulinės abstrakcijos. Mokslinės skaičiavimo bendruomenės vertina D skaitmenines bibliotekas ir greitus kompiliavimo ciklus, skirtus kartotinių tyrimų darbo eigoms.

💡 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 →

Žiniatinklio kūrimas taip pat galimas naudojant tokias sistemas kaip Vibe.d, kuri suteikia asinchroninio įvesties / išvesties ir HTTP serverio galimybes, konkuruojančias su Node.js, tuo pačiu užtikrinant žymiai geresnį neapdorotą pralaidumą procesoriaus reikalaujančiam užklausų apdorojimui.

Sistemos įrankiai, kompiliatoriai, analizatoriai ir duomenų apdorojimo vamzdynai yra kiti natūralūs pritaikymai. Pats D kompiliatorius (DMD, LDC ir GDC) parodo kalbos gebėjimą kurti sudėtingą įrankių grandinės programinę įrangą.

Kokia D programavimo kalbos ateitis?

D plėtrą skatina „D Language Foundation“ – ne pelno siekianti organizacija, įsipareigojusi ilgalaikei kalbos priežiūrai. Bendruomenė aktyviai tobulino kalbos ekosistemą, dokumentaciją ir įrankius – sritis, kurios istoriškai atsiliko nuo savo techninių privalumų.

DIP (D tobulinimo pasiūlymas) procesas suteikė struktūrinį kalbos evoliucijos valdymą, sprendžiant su kalbos stabilumu susijusias problemas, kurios anksčiau atgrasė nuo įmonės priėmimo. Paketų tvarkytuvės DUB patobulinimai, geresnė IDE integracija ir iniciatyvos, pvz., -preview=dip1000, užtikrinančios didesnį atminties saugumą, signalizuoja apie bręstančią ekosistemą, pasirengusią plačiau pritaikyti.

Kadangi programinės įrangos sistemos tampa sudėtingesnės, o klaidų kaina didėja, kalbų, kurios siūlo tvirtas kompiliavimo laiko garantijas, puikų našumą ir išraiškingas abstrakcijas, svarba tik didės. Šių bruožų D derinys leidžia jį išlaikyti nuolatinį sistemų programavimo, didelio našumo skaičiavimo ir įrankių kūrimo srityse.


Dažniausiai užduodami klausimai

Ar D programavimo kalba vis dar aktyviai palaikoma?

Taip, D aktyviai prižiūri D kalbos fondas, reguliariai išleidžiant DMD (referencinis kompiliatorius), LDC (pagrįstas LLVM, puikus optimizavimas) ir GDC (GCC backend) kompiliatorius. Kalba nuolat atnaujinama, o bendruomenė išlieka aktyvi forumuose, „GitHub“ ir „Discord“ kanaluose, skirtuose D plėtrai.

Ar D programavimo kalba tinka pradedantiesiems?

Dėl švaresnės sintaksės, integruoto testavimo ir geresnių klaidų pranešimų pradedantiesiems, besidomintiems sistemų programavimu, D yra prieinamesnis nei C++. Tačiau ji paprastai nerekomenduojama kaip pirmoji kalba, palyginti su Python ar JavaScript. Kūrėjai, turintys tam tikrą programavimo išsilavinimą, norintys priartėti prie metalo, manys, kad D mokymosi kreivė bus valdoma ir naudinga.

Kaip pradėti naudotis D programavimo kalba?

D kompiliatorių ir įrankių grandinę galite atsisiųsti iš dlang.org. Oficialioje kelionėje adresu tour.dlang.org pateikiamas interaktyvus naršyklės įvadas. Paketų valdymui DUB tvarko priklausomybes panašiai kaip npm arba krovinys. Dauguma pagrindinių kodo redaktorių, įskaitant VS Code, Vim ir Emacs, turi D kalbos papildinius, skirtus sintaksės paryškinimui, užbaigimui ir derinimo palaikymui.


Šiuolaikinio programinės įrangos projekto valdymui – nesvarbu, ar kuriate D, Python, Rust ar bet kuria kita kalba – reikia daugiau nei tik gero kodo. Jums reikia įrankių, kad galėtumėte valdyti savo komandą, klientus, operacijas ir augimą vienoje vietoje. Mewayz yra „viskas viename“ verslo operacinė sistema, kuria pasitiki daugiau nei 138 000 naudotojų, siūlanti 207 integruotus modulius, kad supaprastintų visus verslo valdymo aspektus – nuo klientų valdymo iki analizės iki atsiskaitymo – nuo vos 19 USD per mėnesį.

Pradėkite nemokamą bandomąją versiją adresu app.mewayz.com ir sužinokite, kaip „Mewayz“ gali padėti verslui, kai kuriate puikią programinę įrangą.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime