5 ms·
Since when did people start to label C implementation as "Unix shell"?
by jxy 9y ago
Since when did people start to label C implementation as "Unix shell"?
- stouset 9y agoEven if it's technically incorrect, I don't think it's unreasonable. When they're saying "a Ruby implementation", "a Node implementation", etc., they really mean an implementation callable from within those languages. The C implementation is not a callable library, it's a binary. So in the same sense, it's a "Unix shell -accessible implementation".
- throwaway91111 9y agoI don't follow where the shell enters this conversation at all.
- stouset 9y agoHow exactly do you expect to invoke the C implementation? It's not a library, it compiles to a binary. IMHO, the environment a utility is natively accessible from is more relevant than the language it was written in.
- jpttsn 9y agoThat's a stretch. Consider "Swift implementation" v. "iPhone home screen implementation"
- throwaway91111 9y agoSame way you invoke a ruby script, python acript, jvm call, whatever: with exec. Scripts are just the easiest.
- __jal 9y agoWell, no. Or at least, when I say "a Ruby implementation", I mean it is implemented in Ruby, not callable from Ruby. When I refer to a Python C extension, I refer to it as a C implementation, even though the express purpose is to be callable from Python. I can call Perl (and Python, and Ruby, and Javascript, and...) scripts from the shell, too. So those are now "Unix shell" as well?
- kreetx 9y agoYeah, it's weird. If the PHP repo had code to launch a web server, it would be the HTTP implementation instead.
- krick 9y agoMaybe it's just that I'm hungry, but I find it strangely annoying.
- jonknee 9y agoIt's labeled for where you want to use it. If you want a Python library (say for use within your app), there's the Python version. If you want to use it in your shell there is a version for that (written in C).