当前位置: 主页 > JAVA语言

java编程思想第五版-java面向对象思想

发布时间:2023-02-09 07:31   浏览次数:次   作者:佚名

为了进入专业的编程领域,我们需要认真学习以下三方面的知识。

编程语言。 您需要学习三种工业级编程语言:C、C++ 和 Java。 为什么说是工业级? 主要是C和C++语言规范都被ISO标准化了,有工业厂商组成的标准化委员会来制定工业标准。 第二个原因是它们已经在行业中许多重要的生产环境中使用。

另外,我建议学习 Go 语言。 一方面,Go 语言作为替代 C 和 C++ 的另一种潜在语言,现在正受到广泛关注。 C语言太原始,C++太复杂,Java太高级,所以这次破解中出现了Go语言。 这门语言已经存在了 10 多年,它已经成为云计算领域事实上的标准语言,尤其是在 Docker/Kubernetes 等项目中。 Go语言社区不断从Java社区移植各种Java轮子,现在的Go社区也很好。

如果要写一些PaaS层的应用,Go语言会比C和C++好,目前正在和Java竞争。 而且Go语言在国内外一些知名公司都有一定的应用和实践,可以学习(参见:《Go语言、Docker与新技术》一文)。 另外,Go语言的语法非常简单。 一旦有了C、C++的基础,学习Go的学习成本基本为零。

理论科目。 你需要学习算法、数据结构、网络模型、计算机原理等计算机专业需要学习的知识。 为什么要学好这些理论知识呢?

另外,千万不要认为它在日常的工作或者生活中没有用,学了也没有用。 你一定不能有这样的思维方式,因为这是一种平庸的思维方式。 如果你想等我用起来,趁现在还来得及学,那你需要看这篇《程序员的荒唐话还是智慧话? ”。

系统知识。 系统知识是理论知识的工程实践,里面有很多很多的细节。 比如Unix/Linux、TCP/IP、C10K challenge等专业系统知识,这些知识是你能否将理论应用到实际项目中,解决实际问题的重要知识。

java面向对象思想_java编程思想第五版_java分层思想

当你在编程的时候,如何与系统交互或者获取操作系统的资源,如何进行通信,当系统出现性能问题,当系统出现故障等等,你有很多事情需要处理与并解决。 这时,这些系统知识就会变得尤为关键和重要。

你可以把这些东西想象成计算机世界的物理世界。 无论上层怎么玩,Java NIO、Nginx、Node.js,都逃不过下层的限制。 所以,你要好好学习这些知识。

编程语言

java语言

学习Java语言的入门书籍有以下几本(注:以下部分书籍在入门章节中有提到,但为了完整起见,这里还是要提一下,因为有些朋友可能会跳过阅读他们)。

认真学习前面的书籍可以让你顺利入门Java,但是如果你想更上一层楼,还需要看下面我推荐的书籍进行升级。

java分层思想_java面向对象思想_java编程思想第五版

当然,要学习Java,就必须学习面向对象的设计模式。 这里只有一本经典书籍《设计模式》。 如果觉得有点难,可以看看《Head First Design Patterns》。 在学习面向对象的设计模式时,不要迷失在23种设计模式中,必须了解这两个原则:

到此为止,如果你已经综合了以上知识,那么你已经是一个高级的Java程序员了,我保证你已经超越了大多数程序员。 基本上技术上能进一线公司,也不是普通职位,至少是高级程序员或者初级架构师的水平。

C/C++语言

不像我刚出道的时候,几乎所有的软件都得用C语言写。 现在,学习C语言的人可能不多了,因为一方面有Java、Python等高级语言屏蔽掉很多底层细节,另一方面还有都是新兴的语言 比如Go语言,可以让你更轻松的编写出高性能的软件。 不过,我还是想说java编程思想第五版,C语言是你必须要学的语言,因为世界上大多数编程语言都是类C语言,它们也在不同的方面解决了C语言的各种问题。 在这里,我想说一句比较武断的话——不学C语言,就没有资格说自己是一个合格的程序员!

对了,别看谭浩强的C语言书。 各种误导,我大学的时候用这本书学C,工作的时候被骗了。

在学习C语言的过程中,你肯定会觉得C语言好低级,代码经常崩溃。 经过一段时间的奋斗,你开始觉得自己就要从这个泥坑里爬出来了。 但是你还是需要看看《C陷阱与缺陷》这本书,你会发现这里的坑并没有那么大。

java面向对象思想_java分层思想_java编程思想第五版

这时候,如果你看过我的系列文章《编程范式游记》java编程思想第五版,你可能会发现泛型编程中C语言的各种问题。 这个时候推荐大家学习C++语言。 很多人可能觉得我说的C++是个大坑。 是的,这是目前世界上最复杂、最难的编程语言。 但是,C++是目前世界上范式最多的语言,而它最好的范式就是“泛型编程”,这在静态语言中绝对是划时代的。

所以,你很有必要学习C++,看看C++是如何解决C语言中的各种问题的。 大家可以看看我的文章《C++真的有很多陷阱吗? 有一个基本的了解。 这里有一些推荐的 C++ 书籍。

学习 Go 语言

C语言太原始,C++太复杂,Go语言是最好的选择。 有了C/C++的基础,学习Go语言就很简单了。

首先推荐 Go by Example 作为你的入门教程。 话又说回来,Go 101 也是一本很棒的在线电子书。 如果想看纸质书,The Go Programming Language豆瓣评分9.2,但是国内没有卖。 (当然,我也写了两篇介绍性的文章《GO语言介绍(上)-语法》和《GO语言介绍(下)-特性》)供大家参考。

另外,Go语言的官方Effective Go是必读的。 这篇文章告诉你如何更好的使用Go语言以及Go语言中的一些原则。

java分层思想_java面向对象思想_java编程思想第五版

Go语言最突出的特点就是并发编程。 老牌Unix黑客罗伯·派克(Rob Pike)在Google I/O上​​的两次分享,让你学习一些并发编程模式。

但是,Go 在 GitHub wiki 上有很多很好的学习资源,你可以从中学到很多东西。 例如:

此外,还有丰富的 Go 资源列表 Awesome Go,推荐大家去看看。

概括

好了,最后总结一下今天分享的一些内容。 在编程语言方面,我推荐学习C、C++、Java、Go,并说明推荐理由。

在我看来,一个合格的程序员应该掌握几种语言。 一方面,这会让你比较不同的语言,让你思考更多。 另一方面,这也是一种学习能力的培养,可以让你以后对新技术的学习速度更快。

java分层思想_java编程思想第五版_java面向对象思想

零基础启蒙

正式入职

程序员培训

编程语言

理论课题

系统知识

完整内容可以关注我,看动态。