国内外的大学里,教授们做研究用 Java 的多还是 C++的多啊,他们选择的原因是什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
appstore54321
V2EX    程序员

国内外的大学里,教授们做研究用 Java 的多还是 C++的多啊,他们选择的原因是什么?

  •  
  •   appstore54321 2016-05-31 21:31:05 +08:00 11524 次点击
    这是一个创建于 3427 天前的主题,其中的信息可能已经有所发展或是发生改变。

    占主流的应该是这两种,研究领域我能想到的有算法、图形、编译系统、网络、安全、大数据、分布式系统、高性能计算、人工智能、自然语言处理,以及一些交叉学科,这两种语言的适用领域是怎样的?

    67 条回复    2016-06-08 14:16:47 +08:00
    pangtianyu
        1
    pangtianyu  
       2016-05-31 21:45:27 +08:00
    Lisp 系、 Python 、 R 、 C++
    没听说过 Java ……
    matthewz
        2
    matthewz  
       2016-05-31 21:50:41 +08:00
    我老板做搜索引擎, 勉强算牛吧, 基本都是自己写代码, 主要是 C, 偶尔有 R

    我 Python + R

    C++几乎没见过

    JAVA 根本不存在的样子....
    liyvhg
        3
    liyvhg  
       2016-05-31 21:55:59 +08:00 via Android
    Fortran 的路过
    tutuge
        4
    tutuge  
       2016-05-31 21:59:20 +08:00 via iPhone
    语言不重要
    Tink
        5
    Tink  
    PRO
       2016-05-31 22:13:29 +08:00 via iPhone
    这跟研究方向有关吧
    baka
        6
    baka  
       2016-05-31 22:32:56 +08:00
    教授们做研究用 ppt 和 latex
    Geeker
        7
    Geeker nbsp;
       2016-05-31 22:33:53 +08:00
    Matlab 多。。。
    其他得看研究方向啊
    C++, python, R
    Java 没听过有人用
    Cassandra
        8
    Cassandra  
       2016-05-31 22:48:43 +08:00
    看研究方向
    不过科研的话基本都是 MatLab 吧
    Cassandra
        9
    Cassandra  
       2016-05-31 22:52:15 +08:00
    啊不不不,现在用电脑做实验的学科可多了。
    心理啊,各种人文社科都要用编程做实验的。
    zjhzxhz
        10
    zjhzxhz  
       2016-05-31 22:57:16 +08:00
    生物信息学方向。
    老板喜欢用 R ,而我坚持用 Python 。
    其他老师做应用的也有用 Java 的。
    withlqs
        11
    withlqs  
       2016-05-31 23:42:56 +08:00
    如果是研究,偏算法用 Python/R/Matlab 等等偏多;偏底层性能 C 较多。

    Java 主要是面向工程和项目,和理论研究相差比较大。
    Yvette
        12
    Yvette  
       2016-06-01 00:25:44 +08:00 via iPhone
    我们机械这边主要是 MATLAB ,可能门槛比较低吧
    tscat
        13
    tscat  
       2016-06-01 00:30:25 +08:00 via iPhone
    主要是 c++吧。图像处理的
    incompatible
        14
    incompatible  
       2016-06-01 00:33:24 +08:00
    做研究需要 python 、 R 或者 matlab 这种玩具。
    Java 是做工程的。
    paulagent
        15
    paulagent  
       2016-06-01 00:37:37 +08:00
    我老板最近做的仿真, omnet++ 用 c++
    starcraft
        16
    starcraft  
       2016-06-01 00:44:05 +08:00 via iPhone
    java 在教学环境很少吧
    xupefei
        17
    xupefei  
       2016-06-01 00:45:17 +08:00
    我小组是搞数据库的,我们主要用 Java 。
    旁边小组是搞大数据处理的,他们用 Scala 。
    xupefei
        18
    xupefei  
       2016-06-01 00:46:35 +08:00
    @xupefei 另外,用什么语言不重要,写到论文里全都是伪代码。
    lixile
        19
    lixile  
       2016-06-01 01:32:24 +08:00
    @Yvette 难得碰上同专业。。
    aaronzjw
        20
    aaronzjw  
       2016-06-01 01:45:50 +08:00
    python+matlab
    MCVector
        21
    MCVector  
       2016-06-01 03:05:16 +08:00 via Android
    在图形学 lab, 基本上全是 C++.
    timhal
        22
    timhal  
       2016-06-01 03:20:53 +08:00
    Python 不解释...
    alexzuo
        23
    alexzuo  
       2016-06-01 04:00:39 +08:00
    MATLAB 信号处理,简单图像处理
    Lisp+Prolog 人工智能
    C++( OpenCV ) 复杂图像处理
    LaTeX 你们懂的
    ceclinux
        24
    ceclinux  
       2016-06-01 06:39:33 +08:00
    上过一门研究 SE 的教授,平时研究用 Java
    一门 compiler 的课,上课用 Java ,平时喜欢用 scheme
    lovewilliam
        25
    lovewilliam  
       2016-06-01 06:54:23 +08:00
    教授只会 ppt 就行了。
    assassinpig
        26
    assassinpig  
       2016-06-01 07:12:14 +08:00
    国内外这个范围可是不小了, 个人经历本科国内一水的用 java 到了 国外的时候几乎全校都是 java 可能略奇葩不足参考 但 cpp 除了做图形图像的以外 真的没见过用
    cxbig
        27
    cxbig  
       2016-06-01 07:39:05 +08:00
    看行业,身边几个做大数据方向朋友,学术研究基本是 Python + R
    linux40
        28
    linux40  
       2016-06-01 08:34:04 +08:00 via Android
    国内教授有研究语言的?
    jimzhong
        29
    jimzhong  
       2016-06-01 08:40:08 +08:00
    C++好像出了做图形方向其他领域用的都不多
    harry890829
        30
    harry890829  
       2016-06-01 08:44:59 +08:00
    记得有种说法叫做语言无关性……写 demo 用自己熟悉的语言,然后写成伪代码
    Neveroldmilk
        31
    Neveroldmilk  
       2016-06-01 08:57:49 +08:00
    非 CS 专业的,用 Java 和 Python 的人很多的,分析数据的话是 R 和 Matlab 。
    evilic
        32
    evilic  
       2016-06-01 09:09:53 +08:00
    没做过研究,好惭愧……
    bk201
        33
    bk201  
       2016-06-01 09:12:33 +08:00
    如果做的只是一个做任务的东西,用 java 是不是太罗嗦了,所以教授应该一般不会用 java,python 与 ruby 居多.如果做一个稳定的管理系统,或许会用 java
    inFinityzc
        34
    inFinityzc  
       2016-06-01 09:33:39 +08:00
    做研究还是 Matlab 和 Python 多<br/>
    前者矩阵运算方便,后者 theano 使用 GPU ,在 DL 中使用范围很广。
    anansi
        35
    anansi  
       2016-06-01 09:35:13 +08:00
    国外 CS 教学用 java 还是很多的。科研要看相关研究方向,用 java 的确实少。算法分析用 matlab ,大数据和机器学习用 python+R ,视觉我见到的 c++偏多,嵌入式硬件开发用 C 和 C++。只有需要产品化做安卓客户端的时候有人用 java 。
    lzhd24
        36
    lzhd24  
       2016-06-01 09:54:45 +08:00 via Android
    我问了我老师,他会 c++, java 。前者是以前用,后者是为了安卓开发学的。
    kacong
        37
    kacong  
       2016-06-01 10:13:28 +08:00
    Java 感觉更少人用了。
    stormpeach
        38
    stormpeach  
       2016-06-01 10:13:44 +08:00
    现在国外 cs 研究 python 和 rust 越来越多了
    gzxultra
        39
    gzxultra  
       2016-06-01 10:17:16 +08:00
    大数据方向, scala , java , python
    jsyangwenjie
        40
    jsyangwenjie  
       2016-06-01 10:34:43 +08:00
    跟方向关系太大,不知从何处吐槽起。
    onesuper
        41
    onesuper  
       2016-06-01 10:35:54 +08:00
    有看到过研究小组用 java 写的编译器后端
    limbo0
        42
    limbo0  
       2016-06-01 11:06:03 +08:00
    从来没看到导师编过代码。。。
    sgissb1
        43
    sgissb1  
       2016-06-01 12:00:23 +08:00
    我曾经的班主任,用 php 。好不容易混到个副教授职称,居然 php 被他当作脚本语言来用。
    czk1997
        44
    czk1997  
       2016-06-01 12:09:40 +08:00
    CS 必修只有 JAVA 可选,但是看到后面的课程感觉根本不够用……
    倒是物理系和化工都是 Python 和 MATLAB ,但是好像有的教授不怎么在乎,有时候用别的语言的话有结果能用就行。
    选择原因其实是哪个好用以及会用哪个用哪个吧,好像没什么限定,一同学用 mathematica 交作业教授也没说什么。
    chimingphang
        45
    chimingphang  
       2016-06-01 12:21:10 +08:00
    国内教授有研究语言的?
    hitmanx
        46
    hitmanx  
       2016-06-01 12:34:19 +08:00
    我之前读书的时候没少下载比如定期期刊、会议论文对应的源码,所以经常要去各个国外知名的教授主页上去找,看到的多是 matlab\c++为主。方向是计算机视觉。
    dreamwhui
        47
    dreamwhui  
       2016-06-01 12:52:31 +08:00
    一直用 c++ and matlab
    RockShake
        48
    RockShake  
       2016-06-01 13:25:07 +08:00
    我们当时用的 Java ,原因是做的一个开源项目, Server 是用 Java 写的,我们也用 Java 开发 Client
    Rubbly
        49
    Rubbly  
       2016-06-01 13:30:33 +08:00
    图形学 c++ matlab
    hard2reg
        50
    hard2reg  
       2016-06-01 13:41:40 +08:00
    国外。。。 Python 哭晕在厕所
    eclipselu
        51
    eclipselu  
       2016-06-01 14:15:33 +08:00
    我之前的老师做图形学,代码基本上 90%也都是自己写, C++
    sd4399340
        52
    sd4399340  
       2016-06-01 15:04:58 +08:00
    难道不应该都是 MATLAB 吗?
    Delbert
        53
    Delbert  
       2016-06-01 15:10:41 +08:00 via Android
    DL 和 ML 用 python
    menc
        54
    menc  
       2016-06-01 15:17:11 +08:00
    说语言不重要的都是扯他妈蛋。

    cv 用 matlab
    涉及到了 dl 和 ml 用 python
    如果用分布式计算了,现在基本都是 spark + mllib ,用 scala ,一个脱胎于 java 的语言

    CS 其他科研
    nlp 用 python 多,人工智能相关的都是 python 多

    国内外还有这样的,实验室实力很强,工程和研究能兼顾的,会考虑性能问题等等,如果对性能要求很高用 CPP ,典型的例子, tree embedding 模型的包 XGBoost ,来自华盛顿大学,中文自然语言处理最厉害的实验室之一,哈工大的 ir 实验室的中文自然语言处理套件 ltp ,用 CPP 写成。国内使用最广泛的中科院的分词程序, ictclas , CPP 写成。

    以上包皆有 python wrapper ,使用上都可以用 python 调用。


    算法、安全、操作系统、分布式不了解,不做评论
    YUX
        55
    YUX  
    PRO
       2016-06-01 15:29:25 +08:00 via iPhone
    我们这边 matlab mathematica 都不用
    用自主研发的 SciLab 诶 法国人呐
    JamesRuan
        56
    JamesRuan  
       2016-06-01 17:27:28 +08:00
    看到过用 lua 的
    SlipStupig
        57
    SlipStupig  
       2016-06-01 17:54:51 +08:00
    我认识的大多数用 MATLAB
    adadada
        58
    adadada  
       2016-06-01 18:31:53 +08:00 via iPhone
    我在国内和美国待过的两个实验室主要用 coq 和 ocaml ,主要做形式化验证方向的工作
    ProfFan
        59
    ProfFan  
       2016-06-01 21:00:46 +08:00
    @YUX 我用过 SciLab ,还有配套的 Scicos ,巨难用。。。
    yopming
        60
    yopming  
       2016-06-01 21:44:22 +08:00 via iPhone
    testing 方向的老师用 java , family name 是 gay ,每次都不好意思发邮件
    compiler 和 computing 方向的老师喜欢 C 和 pascal , perl 用的飞起
    security 的是 cpp
    bio 相关的 java
    vision 和 image 的见过同学用 Matlab
    数据方向的 python 用的多
    parallel computing 的是 c 和 cpp
    我熟悉的就这些吧
    enlau0912
        61
    enlau0912  
       2016-06-01 22:49:35 +08:00
    年 CMD 教授是做工最佳化、系效率的,普遍是用 JAVA 和 C
    patrickstar
        62
    patrickstar  
       2016-06-01 23:06:57 +08:00
    matlab 不用说,理工科研究人员应该都会一点
    分析计算型的研究绝大时候采用 python , c/c++
    aljun
        63
    aljun  
       2016-06-01 23:31:56 +08:00
    @czk1997 哪个大学啊,,,,我也化工的,,,只教了 c
    yech1990
        64
    yech1990  
       2016-06-02 01:53:02 +08:00 via Android
    我来引一波大战

    科研用各种脚本语言都可以,为了性能就是 c++和 Fortran 。
    这是共识。

    Java 和 java 的各种衍生基本就是扯蛋!!
    复杂的项目管理,龟速的编译(主要是 scala 这货),根本不适合快速修改和查阅。

    科研指的是基础研究啊,工程类的不算
    czk1997
        65
    czk1997  
       2016-06-02 09:23:22 +08:00
    @aljun 我是 CS ……同学是化工研究生,但是教授没教编程,都得自学……匹兹堡大学
    yoxi123123
        66
    yoxi123123  
       2016-06-02 16:22:19 +08:00 via Android
    叫兽基本不会编程
    zhenzhongPan
        67
    zhenzhongPan  
       2016-06-08 14:16:47 +08:00 via Android
    @lovewilliam 好多。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     885 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:17 PVG 05:17 LAX 14:17 JFK 17:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86