V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
appstore54321
V2EX  ›  程序员

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

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

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

    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  
       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  
       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  
       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   ·   实用小工具   ·   6104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 06:13 · PVG 14:13 · LAX 22:13 · JFK 01:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.