Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

12
返回列表 回复
楼主: Debug.Twilight

[软件开发讨论] 重新梳理对Java的看法

[复制链接]
hlrlqy 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1453
钻石
性别
保密
注册时间
2013-7-9
查看详细资料
发表于 2016-1-30 16:27:01 | 显示全部楼层
新人好大的口气,你这也是在否定C
回复

使用道具 举报

luojiarui 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
6046
钻石
性别
保密
注册时间
2015-4-7
查看详细资料
发表于 2016-1-31 11:18:06 | 显示全部楼层
JAVA并不适合新人学习~
回复

使用道具 举报

mysiming 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
214
钻石
性别
保密
注册时间
2014-10-29
查看详细资料
发表于 2016-2-16 16:25:54 | 显示全部楼层
首先,楼主有一个误区,为什么说java依赖类库?类库是C的概念,java中称之为包。
java为什么需要这些包呢?因为java的具有集成,也体现了他的面向对象的特性。你不用知道底层是怎么去实现的,你只要知道怎么用就好了。
一个程序也并不需要那么多包,简单举个栗子,我做一个md5的校验程序,但是我并不需要对文件做任何处理,那么我只需要一个md5加密的包就搞定,我并不需要其他的没有用的包。
那么,是不是一定要包才可以?不,还是刚刚那个栗子,做一个MD5校验,官方貌似有md5的包,但是我只是需要16位的加密,那么我完全可以自己写一个出来。但是,我要用16和32以及64为混合加密或者不同地方使用不同加密的话,我就需要这个包,没有的话我会写很多类出来很烦躁。
不同的包具有不同的功能,使用不同的技术,我没有必要知道技术是怎么实现的,我只用知道那个包是做什么的就可以。
举一个比较极端的栗子,恩假设java只有3个包,分别是java的基础包,javaSE的包,javaEE的包,(恩,实际上javaEE包含有javaSE,java基础包是不存在的,因为javaSE就是基础保。),javaSE是做桌面开发的,javaEE是做网络开发的,那么问题来了,如果我做桌面开发要调用网络资源怎么办?吧所有包加载进去吗?当然不可能。那么在做网站的时候,我选择框架有两个不同的选择,一个叫struts2 另外一个叫springMVC,我用springMVC的时候不需要struts2,那么我也要加载进去吗?答案当然是否定的。所以,这也是为什么java会有那么多包来提供选择。因为,java相对来说比较全面,虽然国内用java做桌面程序的很少。每一个包包含了需要的不同的功能,就相当于mc中的插件一样,每一个插件都有不同的功能,你的游戏功能多,那么插件自然也就多了。如果插件少了,功能自然就少了,如果功能不少,那么插件必然庞大。
另外,java面向对象也是为了避免代码复杂,庞大。同样的功能,只用调用一下对应包中的类就OK不用重复写代码。
我想楼主对java只是浅尝即止,并没有系统或者深入的去学习。
回复

使用道具 举报

cihaoyi 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1360
钻石
性别
保密
注册时间
2013-8-17
查看详细资料
发表于 2016-2-16 19:53:13 | 显示全部楼层
mysiming 发表于 2016-2-16 16:25
首先,楼主有一个误区,为什么说java依赖类库?类库是C的概念,java中称之为包。
java为什么需要这些包呢? ...

包只是Java用来管理类的东西,java中导入的就是叫类库的,C中叫库。
回复

使用道具 举报

cihaoyi 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1360
钻石
性别
保密
注册时间
2013-8-17
查看详细资料
发表于 2016-2-16 19:55:09 | 显示全部楼层
Debug.Twilight 发表于 2016-1-20 20:55
java几乎把动词逼上了绝境

为啥非要用动词,名词和形容词不好吗
回复

使用道具 举报

季末旋律 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3148
钻石
性别
保密
注册时间
2014-11-12
查看详细资料
发表于 2018-3-14 08:34:21 | 显示全部楼层
不算是吧,我觉得它还是比较好用的语言。很简单的一些代码就能编写出来可视化界面。运行起来也比较稳定,不会出现错误
回复

使用道具 举报

Nukepayload2 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
17
钻石
性别
保密
注册时间
2018-2-18
查看详细资料
发表于 2018-3-14 10:51:32 | 显示全部楼层
楼主喜欢快速应用程序开发的话建议学 VB。这个语言的 "模块" 可以把 字段,属性,方法 和 事件 公开到命名空间里,很适合不太喜欢用类的开发人员。
https://docs.microsoft.com/zh-cn/dotnet/visual-basic/
回复

使用道具 举报

18569830789 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
166
钻石
性别
保密
注册时间
2017-7-7
查看详细资料
发表于 2018-3-27 10:13:33 | 显示全部楼层
java的开发环境我最喜欢了!
回复

使用道具 举报

沫苍 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
555
钻石
性别
保密
注册时间
2018-10-1
查看详细资料
发表于 2019-12-2 21:58:12 | 显示全部楼层
Debug.Twilight 发表于 2016-1-12 18:37
语言都是没有优差之分的,但是Java真的不适合初学者,或者是繁琐的程序。它太“面向对象”了。 ...

但实际上我觉得面向对象的思想更贴近生活 也更容易构建吧
回复

使用道具 举报

轻光233 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1834
钻石
性别
保密
注册时间
2017-8-20
查看详细资料
发表于 2019-12-3 19:07:40 | 显示全部楼层
gonglinyuan 发表于 2016-1-16 09:40
至少用Java写的代码比较规范,会Java的人都看得懂。像是python、ruby之类的,同样的功能写法太多,不同人写 ...

然而,游戏官方的代码都是普遍公认的差
回复

使用道具 举报

jebme 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2657
钻石
性别
保密
注册时间
2015-3-22
查看详细资料
发表于 2019-12-3 21:34:10 | 显示全部楼层
这个问题在知乎有很多讨论,我觉得Java的面向对象还是很不错的,看起来很繁琐,但是正是这种条条框框,才使得Java项目后期的可读性和可维护性大大增加。比起这个,我更关心Java一些其他的改进,比如改进性能和内存管理,还有允许像c++一样直接操作内存(虽然有个Unsafe类,但是它想法设法得警告你不让你调用,而且Java9+的模块化设计更加废了这个功能)。
回复

使用道具 举报

飞翔之歌 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
457
钻石
性别
保密
注册时间
2018-4-9
查看详细资料
发表于 2020-3-23 20:01:03 | 显示全部楼层
语言没有优劣之分。难道你说C语言就一定比汇编好吗?汇编语言反而能做到更多C语言做不到的事。你难道说Java就比Python好?Python比Java更简单,但Java更适合开发大型程序。
萝卜青菜,各有所爱。
回复

使用道具 举报

Billy12345 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
542
钻石
性别
保密
注册时间
2019-8-18
查看详细资料
发表于 2020-3-23 21:15:20 | 显示全部楼层
飞翔之歌 发表于 2020-3-23 20:01
语言没有优劣之分。难道你说C语言就一定比汇编好吗?汇编语言反而能做到更多C语言做不到的事。你难道说Java ...

各有各的应用领域,比如说拿Java去写硬件驱动程序就是不对的,拿汇编来写Minecraft也是不对的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2020-4-3 19:08 , Processed in 0.042345 second(s), Total 18, Slave 17 queries, Release: Build.2020.04.01.1425, Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表