V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sagaxu  ›  全部回复第 443 页 / 共 485 页
回复总数  9689
1 ... 439  440  441  442  443  444  445  446  447  448 ... 485  
2017-06-12 15:12:13 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@wangxiaoer 那是因为不知道__len__, __iter__, __init__等 magic 方法对于 python 的意义,所以你才会觉得 len 跟 strip 有可比性,才会以为有 strip(s)这样的东西存在,只有极其普遍和通用的方法,才有可能做到 built in 里去。你能告诉我 set/list/dict 等类型的 strip,应该如何定义吗?

Java 的 join 是 String 类型的静态方法,String::join(a, list) 对应 python 的 a.join(list)
Java 的 split 是 String 上的实例方法,所以 s.split()对应 python 的 s.split()

把 join 定义在 array 上的是 js,不是 java,跟 java 不一致的是 js,不是 python。

你无法下手 Python,这个锅 Python 不背。
2017-06-12 13:40:47 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@wangxiaoer IDE 提示补全那都是静态类型的功劳,哪个静态类型语言的 IDE 没这个功能?这跟语法糖没什么关系。

你觉得 Python 不统一,那是因为你没系统的学过它,如果学过,就该知道所有的取长度的都是 len,不管是字符串还是字节序列,列表还是字典,只要是长度就是 len,相当统一,这点还被 go 语言借鉴了去。你是在 thinking in java,不是在 thinking in python。

实际上 Python 设计的非常简单和一致,但是这种简单只有学过 Python 的人才能感受到,不是精通 XX 语言就顺便附带着懂 Python 了。
2017-06-11 21:10:14 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@wangxiaoer 你用 Java 8 没压力,不正好说明它增加的那些语法糖不会带来额外的人肉 parse 成本么?::和->这种新增的运算符也没那么难懂。

Python 我读起来也毫无压力,写的话除了 IDE 补全差点,重构功能弱点,其它也还好。只有 haskell 这类语言让我觉得有点阅读负担,那也只是因为我没有学过,如果我愿意学,读起来不会比 Java 费力。
2017-06-11 15:02:35 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@wangxiaoer 你说的那是 Java <= 6,一个死守 Java 6 的人,看到 Java7 和 Java8 的新特性,也会 parse 不了的。随便举几个例子。

Java 7 的 try-with-resource 让人一愣,Java 7 的 multi-catch 会让人思考 exception 的类型顺序,
Java 8 就更多了,lambda 表达式,stream 和并行 stream,随便拿个官网例子
double average = roster
.stream()
.filter(p -> p.getGender() == Person.Sex.MALE)
.mapToInt(Person::getAge)
.average()
.getAsDouble();
不熟悉 Java 8 的人 parse 起来真的 0 成本吗?而且即将发布的 Java 9,往这个方向越走越远,简单到不学就能用的日子,已经是过去时了。
2017-06-11 10:41:30 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@wangxiaoer 脑子稍微正常的人,学个面向大众的新语言也是毫无难度,跟看小说一样,最多几天就学会了。语法是为这门语言的用户服务的,还是为熟悉别的语言但是不愿意熟悉这门语言的其他语言用户服务的?
2017-06-11 10:24:21 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@gnaggnoyil 有什么软件是必须用 partial specialzation,不用就做不出来的? C 里的异常不就是用 goto 和 setjmp 做的么?语法糖无非就是少写几行代码,它不会给语言增加原来没有的能力。
2017-06-10 19:59:32 +08:00
回复了 ghui 创建的主题 问与答 大家对于收费软件的看法?
订阅了 jetbrains 全家桶,不说物美价廉,至少物有所值
2017-06-10 19:58:16 +08:00
回复了 1010011010 创建的主题 问与答 后端( PHP )有没有必要深度学习数据结构和算法
需要用到数据结构和算法的职位,不会招 PHP
2017-06-10 19:46:36 +08:00
回复了 EchoUtopia 创建的主题 程序员 学习 golang 的时候, copy 了份在线文档出来
官网文档很好了啊,文档网站本地也可以运行
2017-06-10 18:57:42 +08:00
回复了 ghostheaven 创建的主题 问与答 2017 年买个啥显示器写代码
@aheadlead 这个相当不错,我用了之后已经推荐好几个同事买了
2017-06-10 13:28:10 +08:00
回复了 silenceeeee 创建的主题 职场话题 找工作找到怀疑人生啊。
5 年以上都要高级或者资深了,没有公司愿意招一个 5 年的 CRUD 选手
@issues 你那是 python2,module 名字不同
Java 反序列化 JSON 得到的 object,不能调用它的方法吗?
2017-06-06 21:46:58 +08:00
回复了 ghui 创建的主题 Kotlin kotlin 大家在用了吗?
@Miy4mori 之前需要被 aop 操控的 class 需要写 open,除此之外还有哪些拧巴?
2017-06-06 18:30:19 +08:00
回复了 ghui 创建的主题 Kotlin kotlin 大家在用了吗?
用了半年了,日 PV 过亿的项目
2017-06-06 16:28:15 +08:00
回复了 muziling 创建的主题 Kotlin 为啥类属性 Kotlin 要贬低 Java
@silva C++这样也能算最灵活?估计你没玩过 lisp 吧。一个语言流行不流行,有很多因素在里面,灵活不灵活只是很小的一个因素之一。你觉得死板是优点,你高兴就好。不喜欢死板的 Javaer,已经用上 Lombok 了。
2017-06-05 19:54:58 +08:00
回复了 muziling 创建的主题 Kotlin 为啥类属性 Kotlin 要贬低 Java
@silva 对你来说是语义混淆,对我来说那是增强,它不会给我造成任何不清晰或者不明确,相反会节约我时间。

