3 ms·
We pre-emptively answered this inevitable question in the overview doc: https://github.com/soul-lang/SOUL/blob/master/docs/SOUL_Overview.md https://github.com/s
by julesrms 7y ago
We pre-emptively answered this inevitable question in the overview doc:
https://github.com/soul-lang/SOUL/blob/master/docs/SOUL_Overview.md https://github.com/soul-lang/SOUL/blob/master/docs/SOUL_Over...
The main TL;DRs are:
- this needs to get JITed to compete with C++ performance, so dynamic and interpreted languages are out.
- it needs to stop people doing anything which is real-time unsafe, so any language which involves a heap or GC is out
- it needs to be secure enough to not pose a security risk if deployed to an embedded bare-metal device, so C is out.
- it needs to be super-easy to learn for all programmers, and especially for grizzled old C/C++/Javascript/C# people who aren't into any of that fancy functional nonsense
- it needs to strongly enforce and represent a graph structure at a syntactic level, so.. pretty much all existing languages are out.
- deleted 7y ago[deleted]
- jcelerier 7y ago> - it needs to strongly enforce and represent a graph structure at a syntactic level, so.. pretty much all existing languages are out. ... except languages designed for real-time signal processing based on dataflow graphs such as Kronos (https://www.mitpressjournals.org/doi/pdfplus/10.1162/COMJ_a_00330 https://www.mitpressjournals.org/doi/pdfplus/10.1162/COMJ_a_...), Céu (http://www.ceu-lang.org/chico/ceumedia_webmedia16_pre.pdf http://www.ceu-lang.org/chico/ceumedia_webmedia16_pre.pdf), Antescofo (https://hal.inria.fr/hal-01585489 https://hal.inria.fr/hal-01585489) and the oldies such as SIGNAL, Lustre, Esterel, etc... :p
- julesrms 7y agoOK, fair point! Maybe a better way for me to phrase what I meant there would have been "pretty much all mainstream languages are out"