我周一有一项作业要交,我需要一些帮助,因为我对这个主题一无所知,甚至不明白到底要搜索什么。我不是在等待一篇文章或其他东西,只是一些指导或一些链接。
“您要写一篇论文,介绍从 Web 早期到现在用于编写 Web 应用程序的服务器端技术的演变。您的论文预计将重点关注以下领域:
脚本语言如何演变,提供代码示例。您应该突出显示您认为对应用程序开发人员最重要的更改,并提供有关选择它们的原因的分析。”
据我了解,我不得不提到 shell 脚本及其演变以及其他已经演变的语言..我不确定。
先感谢您!
答案1
期限“脚本语言”如今,“这个词”确实是一个模棱两可、软弱无力或纯粹是带有偏见的词,但对其如何产生的讨论就是对经常使用该标签的语言的演变的讨论。
起初,脚本编写指的是其源代码在运行时解释而不是编译的语言(例如,bash 之类的 shell),但它后来应用于 python 和 perl 等语言,这些语言(至少在它们现在的版本中)被预编译为字节码然后被处决。这里的歧义在于其他语言(例如java)的工作方式相同,但没有人将java称为“一种脚本语言”。
这些与 shell(我认为最初的“脚本语言”)混在一起的原因可能是因为它们往往比纯编译语言至少慢一个数量级,因此在我们拥有如此快的计算机之前,这种差异是在更广泛的上下文中有些无关紧要,它们主要用于运行简短的单个源文件“脚本”。对于 12-15 年前的大多数动态 Web 内容来说,这也是公平的——其中大部分只是使用短 CGI脚本带有一点(通常是内联/嵌入式)javascript(进一步含糊不清:java * script *通常被排除在“脚本语言”类别之外,因为它不是通用目的)。
因此,在讨论当今通俗地(或偏见地)称为主流“脚本语言”服务器端的内容时,使用该术语可能更有意义动态类型面向对象语言(您可以添加“通用”或“服务器端”来排除 javascript,它也是面向对象和动态类型的)。这些包括:
珀尔
Python
PHP
红宝石
它们与其他常见的服务器端技术(例如 Java 和 C#)的区别在于,它们使用动态的而不是静态类型,这也是为什么 Web 技术背景下“脚本”语言通常的含义实际上是动态类型面向对象语言(如果我们省略“服务器端”,它当然包括 javascript)。具有讽刺意味的是,这排除了诸如 shell 之类的非 OO 语言,但无论如何,shell 在 Web 编程中已经不再使用太多了。
答案2
您可能希望关注架构以及特定语言:
- 计算机图形图像处理
- 网络应用程序框架
- 开源软件的兴起,例如 Apache HTTP 服务器
- 浏览器之战导致 JavaScript 发展成为一种成熟的编程语言