Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One of the standard architectures for complex applications is to put together a scripting language and an systems programming language. You can either look at the scripting language as primary with the systems language used for performance or hardware interfacing or you can look at the systems language being primary and the scripting being used around the edges.

The model of having a closely related scripting and systems language would be an optimization of this and SPy seems like an answer.

[1] AAA games that have a scripting engine on top of C/C++, a finite element solver that lets you set up a problem with Lua and solve it with FORTRAN, etc.



The most interesting pairing I've been thinking about is Rust + RustPython

It's a full python interpreter implemented in Rust. Python has many advantages as a scripting language but the problem is you inherit all the packaging and deployment challenges unlike with Lua for example


Yes, there are quite many real-world cases of this architecure. But, wouldn't it be better it the same language (more or less) can be used for both? I don't think such a language exists currently, but I think it would be a nice goal.


What would be the point of the second language if it was basically the same language as the first?

In general you want a solid engineering language with a focus on correctness, and a second "scripting" language focusing on quick development.

Second if the languages are very similar but not the same it seems like you would see "confusion" errors where people accidently use lang 1 in lang 2's context or vice versa.


Common Lisp


Oxcaml, of course.


Interesting, I was not aware of OxCaml. (If this is what you mean.) It does seem to tick a few boxes actually. For my taste, the syntax is not as concise / clean as Python, and for me, it is "too functional". It shares with Python (and many high-level languages) the tracing garbage collection, but maybe that is the price to pay for an easy-to-use memory safe language.

In my view, a "better" language would be a simple language as concise as Python, but fully typed (via type inference); memory safe, but without the need of tracing GC. I think memory management should be a mix of Swift and Rust (that is, a mix of reference counting and single ownership with borrowing, where need for speed).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: