干货分享|为什么有这么多编程语言?
发布时间:2023-07-19 14:56:48
技术和编程语言的演变
我们拥有这么多编程语言的第一个也是最大的原因是技术一直在发展。随着更多技术的出现和进步,我们需要更多的工具来为这些技术制作软件。
由于语言能力的限制,我们目前拥有的编程语言可能无法处理出现的特定问题。这个问题可能非常独特,以至于没有现存的解决方案可以满足它的需求,因此人们或公司决定自己创建一种新语言。
以下是根据特定需求开发的一些值得注意的编程语言示例:
C 语言——Dennis Ritchie 和贝尔实验室于 1972 年创建了 C,以克服旧语言的问题。他们首先用它来运行 Unix 操作系统。今天,它几乎可以在所有类型的软件和硬件上运行。
C++——Bjarne Stroustrup 在 1985 年创建 C++ 主要有两个原因。第一个原因是为了升级 C 语言的功能,第二个原因是为了让每个人都可以在各个领域使用它。
PHP – PHP 由 Rasmus Lerdorf 于 1994 年创建,他最初将其用于个人项目,后来他改进了语言并将其发布给公众,开发人员开始大量使用它进行 Web 开发。
Go 语言——谷歌在 2009 年创建了 Go 语言,因为他们当时使用的语言对于某些任务来说太慢且不方便。此外,谷歌想要一种性能快速但仍然相对易于阅读的编程语言。
JavaScript —— Netscape 在 1995 年创建了 JavaScript。他们最初为前端开发创建 JavaScript,因此 Web 开发人员和设计人员都可以在短时间内学习和创建网站功能。现在我们将它用于后端、前端和移动开发。
不同类型的开发人员工作需要不同的语言
我们拥有这么多编程语言的另一个原因是,有不同类型的开发人员工作需要不同的工具。
把它想象成一个医生和他们的病人。医生的工作是治疗病人。有不同种类的疾病和伤害,每一种都足够复杂,可以用不同的疗法来治疗。因此,医生专注于某些领域,例如心脏病学、牙科、外科等。
对于程序员来说也是如此。由于有不同种类的软件和平台,每一种都需要自己的工具和功能,程序员可以像医生一样专攻。
以下是一些开发人员的工作以及他们使用的主要编程语言:
游戏开发人员使用 C++ 或 C# 为 PC 和控制台制作视频游戏。
Web 开发人员使用 HTML、CSS、JavaScript 和 PHP 来制作网站和 Web 应用程序。
移动应用程序开发人员使用 Java 和 Kotlin 制作 Android 应用程序或使用 Swift 制作 iOS 应用程序。
软件开发人员使用 C++、C# 和 Java 来制作桌面应用程序、业务应用程序和系统软件。
数据科学家使用 Python、R 和 MatLab 来分析用于科学研究和教育目的的数据。
这些不是你可以用来执行这些任务的唯一语言,只是一些最常用的示例。
开发人员对他们的项目有不同的需求和目标
编程语言如此之多的第三个原因是,并非所有语言都能满足开发人员或公司的目标。不同的开发人员有自己的目标和优先级,有些编程语言比其他语言更适合某些类型的任务。
一些开发人员想要一种超级快速和高性能的编程语言,欢迎使用 Go 语言或 C++。这些语言支持对系统资源(如内存和线程)进行非常精细的控制。
其他开发人员想要一种可以在几天而不是几周内构建程序的编程语言。向 JavaScript 问好!很难找到一种更通用的语言。你可以在从后端到 Web 和移动应用程序的任何地方使用 JS。
然后,一些开发人员更喜欢针对特定任务的编程语言。2021 年,大量数据科学将使用 Python 交付。
最后,一些开发人员想要一种有趣的编程语言,试试 Haskell 或 Lisp,让我知道它是怎么回事:)
如何选择编程语言
既然你已经了解了为什么有这么多编程语言,那么接下来你可能还会问一个问题:
我应该学习哪种编程语言?
幸运的是,有一个非常简单的答案:与其着眼于编程语言本身,不如考虑你的最终目标。
你想从事什么类型的编程工作?你想构建什么?你所在地区的职位发布需要什么?一旦你查看了这些因素,你就可以选择一种可以帮助你实现目标的编程语言。
例如,如果你的目标是制作专业网站,那就学习 HTML、CSS 和 JavaScript。
如果你想进入游戏开发领域,那就去学习 C++ 和 C#。
或者,如果你希望在移动应用程序方面开始你的职业生涯,你就应该查看适用于 iOS 应用程序的 Swift 和适用于 Android 应用程序的 Java 或 Kotlin。
总结
总而言之,有许多编程语言的主要原因是不同的问题需要不同的工具来解决。每种编程语言都具有使其适用于特定任务的某些特性和特点。
就像医生的工作如何划分为不同的专业,每个专业都解决复杂的问题并使用适合其工作的工具一样,编程也是如此。
- 上一篇:盛图科技|嵌入式软件的设计范畴
- 下一篇:嵌入式实时操作系统