由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - java真是让人纠结
相关主题
上scala有一个直接的好处java真不错,但是好像没有numpy/scipy这样的package?
请教一下怎么学习java framework,怎么找java工作 (转载)Kotlin好像很有前途
那个语言最适合做科学计算软件Java EE这东西还有必要学吗
WHY NODE AND SCALA WILL DRY UP请推荐IDE
简述一下常见语言的缺点动态语言和script的区别在那里?
受不了python了问一下,scala之父的那本教程怎么样?值得看么?
Delphi这个语言是不是已经死了?functional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
请不要盲目崇拜FP语言java大概还有多久才能和C++一样快呢?
相关话题的讨论汇总
话题: java话题: endian话题: 科学计算话题: c++话题: scala
进入Programming版参与讨论
1 (共1页)
n******7
发帖数: 12463
1
几年前发过一个贴
问java做科学计算如何
现在用java一段时间了,喜忧参半,更加纠结了
先说好的一面,java这玩意,
速度不慢(C一半速度大概)
不用自己管理内存
语法直白,容易学习,我第一次写个多线程的东西都很快搞定
IDE支持强大,很多时候就靠IDE学习语法
用户众多,资料齐全
跨平台,打个jar包就可以到处跑了
但是,感觉java的重点是商业,互联网这一块,所以很多设计上对计算方面的支持不好
比如没有操作符重载,写个公式丑到没法看,这直接导致java计算类的包很少
没有unsigned类型,bit操作很蛋疼
内存消耗有点大,有时候这比运算时间更关键
整个语言太啰嗦,没IDE写起来很痛苦
跟我主要使用的python,R互操作性也不是很好
觉得其实还是C/C++跟我平时用的python,R配合更好
docker也大致解决了deployment的问题
但也不想java就此烂尾了,不想学习太多语言,每门都不精通
很纠结要不要继续投点在java上。。。
我知道的是两个处理杀老鼠数据的公司,一个用的java,一个用的scala
w**z
发帖数: 8232
2
Java 是用来写商业逻辑的。

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

d****n
发帖数: 12461
3
java讲的是大一统,意思就是用了java其他语言都可以不用了,好像每块都有些现成的
框架可以用,但很多又只是通用的性能不高。
但是这个大一统的思想其实也很害人,导致学习过程当中无法直奔问题核心而是先要去
接触一些通用框架,也导致了脱离了大团队协作开发的java开发很难持续。
如果能看到java在搭框架上的优越性,但是摒弃非java不可的思想,用好soa和中间件
的话,还是很好的。

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

d****n
发帖数: 12461
4
而且oo的思想害人不浅,导致一些java开发就是不管三七二十一先oo,造成性能低下。
这也是为啥python, lua, go之类还有市场而且市场在不断增加的原因。
n******7
发帖数: 12463
5
大牛说的太对了
我就是小作坊干活
用java总觉得有些绕圈,蛋疼...

【在 d****n 的大作中提到】
: 而且oo的思想害人不浅,导致一些java开发就是不管三七二十一先oo,造成性能低下。
: 这也是为啥python, lua, go之类还有市场而且市场在不断增加的原因。

x****u
发帖数: 44466
6
科学计算java何德何能和matlab比。。。

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

L*********s
发帖数: 3063
7
搞Java的牛人收入远高于开发科学计算, 所以很难有高质量的Java科学计算库被开发
x***4
发帖数: 1815
8
我还挺喜欢java的。我最喜欢的几点:
gc
static type,用IDE做refactoring非常爽。
用的人多,大部分问题都能stack over flow。
framework靠谱,尤其是最常用的那些,doc也算写得不错。
语法比较笨,所以烂人乱写code也勉强能读。
不过我现在主要scala了。fp写数据相关的business logic真是爽。

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

t*****n
发帖数: 2578
9
斯嘉丽是jvm based。跟爪洼比performance如何?
n******7
发帖数: 12463
10
你说的我更纠结了
scala号称跟c++一样复杂
还没有c++的效率
要投入学习也是很难下决心的
我前几天还测试了一个小公司给我们客户scala写的东西
目前我了解的一些几个专门处理这杀老鼠数据的公司
全是java/scala,没有C++的
不知道是不是还是在写码效率和运行效率之间的一个妥协

