V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
marknote
V2EX  ›  JavaScript

javascript 的 2017: 繁华与混乱

  •  
  •   marknote · 2017-08-10 12:25:05 +08:00 · 7359 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。
    46 条回复    2017-08-11 22:35:36 +08:00
    halfcoder
        1
    halfcoder  
       2017-08-10 15:20:54 +08:00
    作者对于 VBScript、JScript 和 CoffeeScript 是不是有什么误解……
    airyland
        2
    airyland  
       2017-08-10 15:23:38 +08:00
    英文字母和中文之前要不加个空格,看着有点难受。
    marknote
        3
    marknote  
    OP
       2017-08-10 16:54:49 +08:00
    @airyland 哈哈,我是混习惯了,没觉得。已经加空格了,谢谢!
    marknote
        4
    marknote  
    OP
       2017-08-10 16:58:37 +08:00
    @halfcoder VBScript 是个怪胎。jscript 是 IE 对 ECMA script 的实现,也可以看作 javascript 的方言? CoffeeScript 编译到 javascript,其目的是想让程序员不再用 javascript,所以可以算是想取代 javascript
    66beta
        5
    66beta  
       2017-08-10 17:03:10 +08:00
    [coffeescript 之类的也奄奄一息] ???
    marknote
        6
    marknote  
    OP
       2017-08-10 17:29:00 +08:00
    @66beta coffeescript 现在还有人用吗 :)
    marknote
        7
    marknote  
    OP
       2017-08-10 17:31:50 +08:00
    @66beta 我觉得这里的一段评价还是比较中肯的:
    >Don't use that. It has very little future,its creator couldn't care less about it anymore and even worst some of its syntax conflicts with ES6. It's not going to die since the ruby crowd loves it, however it has become totally irrelevant. Be also aware that the maintenance has slowed down a lot , if you look at the commits most of them are cosmetic just to give the illusion of CS being still maintained ( "removed space here", "changed date there" ,... I'm not kidding ).

    来自 https://www.reddit.com/r/javascript/comments/49e7ui/coffeescript_in_2016/
    codermagefox
        8
    codermagefox  
       2017-08-10 17:32:04 +08:00
    说的这么好,JS 里还不是全是粪坑....
    manihome
        9
    manihome  
       2017-08-10 17:34:31 +08:00
    coffee 很好啊 一直在用 2.0 马上也要出来了
    FrankFang128
        10
    FrankFang128  
       2017-08-10 17:36:10 +08:00   ❤️ 1
    应该是 JavaScript
    marknote
        11
    marknote  
    OP
       2017-08-10 17:41:45 +08:00
    @FrankFang128 嗯,你更严谨 :) 马上改~
    marknote
        12
    marknote  
    OP
       2017-08-10 17:42:22 +08:00
    @codermagefox 机会和坑并存 :)
    marknote
        13
    marknote  
    OP
       2017-08-10 17:43:16 +08:00
    @manihome 大势已去吧。我觉得短期内 TypeScript 还有市场,绝大部分人会选择 ES6/ES7
    lxml
        14
    lxml  
       2017-08-10 18:03:03 +08:00   ❤️ 1
    刚开始认真学 Js 不久,光对 JavaScrpit Java ECMAScript TypeScrpit Coffee 这几个哥们的关系都让我捋了好久好久,人都说 Python 是最好的两种语言,我看 Js 也可以说 是最好的三种语言!

    然后第二蛋疼的是选框架,虽然大佬都说选谁是不过选风格,可刚学前端有个啥风格,然后惯常习惯就上知乎看大佬怎么吹,然后就看到了 大漠孤秋和尤雨溪俩怼,越看越过瘾,看着看着,然后就忘了我本来是要干啥的……
    marknote
        15
    marknote  
    OP
       2017-08-10 18:21:45 +08:00
    @lxml 嗯,js 是最好的三种语言。React 是最好的框架,嘿嘿
    halfcoder
        16
    halfcoder  
       2017-08-10 20:40:01 +08:00
    @marknote #4
    VBScript 怪在哪?能具体说说么
    winglight2016
        17
    winglight2016  
       2017-08-10 21:41:54 +08:00
    js 从来只有一种语言,其他几种都不要碰,谁碰谁后悔,我都已经后悔花时间在 cs 上
    lhc70000
        18
    lhc70000  
       2017-08-10 22:13:46 +08:00
    纯个人看法。

    > 横跨三界

    其实程序员一般都会多种语言框架,这里语言倒不是重点……

    > CoffeeScript 编译到 javascript,其目的是想让程序员不再用 javascript,所以可以算是想取代 javascript

    Dart、TypeScript、LiveScript、CoffeeScript 这几个编译到 js 的语言里,Coffee 可能是最偏离「取代 javascript 」这个目标的了。
    murmur
        19
    murmur  
       2017-08-10 22:38:46 +08:00   ❤️ 1
    ES6 /7 的演进规范了概念,降低了学习成本,大大降低了异步编程的工作量?!

    我估计这作者是认为代码长度反比于执行效率的
    marknote
        20
    marknote  
    OP
       2017-08-10 23:02:37 +08:00
    @murmur 老兄,“工作量”强调的是开发效率,没扯执行效率 :)
    marknote
        21
    marknote  
    OP
       2017-08-10 23:04:50 +08:00
    @lhc70000 真的吗?
    一会用 java 开发 android,一会用 objective-c 写 iOS, 一会用 javascript 开发 web,一会用 c#/java 写服务器端
    几个人能做到?
    就算做到了几个不同的语言中反复切换效率会高吗?
    Kenji
        22
    Kenji  
       2017-08-10 23:56:36 +08:00
    难道就我一人喜欢 CoffeeScript 吗?个人小项目一直在用,很简美呀,喜欢能有社区继续维护下去。
    paulwan
        23
    paulwan  
       2017-08-11 01:21:22 +08:00 via iPhone
    Coffeescript 一直强调自己是 js 的 goodpart,同时也 [强调 ] 自己本身即是 javascript。“取代”怕谈不上吧?
    另外 Coffeescript 2 也在不断更新,已经是 beta4 了。而 ES6 就是吸取的 coffee 的优点而出现的。看来是现在 js 新手多了,了解 Coffee 的人少了呀。
    sensui7
        24
    sensui7  
       2017-08-11 02:00:38 +08:00
    Coffee 已死, 有事烧纸. Coffee 的优点正在被 ES 吸收.
    inflationaaron
        25
    inflationaaron  
       2017-08-11 02:46:51 +08:00
    @marknote 所以 JavaScript 一统江湖喽
    murmur
        26
    murmur  
       2017-08-11 09:45:01 +08:00
    @marknote 我不认为用 promise 能比 asyc 关键字提升多少效率,一个没线程的东西搞出这套东西反倒让人不适应
    manihome
        27
    manihome  
       2017-08-11 09:56:59 +08:00
    @sensui7 还没死呢 很多人都还在用 特别是写 ruby 和 python 的人 当然也有跟我一样单纯就喜欢她简洁舒服。
    marknote
        28
    marknote  
    OP
       2017-08-11 10:22:35 +08:00 via iPhone
    @sensui7 对!
    marknote
        29
    marknote  
    OP
       2017-08-11 10:23:08 +08:00 via iPhone
    @manihome 赶紧换吧呵呵
    marknote
        30
    marknote  
    OP
       2017-08-11 10:25:42 +08:00 via iPhone
    @inflationaaron javascript 绝对是匹黑马,刚开始只是跑跑龙套,后来居然混成了主角
    BearD01001
        31
    BearD01001  
       2017-08-11 10:58:35 +08:00
    @lxml #14 向规范看起, 推荐 React, Vue 更像是现代的 jQuery, 用久了会让你忘记真正的 JavaScript 是怎么写的...
    chairuosen
        32
    chairuosen  
       2017-08-11 11:21:37 +08:00
    @BearD01001 忘记的应该是浏览器 api,而不是 js
    QQ2171775959
        33
    QQ2171775959  
       2017-08-11 14:13:52 +08:00
    确实是比较混乱啊。。
    murmur
        34
    murmur  
       2017-08-11 15:29:50 +08:00
    @BearD01001 vue 是站在 react 和 angular 肩膀上的,怎么可能是现代版的 jquery

    一门语言打娘胎出来就是残疾,再怎么补也是残疾,坐等 webasm 我写 java

    目前已经开始有人用 c++ + webasm 了,看你们前端怎么折腾
    murmur
        35
    murmur  
       2017-08-11 15:32:35 +08:00
    @marknote 越是牛逼的混合应用外层的 native 壳子越恐怖,真到大厂还是拼 native 层
    marknote
        37
    marknote  
    OP
       2017-08-11 15:48:23 +08:00 via iPhone
    @QQ2171775959 混乱就是机会
    等一切都井然有序,机会就没了 :)
    marknote
        38
    marknote  
    OP
       2017-08-11 15:50:16 +08:00 via iPhone
    @BearD01001 自己说的时候一般都说得比较谦虚:) 尤其是还不够强大的时候
    workwonder
        39
    workwonder  
       2017-08-11 19:48:23 +08:00 via Android
    atom 开发团队还在拥抱 coffee,真担心这个会影响 atom 的发展。
    kotokz
        40
    kotokz  
       2017-08-11 20:37:04 +08:00
    atom 最近版本也加入 c++提高效率了,不仅仅局限 JavaScript
    看以后怎么发展吧
    等 wasm 发展起来 atom 之类的估计也会受益
    doxiami1
        41
    doxiami1  
       2017-08-11 21:05:08 +08:00 via Android
    最后会剩下 typescript 和 javascript 双雄并举。typescript 抓住了强类型这个痛点,而 javascript 永远不会放弃动态类型,最后会剩下这两者供两种不同喜好的开发者选择,应付不同的应用场景,至于 coffeescript,还嫌被 Python 的缩进虐的不够吗
    marknote
        42
    marknote  
    OP
       2017-08-11 21:29:53 +08:00
    @doxiami1 同意你的观点。很多人选择 TypeScript 确实是因为认为其强类型可以避免很多弱类型的弊端。
    不过我在想,是不是因为这些人的背景是强类型先入为主?
    选择 TypeScript 会不会丧失 javascript 自身的优点?
    或者选择 javascript 就应该选择一条 和静态语言不同的工作模式?
    这几个问题我还没想好。
    我现在用 ES6,也没有发现有啥受不了的。
    mooncakejs
        43
    mooncakejs  
       2017-08-11 21:43:31 +08:00 via iPhone
    @marknote 强类型除了感觉更安心,对 ide 智能提示也更友好。 包括 python3 的 typing,感觉都是为了智能提示
    doxiami1
        44
    doxiami1  
       2017-08-11 21:48:00 +08:00
    @marknote 喜欢强类型的大多都是科班出身吧,一毕业就进入团队,写代码的时候脑子里想的是工程。喜欢动态类型的,写代码的时候脑子里想的是产品,自己摸爬滚打出来的居多。
    doubleflower
        45
    doubleflower  
       2017-08-11 22:07:43 +08:00
    @workwonder atom 也在向 JS 转了,新写的文件很多都是 JS 了。估计慢慢都会变成 JS。
    LancerComet
        46
    LancerComet  
       2017-08-11 22:35:36 +08:00 via Android
    @marknote TS 在工程方面强 JS 不少,新项目全力转向 TS 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1493 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.