1. The Dao Programming LanguageΒΆ

Dao is an optionally-typed interpreted scripting language with a number of features aimed at improving the development workflow, particularly for large, expensive tasks that are best performed in parallel. Among Dao’s primary goals are:

  • First-class support for concurrent programming, including traditional threading support as well as more advanced concepts, like Coroutines, thread communication Channels, and Asynchronous Function Calls and Asynchronous Classes.
  • A friendly syntax that combines the flexibility and expressiveness of languages like Python with static type checking at compile time, giving the developers the tools they need to iterate quickly without pushing critical errors off to runtime code.
  • Support for multiple programming paradigms, including object-oriented programming and functional programming.
  • High performance even in single-threaded applications by combining a fast interpreter with a JIT compiler.
  • Easy embedding into C and C++ applications, with minimal effort on the part of the application developer to get the two languages to talk to each other.

Dao is still a relatively young language, but it’s also a powerful language. It’s currently under active development from a team of programmers whose experience ranges from doctorate-level university research to AAA video game programming.

The documentation for Dao is currently broken up into several sections. You can find the main sections in the table of contents to the right, or view the entire documentation structure in the Table of Contents.