Lisp a commencé comme une notation mathématique d'un modèle informatique afin que le professeur aurait un meilleur outil que les machines de Turing. Par hasard, il se avère qu'il peut être mis en œuvre dans l'assemblage - ainsi Lisp, le langage de programmation est née.
Mais je ne pense pas que ce soit vraiment ce que vous cherchez depuis le modèle de calcul qui lisp décrit ne pas boucles: récursion est utilisé à la place. La syntaxe dérive de l'algèbre où les accolades désignent évaluer-ce-et-substitut-the-résultat. En effet, le modèle de Lisp de l'informatique est fondamentalement substitution - ce que l'algèbre est essentiellement.
En effet, les langues les plus fonctionnels comme Lisp, Haskell et Erlang sont dérivées de mathématiques. Haskell est en fait un résultat de prouver que le calcul lambda peut être utilisé pour mettre en œuvre des systèmes de type. Donc, Haskell, comme Lisp est né des mathématiques pures. Mais encore une fois, la syntaxe est pas ce que vous seriez probablement habitué.
Vous pouvez certainement expliquer la syntaxe Lisp et Haskell aux mathématiciens et ils traiteraient comme un « jeu ». Les constructions de langage comme des boucles, récursivité et conditionals peuvent être prouvés hors des règles du jeu plutôt que aveuglément mis en œuvre comme dans d'autres langues. Cela vous mènera dans les domaines de la combinatronics, une autre branche des mathématiques. En effet, dans combinatronics, le concept même de nombres peut être construit à partir des règles du jeu plutôt que d'être une partie de la langue maternelle (Eglise google Numerals).
Alors jetez un oeil à Lisp / Scheme, Erlang et Haskell si vous voulez. Erlang a surtout syntaxe proche de ce que vous voulez:
add(a,b) -> a + b
Mais ma recommandation est d'écrire en C-pseudocode comme. Il est un peu plus petit dénominateur commun dans les langages de programmation. A une syntaxe qui est assez facile à comprendre et propre. Et la syntaxe de la fonction dérive même des fonctions en mathématiques. Rappelez - vous f(x)?
En plus, les mathématiciens sont utilisés pour l'écriture C, les statisticiens sont utilisés pour l'écriture C (bien que généralement ils préfèrent R), les physiciens sont utilisés pour l'écriture C, les programmeurs sont utilisés pour au moins regarder C (je sais que quelques-uns qui n'ont jamais touché C).
En fait, que gratter. Vous mentionnez que votre public cible sont les statisticiens. Ecrire dans R