硬件平台如何影响编程语言的选择



长短说:去年教我的老师最近才离开,被换了一位新老师。这位新老师给了我一个作业,涉及我们以前从未教过的事情(比如这样)。所以这个任务已经出现在作业中,我不知道该怎么做。我无法联系到老师,因为他很差,接下来几天不来。即使我要求他进一步解释,他的心情也很正常,让我觉得自己完全是智障。

描述硬件平台如何影响 编程语言

看看我在SO上的活动,你可以看出我正在编程,我正在开发东西,我正在学习,所以我不只是想让你们中的一个人为我做功课。

这里有人可以解释一下我将如何回答这样的问题。

以下是一些注意事项,但无论如何都不是完整的答案。

如果您的硬件平台是某种类型的小型嵌入式设备,那么您选择的编程语言将定向到较低级别的非托管语言 - 您可能无法(或想要)加载像Java JVM或.NET CLR这样的托管语言运行时。这取决于内存和存储要求。同样,解释性语言也是不可能的,因为您将没有空间容纳 intepreter。

如果你在一台更大的机器上,这更多的是一个兼容性问题。托管语言必须在支持其运行时的平台上运行。对于 .NET,这是 Windows 或其他平台,如果您将 Microsoft CLR 替换为 Mono 运行时。就Java而言,这是一个更广泛的平台。

这绝不是一个明确的答案,但我首先想到的是嵌入式系统。我在嵌入式系统或其他低功率电池供电计算机上执行的任务需要与在可以访问主电源的计算机上执行的任务完全不同。

一个简单的影响就是电池寿命。

如果我在嵌入式系统上使用浪费的算法,电池寿命将受到影响。

希望有助于搅动脑汁!

显然,设备的速度和内存量会影响选择。平台越原始和薄弱,运行使用非常高级语言开发的代码就越困难。用它们编写的代码可能根本无法工作(例如,当内存不足时)或太慢,或者需要认真优化(即产生更多工作),可能会对功能集或质量产生负面影响。

此外,某些语言和软件可能严重依赖 CPU 中的页面翻译或受益于页面翻译的可用性。如果CPU没有它,某些检查将不得不在软件中完成,而不是在硬件中自动完成,这将影响性能或语言/软件选择。

最新更新