Web dev 討論區 [1]

ぱないの

359 回覆
29 Like 2 Dislike
皇帝雞汁 2024-06-05 11:06:19
例如呢
本身web唔係就係黎黎去去差唔多咩
天蠍座 2024-06-05 11:46:10
Atwood's law:
Any application that can be written in JavaScript, will eventually be written in JavaScript.
諸如此類 2024-06-05 19:28:45
except js compiler
不寫程式的程式員 2024-06-05 21:30:39
一般都認為nodejs唔適合做CPU intensive既task
所以自己想全面D就應該學多一種high performance既黎language黎互補
赤色幽默 2024-06-07 22:30:04
js/ts轉寫spring boot路過
寫咗幾個月又唔覺得好verbose
一來有lombok同唔同annotation
省卻咗好多boilerplate
二來大型少少嘅project其實用咩language都係類似controller-service-repository咁分返開layer
唔係java獨有

functional嘢java 8已經有啦
list.stream().map().flatMap().peek().toSet()任你點chain
first class function (類似js callback), currying, monad又有

反而而家望返typescript
覺得個type system搞到勁複雜
幾十種utility types
可能佢唔想完全抹殺js嘅彈性啦
變咗好多唔同嘅case要cater
皇帝雞汁 2024-06-08 18:57:24
唔使我打幾句就assume我background既
我曾經都好迷oop
會睇oop書 design pattern書
又跟coding principle
將d logic分好晒class咁
只不過fp更加說服倒我
特別係declarative programming
Focus on definition input / output
而唔係how
我寫出黎既野更加易follow
你唔係一行行咁睇code
而好多時睇input output type
同埋條function既definition
例如map / reduce / pipe
就估倒發生緊咩事
早排有睇過下Haskell
而家主要睇scala同effect-ts
唔知呢d係咪你口中既寫壞手啦
如果你覺得係既
只可以話世界好大
唔係得你嗰套先係"啱"既
皇帝雞汁 2024-06-08 19:05:10
我又真係冇為意你講既java8野
諗住仲係要慢慢initialize data structure
然後用loop黎填滿佢

但我講下其他verbose既位
例如要諗邊d private method要encapsulate
(which functional好多時唔使
你寫immutable野根本唔怕人地用你條method)
然後又要handle null case
(一黎java冇null safety
二黎以我理解functional programming基本上可以唔用null)
醉愛正妹 2024-06-08 19:46:13
要出去撈data嘅program可以點樣唔使handle null case
皇帝雞汁 2024-06-08 20:52:47
我講緊你java每條method都要check if input == null跟住throw wo
同埋functional programming應該係用option type?
然後你個monad一路map落去
最尾先寫返點handle
(有錯勿屌)

同埋我而家ts call api
都係直接zod parse一次
有null佢直接throw
我唔知java有冇類似既做法
無0.5郎 2024-06-09 00:10:57
lomlok 依家有nonnull annoation
可以放係record/dto 到 check
赤色幽默 2024-06-09 00:34:31
你寫immutable野根本唔怕人地用你條method

又唔係咁講嘅
加access modifier唔係因為冇immutability所以驚fields/methods俾人用
而係本身就唔洗expose晒所有implementation details俾人知
expose越多,被misuse嘅機會越大
有冇immutability都係咁話

至於null value
functional programming我唔太熟唔敢講
但java有monad其實都算方便了
有得寫Optional.of(value).orElse(default)
validation大把annotation可以用
加喺dto/entity class度就搞掂
黃川人 2024-06-09 10:46:08
各有各好
OO主要既問題係啲人嘢複唔複雜都encapsulation

樣樣嘢都覺得將來會extend
事實上真係extend就發現個abstraction既方向唔啱

functional麻煩在拆到啲嘢太散,要用好多技巧去填補immutable既memory bloat
ぱないの 2024-06-10 03:54:48
encapsulate 唔一定要OOP先做到,不過以前無咁多language選擇,而java/c#/obj c崛起令class稱霸一時,所以變左多數人淨係識喺oop用closure

js es6有class去簡化左function+prototype嘅用法,但其實closure+getter/setter 一樣可以做到,到頭來都係睇下你用嘅language offer咩比你,就好似golang無class概念,逼你compose, 咁大家咪唔用class

你講嘅問題應該係premature abstraction, 就算唔係oo, 格硬將d function抽出黎都係同樣
駐連燈首席美軍 2024-06-14 22:58:33
我都覺得functional programming嘅code易follow好多
一睇output就知啲嘢點駁好

反而oop好多時要trace好多嘢(尤其有啲class inheritance好多層)
IT狗的自我修養 2024-06-15 06:37:51
我自己覺得
OOP 最大問題
話就話好多 concept 根深蒂固
但其實好多人
唔係好明白背後要咁做既原因

亂咁 apply 落唔同地方
覺得咩都要 design pattern
覺得少少重覆都要抽做 reuse
講得有 design pattern 同OOP 就會打爆機
重未計啲反智既 abstraction 同 OOP design

講真依家啲野
好明顯已經無以前咁 strict
套套 language even java 咁保守
都好明顯融合左其他 concept
IT狗的自我修養 2024-06-15 06:44:55
因為 spring boot 係集合左前人好多年既經驗
一套簡單易用少少既 framework

你試下寫下傳統個啲 J2EE servlet
你一定屌出聲
赤色幽默 2024-06-16 12:55:32
係嘅
但樓上巴打講嘅係typescript嘛
apple to apple咁比用spring boot合適啲

但如果真係比較J2EE servlet個時期
就要睇下係咪早到JS連jquery都未有
如果冇jquery我諗我都可能情願寫java。。。
ぱないの 2024-06-17 17:56:31
聽過有人話java developer 會覺得隨便define 一個function 會好唔順眼 一定要搵個class裝住
れんげ 2024-06-17 20:04:26
唔係寫開oop,不過寫oop個陣都會覺得咁樣用static個陣好似好有罪惡感咁
算子代數 2024-06-21 17:18:21
寫fp會唔會有時一段算法嘅時間/空間複雜度唔明顯?
因為我記得睇過用naive方法喺haskell寫quicksort個複雜度會差好多,而正確寫法並唔明顯(搵唔返個reference )
Pacific_Rimjob 2024-06-22 00:14:02
有冇人知android工有冇前途 香港難唔難搵初階工 (~2 year)
利申公司寫過react native project 要駁埋啲native android code 同 ios code
覺得專寫native好似pro啲 第時想移民都易啲

reactweb angular vue 都掂過下 無前途做番web算
れんげ 2024-06-22 11:29:52
android native俾狗寫 用過一次永世難忘
如果唔係performance focus或者要到ios/android system feature嘅話應該多數公司都係react native/flutter
黃川人 2024-06-22 16:56:44
abstraction點先叫mature?
本身就係prediction喎
黃川人 2024-06-22 17:01:08
難在唔明咩叫pattern
pattern既意思就係有一定既重覆

好大型既系統做encapsulation有好既地方
減少cognitive load

唔好既地方係核心code有bug就要花更多時間理解

我個人做比較大型enterprise project同會用一段幾長既時間(十年以上)偏好oo
如果個底一開始無嘜人用就functional
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