由买买提看人间百态

topics

全部话题 - 话题: kotlin
1 2 3 4 下页 末页 (共4页)
f********a
发帖数: 1109
1
【 以下文字转载自 Programming 讨论区 】
发信人: ozin (ozin), 信区: Programming
标 题: 王银看kotlin(本文建议零售价 ¥15)
发信站: BBS 未名空间站 (Thu May 25 18:06:39 2017, 美东)
Kotlin 和 Checked Exception
最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代
了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开
始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin
是不是太早了一点?” 结果引起一些 Kotlin 老鸟们的鄙视。当然也有人来信,请求
我评价 Kotlin。
对于这种评价语言的请求,我一般都不予理睬的。作为一个专业的语言研究者,我的职
责不应该是去评价别人设计的语言。然而浏览了 Kotlin 的文档之后,我发现 Kotlin
的设计者误解了一个重要的问题——关于是否需要 checked exception。对于这个话题
我已经思考... 阅读全帖
o**n
发帖数: 2130
2
Kotlin 和 Checked Exception
最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代
了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开
始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin
是不是太早了一点?” 结果引起一些 Kotlin 老鸟们的鄙视。当然也有人来信,请求
我评价 Kotlin。
对于这种评价语言的请求,我一般都不予理睬的。作为一个专业的语言研究者,我的职
责不应该是去评价别人设计的语言。然而浏览了 Kotlin 的文档之后,我发现 Kotlin
的设计者误解了一个重要的问题——关于是否需要 checked exception。对于这个话题
我已经思考了很久,觉得有必要分享一下我对此的看法,避免误解的传播,所以我还是
决定写一篇文章。
可以说我这篇文章针对的是 checked exception,而不是 Kotlin,因为同样的问题也
存在于 C# 和其它一些语言。
冷静一下
在进入主题之前,我想先纠正一些人的误解,让他... 阅读全帖
s***o
发帖数: 2191
3
来自主题: JobHunting版 - 好虫,kotlin在server端前景如何?
android上我觉得kotlin压倒java是迟早的事,server端不是那么肯定。
kotlin强调跟java的无缝对接。Spring和vert.x都对kotlin提供很好的支持,所以生态
系统方面我觉得应该不是大问题。但real world use cases尤其是javaEE方面肯定有大
大小小的坑,而且还有一个程序员的惯性问题。
d******c
发帖数: 2407
4
来自主题: Programming版 - Kotlin好像很有前途
Kotlin的许多优点,Groovy都做到了,而且我看着语法更舒服。
比如减少boilterplate,functional, closure,还有Builder for layout (
MigLayout更牛,欧洲某战斗机飞行员写的,完全用DSL定义复杂的swing layout,我觉
得很好用,比可视化工具强)。
唯一的问题,就是许多人害怕dynamic lanuage,所以kotlin宣传是静态的,对于企业
界的可能比较有吸引力--jetbrains就是做IDE的,当然喜欢static typed
看来kotlin活下去并且逐渐扩展是没有问题了。groovy是希望不大了。
n******7
发帖数: 12463
5
需要静态语言
跨平台
自动GC
开发效率高
资源多
基本就jvm和.NET语言了吧
也就是java/scala/clojure/C#/F#/kotlin
kotlin感觉优势很大
1. 与java完全互操,可以说站在java肩膀上。java的东西都能用,还可以一个project
混合java/kotlin代码,无痛迁移
2. 设计很务实,各种语言好的东西都弄过来,也不避讳。感觉从C#抄了不少好东西。
3. 学习难度低,不用把脑子掰弯来写码
4. google站台应用,不用担心社区和需求的问题
5. jetbrain站台IDE,开发效率不用担心
各位大牛怎么看?
d****n
发帖数: 1637
6
来自主题: Programming版 - 各位牛人士给说说kotlin
想用java有不想从头学,给为牛人觉得kotlin怎么样?
web framework 类库完整么?
这玩意是文艺青年玩的么?
scala v.s. kotlin,怎么感觉,看了不少评价,还是没主见。
m****o
发帖数: 182
7
来自主题: Programming版 - Kotlin好像很有前途
jetbrain主要产品还是各种各样的gui editor,就像Mozilla的主要产品是浏览器而不
是rust一样。我估计kotlin以后的演化会主要靠社区推动,对比Scala的演变进化则主
要由lightbend控制。
举个具体的例子,slick之前的商业数据库driver都是bsd, apache这样完全免费的
license,结果后来有一天lightbend fork了源代码,直接把这些驱动的后续版本变成
了闭源状态。现在由社区维护的开源版本驱动直接上了lgpl license,目的就是防止之
前那中事情再出现。你说这么个搞法Google能不放着吗?

