php – 什么是“真正的”编程语言?

最近一位老师说“PHP不是一个真正的编程语言”,但在我看来,只有弱的理由:

>它不编译。
>它的脚本。
>它不在每个平台上运行。

PHP不是一个“真正的”编程语言吗?什么是“真正的”编程语言?是否必须编译一种语言以认真对待?

背景

我在两天前在学校的A级计算课上做了一个归纳课 – 我们在课程的第一年使用Java。我不熟悉Java,但是对通用编程基础(变量,函数,面向对象,循环等)有相当好的掌握。

我们的第一个任务是老师跑得可笑得快。她没有麻烦地解释任何概念,它们如何工作,或者你将如何真实地使用它们,并且似乎非常高兴地看到大多数学生(总体上是新的编程)在他们的座位,没有有关她的概念的迷人的想法。事后看来,我认为她经历了非常快的速度,看到谁能真正“处理”采用计算A级,因为学生仍然有机会在9月开始之前改变主题。

第一个也是唯一的任务是编写一个Java命令行应用程序将二进制转换为denary(十进制)。我们有一个两个小时的品酒会,做这个,后解释如何二进制系统的工作,我们不得不开始,尽管,总的来说,没有人真正有雾的想法从哪里开始。一个小时后,有些人比其他人更多,但没有人真的取得了什么重要的。老师自己变得如此困惑,她从隔壁的另一位老师打电话。他来了,帮助人们,看看下一步去哪里。

没有吹牛,我可能确实在课堂上有最多的经验,并已得到最远的演习。他问我是否有过任何经验;我说是的,特别是在PHP,并开玩笑地说,我可以写一些东西转换二进制到denary只是几行PHP,而Java应用程序迅速成长为几个代码屏幕。

他回答说,“PHP不是真正的编程语言!”…!经过一番讨论,他提出了上述三个原因。但是,我指出,您可以在运行Apache的任何平台上运行PHP,但我不认为他真的知道Apache是​​什么,并且没有那些!

首先,我们需要知道一种编程语言是什么。至少,一个programming language是由计算机读取的东西,并指示它执行某些操作。许多人也希望general purpose programming language成为Turing complete.但是可能有一些情况,domain-specific language不是图灵完成,但仍然是该特定域的有用的编程语言。编程语言可以被编译或解释,并且它们可以在许多平台上运行或仅运行在一个特定的平台上。不同的需求需要不同的编程语言。显然PHP是一种编程语言。

我对“真实”编程语言的定义将是在现实世界中具有至少一个实际用法的任何编程语言。这与通常没有实际用途的esoteric programming language相反。由于PHP广泛用于解决实际问题,它很容易满足作为真正的编程语言的这一要求,虽然它可以说是不是一个特别漂亮的语言。

PHP是一种务实的语言。它是为了能够快速创建网页(原来代表个人主页的名称)的特定需求而创建的,并且根据需要扩展了语言。由于没有理论背景或强烈的设计原则推动它的创造(甚至没有语言的正式规范),它比许多其他更现代的语言更不干净。正确处理外来字符/ unicode字符的功能显而易见地添加在后面,并且不干净地与该语言的其余部分集成。这种不合理和缺乏理论严谨性导致许多人(特别是学者)不喜欢的语言,这可能是你的老师不认为PHP是“真正的”语言的原因的一部分。

然而,PHP是擅长它的设计,许多网站使用它,甚至非常大的网站,如Facebook,雅虎和维基百科。

http://stackoverflow.com/questions/3222316/what-is-a-real-programming-language

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 什么是“真正的”编程语言?