• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lsk569937453
V2EX  ›  程序员

学完 Java 和 rust 再学 cangjie 有种割裂感。。。。

  •  
  •   lsk569937453 · Jul 2, 2024 · 5748 views
    This topic created in 858 days ago, the information mentioned may be changed or developed.

    cangjie 的第三方 redis-sdk 已经发布:https://gitcode.com/Cangjie-TPC/redis-sdk/overview 很多语法看起来很蛋疼,比如:

    from std import collection.ArrayList
    private static let transactionCommandsBuilder = TransactionCommandsBuilderImpl()
    public class HostAndPort <: Equatable<HostAndPort> & Hashable & Comparable<HostAndPort> & ToString {}
    public operator override func <=(other: HostAndPort): Bool {}
    public enum ProtocolVersion <: Hashable & Equatable<ProtocolVersion> {}
    public static func unwrapToNillableAnySimpleType(redisMessage: RedisMessage): ?Any {}
    
    21 replies  •  2024-07-04 19:27:10 +08:00
    akin520
    akin520
    Jul 2, 2024
    1
    一眼看去,像 py 又像 JAVA
    kile
    kile
    Jul 2, 2024
    2
    更像 kotlin
    所有新语言以及老语言的新版本都天下一大缝

    习惯就好
    seanzxx
    seanzxx
    Jul 2, 2024 via iPhone
    3
    那个&符号看着眼熟,上一个这么写的应该是 typescript
    kennylam777
    kennylam777
    Jul 2, 2024
    4
    Cangjie 對我來說就是輸入法....
    Leviathann
    Leviathann
    Jul 2, 2024
    5
    Scala 用 <: 表示类型约束里的 upper bound ,比如 class Home[P <: Person]

    不过声明类的时候还是用的 java 那套 plain old notation ,extends A, B, C 那种

    看起来在声明 class 的时候也用 <: 确实比老气的 extends 好看些

    另外 scala3 也有 intersection type ,其实声明 class 的 intersection type 没什么特别的,就是 plain old 的多继承/实现换了个皮,看起来一致性更好些
    whileFalse
    whileFalse
    Jul 2, 2024 via Android
    6
    @akin520 py 没有这么多屁话。真的很烦 java 代码,一大片过去了啥功能没实现
    weijancc
    weijancc
    Jul 2, 2024❤️1
    7
    为了跟其他语言区分还把 from 和 import 给颠倒了, 这点就很 low 了, 显得 from 的包才是主角, 如果包名很长都注意不到 import 了什么东西
    baozijun
    baozijun
    Jul 2, 2024
    8
    @whileFalse #6 那你可能会更讨厌 TS 体操。。
    AV1
    AV1
    Jul 2, 2024❤️1
    9
    @weijancc
    我觉得先写包名才符合逻辑。像 JS 那样,得先写
    import { 留空 } from 'package'
    再把光标移到留空位置才有自动提示。

    不过我也不喜欢 python 的方式,
    from package import xxx
    import xxx
    如果两种导入方式同时出现,一个以 import 开头,一个以 from 开头,不统一。

    我觉得最好的是 dart ,
    import 'package'
    import 'package' show xxx
    import 'package' hide xxx
    import 'package' as xxx
    都是以 import 开头,都先写包名。
    FightPig
    FightPig
    Jul 2, 2024
    10
    @weijancc 你意思 python 很 low ?
    FlashEcho
    FlashEcho
    Jul 2, 2024
    11
    @DOLLOR from xxx import yyy 对传统 ide 比较友好,但是有 copilot ,import yyy 很多时候也能直接自动补全,都无所谓了
    yemoluo
    yemoluo
    Jul 3, 2024
    12
    缝合啊,不然人家会说从哪个语言抄来的
    weijancc
    weijancc
    Jul 3, 2024
    13
    @FightPig python 我确实觉得很 low, 以前用过一段时间用来写脚本, 现在已经全面转向 NodeJS 了
    vacants
    vacants
    Jul 3, 2024 via iPhone
    14
    @weijancc 补全也不方便,TypeScript 写完 import xxx 一个 tab IDE 自动推导并补全从哪个包倒入,这个还得先写完前面的,效率就低了
    ryanking8215
    ryanking8215
    Jul 3, 2024
    15
    为什么是割裂感,不应该是老乡感么?
    exiledkingcc
    exiledkingcc
    Jul 3, 2024
    16
    编译器要注册才能下载的编程语言,不会有什么前途的。
    whileFalse
    whileFalse
    Jul 3, 2024 via Android
    17
    @baozijun 是的。其实我对 ts 最不满的地方在于,它不提高性能。
    python 的类型支持也不提高性能,但是 python 类型是可选的。
    wsseo
    wsseo
    Jul 3, 2024
    18
    @exiledkingcc 主要是还没完善,有 bug ,放出来怕啪啪打脸。
    exiledkingcc
    exiledkingcc
    Jul 3, 2024❤️2
    19
    @wsseo 这种心态能搞得好?现在新的编程语言哪个不是社区建设?像这种藏着掖着的,何必在它上面浪费时间?另外,想一想几年前的吹得牛逼轰轰方舟编译器,现在在哪里?
    dif
    dif
    Jul 4, 2024
    20
    pyva / jathon
    ychost
    ychost
    Jul 4, 2024
    21
    这语法一言难尽
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1538 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 01:24 · PVG 09:24 · LAX 17:24 · JFK 20:24
    ♥ Do have faith in what you're doing.