我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。
作为程序员的我们,学习新技术是非常关键的,而且技术也永远学不完。刚入门的程序员,多学点技术是好的,追求新技术也是好的,但是学到一定程度后,特别是有工作多年经验的程序员。
不能再痴迷新技术了,而是应该注重编程思想,学习编程思想比学习技术更重要。
01
掌握编程思想比单纯学习技术重要
编程思想是解决具体问题的方法论,而技术只是实现方法的具体手段,选择什么编程语言、选择什么框架、选择什么部署架构、选择什么技术都是应该根据实际项目来抉择。
掌握编程思想的程序员,可以更好的理解业务需求,掌握问题的本质,并能够提出更好的解决方案。同时,掌握编程思想还可以提高开发人员的自学能力和适应能力,使他们能够更快地学习新的技术和工具,适应不同的开发环境和工作要求。
所以,对于我们程序员来说,在学习技术中,应该注重培养自己的思维能力、思考技术背后的思想,理解问题的本质与方法论,而不是仅仅关注技术、编程语言。
02
多几门学编程语言
我经常建议大家可以主选一门编程语言,多学点几门编程语言,不用都精通,至少去了解下其他编程语言的语法、理解作者的设计思想。
其实从编程语言的演变历史,我们也可以学到很多编程思想。
1、最早期序设计语言:机器语言,它们直接用二进制编码与机器硬件交互。机器语言难以理解和编写,但却是计算机能够直接执行的语言。
2、第二代程序设计语言:符号语言,它们用英文或数字符号来代替二进制编码。符号语言相对于机器语言更加易读,但仍需要编译或解释才能被计算机执行。
3、第三代程序设计语言:这一代语言包括诸如C、C++、Java、C#、Python等流行的编程语言。这些语言被设计为更易于人类理解和使用,同时具有更高的可读性和可维护性。
从编程语言的发展历史看,从难懂的01、符号、函数编程、面向对象等概念的诞生,都是为了满足不同的应用需求。了解编程语言的发展、设计思想,我们就能更容易理解并掌握新技术。
03
多学架构设计思想
很多人还不具备架构师能力,但是多学点架构设计的思想,对编程也是非常有帮助的。
下面我们一起了解下几种常用架构设计的思想:
1、不分层架构:很多小项目、小工具,很多人为了快速开发,选择不分层,这样的架构存在以下问题:维护困难、可扩展性差等;
2、分层架构:这是非常常见的架构设计模式,将系统划分为多个层次,每个层次负责特定的功能。典型的就是三层架构,包括表示层、业务逻辑层和数据访问层。
3、客户端-服务器架构:也叫前后端分离架构,随着互联网的发展,将系统分为客户端和服务器两个部分,客户端发送请求,服务器响应请求并提供服务。
4、分布式架构:随着系统规模的不断扩大和复杂性的增加,数据库容量、数据库性能、Web服务器带宽、Web请求处理能力等,都会面临极大的瓶颈,这时候我们就会考虑多台数据库、多台Web服务器,这时候就会考虑将系统划分为多个独立的子系统或服务,每个子系统或服务负责特定的功能,并能够独立部署和扩展。
5、微服务架构:微服务也是分布式部署,但是粒度还是有所不同,分布式架构更多是将系统拆分为粒度较大的子系统,微服务则是更细粒度的服务,一个服务可能就1、2个功能。
架构设计非常注重抽象能力,我们学习架构非常有助于我们培养抽象能力,也是对我们学习新技术非常有帮助的。
04
最后
总之,我个人认为,当你掌握一定编程技术、有一定的项目经验后,不能再单纯学习技术了,而是应该更注重背后的设计思想,应该让编程思想去指导我们学习编程技术,学习新的编程技术时,应该先了解其编程思想。