【《java编程思想》摘录与学习笔记- 简 介 01】

系列文章目录

《java编程思想》摘录与学习笔记- 简 介 01



前言

“语言观决定世界观。”——路德维希.维特根斯坦 (Wittgenstein)


一、简介01

1.语言的影响

  1. 你所使用的编程语言会将你的思维模式固化并逐渐远离其他语言,往往发生在潜移默化中。
  2. Java是一门派生语言,早期语言设计者为了不想再项目中使用C++而创造了这种看起来很像C++,却比C++有了改进的语言。核心变化就是加入‘虚拟机’和‘垃圾回收机制’。1

2.语言的边界

了解语言的局限性和缺陷无关语言的好坏,他可以帮助我们:
1)明白有些功能特性为什么会被“废弃”。
2)熟悉语言边界,更好的设计和编码。
  1. Java最主要的概念之一“对象”来自SmallTalk语言。SmallTalk语言恪守对象是编程的最基本单元。

  2. 争议:万物皆对象,经历时间的检验,人们发现这种信念太过狂热。
    1)就该书作者而言,将一切事物都抽象成对象不仅是一项不必要的负担,同时也会招致设计朝着不好的方向发展。尽管如此,“对象”概念依然有其闪光点。
    2)固执地要求所有东西都是对象(特别是一直到最底层级别)是一种设计错误;相反完全逃避“对象”的概念似乎同样太过苛刻。

二、笔记与思考

1.Java作为一门编程语言承载了极致的面向对象思想,但是就如所有语言一样,它们都有着自己的极限和边界,就如同自然语言主要用于人与人之间的沟通和认知与知识传播的载体;底层语言主要面向计算机;面向对象语言则是拥有与人相同的思维逻辑,专注于在“问题空间”中解决问题本身。

2.由于语言本身就是思想的设计载体,我们可以通过Java去了解“面向对象”的思维是如何实现的,同时逐渐了解这门语言的边界所在,去探索面向对象的思想,从语言中解放出来。

3.编程语言作为一种解决问题的实现,是有着固定的思维模式的,学习语言是了解语言的边界,不被语言掌控,才能更好的设计程序。编程就是复杂性管理的过程:复杂的业务和计算机的复杂性。

4.语言观决定了思维的模式,语言的边界就是就成了思维的枷锁


总结

.java作为派生语言,固执的追求万物皆对象是一种设计错误,抽象简化问题的复杂性,让人们专注解决问题本身,一切抽象是相对的,每一层级的抽象都有极限,就如同无法用语言抽象所有情感和宇宙现象一样,抽象完的东西必然会跟随抽象的规则(模型)损失掉信息。程序根据需求的需要而复杂多样,盲目于“万物皆对象”会导致思维模式固化。


  1. 原文链接:https://blog.csdn.net/qq_53466247/article/details/131772905
    Java起源
     20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度
     SUN公司为了抢占市场先机,在1991年成立了一个由詹姆斯·高斯林(James Gosling)领导,名为“Green”项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构
     那么使用何种编程语言来设计,是项目小组头疼的事。当时C++较为有优势的,项目小组首先考虑的是采用它来编写程序,但C++过于复杂和庞大,再加上由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行,假如用C++编写的话对程序的跨平台运行不友好
     最后项目小组决定:既不用C++编写,也不开发全新的编程语言,而是对C++进行改造:去除了C++复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在1992年,他们开发了一种名为“Oak”的面向对象语言
    当他们在向硬件生产商进行演示的时候,硬件生产商对此并不感冒,OaK语言因为缺乏硬件的支持而无法进入市场,从而被搁置一旁
     1994年,项目小组看到了浏览器在未来的发展前景,于是决定将OaK应用于万维网。1995年,他们用OaK语言研发了一种能将小程序嵌入到网页中执行的技术——Applet,由于Applet不仅能嵌入网页,还可随同网页在网络上进行传输,这让无数的程序员看到了OaK这门语言,与此同时,OaK正式更名为Java。从此,Java在互联网的推动下火了 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值