V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lsk569937453
V2EX  ›  程序员

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

  •  
  •   lsk569937453 · Jul 2, 2024 · 5118 views
    This topic created in 670 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
        1
    akin520  
       Jul 2, 2024
    一眼看去,像 py 又像 JAVA
    kile
        2
    kile  
       Jul 2, 2024
    更像 kotlin
    所有新语言以及老语言的新版本都天下一大缝

    习惯就好
    seanzxx
        3
    seanzxx  
       Jul 2, 2024 via iPhone
    那个&符号看着眼熟,上一个这么写的应该是 typescript
    kennylam777
        4
    kennylam777  
       Jul 2, 2024
    Cangjie 對我來說就是輸入法....
    Leviathann
        5
    Leviathann  
       Jul 2, 2024
    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
        6
    whileFalse  
       Jul 2, 2024 via Android
    @akin520 py 没有这么多屁话。真的很烦 java 代码,一大片过去了啥功能没实现
    weijancc
        7
    weijancc  
       Jul 2, 2024   ❤️ 1
    为了跟其他语言区分还把 from 和 import 给颠倒了, 这点就很 low 了, 显得 from 的包才是主角, 如果包名很长都注意不到 import 了什么东西
    baozijun
        8
    baozijun  
       Jul 2, 2024
    @whileFalse #6 那你可能会更讨厌 TS 体操。。
    AV1
        9
    AV1  
       Jul 2, 2024   ❤️ 1
    @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
        10
    FightPig  
       Jul 2, 2024
    @weijancc 你意思 python 很 low ?
    FlashEcho
        11
    FlashEcho  
       Jul 2, 2024
    @DOLLOR from xxx import yyy 对传统 ide 比较友好,但是有 copilot ,import yyy 很多时候也能直接自动补全,都无所谓了
    yemoluo
        12
    yemoluo  
       Jul 3, 2024
    缝合啊,不然人家会说从哪个语言抄来的
    weijancc
        13
    weijancc  
       Jul 3, 2024
    @FightPig python 我确实觉得很 low, 以前用过一段时间用来写脚本, 现在已经全面转向 NodeJS 了
    vacants
        14
    vacants  
       Jul 3, 2024 via iPhone
    @weijancc 补全也不方便,TypeScript 写完 import xxx 一个 tab IDE 自动推导并补全从哪个包倒入,这个还得先写完前面的,效率就低了
    ryanking8215
        15
    ryanking8215  
       Jul 3, 2024
    为什么是割裂感,不应该是老乡感么?
    exiledkingcc
        16
    exiledkingcc  
       Jul 3, 2024
    编译器要注册才能下载的编程语言,不会有什么前途的。
    whileFalse
        17
    whileFalse  
       Jul 3, 2024 via Android
    @baozijun 是的。其实我对 ts 最不满的地方在于,它不提高性能。
    python 的类型支持也不提高性能,但是 python 类型是可选的。
    wsseo
        18
    wsseo  
       Jul 3, 2024
    @exiledkingcc 主要是还没完善,有 bug ,放出来怕啪啪打脸。
    exiledkingcc
        19
    exiledkingcc  
       Jul 3, 2024   ❤️ 2
    @wsseo 这种心态能搞得好?现在新的编程语言哪个不是社区建设?像这种藏着掖着的,何必在它上面浪费时间?另外,想一想几年前的吹得牛逼轰轰方舟编译器,现在在哪里?
    dif
        20
    dif  
       Jul 4, 2024
    pyva / jathon
    ychost
        21
    ychost  
       Jul 4, 2024
    这语法一言难尽
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   975 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 23:41 · PVG 07:41 · LAX 16:41 · JFK 19:41
    ♥ Do have faith in what you're doing.