2011-02-22 174 views
1

我几乎不熟悉编程,并且阅读了编程范例之间的所有差异(我将它理解为/翻译为'最佳实践',因为我不是母语英语的人,所以如果我是正确的人错误)。编程语言

一种编程语言是人为的,它的存在使得人们可以用抽象的方式编写程序,从汇编到高级语言。当然,这部分我明白。

但是所有这些范例,面向对象等都是它们之间的“唯一”区别,即如何“构造”数据,如对象,方法等?我的意思是,在编辑器中如何布置代码以及如何操作数据,这有什么不同?

+0

我建议您阅读http://en.wikipedia.org/wiki/Denotational_semantics - 这是了解'范式'的最佳方式。 – 2011-02-22 17:32:35

回答

1

您在技术上是正确的,但您选择的范例对有深刻的影响,您如何编写程序。使用面向对象的范例编写程序与使用过程语言编写程序的方法可能大不相同。您可以根据所选范例的概念设计您的程序功能。例如,在面向对象程序设计中你应该有一个面向对象的设计,也就是说,你可以将你的逻辑分解成类,继承和其他类型,以获得面向对象的好处。

1

技术上,是的。在某些时候,所有代码都会转到/执行机器代码。

但是你的问题有点不对,因为编程语言比代码结构有更多的不同。

您使用的语言的形状符合您的想法 - 这就是人们所说的“高级别”和“低级别”。
因此,编程语言之间的真正区别在于它们如何让您思考以及它们为您做的思考的哪些部分。

1

是的,最终所有东西都被翻译成0和1(二进制)。

与高级语言相比,汇编语言(低级语言)对Binary来说只是一个更接近的构造。开发了Java,C++,C#,Basic等(高级语言),以便设计和实现在低级语言中不常见的常用例程。

每种高级语言都与其管理和构造例程的方式不同。

1

不,范式是一组用于解释某些事物的信念或概念。

例如,当人们认为地球是平原时,这就是公认的范例。

所以,如果某种东西比其他东西好,但解释/应用/构建相同的东西的方式不同,那就不是这样了。例如,函数式编程(如Lisp,Haskell)有一个主要的工件函数(或闭包),而面向对象编程(如Smalltalk和Ruby)则有对象和类,结构化编程(如C或Pascal )有结构或记录。

最后,它们中的三个可以被用来解决同样的问题(一个软件系统),它就是这个范例定义了要使用的术语。

再说一次,当你谈论一个面向对象的语言时,常常谈论类,方法和属性。当你使用的是函数式语言时,你会谈论闭包,单子等。

由于它们终于是软件工件,所以在其他模式中可以找到一个范例的一些概念。例如Scala是一种混合编程语言,同时处理Object和Functional。