:那么推kotlin不怕给jet brain做嫁衣?
x***4
发帖数: 1815
8
来自主题: Programming版 - Kotlin好像很有前途
我觉得公司和manager都是懒惰的。虽然说spring和android都可以用kotlin,但是估计
大部分地方还是会继续用java。我觉得kotlin需要一个独有的killer app才会受到更多
注意。举个例子,scala在spark之前也也不是很多人提。
g****t
发帖数: 31659
9
来自主题: Programming版 - java ---> Kotlin --- > Native
除了Android之外。还一件怪事。
Java转成Kotlin,不就可以走LLVM了吗?
Kotlin已经有LLVM native executable的preview版本了。
d****n
发帖数: 1637
10
来自主题: Programming版 - Kotlin 1.0发布了 没人关心?
大概一年多以前我就提过。
http://www.mitbbs.com/article_t/Programming/31373535.html
这玩意设计的再好还要看社区吧。
jvm这个大泥潭,都容入了多少语言了。
都是因为土生土长的java 太tm滥。
build, tool chain 都靠外包,才由此产生许多替代品。
譬如这个kotlin.
写个小玩意还行,时间长了怕jetbrains没有support。
不过感觉jet brains挣钱比其他ide都多。资金应该不是问题。
千万别交给烙印手里就还有希望
s***o
发帖数: 2191
11
来自主题: Programming版 - Kotlin好像很有前途
是很不错。除了刚刚宣布的 "officially supported on Android", gradle也早已经投
靠kotlin了。
但是,当年Scala刚出来的时候也是很不错的样子。。。
e*******o
发帖数: 4654
12
来自主题: Programming版 - Kotlin好像很有前途
scala 比较麻烦
kotlin 简单好多
N*****m
发帖数: 42603
13
来自主题: Programming版 - Kotlin好像很有前途
kotlin还搞native了。
不过,现在新语言层出不穷,坑都太多了,不急。
d*******r
发帖数: 3299
14
来自主题: Programming版 - Kotlin好像很有前途
在server端kotlin能有前途么?对android开发目前不感兴趣
n*w
发帖数: 3393
15
来自主题: Programming版 - Kotlin好像很有前途
为什么Android用急Java开发stuck 在Java 6?
而kotlin没有这个问题?
w********m
发帖数: 1137
16
来自主题: Programming版 - Kotlin好像很有前途
不就是Android吗?
加上Spring。这两个就是java圈最大的两个应用,现在都加持Kotlin。
google io这个消息,其实比apple宣布swift代替obj c还震撼。
w********m
发帖数: 1137
17
来自主题: Programming版 - Kotlin好像很有前途
企业级的应用里面,spring的份额最大吧。
对于还没有出来的Spring 5, 我现在的感觉是,没Kotlin没法写。
W***o
发帖数: 6519
18
来自主题: Programming版 - Kotlin好像很有前途
kotlin 的syntax 看起来是抄袭了swift的,语义更明确
N*****m
发帖数: 42603
19
来自主题: Programming版 - Kotlin好像很有前途
kotlin 2011公布的;swift 2014才出来。
N*****m
发帖数: 42603
20
来自主题: Programming版 - Kotlin好像很有前途
mobile端scala没戏了;如果kotlin打入大数据和服务端,scala就会退出舞台了。
g****t
发帖数: 31659
21
来自主题: Programming版 - Kotlin好像很有前途
As I remembered, the initial kotlin is quite different with today's version.
Anyway, both look nice to me.
s***o
发帖数: 2191
22
来自主题: Programming版 - Kotlin好像很有前途
kotlin的一个卖点就是跟java的interop几乎是无缝对接,比scala要好很多
s********k
发帖数: 6180
23
来自主题: Programming版 - Kotlin好像很有前途
Flipboard, Pinterest APP基本都是用kotlin做了
m****o
发帖数: 182
24
来自主题: Programming版 - Kotlin好像很有前途
只要android上跑的是Java bytecode,看不出来对Scala和Kotlin的竞争关系会造成多
大影响,最终语言拼的还是第三方类库的支持。Scala上有akka actor,slick orm还有
play framework,再加上一堆typelevel造出的天顶星轮子,这个对于开发只有粘性的
。kotljn在语法上的某些方面有比较相对Scala比较clever的改进,但是你让人就因为
这个从了我不太相信,何况dotty出来以后任何jvm上的语言想和Scala拼feature那就是
笑话。
话说回Scala,想做android上Scala开发资源大把有,比如这个
http://scala-android.org/examples/
n*w
发帖数: 3393
25
来自主题: Programming版 - Kotlin好像很有前途
难道是Oracle的原因?
或者Google等了kotlin等语言很久了。scala可能是一般程序员不易掌握?
n*w
发帖数: 3393
26
来自主题: Programming版 - Kotlin好像很有前途
那么推kotlin不怕给jet brain做嫁衣?