数量跟正确性无关,但是一大波主流语言的设计者们的共同选择,正确的可能性还是蛮高的。

从根本上说,是否加入 XX 特性可能无关正确性,而是各人根据自身经验和喜好,做的一个决定罢了。

ps: 从某种程度上讲,interface 和多态,是同类型同签名方法的不同语义,也是一种你眼中的混淆,只不过你没法回避这种混淆,只能认命。
2017-06-05 15:35:50 +08:00
回复了 muziling 创建的主题 Kotlin 为啥类属性 Kotlin 要贬低 Java
@mko0okmko0 Koltin 性能 >= Java,得益于 inline 方法
2017-06-05 15:34:27 +08:00
回复了 muziling 创建的主题 Kotlin 为啥类属性 Kotlin 要贬低 Java
@silva 你当然有权认为这是混淆,但是 C#,Swift,Python,Ruby,PHP,JS,VB 等等都是这么做的,这已经是比较 common 的 sense 了,也许 Java10 或者 Java11 也会引入这样的特性,你接受不了可以不用。哦,顺便说一下,即使是 Java6,用了注解,也会有一些改变语义的 magic 发生,是不是也是种混淆?还有==运算符,有时候比的是引用,有时候比的是值,你也别用了。
2017-06-05 14:21:48 +08:00
回复了 zgqq 创建的主题 Java java9 的语法几乎没有变化
@msg7086 Python 现在也经常有人写 list/dict/set comprehension 了,偶尔还会有两层甚至三层的 comprehension,Java 不这么写,只是因为长期以来一直语法罗嗦不方便这么写,Java8 稍稍改进了一点但还是不够简洁。

我举个例子试着对比一下可读性和罗嗦之间有没有关联,先来个 Java 版的
https://gist.github.com/anonymous/b7361b54a68afe154f9a4eb01ad0e228
71 行代码,原汁原味的 getter 和 setter,sortByAgeA 和 sortByAgeB 分别用了 Java7 和 Java8 的 style,更罗嗦的 Java7 可读性更高吗?我不觉得。

再看一下 Kotlin 的写法,
https://gist.github.com/anonymous/ba398be974f1861256a5770eb33b009c
只有 13 行代码,没有 getter/setter,连 toString 都自动合成了比较理想的形式,sort 的方法太简短,以至于专门定义个方法都显得多余。

more verbose 并不能得到 more readable,两者相关,但没有因果关系,再举个例子
a = a * b 和 assign a * b to a 比,后者更 verbose,而且不会让初学者对等号产生疑惑,但它可读性如何呢?
1 ... 439  440  441  442  443  444  445  446  447  448 ... 485  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2345 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 75ms · UTC 15:32 · PVG 23:32 · LAX 08:32 · JFK 11:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.