What to expect from D programming language in the near future

3 min read

On Tuesday, Atila Neves the Deputy leader for D programming language posted about his vision for D and what he would like to do with D lang in the near future.

Make D programming language default for web dev and mobile applications

D’s static reflection and code generation capabilities make it an ideal candidate to implement a codebase that needs to be called from several different languages and environments (e.g. Python, Java, R). Traditionally this is done by specifying data structures and RPC calls in an Interface Definition Language (IDL) then translating that to the supported languages, with a wire protocol to go along with it.

With D, none of that is necessary. One can write the production code in D and have libraries automatically making the code callable from other languages. Hence it will be easy to write D code that runs as fast or faster than the alternatives, and it will be a win on all fronts.

Memory Safety for D lang

Atila believes that D is a systems programming language with value types and pointers, it isn’t memory safe. He says that DIP1000 is in the right direction, but it still needs to be memory safe unless programmers opt-out via @trusted block or function.

The DIP1000 proposal includes a scope mechanism that will know when the lifetime of a reference is over by providing a mechanism to guarantee that a reference cannot escape lexical scope. Thus it can safely implement memory management schemes rather than tracing the garbage collection.

Safe and easy concurrency in D programming language

As per Atila safe and easy concurrency in D is mostly achieved through actor models, but they still need to finalize shards and make everything @safe as well.

Centralizing all reflection needs with an API

Atila says instead of disparate ways of getting things done with fragmented APIs like (__traits, std.traits, custom code), he would like there to be a library that centralizes all reflection needs with a great API.

Easy interoperability for C++ developers

C++ has been successful so far in making the transition from C virtually seamless. Atila wants current C++ programmers with legacy codebases to just as easily be able to start writing D code.

Faster development times

D needs a fast interpreter so that developers can skip machine code generation and linking. This should be the default way of running unittest blocks for faster feedback, with programmers only compiling their code for runtime performance and/or to ship binaries to final users.

String interpolation in D programming language

Code generation is one of D’s greatest strengths, and token strings enable visually pleasing blocks of code that are actually “just strings”. Hence, String interpolation would make it vastly easier to use.

To know more about D programming language, check out the official post by Atila Neves.

Read Next

“Rust is the future of systems programming, C is the new Assembly”: Intel principal engineer, Josh Triplett

The V programming language is now open source – is it too good to be true?

Rust’s original creator, Graydon Hoare on the current state of system programming and safety

Fatema Patrawala @https://twitter.com/FhGreen

Being a Senior Content Marketing Editor at Packt Publishing, I handle vast array of content in the tech space ranging from Data science, Web development, Programming, Cloud & Networking, IoT, Security and Game development. With prior experience and understanding of Marketing I aspire to grow leaps and bounds in the Content & Digital Marketing field. On the personal front I am an ambivert and love to read inspiring articles and books on life and in general.

Share
Published by

Recent Posts

Researchers find a new Linux vulnerability that allows attackers to sniff or hijack VPN connections

On Wednesday, security researchers from the University of New Mexico disclosed a vulnerability impacting most Linux distributions and Unix-like operating…

3 days ago

Nate Chamberlain talks about the Microsoft Enterprise Mobility and Security suite and becoming M365 certified certified

Security is an important aspect for organizations and securing the devices that contain confidential data--personal or professional, is absolutely essential.…

3 days ago

You can now use WebAssembly from .NET with Wasmtime!

Two months ago, ASP.NET Core 3.0 was released with an updated version of the Blazor framework. This framework allows the…

4 days ago

Fake Python libraries removed from PyPi when caught stealing SSH and GPG keys, reports ZDNet

Yesterday, ZDNet reported that the Python security team removed two fake Python libraries from PyPI (Python Package Index). These libraries…

4 days ago

Mozilla removes Avast and AVG extensions from Firefox to secure user data

Yesterday Wladimir Palant, the creator of AdBlock Plus, reported that Mozilla removed four Firefox extensions made by Avast and its…

4 days ago

Microsoft technology evangelist Matthew Weston on how Microsoft PowerApps is democratizing app development [Interview]

In recent years, we have seen a wave of app-building tools coming in that enable users to be creators. Another…

5 days ago