6 ms·
I don't see how that follows at all. If you're implying all program languages are derived from C, that's simply false. Lisp is based on the lambda calculus and
by TheDong 8y ago
I don't see how that follows at all.
If you're implying all program languages are derived from C, that's simply false. Lisp is based on the lambda calculus and predates C, as one easy counter-example.
If you're implying that all languages run on top of C, that's also false. Theoretical Lisp Machines [0] have been envisioned which do not run C anywhere, and many languages (rust, go, etc) can be built into unikernals that run on real hardware with no C anywhere in the mix.
As far as I can tell, your statement is both pointless and wrong in even a generous interpretation of it.
[0]: https://en.wikipedia.org/wiki/Lisp_machine https://en.wikipedia.org/wiki/Lisp_machine
- Sir_Cmpwn 8y agoShow me a lisp which is used by enough people to fill a conference in 2018 that isn't implemented in C. Show me a lisp machine which was manufactured any time in the past 10 years.
- phoe-krk 8y agoSteel Bank Common Lisp and Clozure Common Lisp are both implemented mostly in Lisp with some C code thrown in. And the European Lisp Symposium always has a large share of Common Lisp programmers.
- giancarlostoro 8y agoWell there's Amber I suppose? Not popular, but not in C at least. https://news.ycombinator.com/item?id=9699065 https://news.ycombinator.com/item?id=9699065 Uses m-expressions instead of s-expressions though.
- aidenn0 8y agoSBCL (a fork of cmucl) is implemented in common lisp and is the most popular common lisp implementation.
- Sir_Cmpwn 8y agohttps://github.com/sbcl/sbcl/tree/master/src/runtime https://github.com/sbcl/sbcl/tree/master/src/runtime
- phoe-krk 8y agoCLOC tells me there's 28391 lines of C and 426525 lines of Lisp in there. Also remember that Lisp has, on average, higher code density than C thanks to advanced macro usage. Pointing to C code in that repository and saying SBCL is implemented in C is like pointing to https://github.com/sbcl/sbcl/blob/master/binary-distribution.sh https://github.com/sbcl/sbcl/blob/master/binary-distribution... and saying that SBCL is implemented in Bash.
- Sir_Cmpwn 8y agoThe runtime is written in C. That's the important bit. Just because the compiler, standard library, etc, isn't - doesn't mean it's not based on C. You cannot use SBCL without a C compiler.
- phoe-krk 8y agoThe installation scripts are written in bash. That's the important bit. Just because the compiler, standard library, etc, isn't - doesn't mean it's not based on bash. You cannot use SBCL without a bash shell. /s Of course you can use SBCL without a C compiler - you simply use a precompiled version. You can't build SBCL without a C compiler.
- Sir_Cmpwn 8y agoShell scripts just slap commands together. You could just be a human interpreter reading the source and get the job done. C is a much more fundamental requirement of SBCL. Much more so than in the way SCBL depends on Python, for example (e.g. it doesn't). Listen, I get that in the ivory tower of lisp you don't like looking at the little C bricks at the bottom, but the fact is that they exist and C is a hugely important language upon which the entire modern world of computing is built.
- beat 8y agoOkay, I'll amend my position from "Everything is based on C", to "Everything is based on C except for a handful of LISP machines that nobody cares about but a handful of fundamentalists". At which point someone who collects antique UNIVACs will tell me I'm wrong, too.
- varjag 8y agoC is not the first programming language out there, you know. And for its first decade it wasn't even the most popular. There are still architectures in production and use that you'd struggle to find a conformant C compiler for. It's really bizarre how you expect the world to revolve around it.
- pjmlp 8y agoModern C compilers are written in C++ actually. IBM z, IBM i and Unisys ClearPath are still quite modern and aren't written in C, rather in memory safe system programming languages. Then Windows is largely C++ and .NET, even what used to be plain old C nowadays has been migrated to play nicely when compiled with C++ compilers. Finally there are a couple of embedded and real time OSes that are based on C++, like ARM's mbed or even Arduino libraries.
- lispm 8y ago> Theoretical Lisp Machines [0] have been envisioned which do not run C anywhere I have one at home. It's not theoretically, but factually. About 10000 Lisp Machines had been sold between the late 70s and early 90s. Which probably adds to $500+ million in sales - then. They actually can run C, but that's usually optional.