不知道怎么会执着于这一门语言。论速度的话,c那系更好一些,而且对底层的操控更多是c那边的。还是想通过Java做这些事。

对Java不怎么懂,它的底层实现是怎样的。只知道一个大体的思想,不知道具体步骤。而大体思想也是自己通过猜测和感觉得来。

对Java的执行速度不知道怎么去辨别。毕竟不是c那么透明,它有很多的层,一件事情很多个对象去分工处理。

不知道为什么会仍旧觉得这个语言比较好,比较适合自己思路的样子。好像自己用十几年的时间都在理解Java所阐述的面相对象到底是怎样一种思想。因为它带来的这种思想,也影响了自己的思考方式。在最初的时候还可以觉得,现在已经感觉不出来影响了什么。

细想来,是分工的思想。每一个人都有确定的职责,每一个职责都能找到确定的对象,又能保证相互之间灵活配合。这是一件令我觉得兴奋、做起来愉快的事,喜欢并觉得擅长。

好多事情不能用Java做的样子,用Java做的又不是它真正的实力体现。像现在很多手机程序和游戏用Java做,而且里边用到的也并不是我理解的Java思想,只是在作为一种普通语言在使用,并没有体现它的最有价值部分的特性。游戏服务器很多都在用c系开发,毕竟讲究速度还有灵活操纵底层。我觉得网络游戏用Java来开发比较好,可是想到它那么慢的特性,又觉得好像不怎么适合做这件事。

不过,在那种分工思想下。Java本身应该可以做得非常灵活才对。在语言开发之初,肯定有对速度的考虑,只是后来使用的人不能很好理解一些思想,用起来才会那么错乱,影响了执行效率。语言也是在进步的,总觉得在它体现的思想下、尝试做到的思想下,Java本身会有所改变。

编程每套语言都有自己里边渗透的思想吧。在我看到的Java是对面相对象解释得最好的,当然其中一些封装并不是很好理解了这些思想,或许一些关键字和规则的定义也不是那么有深度,可给人的感觉是它和“面向对象”的友好感最好。

程序大了,使用这种思想编程让我觉得最对感觉。一个软件是一个立体空间里,很多对象的相互配合。不是简单地实现某个功能,是对一个职责进行理解和划分,创造出来一个个对象,相互协作来实现这个职责。不再是一条线的代码,而是一个多对象之间的来回交互。不是我用代码去实现一个功能,是我编辑出一些对象,通过它们之间的交互操作来完成要达成的工作。

先把功能分工给对象,再对对象进行编程。和原来的直接去实现一个功能,或者写成一个个方法进行调用,虽然作用是一样的,可根本不是一个意思,根本不是一个思考层次上的事。

或许说只是方便管理,便于拓展、修改,还有什么解耦合。这些都只是表象,并不是它的好处。

它的好处是从思想上清楚透彻,更友善人的思考方式,让编程在头脑里变得更舒服。从机器语言到别的什么到面相过程到面相对象,这是一种更适合人脑袋思考方式的演变。Java所表现的面相对象能更适合一些这种进展方向。

说感情是因为里边总有一些自己说不明白道不清的东西,能说出来的更多只是一种逻辑上的猜测、看得过去的解释。

简单说,就是一种执着吧。

Java感情的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 就这么漂来漂去---一个毕业三个月的java程序员的裸辞风波

    注:这并不是一篇技术文章,而是记录了我这几个月经历的入职,裸辞,找工作的心路历程,简单介绍一个博主的情况,我是16年毕业生,校招进了一家北京的公司,java开发,和很多年轻人一样,干了一段时间,我发现 ...

  3. 云端卫士实战录 | Java高级特性之多线程

    <实战录>导语 一转眼作为一名Java开发者已经四年多时间了,说长不长说短不短,对于java的感情还是比较深的,主要嘛毕竟它给了我饭吃.哈哈,开个玩笑.今天我想借此机会来和大家聊聊Java ...

  4. 渣渣小本求职复习之路每天一博客系列——Java基础(9)

    ———————————————————————今天不闲聊————————————————————————————— 第十一章:线程 第四节:synchronized与同步 首先,我们来看一段代码: p ...

  5. 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】

    楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...

  6. 《程序设计教学法--以Java程序设计为例》

    <程序设计教学法--以Java程序设计为例> 当老师上的第一门课就是<Java程序设计>,工作以来,断断续续上了近十次课了吧.十几年来,教材.课程内容.教学方法.教学手段不断改 ...

  7. JAVA获取apk包的package和launchable-activity名称(一)

    背景: 每次要获取apk包的package和launchable-activity名称都需要运行doc命令,感觉好浪费感情,因为经常记不住常常的路径,但又不想把aapt设置为环境变量 我这个工具分几步 ...

  8. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  9. 20145222黄亚奇《Java程序设计》课程总结

    20145222黄亚奇<JAVA程序设计>课程总结 每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 第 ...

随机推荐

  1. 【python小练】0020

    第 0020 题: 登陆中国联通网上营业厅 后选择「自助服务」 --> 「详单查询」,然后选择你要查询的时间段,点击「查询」按钮,查询结果页面的最下方,点击「导出」,就会生成类似于 2014年1 ...

  2. c++ virtual 记录

    虚继承: http://zh.wikipedia.org/wiki/%E8%99%9A%E7%BB%A7%E6%89%BF 解决了菱形继承问题 cB cC 继承cA    cD继承cB,cC    c ...

  3. Coursera, Deep Learning 5, Sequence Models, week2, Natural Language Processing & Word Embeddings

    Word embeding 给word 加feature,用来区分word 之间的不同,或者识别word之间的相似性. 用于学习 Embeding matrix E 的数据集非常大,比如 1B - 1 ...

  4. python 的基础 学习 12天,函数

    1,   *args   动态 参数,万能参数 *args就是接受实参对应的剩余的位置参数,并将其放在元组中.在定义函数时,*args代表的是聚合. def func(*args): print(ar ...

  5. day 4 - 1 列表

    1.列表的增删改查 1) append insert extend li = ["ysg",[1,2,3,4,5],"peipei","梦幻" ...

  6. android4.4之后的HttpUrlConnection的实现是基于okhttp

    首先看HttpUrlConnection使用 URL url = new URL("http://www.baidu.com"); HttpURLConnection urlCon ...

  7. SpringCloud Netflix Ribbon(负载均衡)

    ⒈Ribbon是什么? Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具. Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负 ...

  8. Windows中Anaconda,Tensorflow 和 Pycharm的安装和配置

    Anaconda完全入门指南 https://www.jianshu.com/p/eaee1fadc1e9                 [安装不要按此条链接进行] Windows中 Anacond ...

  9. 707. Design Linked List

    1. 原始题目 Design your implementation of the linked list. You can choose to use the singly linked list ...

  10. windows下安装MySql + navicat(图形化界面)

    MySQL安装过程参考:https://www.cnblogs.com/ayyl/p/5978418.html navicat图形化界面安装过程参考:https://www.cnblogs.com/l ...