【在 x***4 的大作中提到】
: 我还挺喜欢java的。我最喜欢的几点:
: gc
: static type,用IDE做refactoring非常爽。
: 用的人多,大部分问题都能stack over flow。
: framework靠谱,尤其是最常用的那些,doc也算写得不错。
: 语法比较笨,所以烂人乱写code也勉强能读。
: 不过我现在主要scala了。fp写数据相关的business logic真是爽。

相关主题
受不了python了java真不错,但是好像没有numpy/scipy这样的package?
Delphi这个语言是不是已经死了?Kotlin好像很有前途
请不要盲目崇拜FP语言Java EE这东西还有必要学吗
进入Programming版参与讨论
t*****n
发帖数: 2578
11
没必要看C++了吧?充其量比爪洼快一倍,又如何?
算法写好了提高是数量级。C++快一倍真不值得花那么大力。
n******7
发帖数: 12463
12
还有内存使用
java需要的内存还是高很多
具体没有估计过

【在 t*****n 的大作中提到】
: 没必要看C++了吧?充其量比爪洼快一倍,又如何?
: 算法写好了提高是数量级。C++快一倍真不值得花那么大力。

l*********s
发帖数: 5409
13
学好java专职成专业商务应用/互联网/android开发。 数值计算对大部程序员都是屠龙
技能
l**********0
发帖数: 150
14
你的例子似乎用scala写码效率会高一些,以过程和计算为主,不用oo,如果计算量如
此大连内存都不够用那要考虑分布式了,现在的常规思路是这样,换成c语言的想法不
多见了。
c*********e
发帖数: 16335
15
用python写个web services,用java来call.

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

D*******o
发帖数: 3229
16
说到科学计算,咋就忘了Fortran?现在的大型仿真计算,比如结构流体啥的,好像
Fortran和C各据半壁江山。

【在 x****u 的大作中提到】
: 科学计算java何德何能和matlab比。。。
e*******o
发帖数: 2271
17
Fortran 哪里还有半壁江山,五分之一都不错了

【在 D*******o 的大作中提到】
: 说到科学计算,咋就忘了Fortran?现在的大型仿真计算,比如结构流体啥的,好像
: Fortran和C各据半壁江山。

g****t
发帖数: 31659
18
那时候我记得我回过贴。如果哪个在校phd做个好的java多维数组库,
绝对扬名立万。
可能本版的学生不明白接地气的厉害,所以没人同意。
不然现在这DL的情况,如果都用的你的多维数组库。。。

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

g****t
发帖数: 31659
19
我觉得这个楼里面只有我一个是日常做科学计算的...

【在 e*******o 的大作中提到】
: Fortran 哪里还有半壁江山,五分之一都不错了
w***g
发帖数: 5958
20
我记得有这么回事。忘了是你发的,前两天还找过那贴没找着。java big endian怎么
破?

【在 g****t 的大作中提到】
: 那时候我记得我回过贴。如果哪个在校phd做个好的java多维数组库,
: 绝对扬名立万。
: 可能本版的学生不明白接地气的厉害,所以没人同意。
: 不然现在这DL的情况,如果都用的你的多维数组库。。。

相关主题
请推荐IDEfunctional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
动态语言和script的区别在那里?java大概还有多久才能和C++一样快呢?
问一下,scala之父的那本教程怎么样?值得看么?C# is light-years ahead of Java now
进入Programming版参与讨论
N*****m
发帖数: 42603
21
nd4j啊,你们咋都这么喜欢自己造轮子

【在 w***g 的大作中提到】
: 我记得有这么回事。忘了是你发的,前两天还找过那贴没找着。java big endian怎么
: 破?

n*******0
发帖数: 2002
22
scala的编译器就是辣鸡。
scala的性能跟java 比就是更加的辣鸡。(各种box/unbox,各种immutable
collection的傻逼实现)
scala这个傻逼语言除了写的爽之外就没有优点了。

【在 t*****n 的大作中提到】
: 斯嘉丽是jvm based。跟爪洼比performance如何?
h*********m
发帖数: 38
23

刚想说咋没人提 fortran,嘿嘿。平时我写MPI和OPENMP肯定用C或者Fortran,有时候
两个混一起用。验证算法用 matlab 更方便些。