Google
l**********n
发帖数: 8443
27
来自主题: Programming版 - Kotlin好像很有前途
kotlin决定搞起
w********m
发帖数: 1137
28
来自主题: Programming版 - Kotlin好像很有前途
Kotlin的伟大意义在于
人类历史上最成功的操作系统,终于有了一个看上去不错的语言。
很多痛恨java的人,比如魏老师,可以换个语言撸android了
P**H
发帖数: 1897
29
来自主题: Programming版 - Kotlin好像很有前途
这个kotlin不就是一个换皮的java?还是慢,还是要GC。整这些幺蛾子干嘛?
k****i
发帖数: 101
30
来自主题: Programming版 - Kotlin好像很有前途


:是很不错。除了刚刚宣布的 "officially supported on Android", gradle
也早已经投靠kotlin了。
d*******r
发帖数: 3299
31
来自主题: Programming版 - java ---> Kotlin --- > Native
Native Kotlin 要是有点非 GC 的内存管理就有意思了, optionally 的也行
w***g
发帖数: 5958
32
1.客户端稳定性差点问题不大。好多客户端还用js写呢。2.大部分程序员没垠神头脑缜
密和负责。混日子的多。
除此,垠神评论非常靠谱。

Kotlin
x****u
发帖数: 44466
33
王垠真是一点编程经验也没有啊
人人都通过IDE静态分析自动加到源代码里的异常声明,就应该取消掉把位置留给其他
关键字,这是历史发展大趋势啊

Kotlin
s***o
发帖数: 2191
34
这位实战经验的确不多,不了解checked exception带来的各种痛苦。
不过他对kotlin的结论倒是跟我类似,不做android开发的话,对我没有足够大的吸引力
T********i
发帖数: 2416
35
CE没啥痛苦的,IDE一键就自动生成try/catch代码了,或者自动生成throw。
学编程,基本功就是要学会守规矩。既然要守规矩,规矩多大多数情况下是好事。
用vi和emacs的android程序员们可能会痛苦。但是用vi和emacs写kotlin的程序员还在
娘胎里呢。

引力
g****t
发帖数: 31659
36
老王这篇狗屁不通。
My two cents:
对java,c#这种类型的大规模项目很多的语言。
尽可能的做静态分析,IDE自动化,一定是趋势。
程序员不要写静态分析搞不定的异常代码就可以了。
造汽车的就不要在螺丝钉上面镂空雕花了。


: 1.客户端稳定性差点问题不大。好多客户端还用js写呢。2.大部分程序员
没垠神
头脑缜

: 密和负责。混日子的多。

: 除此,垠神评论非常靠谱。

: Kotlin

