Java8+的 OOP 含量似乎并没有高过它的 FP 的含量 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TWorldIsNButThis
V2EX    编程

Java8+的 OP 含量似乎并没有高过它的 FP 的含量

  •  1
     
  •   TWorldIsNButThis 2024-04-05 05:31:01 +08:00 1643 次点击
    这是一个创建于 553 天前的主题,其中的信息可能已经有所发展或是发生改变。
    阅读了一些关于 OOP 语言 smalltalk 的资料

    发现 OOP 对于 java 来说,仅仅是一个 a.b()的 notation 和把数据和函数定义在一起的 class 而已,所谓的 everything is an object 没有任何意义,完全是句空话。
    这就好像是说 java 其实是一门 FP 语言,因为它支持 higher order functions

    object 在 smalltalk 里是非常灵活、高度可交互的

    The basic idea of “object” is to invest a “full virtual computer” so it can provide useful services via messages in a machine independent way and with enough encapsulation to be safe against attack.

    This also means that everything can and should be an object because (a) a full virtual computer can simulate any other kind of thing, and (b) because this also allows objects to be self-defining, self-documenting, etc.

    对了作为高度可互动性的一部分,smalltalk 自然也支持 First-class functions

    这帮奉承又不是不能用哲学的、源自机械的死板的汇编的 C 语言的后代真是摧毁了一切富有生机的奇思妙想,而且还到头来还喜欢装模做样的用这些思想的闪光点装点自己的门面

    更装模做样的是明明就抄了个皮毛,反倒还规定起了 oop 的三大特性,什么封装继承多态,幽默

    还有更典的是那个 receiver ,如果只学过 C like 的所谓 oop 语言,很难理解为什么 a.b()里的 a 叫 receiver 。而在 smalltalk 里这叫向 a 发送一条 b 消息,a 自然就是消息的 receiver
    5 条回复    2024-04-09 10:38:48 +08:00
    ecnelises
        1
    ecnelises  
       2024-04-05 10:01:45 +08:00
    除开 Ruby 这类解释型动态语言不谈,Objective-C 显然更符合 Smalltalk 的理念。可惜的是除开其奇怪的语法,大多数人可能也没有多喜欢这种程度的动态性。
    lambdaq
        2
    lambdaq  
       2024-04-05 10:02:17 +08:00
    为什么 a.b()里的 a 叫 receiver 。而在 smalltalk 里这叫向 a 发送一条 b 消息,a 自然就是消息的 receiver

    发起消息的为啥是受,而不是攻?
    june4
        3
    june4  
       2024-04-05 10:28:07 +08:00
    那你说 smalltalk 里的发消息和 java 里的调用方法本质的差别是什么?
    zjsxwc
        4
    zjsxwc  
       2024-04-05 10:51:37 +08:00
    “封装、继承、多态”这套以及在最近的现代语言里被抛弃了,
    看看 go 、rust 这些谁还有用,

    “组合”优于“封装、继承、多态”
    poembre
        5
    poembre  
       2024-04-09 10:38:48 +08:00
    @zjsxwc “组合”优于“封装、继承、多态”
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1147 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:27 PVG 07:27 LAX 16:27 JFK 19:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86