【在 D*******o 的大作中提到】
: 说到科学计算,咋就忘了Fortran?现在的大型仿真计算,比如结构流体啥的,好像
: Fortran和C各据半壁江山。

e*******o
发帖数: 4654
24
语言互相抄 差不多都是想通的 有空就玩
真要深入还得做项目 光学语言是学不深入的
纠结语言是太闲的表现

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

g****t
发帖数: 31659
25
there was no nd4j when I talked about the scientific computation of Java

【在 N*****m 的大作中提到】
: nd4j啊,你们咋都这么喜欢自己造轮子
C*****5
发帖数: 8812
26
有numpy谁会做这种吃力不讨好的事?

【在 g****t 的大作中提到】
: 那时候我记得我回过贴。如果哪个在校phd做个好的java多维数组库,
: 绝对扬名立万。
: 可能本版的学生不明白接地气的厉害,所以没人同意。
: 不然现在这DL的情况,如果都用的你的多维数组库。。。

g*****s
发帖数: 1288
27
井底之蛙。Google 那么多著名的open source是C++写的。

【在 t*****n 的大作中提到】
: 没必要看C++了吧?充其量比爪洼快一倍,又如何?
: 算法写好了提高是数量级。C++快一倍真不值得花那么大力。

t*****n
发帖数: 2578
28
俺写C++的时候你还是娃娃吧
在lz这个情况下有啥必要学C++?

【在 g*****s 的大作中提到】
: 井底之蛙。Google 那么多著名的open source是C++写的。
n******7
发帖数: 12463
29
我说的是广义科学计算
科学研究中遇到的计算都算
很多时候就是数据处理
共性是对cpu,内存,硬盘资源都可能有要求

【在 g****t 的大作中提到】
: 我觉得这个楼里面只有我一个是日常做科学计算的...
n******7
发帖数: 12463
30
big endian有啥问题?
按wiki来说,好像不是个问题?
Optimization
The little-endian system has the property that the same value can be read
from memory at different lengths without using different addresses (even
when alignment restrictions are imposed). For example, a 32-bit memory
location with content 4A 00 00 00 can be read at the same address as either
8-bit (value = 4A), 16-bit (004A), 24-bit (00004A), or 32-bit (0000004A),
all of which retain the same numeric value. Although this little-endian
property is rarely used directly by high-level programmers, it is often
employed by code optimizers as well as by assembly language programmers.
On the other hand, in some situations it may be useful to obtain an
approximation of a multi-byte or multi-word value by reading only its most
significant portion instead of the complete representation; a big-endian
processor may read such an approximation using the same base-address that
would be used for the full value.

我记得有这么回事。忘了是你发的,前两天还找过那贴没找着。java big endian怎么

【在 w***g 的大作中提到】
: 我记得有这么回事。忘了是你发的,前两天还找过那贴没找着。java big endian怎么
: 破?

相关主题
【失败感言】我是做PHP的 (转载)请教一下怎么学习java framework,怎么找java工作 (转载)
俺老10年前关于语言未来的论述那个语言最适合做科学计算软件
上scala有一个直接的好处WHY NODE AND SCALA WILL DRY UP
进入Programming版参与讨论
g****t
发帖数: 31659
31
求梯度不能立即口述5种变种的就别说自己是科学计算了。恐怕属于微积分都不常用了。


: 我说的是广义科学计算

: 科学研究中遇到的计算都算

: 很多时候就是数据处理

: 共性是对cpu,内存,硬盘资源都可能有要求



【在 n******7 的大作中提到】
: big endian有啥问题?
: 按wiki来说,好像不是个问题?
: Optimization
: The little-endian system has the property that the same value can be read
: from memory at different lengths without using different addresses (even
: when alignment restrictions are imposed). For example, a 32-bit memory
: location with content 4A 00 00 00 can be read at the same address as either
: 8-bit (value = 4A), 16-bit (004A), 24-bit (00004A), or 32-bit (0000004A),
: all of which retain the same numeric value. Although this little-endian
: property is rarely used directly by high-level programmers, it is often

t*****n
发帖数: 2578
32
俺本科学的还真是计算数学,用的佛船
不过现在忘得精光
n******7
发帖数: 12463
33
我记得之前看到这个库的时候
它的benchmark显示比c++的库还快??
当时非常惊讶
现在网站改版了,死活找不到benchmark了

