2014-02-07 50 views
0

大会(据我所知)是最低级的语言。它直接与硬件和内存进行通信(再次,尽我所知)。使用Assembly开发实际应用程序是否实用?

使用Assembly开发实际应用程序(即使它只是基于文本的控制台应用程序)是否可能(即使需要很长时间)? (比Hello World更复杂的应用程序)。这有没有完成?或者,大会是否曾经“帮助”过像C这样的高级语言?

+0

汇编程序通常转换为_macro汇编程序_。这意味着,在汇编器上已经有了另一种语言水平。除此之外,每位高效程序员都追求提高描述程序行为的抽象级别。这意味着使用所有可用的工具编译编译时间和运行时语言(和解释器)。编码速度的差异在于其他现有语言是否已经说出您的应用程序。 –

+0

可能但不实际。找到热点 - [90/10规则](http://en.wikipedia.org/wiki/Program_optimization#Bottlenecks) - 然后考虑更高效的算法。如果您必须*具有程序集可能提供的最终性能提升,那么不能有效地封装或由语言/编译器公开,那么值得考虑。陡峭的学习曲线,时间投资,不可宽恕的错误,维护和便携性问题是值得的吗?摩尔定律在几个月内吃掉了5%的加速度值得吗? ......再一次,一些熟悉使得更好的程序员。 –

回答

2

是,Yes和No.

汇编代码是非常低的水平,因为它直接模仿硬件理解的指令。还有另一个层次更深,这将是纯粹的二进制代码,但现在确实没有人再使用它(尽管在计算机开始时已经完成)。但是没有什么能够阻止你编写整个应用程序。实际上,C编译器(或任何其他高级编译器)会在将代码转换为二进制代码之前,先将代码转换为(某种类型)程序集。一些编译器甚至允许你导出汇编代码。没有任何东西可以阻止你自己写。

整个操作系统已经使用汇编编写。实际上,即使是现在,您真正需要的唯一组件也是操作系统的核心,因为实际上没有对您需要的指令提供高级支持。

相关问题