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

为什么 Java 和 js 这么机车呢?

  •  
  •   phrack · 2017-04-12 15:19:01 +08:00 · 4879 次点击
    这是一个创建于 2563 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主玩过不少语言,目前主力 python 。

    经常因为项目需要会要写 java 和 js ,但是为什么我一直觉得 java 和 js 非常机车啊!

    java 脱离 IDE 根本没法写,有 IDE 也是一大坨一大坨,看的人眼睛疼, js 我尝试了三次去熟悉这个语言,每次都是玩到想哭,真的,就是想哭,为什么到处都是回调,我根本不明白整个程序的流程到底是怎么走的?

    谁能帮我脱离苦海?!

    31 条回复    2017-04-19 11:11:16 +08:00
    nicevar
        1
    nicevar  
       2017-04-12 15:27:30 +08:00   ❤️ 1
    你是玩不是用当然会有这种问题了,如果 python 你也不经常写,脱离了 ide 也照样没法写, 10 多年前没有什么可用 ide 的时候,还不是一直用普通的文本编辑器写 java 代码,一种语言还没熟悉没啥好评价的
    fy
        2
    fy  
       2017-04-12 15:35:36 +08:00
    机车是什么形容词?

    Java 有个 ide 写的飞起,不怎么用思考,就是废话多些,内存占的大些,除此之外难道不是还挺好用?

    另外 JS 你初学哪来的回调啊, callback hell 是特殊场景下的情况,并不是人人都会碰到的。而且现在已经有了比较好的解决方案( await/async )

    也是主力 Python ,但我没觉得这俩语言有什么障碍。新 es 标准很好用, Java 也还不错。
    fds
        3
    fds  
       2017-04-12 15:37:48 +08:00
    js 解决回调陷阱可以看看库 http://caolan.github.io/async/
    不过 js 新版已经支持 async/await 了,写起来也很开心。
    enenaaa
        4
    enenaaa  
       2017-04-12 15:43:41 +08:00
    回调哪个脚本语言没有, js 槽点不是 var , this, undefined 和 类实现吗。每次都想吐
    DT27
        5
    DT27  
       2017-04-12 15:45:55 +08:00
    机车好像是台湾骂人的话。。。
    Wangxf
        6
    Wangxf  
       2017-04-12 15:48:32 +08:00
    都 2017 年了还黑回调真的是不知道说啥了。。。
    phrack
        7
    phrack  
    OP
       2017-04-12 15:48:44 +08:00
    就比如这个脚本,我要在他基础上要改一个爬虫出来。

    https://gist.github.com/antivanov/3848638

    逻辑也不复杂,但是就已经一堆回调了。
    ryanzyy
        8
    ryanzyy  
       2017-04-12 16:30:10 +08:00
    因为你的主力是 Python
    lightening
        9
    lightening  
       2017-04-12 16:34:46 +08:00
    机车好像就是台湾“墨迹”的意思。

    因为 Java 设计的目标是很多程序员可以在不熟悉对方代码的情况下协同工作,所以需要很啰嗦的语法来限定程序员能做的事情,以避免沟通上的模糊不清。

    我平时写 Ruby 。偶尔使用不那么熟悉的 Python 时,也会感觉 Python 挺机车的。习惯问题而已。
    nullcc
        10
    nullcc  
       2017-04-12 16:37:32 +08:00
    js 属于乍一看很简单的,其实深似海
    qiayue
        11
    qiayue  
       2017-04-12 16:43:59 +08:00
    话说我最近直接 Sublime 写 JAVA
    morethansean
        12
    morethansean  
       2017-04-12 16:50:12 +08:00 via Android
    @phrack 你贴的这段代码,到处是回调?
    murmur
        13
    murmur  
       2017-04-12 16:53:00 +08:00
    java 有个很牛逼的 ide 恰恰说明 java 的牛逼之处

    等你写大型工程的时候就知道没 ide 是多痛苦了 尤其是做代码重构的时候
    miniwade514
        14
    miniwade514  
       2017-04-12 16:53:41 +08:00
    “为什么到处都是回调” 对于这个问题你有没有尝试进一步了解?你这样上来就黑,还怎么愉快地讨论啊。。
    你举的那个例子(#7 )并不能代表现在的主流写法,那代码是 2012 年写的。
    rocksolid
        15
    rocksolid  
       2017-04-12 16:54:09 +08:00
    java 还好 js 写起来真是不习惯
    sagaxu
        16
    sagaxu  
       2017-04-12 16:55:42 +08:00
    Java 确实太过罗嗦了,试试 Kotlin 吧,一种完全兼容 Java 的不罗嗦的 Java 方言
    wc951
        17
    wc951  
       2017-04-12 16:57:46 +08:00 via Android
    这是 java 被工业界广泛应用的原因之一
    AltairT
        18
    AltairT  
       2017-04-12 18:42:51 +08:00 via iPhone
    java 这么多类库和 api ,没有提示根本没法写
    。又不是写算法或者 hello world 这样的程序。
    springmarker
        19
    springmarker  
       2017-04-12 18:45:38 +08:00
    不知道你们说的 Java 啰嗦具体指什么
    mazyi
        20
    mazyi  
       2017-04-12 18:50:06 +08:00 via iPhone
    多读书,这种理由我打 python 可以有一万个 先说一个,缩进。
    silencefent
        21
    silencefent  
       2017-04-12 18:59:20 +08:00
    因为你用的是 xxx.min.js 啊,去掉了空格当然看不了
    Tyanboot
        22
    Tyanboot  
       2017-04-12 19:00:27 +08:00
    @morethansean 粗略数了一下,这贴的 gist 里面有至少 8 个回调- -
    Nitromethane
        23
    Nitromethane  
       2017-04-12 19:27:02 +08:00
    然而我好像最喜欢这两个语言~
    linnn2
        24
    linnn2  
       2017-04-12 19:47:20 +08:00
    你需要多了解一些语言的特性,简单来说,你对 JavaScript 的问题在于,你对这门语言不够了解。
    JavaScript 的独特的地方就是它单线程异步的特性,这个不了解的话,不能说 JavaScript 入门了吧
    LioMore
        25
    LioMore  
       2017-04-12 19:51:05 +08:00
    @linnn2 说的对
    楼主你压根还没入门
    nashxk
        26
    nashxk  
       2017-04-12 20:19:17 +08:00
    特意去查了一下机车是什么意思。。。
    Gantz
        27
    Gantz  
       2017-04-12 21:55:45 +08:00 via iPhone
    感觉 Python 就是胶水语言,后端不如 java, 只能调 c++ 库,前端只能用 js 啊
    isCyan
        28
    isCyan  
       2017-04-12 22:18:26 +08:00 via Android
    @fy 异步感觉几乎是用 JS 必然遇到的 😂
    beginor
        29
    beginor  
       2017-04-12 22:40:17 +08:00 via Android
    不如试试 typescript 吧
    vcfvct
        30
    vcfvct  
       2017-04-12 22:47:36 +08:00 via Android
    无 callback 不 js 。这个是必须的了,不然人家单线程, server side ( nodejs )怎么可以那么高的吞吐, client side ( browser )怎么可以处理那么多的 event ( timeout , xhr , click , hover , scroll etc...)
    Java 嘛,没什么好说的,用惯了 intellij 效率是非常高的,尤其大项目!
    Balthild
        31
    Balthild  
       2017-04-19 11:11:16 +08:00 via Android
    @sagaxu 官方说法: Kotlin is not "a better Java"....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3669 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:39 · PVG 18:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.