4 ms·
"Interpreted languages need a virtual machine to run..." What? This doesn't seem right. I think this is only true if your interpreter does something like compi
by rpcope1 11y ago
"Interpreted languages need a virtual machine to run..."
What? This doesn't seem right. I think this is only true if your interpreter does something like compile down to byte code a la Python. In a language like BASIC or certain implementations of Forth there should not be such an intermediary step.
"On Linux, considering apt is your package manager, run sudo apt-get install clang to get the Clang compiler installed."
I really like Debian, but I think there's a large portion of the Linux community (Red Hat, SUSE, Arch, etc) guys that
will feel shafted at that statement, and probably will mutter something about Ubuntu destroying the Linux community.
I'm sure this will be an interesting series, I just think given how hard language design is, that I'm not yet filled with warm fuzzies about this write-up. I think the author is doing a good thing, and going out on a limb that most wouldn't but I think it might be good to emphasize that all best practices may not be present.
- andars 11y agoTo be fair, the author (who I believe is a teenager) has included a bolded disclaimer at the top that says as much and acknowledges the likelihood of mistakes.
- DougMerritt 11y agoIs it somehow unfair for the OP to point out such mistakes? Incorrect is incorrect. There are many ways to implement interpreters besides VMs, including "threaded" interpreters and tree-walking evaluators. I don't fault anyone for not knowing something, but that calls for asking questions, not making incorrect assertions.
- andars 11y agoNo, it is completely fair to point out mistakes. I believe the OP's comment is valuable and was mainly responding to the final sentence of that comment. Sorry for poor wording and any confusion.
- rpcope1 11y agoDon't get me wrong, I highly encourage learning activities like this; what bugs me a lot is that it's sold as a "how-to" instead of "I am tracking progress of what I'm experimenting with." It's a rather fine line to ride, sure, but as I'm sure you see everywhere in software, someone who may not know any better may come along, and repeat the blogger's mistakes without ever knowing better. I think you have to set the bar high if you're going to make a "how-to" to really ensure best practices are there, because you honestly don't know how or where what you've written will get used.
- pcthrowaway 11y agoI took the statement about Linux to be an unconventional use of 'considering'. Imagine it said, 'On Linux, given apt is your package manager, run ...' That would make it a statement covering a common case without assuming it's always the case.
- rpcope1 11y agoYeah, I'm sure anyone who's not on Ubuntu/Mint can figure out how to install GCC with their package manager of choice; I am reading between the lines here, but I just got the sense the blogger here probably is comfortable with OS X and probably a still new to Linux.
- alok-g 11y ago>> "Interpreted languages need a virtual machine to run..." >> What? This doesn't seem right. The interpreter itself is the virtual machine that runs a program written in the interpreted language, just like JVM is a virtual machine that runs a program written using byte-code.