<分区>
有人可以帮助我“叠加”我对各种编程语言在不同操作系统上的位置的理解吗?从底层开始——基本的金属计算机只能理解机器码或汇编程序。这意味着操作系统,比方说 Linux,是用 C 语言编写并编译成机器码的,对吧?还是汇编器?
如果你有用 C 编写的 Linux,这是否意味着 C 编译器默认已经存在,我可以用 C 编写任何简单的程序,将它放在任何文件夹中并从命令行运行它? 我看到像 Ubuntu 这样的一些 Linux 发行版带有文件夹/perl 和/python。我假设这些是其他高级语言的编译器或解释器,并且作为这些特定操作系统发行版的附加组件。如果我想运行 Java,我会添加 Java JVM 等等。 但是 C 是 Linux 的默认语言吗?或者 C++ 也可以开箱即用?
然后,如果我查看维基百科,我会看到以下写在中:
- Windows:C、C++、汇编
- OS X:C、C++、 objective-c
- iOS:C、C++、Objective C、Swift
- 安卓:C、C++、Java
这是否意味着任何用各自语言为每个操作系统编写的“Hello World”程序都可以开箱即用?
理论上,我可以用 Swift for iOS 编写硬件驱动程序吗?或者有些语言用于低级任务,而有些语言用于最终用户应用程序?
我可以用 C 编写程序并在 iOS 和 Android 上运行吗?还是我仅限于 Objective-C/Swift/Java?
要在上面运行任何其他语言,我需要添加相应的附加软件,例如编译器/解释器/VM。正确吗?