栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

《ON JAVA》学习笔记1:把语言当作服务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《ON JAVA》学习笔记1:把语言当作服务

从时间上来说,我接触的编程语言依次是:汇编、C、C++、Java、Python、JavaScript。其中汇编、C、C++带给我的使用体验都不好且难以理解,Java是之前在学校时自学过一段时间,Python是在使用Tensorflow训练机器学习模型时使用过,2019年写过很多Javascript代码,应该说是我目前最喜欢的语言。

现在工作中要使用Java,最近在读《ON JAVA》,第一章有两个点印象深刻,记录一下。

1是所谓类型

我喜欢JavaScript的一个原因是不需要去管“类型”,因为JavaScript是松散类型的,即一个var对象可以保存各种类型的值,可以是数值,也可以是字符。

Java是有类型区分的,书中这么说:

所有编程语言都是一种抽象。甚至可以说,我们能够解决的问题的复杂程度直接取决于抽象的类型和质量。这里提到的“类型”的含义是“你要抽象的是什么”。

作者用“你要抽象的是什么”来表达“类型”我还是第一次听说,感觉说得特别好,书中提到:汇编是对计算机底层的抽象,命令式语言(如C)是对汇编语言的抽象,他们都是根据计算机的结果而非问题的结构来思考的,C++还有很多这种思想的痕迹,也许这就是他们难以理解的原因。也就是书中说的:

程序员必须在机器模型(解决方案空间)和实际解决的问题模型(问题空间)之间建立关联。建立这种关联需要耗费很大的精力,而且它是与编程语言无关的,这一切都导致程序难以编写且不易维护。

而Java把解决方案空间和问题空间统一了:

你阅读的既是解决方案的代码,也是表述问题的文字。这种灵活且强大的语言抽象能力是前所未有的。

也就是说,你阅读代码时,就是在阅读业务逻辑,也是在阅读计算机是如何执行的,比如状态、操作。

2是所谓服务

 当你开发一个面向对象程序或理解其设计时,一个上佳的方法是将对象想象成“服务提供者”。你程序本身也是为用户提供服务的,它通过使用其他对象提供的服务来做到这一点。所以,你的任务是创建一些提供对应服务以解决问题的对象。

而我在想,我最好也把编程语言,比如Java、C++看作服务提供者,如果我选择用Java这个服务,那么我可能要创建的就是一个SpringBoot对象(最终的、大的对象)去帮用户解决问题,而SpringBoot又包含很多小的对象,即自己定义的对象(编程)。

选择语言(服务)时,就需要考虑这个语言的特性,比如我需要“多态”,C++服务有virtual关键字来达到此目的,而Java服务默认具备动态绑定特性。

其他参考:

《JavaScript高级程序设计》学习笔记9:感受抽象

何为对象?谈内置类型和类类型的初始化问题

int类型与char类型

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号