p*****y
发帖数: 1049
37
很多中国程序员写的书都比他强
他如果把这些汇集写书的话,在中国定价应该不会超过30元人民币。。。
所以说,这篇文章显然不值15元钱
就说CE吧,取消它是时代潮流,现在c++ 17 编译器 gcc 7 直接彻底放弃ce了,写ce的
话根本编不过
难道c++委员会的大佬们还比不过这么个黄毛瞎逼逼的

Kotlin
g********n
发帖数: 296
38
这篇写得很好啊。 实际上有两个问题,语言该不该有这个, 实际中这个应该多用还
是少用。
第一个问题人家的回答是明确的, 我也不觉得人家的论述有问题。
大家拿第二个问题的答案区反驳人家第一个问题的结论,是不是方向不大对。
想到老王这样的人在美国混个饭都有问题,江湖凶险啊

Kotlin
g********n
发帖数: 296
39
这篇写得很好啊。 实际上有两个问题,语言该不该有这个, 实际中这个应该多用还
是少用。
第一个问题人家的回答是明确的, 我也不觉得人家的论述有问题。
大家拿第二个问题的答案区反驳人家第一个问题的结论,是不是方向不大对。
想到老王这样的人在美国混个饭都有问题,江湖凶险啊

Kotlin
g****t
发帖数: 31659
40
在美国混饭很容易。
目测老王的收入还没到江湖险恶被灭掉的那个层次。
老王的技术能力做个principal engineer下面一级足够了。如果有较长时间的连续性的
项目经验很快就可以的principal .
在美国这完全是可以做到的。
但是老王这多少年的折腾,我觉得他的行为表明,他的目的
就是要回他妈身边,去弥补过去的问题。早看医生是正道。不然什么环境他都无法得到
他要的东西。


: 这篇写得很好啊。 实际上有两个问题,语言该不该有这个, 实际中这
个应该
多用还

: 是少用。

: 第一个问题人家的回答是明确的, 我也不觉得人家的论述有问题。

: 大家拿第二个问题的答案区反驳人家第一个问题的结论,是不是方向不大
对。

: 想到老王这样的人在美国混个饭都有问题,江湖凶险啊

: Kotlin

x***4
发帖数: 1815
41
vertx 3.5出来了。谁讲讲kotlin coroutine?
x***4
发帖数: 1815
42
vertx 3.5出来了。谁讲讲kotlin coroutine?
c******n
发帖数: 16666
43
kotlin折腾legacy code base
z****e
发帖数: 54598
44
来自主题: Programming版 - coroutine comes to Java - Project Loom

经常
停止这种无意义的blablabla吧?
我们上点能够测量的
我就这么说vert.x+java性能可以超过go,vert.x+kotlin应该也行
但是会略弱于vert.x+java,但是可读性会超过vert.x+java(现阶段)
其次vert.x&go不管在什么时候,都可以吊打其他任何一个同步api的系统
用异步或者协程肯定比同步快,快很多,尤其是在io bound的时候
再来,我们可以保证,用vert.x,可以把用户线程控制在很少量的几个上
具体是cpu available cores * 2
比如1core就是2个线程就够了
再来,在线程数有限的前提下,coroutine要做的事很少,就是suspend&resume
我相信go的coroutine要做的更多
木有错,所以go很有可能做得不好,所以性能比不过vert.x
说这些,都需要证据,不要没事blablabla,证据就在这里
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=json
我个人认为啊,vert.x和异步,再加上coro... 阅读全帖
z****e
发帖数: 54598
45
来自主题: Programming版 - coroutine comes to Java - Project Loom

