V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tanrunhao
V2EX  ›  Node.js

都 2021 年了, 还用 CoffeeScript 写新项目

  •  
  •   tanrunhao · 144 天前 · 3607 次点击
    这是一个创建于 144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有好几年没写 CoffeeScript, 对上一次估计是 15 年左右,整整过去了 6 年.

    今天重新拿 CoffeeScript 写小项目, 竟然发现如此丝滑.代码整齐好看, 因为是用缩进代替括号. 所以天然就有一种美感. 当然这里不是推荐大家用来起一个新项目, 毕竟埋下的坑让别人填是不道德(虽然用什么语言起的项目对于别人来说都是坑).

    https://github.com/tans/luckybot

    上面的微信抽奖机器人用 coffeescript 写的. 里面有编译后的 JavaScript 代码, 大家可以对比一下.

    Coffeescript 133 行 Javascript 158 行

    感觉整体好像没差多少行, 编译后的代码可能有一些优化. 一般个人感觉手写的 js 代码应该是 coffee 的 1.5 倍左右

    行数少, 改代码的心理压力自然就少一点. 可能以前用过 coffee 来写生产的项目, 所以这次重拾 coffee 还是很顺畅, 几乎没遇到什么坑. 虽然这门语言不怎么维护更新了, 但是写写个人项目还是很爽.

    yuuko
        1
    yuuko  
       144 天前 via Android
    还是 ts 爽,爽就完了
    avastms
        2
    avastms  
       144 天前
    怎么说呢,曾经我也写 coffee, 但从来不会函数调用不带括号。

    也许 coffee 最适合的场景是测试

    无论怎样,比现在的 Vue React 之流,可读性是高多了,尤其是 React, jsx, 毫无可读性可言
    tanrunhao
        3
    tanrunhao  
    OP
       144 天前
    @yuuko ts 我实在不习惯, 年纪大学不动了. 不过现在的 js 开发体验确实友好很多, 在 vscode 上写代码有很多代码提示, 这些都是 ts 的功劳
    yuuko
        4
    yuuko  
       144 天前 via Android
    @tanrunhao ts 其实不用学,我就没怎么学过,ts 重构引用查找之类的很爽,即使不太熟悉的项目修改心里负担也没那么大。现在 js 提示即使好了很多,但也还是残废。
    murmur
        5
    murmur  
       144 天前
    ts 的问题是完全失去了 js 的自由,如果你写 anyscript 干嘛用 ts,喜欢强类型去做后端写 java 不更好,教科书一样的语法和配套 IDE
    tanrunhao
        6
    tanrunhao  
    OP
       144 天前
    哈哈, 怎么都变讨论 ts 了. 我没有实操过 ts, 但是有时候确实很不喜欢类型, 甚至也不喜欢 orm 层. 比如用 mongo 的时候, 搞一个 orm, 还不如直接去用关系型数据库. 完全失去了灵活性.
    shpkng
        7
    shpkng  
       144 天前   ❤️ 1
    歪个楼,Wechaty 这一套吃相是真的难看,文档稀烂,成天就是想让人花高价买 token
    Jirajine
        8
    Jirajine  
       144 天前 via Android
    不喜欢静态类型是个人偏好,不喜欢类型那就完全无法理解了。
    guoliim
        9
    guoliim  
       144 天前
    ES6 = instanceOf(CoffeeScript)
    hervey424840
        10
    hervey424840  
       144 天前
    现在去学 CoffeeScript 算不算 49 年入国军?
    yuuko
        11
    yuuko  
       144 天前
    @murmur 大佬,真的是无处不在,无处不杠,我喜欢
    tanrunhao
        12
    tanrunhao  
    OP
       144 天前
    @shpkng 我不觉得,wechaty 的 token 收费是高一点,数量大应该可以找他们谈吧。 毕竟服务器硬件要成本,而且 token 可以是不同供应商啊。 当然用来做个人项目就不太合适, 我这个机器人的试用 token 过期,就找找免费 web 协议的那个能不能用。
    tanrunhao
        13
    tanrunhao  
    OP
       144 天前
    @hervey424840 现在就不推荐学了, 我是把压箱底的玩具拿出来玩一下而已。
    shpkng
        14
    shpkng  
       144 天前
    @tanrunhao 200 一个月叫“高一点“的话只能说有钱确实不一样。wechaty 这套开源只开源了一个调 webrtc 的库,实际上真正的微信 api 一个都没有。那套 web 的协议可以说是完全没法用,除了最简单的仅基于对话消息的功能,其他任何东西都是不能用或者不可靠的,连用户 id 都取不到
    shpkng
        15
    shpkng  
       144 天前
    这种表面上说是开源框架,实际上开发者一定要付高额月费才能使用的,很难认同
    Immortal
        16
    Immortal  
       144 天前
    @shpkng #15
    Wechaty 开源的是一个 Puppet 抽象层 统一了对外的 API 而已
    核心 Puppet 才是具体实现,除了微信还能对接其他 IM,但有统一的 API 接口,这才是他想开源的东西 你理解错了
    tanrunhao
        17
    tanrunhao  
    OP
       144 天前
    @shpkng 你是不同意他们打着开源的旗号来卖 token 是这个意思吗?

    因为我观察微信的机器人市场, 要不自己硬件来模拟 ipad 和这 window 软件,这个不适合我这种新手。 要不都是花钱购买远端机器人托管服务,然后使用提供的 api 来开发。
    至于整体市场价格我不清楚,200 贵是相对其他供应商? 有没有便宜稳定的推荐一下。
    zxCoder
        18
    zxCoder  
       144 天前
    @murmur 同意 就是瞎折腾
    IvanLi127
        19
    IvanLi127  
       144 天前
    @murmur 失去自由就失去自由呗,你说这话是想限制别人的自由吗?
    jiyinyiyong
        20
    jiyinyiyong  
       144 天前
    缩进好缩进好, 我来安利另一个基于缩进的 compile-to-js language 了 https://github.com/calcit-lang/calcit_runner.rs/blob/main/src/cirru/calcit-core.cirru
    impl
        21
    impl  
       144 天前 via Android
    rails 还在用 coffee ?
    xemtof
        22
    xemtof  
       144 天前
    @impl 现在也可以用 Webpacker 了,ES6 之后 cofee 没落了,可惜啊,很好用
    tanrunhao
        23
    tanrunhao  
    OP
       143 天前 via Android
    coffee 的作者好几个项目都很不错 ,很有创意,只是后面发展都有更好的替代品。backbone.js underscore 的库也很好用 曾经都很火。
    msg7086
        24
    msg7086  
       143 天前 via Android
    写惯了 Ruby 的人写 Coffee 是真的舒服,我现在都特别想用 Coffee,只是公司项目肯定要考虑别人的感受,不能用。
    atpking
        25
    atpking  
       143 天前
    @impl rails 现在官方是推荐 es, 把 webpack 封装了下 搞了个免配置的 webpacker
    towry
        26
    towry  
       143 天前
    看着好难受,感觉积木要塌的样子
    apeople
        27
    apeople  
       143 天前
    不觉得这代码有什么可读性
    7075
        28
    7075  
       143 天前
    ts 是大势所趋
    tanrunhao
        29
    tanrunhao  
    OP
       136 天前 via Android
    又用 coffee 写了个机器人,也是 100 行左右。
    虽然是淘汰技术,不过感觉就是自己的小玩具,写这种小玩意起来得心应手
    https://v2ex.com/t/790651#reply4
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2298 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 14:47 · PVG 22:47 · LAX 06:47 · JFK 09:47
    ♥ Do have faith in what you're doing.