Other examples of domain specific languages given by students in class:
- Mathematica/MATLAB: for math/algebra
- R: for statistics
These are not incredibly performant, but do better than what most programmers could do without these languages, and provide a much more productive programming interface.
SQL is a particularly good example of a language where the programmer can reason through a simple mental model of a database (specific domain) and doesn't have to think about any of the implementation details, but gets concurrency, atomicity, tuned performance, etc. all for "free" given a good implementation.
thunder
Apache Spark might be another example of the domain specific languages which is in the domain of large-scale processing in distributed systems. However, similar to Halide, a very efficient spark program needs knowledge in distributed systems as well as internal mechanisms of spark.
rohany
Tensor flow is another example of a DSP for machine learning - users describe their network structure, and tensorflow constructs the inner representation along with an optimum method of training the network on the computer's hardware
eourcs
Another interesting example is Erlang, which was originally built for telecom companies with language-level concurrency semantics (message passing, threads, etc. - no external libraries needed!). This was helpful in writing code for large scale networks. A few SV companies have been using some Erlang as part of their backend since large scale server networks are still just networks!
pht
Examples of domain-specific languages include all query languages (SQL, XPath, ...), all template languages (Django, Smarty, ...), shell scripts, data storage and exchange languages (XML, YAML, ...), and document languages like LaTex, HTML or CSS.
albusshin
Also, markdown, .gitignore, VimScript, EmacsLisp and so on.
Other examples of domain specific languages given by students in class: - Mathematica/MATLAB: for math/algebra - R: for statistics
These are not incredibly performant, but do better than what most programmers could do without these languages, and provide a much more productive programming interface.
SQL is a particularly good example of a language where the programmer can reason through a simple mental model of a database (specific domain) and doesn't have to think about any of the implementation details, but gets concurrency, atomicity, tuned performance, etc. all for "free" given a good implementation.
Apache Spark might be another example of the domain specific languages which is in the domain of large-scale processing in distributed systems. However, similar to Halide, a very efficient spark program needs knowledge in distributed systems as well as internal mechanisms of spark.
Tensor flow is another example of a DSP for machine learning - users describe their network structure, and tensorflow constructs the inner representation along with an optimum method of training the network on the computer's hardware
Another interesting example is Erlang, which was originally built for telecom companies with language-level concurrency semantics (message passing, threads, etc. - no external libraries needed!). This was helpful in writing code for large scale networks. A few SV companies have been using some Erlang as part of their backend since large scale server networks are still just networks!
Examples of domain-specific languages include all query languages (SQL, XPath, ...), all template languages (Django, Smarty, ...), shell scripts, data storage and exchange languages (XML, YAML, ...), and document languages like LaTex, HTML or CSS.
Also, markdown, .gitignore, VimScript, EmacsLisp and so on.