我不是在谈论乡村学院/大学。

  • 一流机构是否有基于正式标准、实际统计数据或行业需求的深思熟虑的程序?
  • 如果是的话,使用的标准是什么?
  • 放弃某些语言并引入其他语言的决定是系统性的还是偶然性的?
有帮助吗?

解决方案

如果我们谈论的是美国排名前 10 的学院和大学(其他国家可能有不同的传统,人们对“乡村学院或大学”的定义也有很大不同),则不会。社区学院通常会根据学院服务的地理区域内的雇主使用的语言来选择教授哪些语言。另一方面,排名靠前的大学通常有更独特的标准。例如,当我去麻省理工学院时,使用的主要语言是Scheme(因为Abelson和Sussman教授写了 计算机程序的结构和解释) 和 克卢 因为教授。利斯科夫设计了它。尽管 LISP 至少在人工智能等学术领域拥有一些用户,但对于专业人士来说,这两种语言都不是特别有用的语言。排名靠前的大学将自己视为教授计算机科学,而不是编程,并且由于他们通常假设您在职业生涯中会使用许多不同的语言,因此教授的特定语言并不是特别重要。社区大学从事编程教学,因此他们通常更喜欢更常用的语言。

大学有时会改变他们所教授的语言。这通常会涉及大量的教员会议和讨论,但很难知道这在您的定义中是否属于“系统性”或“偶然性”。一般来说,标准是教学性的,而不是实用性的。也就是说,教授们更有可能关心哪些语言可以更轻松地教授基本概念,以及他们认为哪些语言可以促进漂亮的代码,而不是雇主要求的语言。

其他提示

大多数“排名较高”的大学并不专注于特定的技术或语言,因为它们教授的是计算机科学的概念。他们的主要目标不是让毕业生做好企业软件开发的准备。

因此,虽然为了保持一致性,他们的入门课程可能都使用相同的语言,但他们并不是根据它在软件行业的流行程度来选择它的。

至于后面的课程,我的经验是老师只使用他们熟悉的任何东西。例如,他们并不关心你是否学习 Python,而是关心你是否学习他们所教授的理论概念。 编程语言通常只是教授们用来强调他们真正感兴趣的教学内容的工具。

据我所知,大多数大学都将 Java 作为入门语言进行教授。在与我的一位教授谈论我们系如何选择这种语言(以及为什么它不能被其他语言取代)时,他说:

  • Java 是可移植的。编写一次,到处运行。
  • 它是强类型的
  • 它是一种托管语言(大多数一年级计算机科学学生对指针感到非常困惑)
  • 它很旧,这意味着它有很多资源
  • 它共享类似 C 的语法,使其具有广泛的适用性
  • 用 Java 编写一个基本的工作程序只需要很少的时间和代码

他说,没有其他语言能够以如此方式提供这些好处,从而促使该部门进行变革。我主张使用 C#,但他认为它并不是真正的可移植性,尽管 .NET 对泛型等东西有更好的支持,但这还不足以促使改变。

许可以下: CC-BY-SA归因
scroll top