【在 N*****m 的大作中提到】
: nd4j啊,你们咋都这么喜欢自己造轮子
n******7
发帖数: 12463
34
确实微积分都用的不多
最近做个项目积不出来,就直接暴力近似了
不过你怎么定义不影响我用这个词:)
大家七嘴八舌已经帮我理清了不少事情了

了。

【在 g****t 的大作中提到】
: 求梯度不能立即口述5种变种的就别说自己是科学计算了。恐怕属于微积分都不常用了。
:
:
: 我说的是广义科学计算
:
: 科学研究中遇到的计算都算
:
: 很多时候就是数据处理
:
: 共性是对cpu,内存,硬盘资源都可能有要求
:

n******7
发帖数: 12463
35
你不知道杀老鼠的难处
啥东西都要前瞻性学习
不然真的需要用的时候别人不带你玩了

【在 e*******o 的大作中提到】
: 语言互相抄 差不多都是想通的 有空就玩
: 真要深入还得做项目 光学语言是学不深入的
: 纠结语言是太闲的表现

n******7
发帖数: 12463
36
很多benchmark显示scala性能跟java很接近
你这个说法有参照吗?

【在 n*******0 的大作中提到】
: scala的编译器就是辣鸡。
: scala的性能跟java 比就是更加的辣鸡。(各种box/unbox,各种immutable
: collection的傻逼实现)
: scala这个傻逼语言除了写的爽之外就没有优点了。

n******7
发帖数: 12463
37
感觉jvm跟非jvm是两个世界啊
jvm世界的原则不久就是外面有的我也要有吗

【在 C*****5 的大作中提到】
: 有numpy谁会做这种吃力不讨好的事?
n******7
发帖数: 12463
38
谢谢,你说的这几点非常对症,我认真考虑一下scala

【在 l**********0 的大作中提到】
: 你的例子似乎用scala写码效率会高一些,以过程和计算为主,不用oo,如果计算量如
: 此大连内存都不够用那要考虑分布式了,现在的常规思路是这样,换成c语言的想法不
: 多见了。

w********m
发帖数: 1137
39
感觉跟人打工,或者多人项目,用java比较好。至少有个pattern,不用天天吵架。
T*******x
发帖数: 8565
40
我觉得这个说的对,至少对于码农是对的。

【在 e*******o 的大作中提到】
: 语言互相抄 差不多都是想通的 有空就玩
: 真要深入还得做项目 光学语言是学不深入的
: 纠结语言是太闲的表现

相关主题
WHY NODE AND SCALA WILL DRY UPDelphi这个语言是不是已经死了?
简述一下常见语言的缺点请不要盲目崇拜FP语言
受不了python了java真不错,但是好像没有numpy/scipy这样的package?
进入Programming版参与讨论
N*****m
发帖数: 42603
41
怎么可能
我的印象你是去年说的,nd4j 3年前就有了

【在 g****t 的大作中提到】
: there was no nd4j when I talked about the scientific computation of Java
s***o
发帖数: 2191
42
我觉得就目前来讲,除非有非常特殊的需要,否则不应该浪费时间在scala上

【在 n******7 的大作中提到】
: 谢谢,你说的这几点非常对症,我认真考虑一下scala
N*****m
发帖数: 42603
43
同意

【在 s***o 的大作中提到】
: 我觉得就目前来讲,除非有非常特殊的需要,否则不应该浪费时间在scala上
a*********y
发帖数: 63
44
握个手. 那时候学的还 Fortran 77, PC 上根本不能跑, 上机上的是 Fujitsu 的中型
机.

【在 t*****n 的大作中提到】
: 俺本科学的还真是计算数学,用的佛船
: 不过现在忘得精光

b***i
发帖数: 3043
45
Java科学计算如果需要大量内存,比如8G,能搞定吗?是需要启动jvm的时候指定吗?
另外,如果是显卡内存和显卡的计算,能管理吗?

