Skip to content
Snippets Groups Projects
Commit 0dab4e8d authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Explain why not using a standard scripting language such as Python

parent 62ea9315
No related branches found
No related tags found
1 merge request!145git subrepo clone git@gitlab.com:OlMon/org-themes.git packages/org-themes
...@@ -249,7 +249,7 @@ solution to all problems. However, it offers some advantages. ...@@ -249,7 +249,7 @@ solution to all problems. However, it offers some advantages.
the code to check its meaning. the code to check its meaning.
**** ~pugs~ language purpose ***** ~pugs~ language purpose
~pugs~ language is used to assemble ~C++~ tools which are well ~pugs~ language is used to assemble ~C++~ tools which are well
tested. These tools should ideally be small pieces of ~C++~ code that tested. These tools should ideally be small pieces of ~C++~ code that
...@@ -264,7 +264,7 @@ the context is quite easily checked. ...@@ -264,7 +264,7 @@ the context is quite easily checked.
Finally it aims at simplifying the definition of new methods since Finally it aims at simplifying the definition of new methods since
common utilities are available directly in scripts. common utilities are available directly in scripts.
**** The framework: divide and conquer ***** The framework: divide and conquer
~pugs~ is a research oriented software, thus generally the user is also ~pugs~ is a research oriented software, thus generally the user is also
a developer. If this paragraph is indeed more dedicated to the a developer. If this paragraph is indeed more dedicated to the
...@@ -321,14 +321,26 @@ writing of new methods. ...@@ -321,14 +321,26 @@ writing of new methods.
others to check if it could benefit to the others to determine if others to check if it could benefit to the others to determine if
it should integrate rapidly or not the main development branch. it should integrate rapidly or not the main development branch.
**** TODO Why not python or any other scripting language? ***** Why not python or any other scripting language?
- provide a language close to the application: a DSL is made for that. As it was already pointed out above, general purpose languages offer
- general purpose languages offer to much freedom: it is not easy to to much freedom: it is not easy to protect data. For instance in the
protect data ~pugs~ DSL, non basic variables are constant (see paragraph
- do not deal with the difficulty of parallelism within the [[variable-types]]). It is important since its prevent the user to modify
scripting language data in an inconsistent way. Also, one must keep in mind that
- python is ugly constraining the expressiveness is actually a strength. As said
before, one can warranty coherence of the data, perform calculations
without paying attention to the parallelism aspects,... Observe that
it is not a limitation: if the DSL's field of application needs to be
extended, it is always possible. But these extensions should never
break the rule that a DSL must not become a general purpose language.
Providing a language close to the application (or here in particular
close to the Mathematics language) reduces the gap between the
application and its expression (code): Domain Specific Languages are
made for that.
Finally, python is ugly.
*** TODO A high-level language *** TODO A high-level language
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment