比编程语言更重要的是什么?,


如何成为优秀程序员第 1 期分享

我一直在听这个问题。“我应该学习哪些编程语言?” 我过去曾多次问过这个问题。当您第一次开始编程时,似乎所有成为优秀程序员的是您知道的编程语言的数量。几年后,我现在意识到情况并非如此。如果你真的想成为一个更好的程序员,而不是专注于学习更多的编程语言,你应该专注于编程的其他方面。

01

学习编程语言意味着什么

 

在您真正了解语言之前,您必须学习许多不同的编程语言。出于本文的目的,我将把它们分成两个不同的类别:

 

02

学习更多编程语言的好处

 

我认为,学习更多编程语言有两个主要优点。

03

真正重要的是什么

 

即使学习更多编程语言确实为您提供了解决问题的更多方法,但最终选择解决特定问题的方法并不重要。比你知道的问题的方法数量更重要的是你知道如何解决问题的空间。一个优秀的程序员没有价值,因为他们可以解决每个其他程序员可以解决的同一组问题,只是以不同的方式。一个优秀的程序员很有价值,因为他们可以解决其他程序员无法解决的问题。

大多数编程语言和样式的设计都考虑到了类似的目的:使计算机可以轻松地表达算法和程序。虽然某些编程风格在表达某些程序时比其他编程风格更好,但它们只能使编写解决手头的特定问题稍微容易一些。在大多数情况下,使用面向对象样式可以解决的任何问题也可以在功能样式中解决,反之亦然。只需一种编程语言和一种编程风格,您就可以解决任何编程语言或风格中可解决的绝大多数问题。从更大的角度来看,编程语言和方法的特定选择主要是实现细节。

 

04

不要专注于编程语言

如果你真的想成为一个更好的程序员并扩大你可以解决的问题的空间,而不是专注于编程语言,你应该专注于实际上使你能够解决更多问题的编程部分。以下是编程语言之外的一些示例,这些示例具有扩展您可以解决的问题空间的知识:

  • 操作系统

  • Web开发

  • 分布式系统

  • 联网

  • 算法

  • 安全

例如,您应该学习如何设置和使用数据库。几乎每个非平凡的程序都使用某种数据库来跟踪应用程序数据。为什么?因为数据库能够解决处理数据的问题,所以很难用几乎任何编程语言来处理。对于一些例子,许多数据库:

  • 可以处理比您在典型编程语言中使用的数据更多的数据。

  • 即使断电,保证数据也不会丢失。

  • 使您的数据无法进入不一致状态。

如果您熟悉如何使用数据库,只需设置数据库即可轻松解决所有这些问题。无论您使用何种编程语言或编程范例,您都希望数据库能够为您处理这些问题。最终,学习如何使用数据库使您能够解决比学习另一种编程语言更多的问题。

这同样适用于列出的其他区域。它们中的每一个都使您能够解决比其他方式更多的问题。如何在不了解Web开发的情况下构建网站?如何在不知道分布式系统的情况下编写可以处理机器崩溃的应用程序?对于您学习的每个领域,您都能够解决以前无法解决的问题。

这与学习更多编程语言或范式完全不同,后者在很大程度上是可互换的。在大多数编程语言和样式之间没有足够的区别,学习新语言使您能够解决之前可能遇到的更多问题。在这一点上你想学习:如何以更多方式解决问题或如何解决更多问题?

相关内容

    暂无相关文章