【在 n******7 的大作中提到】
: 几年前发过一个贴
: 问java做科学计算如何
: 现在用java一段时间了,喜忧参半,更加纠结了
: 先说好的一面,java这玩意,
: 速度不慢(C一半速度大概)
: 不用自己管理内存
: 语法直白,容易学习,我第一次写个多线程的东西都很快搞定
: IDE支持强大,很多时候就靠IDE学习语法
: 用户众多,资料齐全
: 跨平台,打个jar包就可以到处跑了

h*i
发帖数: 3446
46
在Java世界里,8G算啥大量内存。调整JVM的各种GC参数是门学问,不过一般用户会个-
Xmx8G啥的也就够了。
Java搞GPU没有问题。

【在 b***i 的大作中提到】
: Java科学计算如果需要大量内存,比如8G,能搞定吗?是需要启动jvm的时候指定吗?
: 另外,如果是显卡内存和显卡的计算,能管理吗?

b***i
发帖数: 3043
47
那应该适合啊。另外,我觉得java特别适合多计算机合作,比如hadoop等技术,还有我
用GAE,觉得后台文件系统和数据库都是无限大的,非常爽。要做科学计算,那些并行
计算的竞争技术能简单的把数据分到多个计算机上吗?

个-

【在 h*i 的大作中提到】
: 在Java世界里,8G算啥大量内存。调整JVM的各种GC参数是门学问,不过一般用户会个-
: Xmx8G啥的也就够了。
: Java搞GPU没有问题。

h*i
发帖数: 3446
48
有两种分布式的。
一种叫数据分布,就是你说的这种,用Storm之类的技术,把数据分成小片小片的数据
流送到各个结点处理。
另一种叫计算分布,数据不动,代码分到各个结点上处理不同的数据,把结果再合起来
。比如Hadoop。

【在 b***i 的大作中提到】
: 那应该适合啊。另外,我觉得java特别适合多计算机合作,比如hadoop等技术,还有我
: 用GAE,觉得后台文件系统和数据库都是无限大的,非常爽。要做科学计算,那些并行
: 计算的竞争技术能简单的把数据分到多个计算机上吗?
:
: 个-

w**z
发帖数: 8232
49
数据自己不会跑到节点上,还是要写过去的。hadoop 每个步骤都要读写 hard drive,
spark rdd 就快多了。

【在 h*i 的大作中提到】
: 有两种分布式的。
: 一种叫数据分布,就是你说的这种,用Storm之类的技术,把数据分成小片小片的数据
: 流送到各个结点处理。
: 另一种叫计算分布,数据不动,代码分到各个结点上处理不同的数据,把结果再合起来
: 。比如Hadoop。

n******7
发帖数: 12463
50
具体说说?
因为spark火过了?

【在 s***o 的大作中提到】
: 我觉得就目前来讲,除非有非常特殊的需要,否则不应该浪费时间在scala上
相关主题
Kotlin好像很有前途动态语言和script的区别在那里?
Java EE这东西还有必要学吗问一下,scala之父的那本教程怎么样?值得看么?
请推荐IDEfunctional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
进入Programming版参与讨论
t*****n
发帖数: 2578
51
我日,你不是我同学吧?我也用的小日本的中型机。计算中心的PC大部分连硬盘都没有

【在 a*********y 的大作中提到】
: 握个手. 那时候学的还 Fortran 77, PC 上根本不能跑, 上机上的是 Fujitsu 的中型
: 机.

V***l
发帖数: 2108
52
我现在的mini PC 也没有硬盘。

【在 t*****n 的大作中提到】
: 我日,你不是我同学吧?我也用的小日本的中型机。计算中心的PC大部分连硬盘都没有
1 (共1页)
进入Programming版参与讨论
相关主题
java大概还有多久才能和C++一样快呢?简述一下常见语言的缺点
C# is light-years ahead of Java now受不了python了
【失败感言】我是做PHP的 (转载)Delphi这个语言是不是已经死了?
俺老10年前关于语言未来的论述请不要盲目崇拜FP语言
上scala有一个直接的好处java真不错,但是好像没有numpy/scipy这样的package?
请教一下怎么学习java framework,怎么找java工作 (转载)Kotlin好像很有前途
那个语言最适合做科学计算软件Java EE这东西还有必要学吗
WHY NODE AND SCALA WILL DRY UP请推荐IDE
相关话题的讨论汇总
话题: java话题: endian话题: 科学计算话题: c++话题: scala