我几乎是编程的新手,我读到编程范例之间的所有差异(我理解/翻译为'最佳实践',因为我不是母语为英语的人,所以如果我错了,请纠正我)
编程语言是人为的,它的存在使得人们可以用抽象的方式编写程序,其范围从汇编语言到高级语言。当然,我理解这一部分。
但是所有这些范例,面向对象等都是它们之间“唯一”的区别,你如何“构建”你的数据,如对象,方法等?我的意思是,在编辑器中如何布置代码以及如何操作数据是不同的?
答案 0 :(得分:1)
技术上,是的。在某些时候,所有代码都转向/执行机器代码。
但是你的问题有点不对,因为编程语言与代码结构有许多不同之处。
您使用的语言会影响您的思维方式 - 这就是人们所说的“高级别”和“低级别”。
因此,编程语言之间的真正区别在于它们如何让您思考以及它们为您做出的思考的部分内容。
答案 1 :(得分:1)
是的,最终会将所有内容翻译成0和1(二进制)。
汇编语言(低级语言)只是二进制文件比高级语言更接近的构造。
Java,C ++,C#,Basic等(高级语言)已经开发出来,可以更容易地设计和实现低级语言中不常见的常用例程。
每种高级语言的不同之处仅在于它如何管理和构建例程。
答案 2 :(得分:1)
您在技术上是正确的,但您选择的范例对如何编写程序有深远的影响。使用面向对象的范例编写程序与使用过程语言编写程序有很大不同。您已经设计了程序功能,并考虑了所选范例的概念。例如,在OO编程中你应该有一个OO设计,即你将逻辑分解为类,继承和诸如此类的东西,以获得OO的好处。
答案 3 :(得分:1)
不,范式是一组用于解释某事的信念或概念。
例如,当人们认为地球是平原时,这就是公认的范例。
所以,如果有什么东西比其他东西更好,那就不是解释/应用/构建同样的东西。
例如,函数式编程(如Lisp,Haskell)具有主要的工件函数(或闭包),而面向对象的编程(如Smalltalk和Ruby)具有对象和类,以及结构编程(如C或Pascal)有结构或记录。
最后,它们中的三个可用于解决同样的问题(软件系统),范例定义了要使用的术语。
同样,当你谈论OO语言时,谈论类,方法,属性是很常见的。当你使用函数式语言时,你会谈论闭包,monad等。
由于它们最终是软件工件,因此在其他范例中可以找到一个范例中的一些概念。例如,Scala是一种混合编程语言,同时处理Object和Functional。