5 ms·
are you referring to the "The fastest scripting language on Earth" tagline? i saw that as a way to say "look, this is a compiled language that you can use as a
by zem 14y ago
are you referring to the "The fastest scripting language on Earth" tagline? i saw that as a way to say "look, this is a compiled language that you can use as a scripting language" with a touch of whimsical humour.
- haberman 14y agoInteresting. If that's the way it is intended I missed it completely; I'd definitely be much more receptive to that line of meaning.
- Yttrill 14y agoPython and Lua are both compiled languages, almost all languages are compiled these days. They compile to bytecode rather than native machine code, then run an interpreter which may well do on-the-fly compilation to machine code (JIT). Bytecode target makes the compiler platform independent. Felix does the same, except the "bytecode" is ISO Standard C++.
- stcredzero 14y agoPython and Lua are both compiled languages, almost all languages are compiled these days. For some strange reason, certain misconceptions in CS/programming have half-lives measured in several decades, such as this annoying distinction between interpreters/VMs/compiled languages. We're at least 20 years out from interpreters being meaningfully distinct from VMs and compiled languages.
- haberman 14y ago> We're at least 20 years out from interpreters being meaningfully distinct from VMs and compiled languages. Compiled languages generally don't support eval. That's a pretty meaningful difference.
- stcredzero 14y ago> Compiled languages generally don't support eval. Python is compiled to bytecode. It supports eval. So does Smalltalk. Lua would fall into this category as well, and a whole bunch of others. I don't think "compiled" means what you think it means anymore, which is my whole point.
- haberman 14y ago> I don't think "compiled" means what you think it means anymore, which is my whole point. See my other reply (http://news.ycombinator.com/item?id=5012218 http://news.ycombinator.com/item?id=5012218). "Compiled language" is an informal term that usually means "to machine code." If you take it to mean "compiles to any kind of IR at all," then basically all languages are compiled and the term is meaningless. But that's not how the term is generally used -- for example, see the Wikipedia article (http://en.wikipedia.org/wiki/Compiled_language http://en.wikipedia.org/wiki/Compiled_language). There is a real difference between languages that can meaningfully be compiled directly to machine code and those that can only JIT-compile type-specialized traces/functions (with guards that fall back to the interpreter if the assumptions do not hold).
- stcredzero 14y ago> If you take it to mean "compiles to any kind of IR at all," then basically all languages are compiled and the term is meaningless. That's my point. It's a misnomer. It's the same thing as calling technology with the ability to parse context free grammars "regexes." It's a common usage that pollutes the precise meaning of technical terms. (And at the same time, generates misconceptions based on those technical terms.) > There is a real difference between languages that can meaningfully be compiled directly to machine code and those that can only JIT-compile type-specialized traces/functions Well, not so much as you'd think. In theory, the ability to do things like eval cuts off a lot of direct compilation to machine code, but in practice, we know this isn't necessarily true.
- haberman 14y ago
- haberman 14y agoI'm not sure what any of this has to do with the verbiage about "scripting languages," but I'd be much more interested in reading about Felix if it didn't involve so many attempts to redefine colloquially-understood terms in non-standard ways. (Yes, most languages compile to bytecode, but people generally use the colloquial term "compiled language" to refer to a language whose implementations usually compile to machine code. JIT compilers for dynamic languages are quite a different thing because they generally only compile type-specialized fragments of code; such machine code has guards that fall back to the general-purpose interpreter if the expected preconditions do not hold.)
- Yttrill 14y agoDid I mention Felix is based on Cat-e-gory theory and named for the inventor of one-sided donuts?
- srean 14y agoThis was pretty much exactly my reading.