JDK8支持汉语命名为什么不用?

豆浆加糖 2018-08-17 03:37:45
...全文
788 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcsflilong 2019-02-27
  • 打赏
  • 举报
回复
之前的版本就支持 我感觉好像1.5就支持了 但是没人这么干
  • 打赏
  • 举报
回复
不同的语言系统中都获得正确的编译,这个现象都会有的
qq_39936465 2019-02-27
  • 打赏
  • 举报
回复
引用 3 楼 qq_39934154 的回复:
1.中文较大我承认,存储移动不方便这个说法就不认同了,难道同样是一直蚂蚁,大一点的就会让你花费更多精力去杀死?在说出这种看似合理的理由时请不要想当然,你一个项目只放代码有多少行?100W行够不够?能有多大?
2.编译乱码?既然都编译了,你还要反编译回来吗?编译了本来就是你看不懂的乱码,就算是英文反编译回来也对不上以前的啊!请你仔细了解中文乱码问题具体指什么。而且java只需要一次编译!支持中文,就是指编译不会出问题的意思。
3.还有打字,英文不会错?而且对于大多数英语不过关的程序员来说,打中文效率更快,更方便阅读,不是吗?最讨厌就是注释都要英文的装逼党。。。
4.用中文怎么就多一个步诹了?你自己加的吗?只是中文命名变量和类而已。还有就是怎么个不好用发,又是你自己加的?
5.易语言纯中文不被大规模使用真的是因为纯中文吗?如果它最够优秀,会没人用?


不是大小的问题,计算机基础编码是ASCII,只有26字母和数字,所以使用26字母语言通用性比较强,可以在不同的语言系统中都获得正确的编译,这个不是光中文的问题,日语,韩语那些不是通过26个字母的语言都有这个问题,都需要依赖特定编码,更换到其他机器就可能出现乱码,相对来说对环境要求高了。
中文编程 2019-02-27
  • 打赏
  • 举报
回复
母语命名对代码可读性的提升早已被社区经验证实. 详见"Python3选择支持非ASCII码标识符的缘由".
日本有更早的相关研究, 详见"1992年日本对母语编程的可读性比较实验"
所以只是如何改进工具更好地支持母语代码输入的问题
还是日本, 2017年的论文ローマ字入力時の日本語識別子入力補完プラグインの 開発开发了辅助插件以改进IDE对输入日语命名的支持
qq838077327 2018-10-19
  • 打赏
  • 举报
