| well .. i am a big believer in the two layer separation we program at two layers, high level, and low level features needed or preferred in low level programming, may not be required in high level programming and vice versa there are several ways to work like this, and many people do
for example, many developers use lua or python with c/c++ the effort needed to make the two language interact vary another approach is to use one language with optional features, like optional typing or optional garbage collection, a language i believe is adopting this approach is red have a programming framework, where two languages optimized for the two different layer use each others entities (names, objects, values, interfaces) seamlessly is in my opinion a super good approach for most programming tcl + c .. are not exactly that and i believe a more modern combo will be better |
I believe in this too. Not only two layers, if necessary there can be more.
For that to work, well designed interfaces are quite necessary.
"tcl + c .. are not exactly that and i believe a more modern combo will be better"
You don't necessarily need to reinvent Tcl in another "more modern" language to achieve that. You can compile Rust crates to dynamic libraries (.dll, .so) and use c types, or ffidl in Tcl (http://elf.org/ffidl/) to call the functions in your DLL-crates. Or write a small Tcl C extension to wrap function calls in the Rust code. That will do, without rewriting Tcl in Rust. For the other way around you can always call the Tcl library via its DLL interface in the same manner (which is the way to embed Tcl interpreters in other programs).