vert.x过去两年大发展啊,早已今非昔比了
这两年错过vert.x的是一个巨大的损失,不是我说
准备技术输出了,然后噱头就是
比spring mvc快几十倍
生态比go好几十倍
市场买不买这个账,不知道,管他呢,反正就是宣传
至于kotlin对vert.x的促进作用,看上面讲的coroutine部分
这个中国人贡献的代码已经merge进官方库了
马上就release了,就能用了
3.5的新增功能包括
kotlin的coroutine原生支持
rxjava 2.0的升级
jdbc client的callback的简化
强烈建议马上升级
ceylon贡献给了eclipse之后,也会加入coroutine
java这个还需要时间
现在项目中,java, kotlin, groovy都有,因为idea社区版加入了scala的滋持
所以准备上scala了,至于js本来就有,但是gradle里面一般都放在resources目录下
最近搞了下ruby,感觉挺好玩的,拿ruby和另外一个中国人写的脚本到时候来做演示
展示一下这个随便选一个脚本就能用来开发项目是怎样一番光景
太有趣了
vert.x最... 阅读全帖
z****e
发帖数: 54598
46
来自主题: Programming版 - coroutine comes to Java - Project Loom
尝试着回答一下这个问题
1)做不到比os native的更好,但是问题在于,有些操作系统根本就没有cooperative
sheduling,比如linux,如果有的话,直接做一层包装就好了,但是没有的话,就只能
让语言来做了
2)不靠机器码,但是靠字节码,基本上就差不多了,光靠当前java的api,是不够的,
需要加多一个context参数,参考kotlin的coroutine实现,或者是通过java agent_织
入_一些context代码,这就是quasar的实现,这也是loom名称的由来
3)强在哪里呢
嗯,这个说来话长,说说我的理解
wdong有一篇回帖,解释了os层面cooperative scheduling和preemptive scheduling的
区别,有空自己去找,但是我觉得他说得复杂了,当然也因为后来用户层面框架的发展
,比如actor model有关系,看看我能不能解释清楚,这一块涉及的东西太多,os&jvm
和vert.x/actor model乃至开发者自身,都有需要配合的部分,任何一个部分不能掉链
子,所以解释起来不容易
先说os&jvm层面,这个是... 阅读全帖
z****e
发帖数: 54598
47
来自主题: Programming版 - coroutine comes to Java - Project Loom

kotlin的coroutine在3.5中会加入
这个我可以跟你保证
如果没有你来找我,我给你多少伪币都行
那个pr已经merged
viet还会写一个blog介绍具体怎么使用
其实你自己加都无非那么一回事
关键的类是那个中国人写的coroutine dispatcher
主要是让coroutine run在vertx thread上就行
因为kotlin官方coroutine api支持的那几个fork&join, single thread啊这些
就少一个eventloop,用context.run on context就可以搞定了
顺便说一下,vert.x的kotlin那个主要贡献者,就是jetbrains的人
kotlin这个语言的支持,那个毛子贡献了三年
z****e
发帖数: 54598
48
来自主题: Programming版 - coroutine comes to Java - Project Loom
看了下,文档已经写得差不多了,应该这两天就会release
github.com/vert-x3/vertx-lang-kotlin/blob/master/vertx-lang-kotlin-
coroutines/src/main/asciidoc/kotlin/index.adoc
z****e
发帖数: 54598
49

我们先找一个共识
就是在一个core上做
很容易,因为没有lock
对吧?这个是所有人都认可的
然后在这个基础之上,我们有两条路可以走
一种是直接上coroutine,要求coroutine解决多核环境下调度的问题
这就是go走的这条路,我相信这条路不好走
也需要“牛得不得了的人”才能搞定,很有可能
另外一条路是这样,你先放下这个问题,我们继续往前走
看看有没有其他的路,找啊找
诶,突然发现,有一条路叫做actor model
可以通过eventloop这种方式,把原来一大票线程给降下来
为什么呢?原理很简单,原先io的时候,同步api无论如何
要占用一个线程,给我等着
异步api的好处就是可以马上释放调用线程
这样我们可以复用同一个线程,然后对于我们常见的场景
也就是那些大量crud的业务场景
基本上都是io bound的场景,所以可以通过少量线程就能host住大量的请求
比如原来用tomcat,要几千个线程的线程池
现在只需要20多个就行了,甚至用1core 1g的机器,也就是2个eventloop,记住这个关
键字
以后你会经常遇到,spring都开始eventloop,spr... 阅读全帖
n******7
发帖数: 12463
50
来自主题: Programming版 - Java8的FP真的真的很难用
问题是完整的fp往往没有必要吧
这两天看了一下java 8的stream,又看了眼kotlin
感觉fp的玩意,取其精华就好了,拘泥于正宗fp似乎得不偿失
这点kotlin的哲学我很喜欢
1 2 3 4 下页 末页 (共4页)