回复
引用 10 楼 Ragin 的回复:
[quote=引用 3 楼 qq_39934154 的回复:] 1.中文较大我承认,存储移动不方便这个说法就不认同了,难道同样是一直蚂蚁,大一点的就会让你花费更多精力去杀死?在说出这种看似合理的理由时请不要想当然,你一个项目只放代码有多少行?100W行够不够?能有多大? 2.编译乱码?既然都编译了,你还要反编译回来吗?编译了本来就是你看不懂的乱码,就算是英文反编译回来也对不上以前的啊!请你仔细了解中文乱码问题具体指什么。而且java只需要一次编译!支持中文,就是指编译不会出问题的意思。 3.还有打字,英文不会错?而且对于大多数英语不过关的程序员来说,打中文效率更快,更方便阅读,不是吗?最讨厌就是注释都要英文的装逼党。。。 4.用中文怎么就多一个步诹了?你自己加的吗?只是中文命名变量和类而已。还有就是怎么个不好用发,又是你自己加的? 5.易语言纯中文不被大规模使用真的是因为纯中文吗?如果它最够优秀,会没人用?
1、编码问题不等于编译乱码问题。比如在不支持gbk或者utf8编码的终端上输出日志就有可能出现乱码。不利于排查问题。当然,现在很少有终端不支持gbk或者utf8编码的。 2、纯chinese coding的话,maybe会有利于方便地review your 代码。我just提的纯中文。像楼主demo这样的代码。key word是英文,className,methodName,memberVariable又是中文读起来真的不轻松。当然我也是支持system-log、code-comment用中文的。方便排查问题。 3、虽然现在很多输入法已经很牛逼了,但是中英文频繁切换确实还是太麻烦。 4、像spring ioc的getter/setter不觉得看起来不伦不类?
private Integer 主键; public void get主键(){//...}
[/quote] 哈哈哈你是故意的吗
G.Jagger 2018-08-27
  • 打赏
  • 举报
回复
看着乱,找起来慢,这两个理由就足够弃用了
stacksoverflow 2018-08-21
  • 打赏
  • 举报
回复
1. 编程没用英文也没用中文也没用哪一种人类语言,用的是键盘上的字母,数字,符号等;
2. 语言就很抽象了,你再在键盘上的字母,数字,符号等上面抽象一层,你累不累;
3. 洗洗睡吧;
stacksoverflow 2018-08-21
  • 打赏
  • 举报
回复
引用 11 楼 stacksoverflow 的回复:
1. 编程没用英文也没用中文也没用哪一种人类语言,用的是键盘上的字母,数字,符号等;
2. 语言就很抽象了,你再在键盘上的字母,数字,符号等上面抽象一层,你累不累;
3. 洗洗睡吧;

4. 考虑易读性的话,如果正常的字母写的程序你觉得难度,那我保证中文的会更难读;
5. 也没限制你用汉语拼音;
豆浆加糖 2018-08-21
  • 打赏
  • 举报
回复
感谢各位大佬指正,果然被骂得体无完肤
Braska 2018-08-20
  • 打赏
  • 举报
回复
引用 3 楼 qq_39934154 的回复:
1.中文较大我承认,存储移动不方便这个说法就不认同了,难道同样是一直蚂蚁,大一点的就会让你花费更多精力去杀死?在说出这种看似合理的理由时请不要想当然,你一个项目只放代码有多少行?100W行够不够?能有多大?
2.编译乱码?既然都编译了,你还要反编译回来吗?编译了本来就是你看不懂的乱码,就算是英文反编译回来也对不上以前的啊!请你仔细了解中文乱码问题具体指什么。而且java只需要一次编译!支持中文,就是指编译不会出问题的意思。
3.还有打字,英文不会错?而且对于大多数英语不过关的程序员来说,打中文效率更快,更方便阅读,不是吗?最讨厌就是注释都要英文的装逼党。。。
4.用中文怎么就多一个步诹了?你自己加的吗?只是中文命名变量和类而已。还有就是怎么个不好用发,又是你自己加的?
5.易语言纯中文不被大规模使用真的是因为纯中文吗?如果它最够优秀,会没人用?


1、编码问题不等于编译乱码问题。比如在不支持gbk或者utf8编码的终端上输出日志就有可能出现乱码。不利于排查问题。当然,现在很少有终端不支持gbk或者utf8编码的。
2、纯chinese coding的话,maybe会有利于方便地review your 代码。我just提的纯中文。像楼主demo这样的代码。key word是英文,className,methodName,memberVariable又是中文读起来真的不轻松。当然我也是支持system-log、code-comment用中文的。方便排查问题。
3、虽然现在很多输入法已经很牛逼了,但是中英文频繁切换确实还是太麻烦。
4、像spring ioc的getter/setter不觉得看起来不伦不类?
private Integer 主键; public void get主键(){//...}
maradona1984 2018-08-20
  • 打赏
  • 举报
回复
大家都约定好类是大写字母开头,变量不是小写开头,一目了然,你这样写,让人以为非静态的变量或者方法看起来跟静态的差不多...
qq_43009072 2018-08-19
  • 打赏
  • 举报
回复
我也希望中文可以编程
shui5462115 2018-08-18
  • 打赏
  • 举报
回复
使用中文是会出问题的
Dan淡淡的心 2018-08-18
  • 打赏
  • 举报
回复
不要说我 崇洋媚外什么的 我也希望中文可以编程 世界通用 但是 现在 现实是这样 还有 虽说是支持中文 但是目前并不支持中文的标点符号 来回切换更复杂
Dan淡淡的心 2018-08-18
  • 打赏
  • 举报
回复
而且反编译 反编译是跟以前不一样 但是英文的还是可以阅读的 但是中文的乱码了 你告诉我怎么阅读??? 不要觉得一次编译导出运行 就不用反编译了 不用反编译为什么会有那么多人用这个功能?
Dan淡淡的心 2018-08-18
  • 打赏
  • 举报
回复
引用 3 楼 qq_39934154 的回复:
[quote=引用 2 楼 qq_41054313 的回复:] 中文不是问题 不用中文原因有很多 首先 中文占用空间较大 编写的代码储存移动不方便 其次 中文命名很容易就乱码 因为编码的原因 很多编码都不支持中文 还有 中文编码其实很不方便 虽然看起来很不错 但是 你需要用敲更多的 键盘次数 万一你打错字 就需要跟多了 这些 很大一部分原因是计算机最开始被创造出来的时候 就是先支持英文的 其他语言都是基于英文更上一层 所以 用中文相当于多了一个步骤 并不好用 是有纯中文的编程语言的 比如易语言 不被大规模使用也是这个原因
1.中文较大我承认,存储移动不方便这个说法就不认同了,难道同样是一直蚂蚁,大一点的就会让你花费更多精力去杀死?在说出这种看似合理的理由时请不要想当然,你一个项目只放代码有多少行?100W行够不够?能有多大? 2.编译乱码?既然都编译了,你还要反编译回来吗?编译了本来就是你看不懂的乱码,就算是英文反编译回来也对不上以前的啊!请你仔细了解中文乱码问题具体指什么。而且java只需要一次编译!支持中文,就是指编译不会出问题的意思。 3.还有打字,英文不会错?而且对于大多数英语不过关的程序员来说,打中文效率更快,更方便阅读,不是吗?最讨厌就是注释都要英文的装逼党。。。 4.用中文怎么就多一个步诹了?你自己加的吗?只是中文命名变量和类而已。还有就是怎么个不好用发,又是你自己加的? 5.易语言纯中文不被大规模使用真的是因为纯中文吗?如果它最够优秀,会没人用?[/quote] 兄弟 跟你争论这些 没有意义 事实上就是不好用 英语差 我英语也差 从来没超过30分 100W行中文已经很多了 而且 重点是 不止一个项目 一个项目不是很大 多了呢? 中文理论上占据空间是 英文的2倍 还有其他的标点啊 空格啊 不算 那么正规项目下来 占据空间 算1.5倍甚至 1.2倍 不过分吧 你导入的jar包 你用英文还是中文 就英文的 都已经 几十M了 全部中文 基本上就过百M 加载速度 考虑一下兄弟 假如你做游戏 写的代码更多 本来就是要尽量精简 用中文 占据空间大 违背这个原则 编译器编译也是很消耗内存的 项目过大会导致编译器挂掉 当然这种情况比较少 多启动几次就行 但是无形之中就增加了编程时间 然后说乱码 你看注释 就知道 你导入别人的项目的时候 没遇见过乱码么???? 是有办法可以解决 但是 这不是增加步骤了么 打字来说 你绝的打字快 对吧 那么 你分钟能打200个字母 你能打200个字么 就以比例来算 你能打100个么? 事实上是小于100的 举个例子 起个变量名 a 就可以 只用敲键盘一下 你用输入法 至少两下 其中一下是空格 拼音打字 很多人都会 但是 打字效率低下 打字比较快的是 五笔 虽然五笔也有各种问题 但是 不能否认五笔打字很快 但是再快 一个字也要两下到 四下敲击键盘 易语言 纯中文是一个原因 不是全部 如果你只是为了钻牛角尖的话 何必开个帖子来问呢 借用你刚说的一句话 用中文编程真的那么好 为什么国人都不用? 只是为了装逼? 用拼音写的英文装逼???? 至于你说人家英语写注释的 我不否认有人是为了装B 但是 更多的是 工作需要 或者是面向国外 的项目 还有很多的库都是老外写的 抱怨别人用英语写注释 不如自己好好学英语
豆浆加糖 2018-08-18
  • 打赏
  • 举报
回复
引用 2 楼 qq_41054313 的回复:
中文不是问题 不用中文原因有很多
首先 中文占用空间较大 编写的代码储存移动不方便

其次 中文命名很容易就乱码 因为编码的原因 很多编码都不支持中文

还有 中文编码其实很不方便 虽然看起来很不错 但是 你需要用敲更多的 键盘次数 万一你打错字 就需要跟多了


这些 很大一部分原因是计算机最开始被创造出来的时候 就是先支持英文的 其他语言都是基于英文更上一层 所以 用中文相当于多了一个步骤 并不好用

是有纯中文的编程语言的 比如易语言 不被大规模使用也是这个原因

1.中文较大我承认,存储移动不方便这个说法就不认同了,难道同样是一直蚂蚁,大一点的就会让你花费更多精力去杀死?在说出这种看似合理的理由时请不要想当然,你一个项目只放代码有多少行?100W行够不够?能有多大?
2.编译乱码?既然都编译了,你还要反编译回来吗?编译了本来就是你看不懂的乱码,就算是英文反编译回来也对不上以前的啊!请你仔细了解中文乱码问题具体指什么。而且java只需要一次编译!支持中文,就是指编译不会出问题的意思。
3.还有打字,英文不会错?而且对于大多数英语不过关的程序员来说,打中文效率更快,更方便阅读,不是吗?最讨厌就是注释都要英文的装逼党。。。
4.用中文怎么就多一个步诹了?你自己加的吗?只是中文命名变量和类而已。还有就是怎么个不好用发,又是你自己加的?
5.易语言纯中文不被大规模使用真的是因为纯中文吗?如果它最够优秀,会没人用?
Dan淡淡的心 2018-08-18
  • 打赏
  • 举报
回复
中文不是问题 不用中文原因有很多 首先 中文占用空间较大 编写的代码储存移动不方便 其次 中文命名很容易就乱码 因为编码的原因 很多编码都不支持中文 还有 中文编码其实很不方便 虽然看起来很不错 但是 你需要用敲更多的 键盘次数 万一你打错字 就需要跟多了 这些 很大一部分原因是计算机最开始被创造出来的时候 就是先支持英文的 其他语言都是基于英文更上一层 所以 用中文相当于多了一个步骤 并不好用 是有纯中文的编程语言的 比如易语言 不被大规模使用也是这个原因
xls丶 2018-08-17
  • 打赏
  • 举报
回复
好像8以前也支持吧...看着你不觉得别扭吗
JAVA--达内培训笔记】 1、Java之父Golsling 1995年5月23日 Java诞生 1998年12月 1.2版本 Java2 J2SE J2EE J2ME 2004年12月 1.5版本(5.0) Java JavaSE JavaEE JavaME 2、Java SE --- Java标准平台 Java EE --- 企业级平台 Java ME --- 微小平台,用在资源受限的平台上 3、(1)跨平台 --- 一次编译,到处运行 (2)简 单 --- 简化C++,取消了指针,对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。 不允许多继承,使继承关系成树装图,每个类都只能由一个父类。 java语言的开发效率高,但执行效率低。(相当于c++的55%) (3)纯面向对象的语言 --- 都要放在类中 (4)垃圾回收机制 --- 自动垃圾收集,永远不会出现内存泄露的问题 4、虚拟机 java语言是先编译后解释,java源码是通过编译生成一种特殊的.class的中间字节码文件,然后再由JVM进行解释运行。 (编译) (解释) .java ----> .class ---> 可执行文件 所以效率低,是C++的20倍 5、java源代码中的main方法的定义写法。main方法是程序的入口。 public class Hello{ //一个源文件中只能有一个公开类,而且源文件的文件名与公开类的类名完全一致 public static void main(String[] args){ //程序入口 public static 可以调换顺序 System.out.println("Hello world"); //打印语句 } } 编译命令 javac xxxx.java 源文件的名字,源文件中的一个类会对应编译生成一个.class文件 运行命令 java xxxx 类的名字 --- 启动虚拟机 6、环境变量 JAVA_HOME = /opt/jdk1.5.06 JDK 安装路径 --- JDK = JRE {JVM(硬件)+编译器(软件)} +编译器工具+类库 PATH = $Path:$Java_Home/bin:. ClassPath = . 类路径 7、包 --- 分类放置,减少命名空间 包名.类名 表示一个类的全限定名 java xxx.xxx.ClassA --- 运行时要在包结构的上一层目录来运行。 javac -d . xxxx.java --- 编译的时候,按照包结构存放字节码文件,此命令生成的.class文件在当前目录 package xxx.xxx,包的定义在一个程序中只能由一个 import xxx.xxx.xxx.ClassA; --- 在程序中声明ClassA类,使用的时候不需加包名,使用同一包内的类时,不用引入 import p1.p2.p3.p4.p5.*; --- 声明p5包中所有的类,不能代表其子包 系统会在每个java程序中隐含导入了java.lang这个包 8、java中的注释, 单行注释 //...... 多行注释 /* .......*/ 文档注释/** ........

(换行标签)*/,用javadoc命令可以根据原码中的文档注释生成注释文档(html格式)。文档注释中可以使用html标签。 javadoc -d 路径(指定注释文档的保存路径) xxx.java 文档注释一般写在类定义之前,方法之前,属性之前。 在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符号要写在类定义之前,用于方法的注释@param 对参数进行注释,@return 对返回值进行注释 @throws对抛出异常的注释。 10、标识符规则 --- 类,方法,变量,同时也是包名的规范 由字母(汉语中的一个汉字是一个字母),数字,下划线和货币符号组成,不能以数字开头。 大小写敏感 没有长度限制,不能有空格 不能使用Java的关键字和保留字 java中的关键字 goto和const在java中虽然不再使用但是还作为保留字存在 java中没有sizeof这个关键字了,java中的boolean类型的值只能用true和false,且这两个也是关键字 enum 枚举 assert 断言 一个标识符尽量符合语义信息,提高程序可读性 类 名 :每个单词首字母大写, 变量和方法 :第一个单词小写,后边的每个单词首字母大写 包 名 :全部小写 常 量 :全部大写 11、局部变量:定义在方法中的变量 (1)先赋值后使用 (2)从定义变量的代码块开始到代码块结束 (3)在同一范围内不允许两个局部变量发生命名冲突 * * * *

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