g****t 发帖数: 31659 | 1 Imoressive !
这个和Swift很像,swift语法很舒服。 |
|
N*****m 发帖数: 42603 | 2 jetbrains在推。不过,不着急,看看有什么killer app再说。 |
|
c******n 发帖数: 16666 | 3 之前一直没机会上
去年年底和今年年初spring彻底支持了
这次google又支持了 感觉差不多了
昨天晚上看了一票hn的讨论
准备直接上了试试 现在我现成java里面插进去 用用看。。。
有点当年强行上typescript的感觉 |
|
c******n 发帖数: 16666 | 4 这玩意我觉得和ts一样 不算激进
遇到坑了 大不了换回java写
java写fp太恶心了 看看拿这个会不会好点 |
|
|
|
|
|
d******c 发帖数: 2407 | 9 可惜,这些新特性主要是兼容java语法,实现java 8的一些东西。这样未必有多大卖点。 |
|
w********m 发帖数: 1137 | 10 Android太重要了,对所有JVM的语言,是一言九鼎。
而且IntelliJ自带这一点太牛了,还有REPL。对用Java的来说是零成本。
在存JVM去Java的路上,Jebbrain逆袭成功。 |
|
d******c 发帖数: 2407 | 11 android 的确已经是killer ecosystem了,有足够多的developer,有足够理由去用它。
这个逆袭过程可能还是通过工具,google用了intellij 做android studio 作为官方
IDE,然后才有后续这个发展。
然后intellij声誉不错,大家都相信它能活很久,有足够的支持。换成groovy,就少了
这些东西。光模仿ruby on rails做grails是不行的,人家成功有人家成功的原因和机
遇,没法直接模仿。 |
|
|
g****t 发帖数: 31659 | 13 Google officially sponsored |
|
N*****m 发帖数: 42603 | 14 那只是Android支持。企业应用是指企业级的软件。 |
|
发帖数: 1 | 15 Scala虽然复杂,但运用其简单的部分足以解决大部分问题。这些语言互相的竞争在于
怎么跟java一起构建hybrid项目,scala还是走在前面的。 |
|
|
g****t 发帖数: 31659 | 17 Swift copied everything |
|
n*w 发帖数: 3393 | 18 Google 为什么没把scala成为Android正式语言,Java为什么只支持到Java6。一直不知
道为什么 |
|
r***y 发帖数: 4379 | 19 没记错的话
2006 JDK6
2011 JDK7
2010 oracle acquired SUN |
|
r***y 发帖数: 4379 | 20 应该就是这个原因吧... 两家因为api 都撕成那样... |
|
|
e*******o 发帖数: 4654 | 22 这家伙很不错啊 scala.js 他也不少贡献
看起来就是索男啊 没想到是太子 哈哈 |
|
m****o 发帖数: 182 | 23 严肃的说,是真的不? 太子就在dropbox混,起码要进flg吧,哈哈。 哥们mit毕业,写
的轮子很多,但是composibility差,不是很和我胃口。
:
:(与帖子无直接关系)参观一下scala超级发烧友李显龙的儿子的代码 |
|
m****o 发帖数: 182 | 24 利益关系吧? scala掌握好以后绝对是有粘性的,别最后给lightbend做了嫁衣,Google
被Oracle的专利官司搞得也是够了。
:Google 为什么没把scala成为Android正式语言,Java为什么只支持到Java6。一直不
知道为什么
: |
|
|
d*******r 发帖数: 3299 | 26 估计是 jet brain (目前看起来)没啥野心,
就是想耕自己 IDE 的一亩三分地的样子 |
|
S***s 发帖数: 104 | 27 android 就是killer app啊,怎么着比java 6好太多了
后端以前也推过,但是java 8出来后群众的积极性就不高了 |
|
m****o 发帖数: 182 | 28 不上java8,除开SAM type不能用,Java stream也不能用了,真得值得吗? |
|
发帖数: 1 | 29 android系统先要解决一下使用时间长后运行极慢的问题,还有满身伤痕的安全漏洞。 |
|
|
d******c 发帖数: 2407 | 31 看了一下,搞native又想跨平台,最后还是只能子集功能跨平台使用common modules,
其他的有平台特定实现。否则它还得搞个虚拟机。
IBM的SWT其实就是swing的平台特定实现,所以效果好,性能高。这东西也只有eclipse
和相关东西用了。现在eclipse搞得太臃肿,可惜了。 |
|
N*****m 发帖数: 42603 | 32 主流系统native,其他的用jvm,是个好方法
eclipse |
|
g****t 发帖数: 31659 | 33 Why IBM did not use LLVM?
eclipse |
|
d******c 发帖数: 2407 | 34 1. IBM搞swt是在eclipse之前,那是很早以前了。
2.LLVM解决不了这方面的问题。我觉得LLVM只能解决common module的问题。
你要搞平台无关,很多代码是很简单的,数学运算,控制逻辑,编译到任何平台都不是
很难的事情。用户界面才是难点,各个平台底层实现不一样,你只有两种方法:
搞虚拟机,各个平台实现虚拟机,语言层次则是完全一样的。这样你只能实现各个平台
UI方面的最大公约数,性能上也不可能最优化。Java Swing是这样。Swing始终没有真
正火起来,我觉得可能大家对UI还是要求性能高,要求界面好看,而AWT/Swing界面也
不算好看。等到sun/oracle开始搞Java FX试图用web来解决问题,更比不上人家直接
html5 / js了。
为每个主要平台实现一个底层库,然后用户开发时不接触底层细节,但不同平台的界面
会有各自风格。Qt可能是这样,我不是特别清楚。IBM SWT就是这样,所以windows和
linux下的SWT界面风格不同,性能也比Swing好不少。但你在windows下要多装个dll,
也只有eclipse和相关的东西用。
WEB... 阅读全帖 |
|
g****t 发帖数: 31659 | 35 My two cents:
如果果真要native 跨平台界面自用软件。
Lazarus free pascal是最好选择。语言好,用户接地气,开发快。社群都是生命力顽
强的屌丝工人。
: 1. IBM搞swt是在eclipse之前,那是很早以前了。
: 2.LLVM解决不了这方面的问题。我觉得LLVM只能解决common module的问
题。
: 你要搞平台无关,很多代码是很简单的,数学运算,控制逻辑,编译到任
何平台
都不是
: 很难的事情。用户界面才是难点,各个平台底层实现不一样,你只有两种
方法:
: 搞虚拟机,各个平台实现虚拟机,语言层次则是完全一样的。这样你只能
实现各
个平台
: UI方面的最大公约数,性能上也不可能最优化。Java Swing是这样。
Swing始终
没有真
: 正火起来,我觉得可能大家对UI还是要求性能高,要求界面好看,而AWT/
Swing
界面也
: 不算好看。等到sun/oracle开始搞Java FX试图用web来解决问题,更比不
上人家
直接
: html5 / js... 阅读全帖 |
|
g****t 发帖数: 31659 | 36 凡崇拜造物,而不是崇拜造物主的,都是邪教.
(1)
一类新语言是从理论出发的。
例如所谓的线性逻辑,理论家在原有的基础上加了一条公理,资源只能使用一次。
那么这套系统的输出在理论上和原有的图灵机并没有增加也没有减少。
但是是不是有可能让你的引用计数或者GC简化一些?强壮一些?
这种claim只要不是无根无据的胡编乱造,我觉得还是挺好的。rust算是这种。
像王垠那样,说一句rust解决不了内存泄漏问题,所以没有优点。
这没有意义。
(2)
另一种新语言我观察是从实际经验出发的,例如clojure,kotlin,nim。
语法多快好省,性能和表达能力的平衡比较好,
更适合一批人脑子里的计算模型,等等都算优点。
(3)
但是如果一个人脑子里没有自己的计算模型,我觉得这两种其实都不要学!!!!!!
!!
新语言因为历史狭小和范围窄,所以覆盖的corner cases不够多.
只看优点是没用的. 除了绝世天才,恐怕很难据此小众语言working experience
建立自己的practical计算
模型。
没有足够计算经验,这种情况下学小众语言等于是洗脑。python/R其实也坏脑子。
(4... 阅读全帖 |
|
|
x***4 发帖数: 1815 | 38 他这篇真是烂文。他给每个读者15块补偿浪费的时间才对。 |
|
f*******t 发帖数: 7549 | 39 "在 Java 里,至少有少数人知道应该怎么做,在 C# 里,所有人都被迫退化成最差的
Java 程序员"
说的太对了 |
|
m**a 发帖数: 445 | 40 这篇文章很典型的反映了王垠的哲学:
1. 编程是精英劳动;
2. 精英设计出来的程序要完美;
3. 编程工具要能让精英最大限度发挥潜能。
王垠没有意识到的一点是,根本没有那么多的精英。大部分的商业程序都必须靠大量的
庸才蠢材通力合作才能支撑起来。
而且,商业软件也不需要有多么完美的设计。大型项目都是靠大规模不停的测试,发现
问题了修修补补,达到要求就可以了。
对于庸才蠢材来讲,工具只要简单好用使用就好了。就比如checked exception,加个
try catch log比一条一条异常慢慢处理简单多了。严重的异常毕竟是小概率事件。 |
|
w***g 发帖数: 5958 | 41 楼上写得非常好。我刚刚就想写这个意思,写不出来。 |
|
x****u 发帖数: 44466 | 42 能一键生成,还不如默认藏起来,等你漏了catch再报警
反正现在源代码也不是用vi看 |
|
i*****9 发帖数: 3157 | 43 说白了就是写UI的程序员不够用,你不把语言特性向js靠拢就招不到足够多的廉价前端
程序员。
但是动态类型语言出来的代码质量多半是一坨屎,所以到最后大家都需要弄静态类型的
js. 仅此而已。 |
|
i*****9 发帖数: 3157 | 44 服务器端和客户端需求不一样,跑在pipeline里面的批处理过程的异常不处理,整个
pipeline重跑可能半个月时间就打水漂了。
客户端只要没写出死锁来都是重刷页面就解决的事。 |
|
g****t 发帖数: 31659 | 45 我还是认为Js主要还是v8的编译器技术引起性能的变化带动的。
你要认为写js的水平不高,那就错了。人代码写的不好,
还可以说自己Focus on解决问题和赚钱呢。
Java最开始速度很慢,benchmark造假胡扯八道的年代
可能很多人也经历过。
: 说白了就是写UI的程序员不够用,你不把语言特性向js靠拢就招不到足够
多的廉
价前端
: 程序员。
: 但是动态类型语言出来的代码质量多半是一坨屎,所以到最后大家都需要
弄静态
类型的
: js. 仅此而已。
|
|
i*****9 发帖数: 3157 | 46 不是水平不高,而是方差大。上手容易精通难。
折腾这些新的类js语法静态语言的都是高手,都是给自己招进来的小弟擦屁股擦怕了,
只能想辙在不牺牲自己少敲代码的坚持的前提下,让手下那些人少出点bug.
Java 1.4的时候性能都还是一坨屎,他唯一的好处就是只要你的算法对,程序编译通过
了,基本就不会有啥大毛病。
前后端应用对语言的需求不一样,js这种语言就适合需求变化快的地方糙快猛。用node
.js去做后端大规模开发就是找死。相应的,你用Java直接写界面,也一样没用类js语
言的出活快。 |
|
g****t 发帖数: 31659 | 47 Result oriented 还是live with principles ,
两种写程序的方法我觉得都是可以的。js大致算前者。
Java,c#大致算后者。
: 不是水平不高,而是方差大。上手容易精通难。
: 折腾这些新的类js语法静态语言的都是高手,都是给自己招进来的小弟擦
屁股擦
怕了,
: 只能想辙在不牺牲自己少敲代码的坚持的前提下,让手下那些人少出点
bug.
: Java 1.4的时候性能都还是一坨屎,他唯一的好处就是只要你的算法对,
程序编
译通过
: 了,基本就不会有啥大毛病。
: 前后端应用对语言的需求不一样,js这种语言就适合需求变化快的地方糙
快猛。
用node
: .js去做后端大规模开发就是找死。相应的,你用Java直接写界面,也一
样没用
类js语
: 言的出活快。
|
|
n*w 发帖数: 3393 | 48 他说的Union type和c的union及各个fp里常见的ADT的discriminated Union有什么不
同?
应该尽量少抛异常。返回值为一个union
type result =
| OK of value: T
| Error of errors: E list |
|
s********k 发帖数: 6180 | 49 Checked Exception肯定需要啊,异常和错误本来就不一样,比如网络突然断了这个异
常当做错误处理那到处服务都要奔溃,王大神还是活在比较理想化世界里 |
|
s********k 发帖数: 6180 | 50 right,他还是认为编程都是dennis,ken thompson, alan kay那个时候大牛时期的古
典精英程序,而不是现在满世界世俗化的商业价值体现。所以忍受不了里面work但是他
觉得ugly的东西 |
|