由买买提看人间百态

topics

全部话题 - 话题: scala
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
l**********n
发帖数: 8443
1
来自主题: Programming版 - scala最烦人的是build太不容易了
Somebody has idea on the following error:
Information:Compilation completed with 1 error and 8 warnings in 2 sec
Information:1 error
Information:8 warnings
Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.
ServerException
Error compiling sbt component 'compiler-interface-2.9.1.final-52.0'
at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$
apply$2.apply(AnalyzingCompiler.scala:145)
at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$
appl... 阅读全帖
s******n
发帖数: 48
2
来自主题: Programming版 - scala 真是一个无法无天的糟货
最近在做一个scala/play的项目,从看是学scala到现在大概6个月。说说我的感受。
觉得大家主要在纠结scala的语法,其实这个不是重点,scala本身只是一个工具。重点
是typesafe在推的play和akka,这两个东东非常强调reactive/async/nonblocking这些
并且为实现这些功能提供了很多工具和pattern。我觉得这是现在的主流java
framework欠缺的地方。当然这两个东西都有java的版本,但是我能明显的感觉的用
Java版本比用scala别扭一些,typesafe目前同时支持scala和java版本主要是出于商业
上的考虑,因为java developer的数量还是远远超过scala。他们很可能会逐渐往scala
方向倾斜,比如一些高级的功能只提供scala支持。
至于scala语言本身,有很多好的地方,因为是从java里面学到了很多lesson,在java
不好的地方做了很多改进,这些是好的地方。基本上如果你写几个月的scala,就不想
再回去写java了。当让scala也有一些矫枉过正的地方,比如有点过分追求concise
cod... 阅读全帖
c******o
发帖数: 1277
3
来自主题: Programming版 - akka/scala/jvm
用scala 有一段了,最近又自学了clojure和自己练习了一下 akka/spark
说说新的感想。
我们的新后端是Play/Scala的,本来想加akka,但是事实上最后用的很少。
是不是akka不好,没啥用呢?我以前也有这个疑问,现在觉得理解错了。
Akka是很好,绝对是killer app. 以前我觉得没用,没用到,是理解错了。
第一,我其实是在间接的用akka, scala 2.10.x的future就是以前akka的future,
scala的future已经deprecated, play本身就是build在akka上的,spark也是。
第二,其实我们确实用不到actor,actor最大得用途是distributed fault tolerance
system, 一般的async future/dataflow就足够足够了。要是需要shared data,
transaction, agent就够了。虽然actor以上两个都可以用,但是也不一定要用。
第三,其实akka很多内容,actor只是一个最general的。
有future(其实内部都是callback),... 阅读全帖
z****e
发帖数: 54598
4
来自主题: Programming版 - 我还是认为scala的程序员水平高
用scala那几个id的平均水平最高
不管是骂还是捧,只要是认真写过scala的,水平都在
那种写过hello world就自诩用过scala的不算
明显胜过其他那些,也就是scala那几个能解释清楚为什么要这么做
这些概念啥意思,也明白java到底是怎么回事
能够比较自如滴交流,其他的,很多不懂怎么回事,容易鸡同鸭讲
我说的是平均水平,用scala那几个出来说,我写过java
我信,但是如果是其他的,那未必是真的,多数是吹牛
scala好就好在,对于各种features可以自由选择
而不用换个feature就换个语言,这种做纯粹脑子进水
因为语法要背半天,看来以后要专注于扯蛋scala了
对于学习scala,我的心得是最好先把java学清楚,不要跳过java
否则你会死得很惨的,举个例子,比如case class
这里面一堆东西,比如case class有get方法
如果你工作中用过java,应该知道怎么用
其次case class是singleton,你用过spring的话,这个就不会陌生了
还有自动实现了equals&hashcode,这两个也常用
但是这两个是初学者经常出问题的... 阅读全帖
c******o
发帖数: 1277
5
来自主题: Programming版 - scala 的感悟
用了几个月scala. 说一下我的感觉
scala是一个general purpose language, 它有足够的工具解决绝大部分项目和问题。
scala不是一个all purpose language,它明显在很多领域只是可以用而已。大部分领域
有更好的语言了。
我的感觉是,scala最适用于:
1. 多并发,大规模的后端,很好的支持并发。
2. 分布式系统,高可用性,高容错,分布式实现容易。
3. 复杂逻辑后端,有很多很好的抽象方法可以选用,用的好,可以很干净。
4. 各种专业的库,是一个很好的建库的语言,当然,要求也高。
这些主要是因为:
1. FP和OO的融合使得scala有很强大的标准库支持,也很容易使人迷惑, 看看那个
play的Json library, 很强大,也很囧。
2. FP和OO的融合使得scala有很多种抽象的方法,很强大,但是也很容易被滥用,太多
pattern可以用来干同一件事。
3. 静态类型和type inference使得scala很适合大型,复杂的系统,高效的系统,也能
够写出比较简洁和干净的代码,要是不注意,容易影响可读性。
4. 调用jav... 阅读全帖
p*****2
发帖数: 21240
6
来自主题: Programming版 - 谈谈为什么上scala
一年之前被考虑过scala,当时很容易决定不上
1. 感觉太复杂,没有信心能handle
2. 开发速度不敢保证
3. node用了一段时间,感觉很好用,开发效率很高
4. 学了一下Clojure,发觉比scala简单很多,上scala不如上clojure
这样我们的storm上了clojure,web server 和 backend上了node。我们的service可以
handle 5M RPM,server response time 5 ms.
有了一年多的coffee/JS和clojure的经验,再回过头来看scala已经觉得比较容易了。
另外Spark很明显是未来的趋势也是使用scala的一大直接推动力。
我们的数据量越来越多,算法越来越复杂,node这个情况已经不太适合做后台了,因此
我这段时间主要研究寻找另外一种支持高并发的语言。选Scala有一下几个原因
1. 当然是spark了, spark streaming 可以替代storm,因此scala一个语言就可以搞
定了
2. go的语言设计实在是不符合我们的胃口,虽然并发做的很吸引人
3. haskell的并发看样... 阅读全帖
c******o
发帖数: 1277
7
来自主题: Programming版 - 对scala的误解
Scala不是脚本,Scala的最大的优势或者特点是它在JVM上,而且很多特性在JVM语言里
独一份。
Scala试图融合OO和FP,Scala不是什么相对low level language(C/C++/golang),它
一开始就是以JVM为基础的。
在发展的路途上,现在也明显在向java 的简易(低智?)化靠拢。
和golang不是最直接的竞争, 什么时候google把golang放在java前面啦再说scala吧。
Scala的特点优势是:
在JVM上,很容易用JVM的libs(倒过来不容易)。
静态,而且有丰富的FP工具。
这两条是Scala流行的90%的原因。golang都搭不上边。没啥比较的。
这也是为什么 akka/play/spark用Scala的原因。
Matei Zaharia, Spark的作者解释为什么用了Scala:
Quite a few people ask this question and the answer is pretty simple. When
we started Spark, we had two goals — we wanted ... 阅读全帖
c******o
发帖数: 1277
8
来自主题: Programming版 - FP in Scala掉下来了吧
仔细看看不是五星的评论和回复,我觉得你做啥都想找速成,那还是直接用JS吧,直到
不能用为止:
======================================
==============
Terrible introductory book! If you already know functional programming *very
* well then this book is a good Scala introduction. If you don't know
functional programming or Scala, then this book is useless.
The author assumes that a tiny amount of explanation is sufficient to
achieve full mastery by the reader. Unless you understand every paragraph
110% the next paragraph (and chapter) are meanin... 阅读全帖
p*****2
发帖数: 21240
9
来自主题: JobHunting版 - 对scala很失望
写过Scala程序的人可能都有一种感觉,编译scala源代码的速度比较慢。是的,
Scala编译源代码的速度确实较慢。
Martin Odersky对此作出了解释:http://stackoverflow.com/questions/3606591/why-does-intellij-idea-compile-scala-so-slowly/3612212#3612212
主要有四点:
类型推断是耗时的操作,尤其需要搜索隐式转换(Type inference is costly, in
particular if it involves implicit search.)
Scalac需要做两次类型检查,第一次是针对scala类型规则,第二次是针对Java类型规
则(Scalac has to do type checking twice; once according to Scala's rules
and a second time after erasure according to Java's rules.)
从Scala到Java需要大约15次转换(Besides ... 阅读全帖
e***i
发帖数: 231
10
来自主题: Programming版 - scala为什么用两个空格?
呵呵
scala> val arr = 5 to 12
arr: scala.collection.immutable.Range.Inclusive = Range(5, 6, 7, 8, 9, 10,
11, 12)
scala> arr.take(2).drop(2)
res0: scala.collection.immutable.Range = Range()
scala> arr.slice(2,5)
res1: scala.collection.immutable.IndexedSeq[Int] = Vector(7, 8, 9)
scala> val b = Array(1,2,3,4,5,6,7)
b: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7)
scala> b.take(2).drop(2)
res2: Array[Int] = Array()
scala> b.slice(2,5)
res3: Array[Int] = Array(3, 4, 5)
n*w
发帖数: 3393
11
来自主题: Programming版 - 准备开始练scala
已经看了一些。准备开练。在scala-lang网站上有下面三个下载选项。本来想下载3,
用ide,结果发现其不支持最新版的scala?
1
Download Scala 2.12.1 binaries for your system (All downloads).
~ or ~
2
Get started with sbt
sbt is a popular build tool for Scala projects.
With sbt, you don't need to download and install Scala.
Just set scalaVersion in your build definition,
and sbt will retrieve that version.
~ or ~
3
Install one of the Scala IDEs
The Scala IDE (based on Eclipse), IntelliJ IDEA with the Scala plugin,
or NetBeans IDE with the Scala plugin.
z****e
发帖数: 54598
12
来自主题: Statistics版 - scala的主场在数学应用上 (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: zhaoce (米高蜥蜴), 信区: Programming
标 题: scala的主场在数学应用上
发信站: BBS 未名空间站 (Mon Sep 8 02:17:07 2014, 美东)
尤其是ml这些东东上面
scala在并发这种低层次的需求上并无太大优势
相反劣势不少,各种语法糖容易制造bugs
干活时候制造的bugs比解决的多
如果不是学术圈内理论的输出比如nlp libs这种
不应该用scala
换言之,如果理论不过关,对nlp这些怎么做木有概念的话
用scala属于没事找事,大炮轰蚊子
说用了scala就能怎样怎样,乘早拉倒,没有的事
scala要跟数学理论结合起来才能发挥威力
搞统计的应该好好看看scala,包括生物,统计,数学这些行当
去工业界弄funding也更容易,不要搞hpc,hpc只对学术圈自身有意义
工业界不怎么用hpc,大街小巷都是分布式应用
scala就比较像样,造轮子,然后开源,然后release,pkg下下来就能用
不需要重新编译,这对于分布式来说至为关键
scala可以做到跟ja... 阅读全帖
z****e
发帖数: 54598
13
来自主题: DataSciences版 - scala的主场在数学应用上 (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: zhaoce (米高蜥蜴), 信区: Programming
标 题: scala的主场在数学应用上
发信站: BBS 未名空间站 (Mon Sep 8 02:17:07 2014, 美东)
尤其是ml这些东东上面
scala在并发这种低层次的需求上并无太大优势
相反劣势不少,各种语法糖容易制造bugs
干活时候制造的bugs比解决的多
如果不是学术圈内理论的输出比如nlp libs这种
不应该用scala
换言之,如果理论不过关,对nlp这些怎么做木有概念的话
用scala属于没事找事,大炮轰蚊子
说用了scala就能怎样怎样,乘早拉倒,没有的事
scala要跟数学理论结合起来才能发挥威力
搞统计的应该好好看看scala,包括生物,统计,数学这些行当
去工业界弄funding也更容易,不要搞hpc,hpc只对学术圈自身有意义
工业界不怎么用hpc,大街小巷都是分布式应用
scala就比较像样,造轮子,然后开源,然后release,pkg下下来就能用
不需要重新编译,这对于分布式来说至为关键
scala可以做到跟ja... 阅读全帖
z****e
发帖数: 54598
14
来自主题: Programming版 - scala应该努力成为学术圈内的工具
只是在工作中调用一些类库的话
不需要弄scala,直接java/python就行了
代码简单容易读懂,便于维护
spark的python还可以用numpy
但是如果你是phd,给prof打工
或者本身就是搞ml, stats这些的叫兽
那你倒是应该好好看看scala
ml的spark,r的renjin都是用scala来写
而且现在做得颇为有声有色
以前jvm一直游离于学术界之外
导致很多学术圈内的工具,输出到工业界有距离
需要apache等组织来做project,麻烦,也慢
python倒是可以直接调,但是各种狗血事情也不少
现在叫兽们可以直接使唤下面的phd用scala干活
然后直接输出成类库,工业界就可以用了
拉近工业界和学术圈之间的距离
用scala蛮好,要用这个首先要先理论过硬
scala纯粹变成一个工具才行,否则看scala代码去学习ml那些理论
迟早疯掉
scala将会是jvm上的fortran
z****e
发帖数: 54598
15
来自主题: Programming版 - scala的主场在数学应用上
尤其是ml这些东东上面
scala在并发这种低层次的需求上并无太大优势
相反劣势不少,各种语法糖容易制造bugs
干活时候制造的bugs比解决的多
如果不是学术圈内理论的输出比如nlp libs这种
不应该用scala
换言之,如果理论不过关,对nlp这些怎么做木有概念的话
用scala属于没事找事,大炮轰蚊子
说用了scala就能怎样怎样,乘早拉倒,没有的事
scala要跟数学理论结合起来才能发挥威力
搞统计的应该好好看看scala,包括生物,统计,数学这些行当
去工业界弄funding也更容易,不要搞hpc,hpc只对学术圈自身有意义
工业界不怎么用hpc,大街小巷都是分布式应用
scala就比较像样,造轮子,然后开源,然后release,pkg下下来就能用
不需要重新编译,这对于分布式来说至为关键
scala可以做到跟java现有系统无缝集成,这是非常重要的一个卖点
z****e
发帖数: 54598
16
【 以下文字转载自 Programming 讨论区 】
发信人: zhaoce (米高蜥蜴), 信区: Programming
标 题: scala应该努力成为学术圈内的工具
发信站: BBS 未名空间站 (Thu Aug 28 10:28:03 2014, 美东)
只是在工作中调用一些类库的话
不需要弄scala,直接java/python就行了
代码简单容易读懂,便于维护
spark的python还可以用numpy
但是如果你是phd,给prof打工
或者本身就是搞ml, stats这些的叫兽
那你倒是应该好好看看scala
ml的spark,r的renjin都是用scala来写
而且现在做得颇为有声有色
以前jvm一直游离于学术界之外
导致很多学术圈内的工具,输出到工业界有距离
需要apache等组织来做project,麻烦,也慢
python倒是可以直接调,但是各种狗血事情也不少
现在叫兽们可以直接使唤下面的phd用scala干活
然后直接输出成类库,工业界就可以用了
拉近工业界和学术圈之间的距离
用scala蛮好,要用这个首先要先理论过硬
scala纯粹变成一个工具才行,否... 阅读全帖
j********x
发帖数: 2330
17
这跟你本人scala水平毫无关系,就事论事。
换语言,而且是ide自动转换的做法有几大风险:
1. 长期维护,scala的ecosystem怎么样?业界的支持长期看如何?相比java,失去了
多少保障?
2. 开发人员的招聘,如果将来team要招人,scala的人好招还是java的好招?
3. 现有开发人员ramp up的成本,如果让你一个人重新pick,你要花多久熟悉新的语言?
直观上短期的风险还有:
1. 自动转换的code是否会有bug?如何测试并且证明没有bug?这个系统跑了这么多年
,完全是battle tested,如何保证自动转换之后行为完全一致?
从管理层角度出发:
1. 老板未经技术讨论,直接轻率改code,这种做法是不是公司提倡的技术风格?如果
不是,这种做法会不会是一个错误的榜样?
从技术细节上讲:
1. scala比java好在哪里?能不能抵消上面提到的具体和潜在问题?
2. scala和java哪个才是整个公司未来的主流?如果scala预期并不会获得比java更高
的地位,为什么要冒风险?
3. scala的code是否会影响源码共享?即便保持了rpc接口的一... 阅读全帖
z****e
发帖数: 54598
18
来自主题: Programming版 - 上scala有一个直接的好处
用java最大的好处就在于,其他所有东西都是optional
不用也没啥大不了的,顺便,scala也有ide啊
scala是static type,ide可以帮忙的
你写scala不用ide也是纯粹自找麻烦
我写scala第一步就是去下ide
否则一个sbt就恶心死了
其他的git其实也挺恶心的,plugin多好用
scala ide在这里,快去下
http://scala-ide.org/
scala的ide是基于eclipse的,所以java的eclipse的各种技巧都通用
c******o
发帖数: 1277
19
来自主题: Programming版 - scala 真是一个无法无天的糟货

,
not
,
You are deadly wrong, what YOU think C++/scala bad for large project is fine
, but you have to give example/proof...
Look, C++ have large project like: Google file system, Google Chromium,
Firefox, MySQL, Photoshop, Illustrator etc.
Scala has a very big deployment in Twitter that handles peak of 143,199
Tweets per second.
https://blog.twitter.com/2013/new-tweets-per-second-record-and-how
services in twitter in scala:
Kestrel: queueing
Flock: Social Graph
Hawkwind: People Search
HorseBi... 阅读全帖
s*****r
发帖数: 43070
20
来自主题: Programming版 - Scala会不会把Java搞成第二个C++
Java有的,Scala也有,而且功能更好用
Scala有的,Java不一定有,虽然现在在catch up
Scala前后台都能做,大数据也能做,完全是要一统江湖的局面
Java前台是没戏了,后台靠Spring和Restful撑着,大数据要依靠笨重的hadoop
目前看来,Scala在Dependency Injection和支持Web service方面做得还不行,Java在
后台还有些领先优势。一旦Scala把这些搞好了,Java的地位危险
Java的coder要学学Scala,以免过几年没饭吃
h****1
发帖数: 9
21
来自主题: Programming版 - scala开发效率确实奇高
居然会有人把scala说成糙快猛.真心是在用scala么?
scala = oop + fp. 最后都是编译成java bytecode 的
如果scala糙快猛 那java(尤其java8)也同样糙快猛
讨论oop 和 fp 哪个更好没有任何意义 人家scala就是把两者都结合了 你可以封装
在o级别也可以封装在f级别 取决与你的不确定性是"什么东西"还是"什么行为"
这两个层面的封装即使oop的programmer也每天碰到. Google 的Predicate, 甚至java
core 里面自带的 ActionListener, Runnable, Callable 都带有浓重的functional的
味道
说白了scala就是把你封装的function 再套一层class/interface的壳子扔给jvm
p*****2
发帖数: 21240
22
来自主题: Programming版 - Scala又被鄙视了
Scala's disjoint part has polymorphic sub-typing and implicit dictionaries.
Haskell's disjoint part has first-class type classes, type-level functions,
full type inference, and many other neat little tweaks. The intersection is
a higher-kinded type system with first-class functions.
Scala's part of the intersection, for a list of reasons that include JVM
type erasure, issues combining higher-kinded types with polymorphic sub-
typing, and certain implementation choices, is partially "broken" in t... 阅读全帖
p*****2
发帖数: 21240
23
来自主题: Programming版 - 我觉得在scala上浪费时间没意思
Scala's disjoint part has polymorphic sub-typing and implicit dictionaries.
Haskell's disjoint part has first-class type classes, type-level functions,
full type inference, and many other neat little tweaks. The intersection is
a higher-kinded type system with first-class functions.
Scala's part of the intersection, for a list of reasons that include JVM
type erasure, issues combining higher-kinded types with polymorphic sub-
typing, and certain implementation choices, is partially "broken" in t... 阅读全帖
t****a
发帖数: 1212
24
来自主题: JobHunting版 - 对scala很失望
二爷,你说scala性能连python都比不过我是绝对不相信的。scala性能应该至少是
python/ruby之类的10倍到20倍以上。
一门语言学会怎么高效的写还是蛮难的,像scala这样内容丰富的语言就更不容易啊,
我想一不小心就掉坑里了。
看看这里把:
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=
scala是目前job增长趋势最快的语言,业界的startup比如twitter早就把他们的系统从
ruby转成了scala。说它性能跟ruby差不多,这结论应该是有问题的。
p*****2
发帖数: 21240
25
来自主题: JobHunting版 - 今天开始感觉到scala的爽了

Ruby非常棒,感觉比Scala编程更爽。但是有两个问题
1. 性能确实差,比赛不敢用
2. 感觉工作主要在front end。当然跟性能有关了,而scala的工作应该主要在backend
。我个人更喜欢backend。
当然有ruby的基础学scala会比较容易。感觉Ruby->scala, 比java->scala要容易,大
部分概念都类似。
N*D
发帖数: 3641
26
来自主题: Java版 - anyone using Scala ?
scala不是wrap java,it跟java是parallel的。比如scala里面没有primary type,即
使x = y + z也是三个objects。但compile成byte code后,和java的是一摸一样的。不
存在wrap一说。JVM类似提供了一个ISA,scala实在没必要转成java first,当然it可
能会使用一些java compiled bytecode的template,而且只会使用安全高效的。比如it
取消了static,加入了singleton的object,他compile出来的bytecode肯定是安全和高
度优化的,会比大多数的developer写出来的强。
俺也是在学习过程中,一些拙见,呵呵。

compiler效率在scala中不是priority。我记得看到一篇文章说
作者想把直接compile成bytecode改成compile成java source,
然后用javac。其实scala是wrap java data types,会慢一些,
但因为是statically typed,还是比jython/jruby之类的快很多。
k***r
发帖数: 4260
27
来自主题: Java版 - anyone using Scala ?
To be honest, and I'm sure this has something to do with
the fact that I'm not an expert of programming languages,
I haven't found a great deal of differences between scala
and Java, or between scala and Python, given that the syntax
of Scala is the oddest of the three.
Of course they are all different, but not in big ways to me,
especially between scala and Java, both of which are statically
typed. Scala's advantages such as type inference, and other
form of simplifications (omission of bracket
c*********w
发帖数: 65
28
来自主题: Programming版 - scala 真是一个无法无天的糟货
Rod Johnson 在最近的Scala Days上提出了一些建设性的批评批评:
http://parleys.com/play/51c1ffe7e4b0d38b54f46231
我想他还是看到Scala的潜力才会去加入 Typesafe的.
作为一IT民工,多会点东西应该没坏处,如果有时间和兴趣。就连好虫的公司也似乎对
Scala有点兴趣: http://www.slideshare.net/lobster1234/scala-at-netflix-26048254
我能理解反感Scala的,几个月我才从 monad 里绕出来。Tool support 有待提高,等
等。
m******t
发帖数: 635
29
来自主题: Programming版 - scala 的感悟
开玩笑的,我是针对multi-paradigm这条来的, C++可以Procedural, Object-based,
Object-oriented, generic programming (STL), Scala这是FP + OOP。当然C++和
Scala都是很复杂的语言。
F#好像是最类似于Scala的了: F#是ML for .Net和 Scala是ML for JVM (再加点
Haskell)。几年前折腾过F#,很容易四不像。如果没有风险投资在后面推的话,Scala
估计就是F#的路子,过一两年就散了。
n*w
发帖数: 3393
30
来自主题: Programming版 - Scala higher-kind type和jvm弱type system
这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了
不少贴。结果来了几个大坑。为了避嫌推迟到现在。
一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的
语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加
,因为要大改clr。
但jvm连first order都不支持。java的generic编译后要做type erasure。只是个
compiler trick。觉得scala的higher kind type要么同样也只是compile-time
checking,要么在jvm上加了东西?
找到这一段“Scala runs on the JVM, which implements a very poor type system
on its own (much poorer than the CLR). It doesn’t support type parameters
of any kind, let alone type const... 阅读全帖
n*w
发帖数: 3393
31
来自主题: Programming版 - Scala higher-kind type和jvm弱type system
这个贴本来几天前就要发,当时看到有几个真正对程序语言principal有了解的人发了
不少贴。结果来了几个大坑。为了避嫌推迟到现在。
一直都scala的higher-kind type很好奇。scala是我知道两个支持higher kind type的
语言之一。另一个是haskell。有人要求microsoft在f#中加入,ms给出的答复是不会加
,因为要大改clr。
但jvm连first order都不支持。java的generic编译后要做type erasure。只是个
compiler trick。觉得scala的higher kind type要么同样也只是compile-time
checking,要么在jvm上加了东西?
找到这一段“Scala runs on the JVM, which implements a very poor type system
on its own (much poorer than the CLR). It doesn’t support type parameters
of any kind, let alone type const... 阅读全帖
p*****2
发帖数: 21240
32
来自主题: Programming版 - 今天跟公司confirm了,没有人用Scala
Clojure的项目反而不少。这个其实很make sense。因为Twitter几年前选择Scala的时
候,Clojure才出现没多久还太年轻。可是现在发展的已经比较成熟了,Storm也证明
Clojure是可以作为主力语言实现大型系统的。所以现在再选择的话如果无脑上Scala就
显得太盲目了。
我个人学Scala也有一段时间了,也觉得学到了不少东西,下个星期的课程我也准备参
加,不过当我要决定上不上Scala做项目的时候,我非常的犹豫,正是因为我学了一段
时间Scala所以也知道它的问题所在。为了比较Clojure,我花时间把Clojure学了一下
,发现总的来说上Clojure是更明智的选择,更不要说最后要上Storm了。今天发现,原
来公司里的人也基本跟我同样的选择。
p*****2
发帖数: 21240
33
来自主题: Programming版 - 今天跟公司confirm了,没有人用Scala
Clojure的项目反而不少。这个其实很make sense。因为Twitter几年前选择Scala的时
候,Clojure才出现没多久还太年轻。可是现在发展的已经比较成熟了,Storm也证明
Clojure是可以作为主力语言实现大型系统的。所以现在再选择的话如果无脑上Scala就
显得太盲目了。
我个人学Scala也有一段时间了,也觉得学到了不少东西,下个星期的课程我也准备参
加,不过当我要决定上不上Scala做项目的时候,我非常的犹豫,正是因为我学了一段
时间Scala所以也知道它的问题所在。为了比较Clojure,我花时间把Clojure学了一下
,发现总的来说上Clojure是更明智的选择,更不要说最后要上Storm了。今天发现,原
来公司里的人也基本跟我同样的选择。
g*****g
发帖数: 34805
34
来自主题: Programming版 - Scala 1-star, would not program again
I don't know man. The criticism was like C++. But at that time, C++ had no
competition. It was the only boy in town, SmallTalk never really went
anywhere.
What's Scala's strength today? Akka is a prime example. Concurrency
framework, FP's sweet spot. But Clojure does that too, and easily a more
pure FP language. Of course Scala is static and it should perform better.
But that's probably not the most important thing for a concurrency framework
.
Beyond that scope, Scala, also a static language, i... 阅读全帖
z****e
发帖数: 54598
35
来自主题: Programming版 - 看了眼scala,觉得很杂
我这边prof们也开始scala了
同时发现,公司中试用scala的几乎全告失败
去年换scala的很多公司全部换回去了,甚至还有公司用groovy都不用scala
但是在学术圈内有越来越流行的趋势

Scala
c******o
发帖数: 1277
36
来自主题: Programming版 - Share slides for scala, FP, monad etc.
很多人在版上complain scala, FP, monad...
我把我在公司brownbag的关于这些的slides 分享 一下,没有公司的information/code
,完全是我自己写的。
不过只有slides可能不好懂。自己copy paste, run一下code,探索一下吧。
http://www.slideshare.net/hangzhao54/fp-in-scala-part-1
http://www.slideshare.net/hangzhao54/fp-in-scala-part-2
http://www.slideshare.net/hangzhao54/fp-in-scala-with-adts
http://www.slideshare.net/hangzhao54/fp-in-scala-with-adts-part
c******o
发帖数: 1277
37
来自主题: Programming版 - 说scala好的进来看看
scala可以有和多种做法。。
本身FP不推荐throw exception.
其一, 从来都不throw exception, 用 Try来wrap, http://www.scala-lang.org/api/current/#scala.util.Try
其二, 用 exception util 里的工具来处理 exception, http://www.scala-lang.org/api/current/index.html#scala.util.control.Exception$
其三, 用try/catch/finally来像java一样处理。
你本身不应该记有啥 exception, 只要记函数回复什么正常/不正常之就可以了。要想
debug,log exception
thorw exception本身就不好(打破了function的composability)
z****e
发帖数: 54598
38
具体到细节,没什么东西是很困难的
就像英语一样,每一个单词你查字典都懂
这些东西说白了就是时间放进去,自然就会了
不需要iq,包括vim也是如此
这些都不是数学,都是工具,工具的使用都无非是熟能生巧的事情而已
但是不可否认的是,工具自身是会更新换代的
后诞生的工具显然会比先诞生的工具要管用些
否认社会进步是无意义的,不管你愿意不愿意
用vi的人正在逐步减少,就像wdong说的perl一样
以前还有人教perl,现在perl已经从大学课堂里面拿掉了
为什么scala现在流行?因为scala其实是better java
就跟当年java其实是better c是一个道理,java不会去解决c已经解决的问题
而是解决c解决起来会造成麻烦痛苦或者失败的问题
scala以后也不会解决java已经解决的问题,而是关注在java还未解决的问题上
比如r和sql的impl这些
人们尝试着从前人的经验上做总结,然后继续发展下去
wdong从一开始抗拒scala到现在逐步接受scala也不过一个月时间
虽然这个过程很痛苦,但是它还是进步了
我相信它从不用ide到用ide也用不了多久
ide当然比editor... 阅读全帖
z****e
发帖数: 54598
39
来自主题: Programming版 - 上scala有一个直接的好处
你看人家ide上面第一个feature就是
Support for Mixed Scala/Java Projects
看到没有?用scala你想不碰java?
怎么搞?c++跟scala怎么混搭?除了web service以外
spark连像样的接口都没有,我说你不是不碰scala嘛?
信誓旦旦说坚决不搞scala的不就是上个月的事嘛?
我还劝你半天
t********e
发帖数: 1169
40
来自主题: Programming版 - L家不再用scala了。。
We are not getting rid of Scala at LinkedIn. We've recently made the
decision to minimize our dependence on Scala in our next generation front
end infrastructure which is rolling out this year. We've also made a
decision to focus our development infrastructure efforts on Java 8,
Javascript, Objective-C, Swift, C++, and Python given the nature of things
that we are building right now and will be building in the foreseeable
future. That said, we have a ton of Scala code running in production, a... 阅读全帖
p*****2
发帖数: 21240
41
来自主题: Programming版 - 放弃scala是英明的决策
l的牛人都走了 新进的哪里玩的转scala
整个市场都招不到scala程序员
当然很多scala大神确实自私 只顾自己玩 不讲究工程 我们需要抵制这种现象
一句话l放弃scala 不代表scala不好
B********r
发帖数: 397
42
来自主题: Programming版 - scala看来也就这样了
没错不管什么语言,门槛主要还是那些理论比如big data
正是因为语言好学,而scala 是个更加高效方便强大的语言,更应该用来做复杂的逻辑
所有看过effective java的人的都知道上面大部分的优化,以及其他许多design
pattern,都是为了掩盖java某些方面的缺陷, 而scala 语言本身就解决了很多
为什么spark用scala?首先对于逻辑的表达简洁明了,其次好维护(相对于dynamic
languages ,而且spark作者不傻逼)
不过java 8也出了不少新东西越来越像scala,也许scala会被新java吸收消失,不过对
于不肯接受新事物的人来说总是自己懂的那点破玩意儿是最好的
o*****l
发帖数: 539
43
scala> val a= (List(10, 20), List(3, 4, 5)).zipped
a: scala.runtime.Tuple2Zipped[Int,List[Int],Int,List[Int]] = scala.runtime.
Tuple2Zipped@ab06043
拿位大侠能帮忙解释以下scala.runtime.Tuple2Zipped?
[Int,List[Int],Int,List[Int]] 到底是什么东东?
谢谢!
o*****l
发帖数: 539
44
那个是 type parameter为什么是 [Int,List[Int],Int,List[Int]]?
从后面那个map涵数来看, type parameter 似乎是[List(int, int)]?
scala> val a= (List(10, 20), List(3, 4, 5)).zipped
a: scala.runtime.Tuple2Zipped[Int,List[Int],Int,List[Int]] = scala.runtime.
Tuple2Zipped@ab06043
scala> a.map({case (a,b) => println(a*b)})
30
80
res0: List[Unit] = List((), ())
H****S
发帖数: 1359
45
来自主题: Programming版 - 再挖一个语言坑:scala流年不顺
twitter最近雇佣了eugene burmako,并支持他继续Scala meta project,后者刚从
EPFL毕业,是Scala macros的主要作者。Scala 2.12以后backwards compatibility不
再是问题,同时新的dotty compiler会对编译速度带来明显提升,java lambda和Scala
function也将可以fully interoperate。我真的不知道这个作者是怎么得出scala快不
行的结论。
d****n
发帖数: 12461
46
来自主题: Programming版 - scala vs clojure ?
如果去纯scala的公司,例如confluent或者databricks,其实是很开心的。
但是如果你周围都是学java出身的程序员,觉得scala可以和java混着用,用scala其实
是劣势。搞不好比纯java还糟糕。写得烂的scala程序不仅效率低下而且难读无比,找
bug也比java花的时间多。
所以除非你做到architect或者manager能做到帮程序员做工具选择的地步,否则要么不
要碰scala,要么做开源项目的ic算了。
s****n
发帖数: 245
47
丫用IntelliJ直接把Java转成了Scala,现在交给我Review。
老板整天吹捧Scala、贬低Java,说Java is a very bad language等等。。。
我Java有8年经验,对Scala则是初学阶段
大家有没有Scala转Java后造成问题的案例? 准备顽抗到底。
r********k
发帖数: 258
48
Look at scala introduction before. The scala engine will run java code
without modification. Are you sure your manager did convert java code into
scala since scala will use java libraries directly and there is no need to
do the conversion.
N*D
发帖数: 3641
49
来自主题: Java版 - anyone using Scala ?
未必"the more complication, the less efficient"吧。这个是syntax复杂在front e
nd,compile之后还是byte code在JVM上执行。不好说这个scala的compiler好还是java
的compiler好。而且写这个的人是java compiler原作者,俺合理的推断,有些前面的e
xperience,这个scala的compiler可能更好。

Yes, I am a believer the more complication a language is, the less efficient
it will be.
But that being said, seems like scala is a good language that is worth to
checkout.
Maybe we should make this board a forum both for java and for close
languages such as scala ;-)
p*****2
发帖数: 21240
50
来自主题: Programming版 - 对scala很失望 (转载)
【 以下文字转载自 JobHunting 讨论区 】
发信人: peking2 (sinatra), 信区: JobHunting
标 题: 对scala很失望
发信站: BBS 未名空间站 (Mon Jan 21 00:20:00 2013, 美东)
传说性能跟java差不多,结果发现跟ruby差不多,今天做了两题
第一题,ruby死活过不了,scala将将过
第二题,ruby,scala全部超时2000ms, java 600多ms通过
两道题python都可以通过,第二题用时大约1500ms
可见scala性能跟java相差还是很远的,连python也不如,跟ruby八斤八两,强点有限
。白花一天时间学习了,没什么用武之地。
另外请教以下大牛们,以下语言性能如何,应用广泛吗?
Haskell
Ocaml
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)