News for hackers. Stuff that matters.
Re:Crafting Interpreters: Superclasses by joe_the_user on Wednesday March 18, 2020 @09:10PM (#22623316)
It is reasonable to say this is a tradeoff. However, one of the costs is having the VM structure depend on the language structure, which kind of a software engineering no-no. But yes, tradeoffs always happen.
Re:Crafting Interpreters: Superclasses by munificent on Thursday March 19, 2020 @12:44PM (#22629198)
> which kind of a software engineering no-no.

Optimization along any axis (code size, simplicity, compile-time performance, runtime performance, memory size, etc.) always involves some level of violating software engineering norms.

One way to think of software engineering is that it's the practice of optimizing long-term developer velocity. Any practice that optimizes other factors generally does so at the expense of that. That's OK. Meta-software engineering is about knowing when long-term maintainability is the right factor to optimize for. :)

Re:Crafting Interpreters: Superclasses by kazinator on Thursday March 19, 2020 @01:19PM (#22629565)
That is really only a political no-no. The issue is that if your VM takes off in popularity, some people get upset that it's a poor fit for their favorite language.

Technically, it's perfectly fine for a VM to be designed so that the semantic gap is small between it and the intended language family.