V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pythonee
V2EX  ›  程序员

第一次接触会觉得比较有意思的编程技术

  •  1
     
  •   pythonee · 2020-09-29 08:24:10 +08:00 via iPhone · 10435 次点击
    这是一个创建于 1550 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • Lisp 宏
    • 生成器,无限
    • 闭包
    • Monad
    • Stackless
    • 协程
    • 元编程
    • Lambda 演算,函数也是值

    垃圾回收反倒第一次没感觉,后面才觉得挺难的

    第 1 条附言  ·  2020-09-29 14:48:33 +08:00
    对了,忘了递归
    第 2 条附言  ·  2020-09-30 10:35:22 +08:00
    内存模型、内存屏障
    第 3 条附言  ·  2020-09-30 10:44:52 +08:00
    脚手架
    0x5f3759df,各种魔数
    javascript
    第 4 条附言  ·  2020-09-30 14:07:04 +08:00
    无状态
    (伪)分布式数据库
    CAP 、ACID
    MVCC
    70 条回复    2020-09-30 16:08:58 +08:00
    maxxfire
        1
    maxxfire  
       2020-09-29 08:38:43 +08:00 via iPhone   ❤️ 4
    汉语编程
    alan0liang
        2
    alan0liang  
       2020-09-29 08:42:05 +08:00 via Android
    类型系统,Formal Verification
    Phariel
        3
    Phariel  
       2020-09-29 08:51:22 +08:00   ❤️ 1
    JavaScript 的 prototype 链 十几年前第一次学觉得好神奇
    airplayxcom
        4
    airplayxcom  
       2020-09-29 08:54:15 +08:00 via iPhone
    文言文编程 了解一下?
    Cooky
        5
    Cooky  
       2020-09-29 08:59:16 +08:00 via Android
    垃圾回收给很多垃圾开发指了条活路
    chiu
        6
    chiu  
       2020-09-29 09:09:34 +08:00
    反射机制
    Jirajine
        7
    Jirajine  
       2020-09-29 09:10:26 +08:00 via Android
    pattern match
    lower
        8
    lower  
       2020-09-29 09:22:23 +08:00   ❤️ 2
    递归 算么?
    no1xsyzy
        9
    no1xsyzy  
       2020-09-29 09:25:59 +08:00
    尾递归

    话说第一次看到闭包最难理解的部分是:难道不是这样吗?
    因为当我接触编程的时候 dynamic scope 早已经淘汰得差不多了,不是很确定,但我记得千禧年过后基本只有 emacs 还是动态作用域。
    xkzhangsan
        10
    xkzhangsan  
       2020-09-29 09:29:06 +08:00 via Android
    scratch,感觉挺有意思的
    Ginray
        11
    Ginray  
       2020-09-29 09:36:49 +08:00
    Dancing Links
    exceldream
        12
    exceldream  
       2020-09-29 09:40:59 +08:00 via Android
    觉得都很有意思 都很想学 感觉精力不够
    Wincer
        13
    Wincer  
       2020-09-29 09:45:00 +08:00 via Android   ❤️ 1
    学了 c 几个月后第一次接触 python,原来函数也可以当做参数传给另一个参数,也可以作为返回值返回
    lower
        14
    lower  
       2020-09-29 09:50:13 +08:00   ❤️ 1
    @Wincer c 语言学了指针之后,应该就不会有这种困惑了吧
    owenliang
        15
    owenliang  
       2020-09-29 09:51:24 +08:00 via Android
    erlang
    nutting
        16
    nutting  
       2020-09-29 09:56:02 +08:00
    注解,回调,反射
    zpfhbyx
        17
    zpfhbyx  
       2020-09-29 09:57:17 +08:00
    @nutting aop 么。。
    lxfxf
        18
    lxfxf  
       2020-09-29 09:58:42 +08:00
    Monad, Either, EitherT
    oahebky
        19
    oahebky  
       2020-09-29 10:01:45 +08:00 via Android
    @Wincer

    太菜了,C 语言也可以这么干;

    而且是 C 语言“进阶”里面要学的比较“基本”的。

    -----

    不过你说只学了几个月 C 语言,那网友还能怎么样,只能原谅你这么说了。
    wind3110991
        20
    wind3110991  
       2020-09-29 10:11:56 +08:00
    Golang 的 go func 开协程
    wozhizui
        21
    wozhizui  
       2020-09-29 10:12:12 +08:00
    递归难道不算吗,还有 java 的注解、泛型等
    karott7
        22
    karott7  
       2020-09-29 10:13:38 +08:00
    @no1xsyzy 第一次听人说尾递归,我还以为是什么高深的技术,在 js 这边不就是高阶函数+递归的组合形式么
    acmore
        23
    acmore  
       2020-09-29 10:34:19 +08:00
    Prolog.
    aegon466
        24
    aegon466  
       2020-09-29 10:46:34 +08:00   ❤️ 1
    面向牢饭编程啊 老带劲了
    tlday
        25
    tlday  
       2020-09-29 10:47:08 +08:00
    @karott7 尾递归本来就不是高深的技术,但跟高阶函数+递归的组合形式也不太沾边。只是对函数调用栈有限这一限制条件的妥协。
    gimp
        26
    gimp  
       2020-09-29 10:47:15 +08:00   ❤️ 2
    Linux 的一切皆文件、管道
    crclz
        27
    crclz  
       2020-09-29 11:02:15 +08:00
    LINQ, ReactiveX
    InkStone
        28
    InkStone  
       2020-09-29 11:21:04 +08:00
    @karott7 尾递归是一种可优化的递归形式,跟你说的那些没有关系……
    wmhx
        29
    wmhx  
       2020-09-29 11:48:19 +08:00
    那肯定是 nodejs 了, 刚出来那会,看到新闻, 就是一句我操, js 要一统天下啊, 记得当时下还是 0.12 什么版本, 然后还去 jd 买一本书来学习, 不过真的很多鬼畜的用法也是挺开眼界的, 也才算知道 js 骚起来真是没边界啊.
    Wincer
        30
    Wincer  
       2020-09-29 12:03:27 +08:00
    @lower
    @oahebky 是啊,当时上课才上了几个月,别说指针了,结构体都不知道
    immango
        31
    immango  
       2020-09-29 12:12:18 +08:00 via Android
    并查集
    sillydaddy
        32
    sillydaddy  
       2020-09-29 12:20:50 +08:00 via Android
    那无疑是 Promise,async,await,协程这些啊,把状态机,回调函数统统甩开。太爽了啊。
    tuochenlyu
        33
    tuochenlyu  
       2020-09-29 12:27:55 +08:00 via iPhone
    Roslyn,写得眼花
    wanguorui123
        34
    wanguorui123  
       2020-09-29 13:09:18 +08:00
    反射
    Promise async await
    LINQ
    Lamda
    AOP
    javascript 中 __proto__与 prorotype
    javascript 中 call 、apply 、bind 、eval 、function
    C 中 FUN fun 动态执行机器码
    C#中 CodeDomProvider 动态执行源代码
    sugars
        35
    sugars  
       2020-09-29 13:11:01 +08:00
    函数柯里化 (Currying)
    arjen
        36
    arjen  
       2020-09-29 13:27:05 +08:00 via iPhone
    最近从 java 转到 clojure,赶紧挺有意思的
    no1xsyzy
        37
    no1xsyzy  
       2020-09-29 13:40:55 +08:00
    @karott7 是在符合某些条件的情况下递归可以被优化到只有一层调用栈。
    或者说是尾调用的特例,而尾调用就是指在特定条件下可以将函数调用优化成栈帧替换而不是叠加

    说白了是一种优化,而不是形式。
    将递归的空间复杂度降到 O(1)

    但实现这种优化缺点也很明显,会破坏调用栈,导致 debug 信息混乱。
    smallyu
        38
    smallyu  
       2020-09-29 13:48:31 +08:00
    动态规划(手动狗头)
    no1xsyzy
        39
    no1xsyzy  
       2020-09-29 13:50:45 +08:00
    倒是想起一个 call/cc
    no1xsyzy
        40
    no1xsyzy  
       2020-09-29 13:52:42 +08:00
    话说 lisp 宏是一种元编程吧
    encro
        41
    encro  
       2020-09-29 13:57:32 +08:00
    DK 编程真好玩 - 6 岁开始学 Scratch


    第一章:电脑游戏
    12 好游戏由哪些元素组成?
    14 游戏氛围
    16 游戏类型
    18 编程是怎么回事?


    女儿刚好 6 岁,我教了了第一章,然后做了一个《星星猎手》,然后她就自己欲罢不能了,现在我没空教她,就自己拿书啃。她居然会喜欢数独和 2048 游戏。
    SkyYu822
        42
    SkyYu822  
       2020-09-29 14:41:49 +08:00
    编排
    raaaaaar
        43
    raaaaaar  
       2020-09-29 14:52:29 +08:00 via Android
    我都挺好奇的,一切我所不懂,但是我想要知道背后原理的东西。。
    ChristopherWu
        44
    ChristopherWu  
       2020-09-29 15:22:04 +08:00
    elixir 的一切皆进程,交流全靠消息; 博大精深又简洁的 OTP,很早就有了分布式高并发高可用的概念。
    wangdashuai
        45
    wangdashuai  
       2020-09-29 15:22:38 +08:00
    光线追踪
    wangchonglie
        46
    wangchonglie  
       2020-09-29 15:41:48 +08:00   ❤️ 5
    正则, 学会之后发现自己对文本的处理轻松多了。
    northisland
        47
    northisland  
       2020-09-29 15:51:01 +08:00
    glog 里的 SIGSEGV handler,把炸库的原因打印出来
    bunnyxt
        48
    bunnyxt  
       2020-09-29 16:09:30 +08:00
    GraphQL
    rootzeal
        49
    rootzeal  
       2020-09-29 16:22:39 +08:00
    python 里面可以 import xxx ;xxx.yyy=ppp
    然后就可以 hack 一些东西了
    Jinnn
        50
    Jinnn  
       2020-09-29 17:18:21 +08:00
    vue 的响应式
    ruyu
        51
    ruyu  
       2020-09-29 18:22:27 +08:00
    没人提 Y-combinator ?
    ideacco
        52
    ideacco  
       2020-09-29 18:52:30 +08:00
    RxJs 眼前一亮
    imn1
        53
    imn1  
       2020-09-29 19:14:27 +08:00
    python
    1.装饰器,从开始就感兴趣,但一直用不好
    2.metaclass,同上
    3.bisect,我觉得这东西有更大用途,但目前还停留在手册的例子
    AllenHua
        54
    AllenHua  
       2020-09-29 19:40:43 +08:00
    aspect 切面
    RiceMarch
        55
    RiceMarch  
       2020-09-29 20:10:33 +08:00
    @smallyu 规的时候,常常感觉自己脑子不够用 哈哈哈哈
    i4color
        56
    i4color  
       2020-09-29 20:26:56 +08:00
    golang 语言。
    chenshun00
        57
    chenshun00  
       2020-09-29 20:45:43 +08:00
    写习惯 curl 发现还能用来写网关,还能用来做熔断,竟然还有 rx 这种东西,觉得有意思
    zsdroid
        58
    zsdroid  
       2020-09-29 20:57:18 +08:00
    php 的万物皆数组
    TypeError
        59
    TypeError  
       2020-09-29 21:00:21 +08:00 via Android
    并发编程,从进程线程到协程、goroutine 、actor
    Rever1e
        60
    Rever1e  
       2020-09-29 21:14:47 +08:00
    三个异或的交换
    vision1900
        61
    vision1900  
       2020-09-29 21:27:47 +08:00
    运算符重载
    RonY
        62
    RonY  
       2020-09-29 23:36:34 +08:00 via iPhone
    编译原理
    DoctorCat
        63
    DoctorCat  
       2020-09-29 23:46:20 +08:00
    E 语言也挺好,据说学习 E 语言的大神们很多人都买了不止一套房了
    msg7086
        64
    msg7086  
       2020-09-30 06:34:10 +08:00
    S I M D
    falcon05
        65
    falcon05  
       2020-09-30 07:38:26 +08:00 via iPhone
    正则表达式
    wangritian
        66
    wangritian  
       2020-09-30 09:11:41 +08:00
    位运算
    SuperM
        67
    SuperM  
       2020-09-30 10:08:37 +08:00
    人生苦短,当然是 python 了
    git00ll
        68
    git00ll  
       2020-09-30 12:46:39 +08:00
    NIO
    uxhc
        69
    uxhc  
       2020-09-30 14:16:43 +08:00
    内省
    liulilte
        70
    liulilte  
       2020-09-30 16:08:58 +08:00
    最先整起来特别特比的好玩,摸着良心,但是整多了就觉得这是个啥????大概就是这种感觉
    -------------------------------------------------------------------
    动态编程( emit )
    动态表达式树( expression )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5354 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:33 · PVG 15:33 · LAX 23:33 · JFK 02:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.