本帖最後由 getwayhk 於 2016-3-17 09:21 編輯

我唔認同JAVA好out, 睇過hihihi123hk的例子, 都唔認同hihihi123hk話scale較易maintable, productivity高.

夾硬用CASE寫到亂曬大龍就係叫 少BUG,好講唔好聽你D CASE咁簡單的都己經看死人啦,你唔服的就投票以下CO ...
evec 發表於 2016-3-15 22:11


不過, 以事論事, hihihi123hk的isEven, isGreaterThan10例子的確較readable,testable,而且附合logic要self documenting原則.


如果你係我下屬, 見你咁寫我實ban 到你七彩, 點解?
如果要加 Payment method, 你點加?
你唯一可以做 ...
vichui 發表於 2016-3-15 23:57


我估hihihi123hk只係想比個簡單例子比較下個分別, 唔考慮extendable原則, 如果要考慮埋, 依個位唔關language問題,都唔係拆method咁簡單, 要program to Interface, 引入Strategy Pattern之類既design pattern.


利申: 唔知hihihi123hk的history係唔係成日無料鳩up個種人, 但老實講咁寫比好多香港所謂AP, SA都好

TOP

回覆 46# hihihi123hk

其實唔明的係你, Pattern Matching為何Scala獨有?
Scala 的Pattern Matching對programmer來真真正正的 Devil and angel, Petty but dangerous..
正正因為Pattern Matching看似簡單, 但實際複習, 真係 "Intuitive" ? 只是一種口號來的...
"Intuitive"?? 那Code stabilization去了那裡? 完全失!! 而你的Code 正好完美地示返了...!
而且你係好唔明 white Box test 點做, 只著眼自己的Code點寫可以少d..
更慘的是你了解OOP嗎? 真係唔明你唔會講得出咩要好多Nested If .....
Decomposition 同 Logical encasulation去左邊? 呢兩樣正正係可以幫你解決
1. Nested If 2. Code stable
我唔想俾Code你, 因為太冇意思,
一堆Code(係我習慣用一堆一堆去形容), 好唔好Maint., 係咪Readable唔係用多定少去決定...

TOP

Execution Console 係 basic 年代, 198x 年已有, 並唔係咩新奇發明.
印像中, 之後嘅 DBase (198x), Visu ...
seasky 發表於 2016-3-16 08:55


   
唔係架, IDE 只不過係幫助 Syntax highlighting + interactive mode (即係邊打邊 Compile )

事實上 Native 有 Scala console

例如
Brew install scala / apt-get install Scala

> scala (會進入 Scala Console mode)
> println("hello world")

無記錯, 去到 Java 9 先會有呢個功能

via HKEPC Ionic Reader v1.2.9 - iPhone

TOP

本帖最後由 hihihi123hk 於 2016-3-16 11:36 編輯

回覆 52# vichui


   
你講嘅野已經去到

Application design 嘅 Level

已經唔係
Same use case => Language comparison

說穿了,所有 Program descompose 到最後其實都係 case by case 咁做,你只不過係話將啲 Logic Encapsulate 去 Meaningful ways。

唔好意思,如果講 Application Design , 我寫 scala 就係可以將啲 Logic Design 得更加 Meaningful, 因為我多好多方法去 Archive,真係要比嘅話 Scala 嘅 OOP 比 Java 更加強大

不過如果你認為 Nested If 比較好 Main 嘅我都幫唔到你,
我知 「Java can only code in this way」

要記住 "只可能咁樣做" 唔代表一定係表達得最好

加上 Pattern matching 係 Fp 最基本嘅野,老早就出現,咁不如我用 F#?

Scala 就係 極致 OOP +極致 FP + On top of JVM + 100% compatible with Java project

呢個組合先係 衝擊到我嘅地方, 事關 JVM 好強大,好多 Profiling Monitoring 嘅 Tool 好幫得手,係揀 JVM Language嘅時候,Scala 真係絕佳

via HKEPC Ionic Reader v1.2.9 - iPhone

TOP

你呢樣係 parameter default, 其實早在 c/c++(198x, 199x 年代) 已有.

Java 1.0 係 design 時, 已認定咁 ...
seasky 發表於 2016-3-16 09:07


   
Default parameters 如果無 named parameters 搭配

的確會造成混亂,我十分同意。當年唔加入去 Java 都好合理。

但有咗呢兩個配搭, Design function 嘅時候會變得更完美

而家 Java 要寫同樣嘅野,正如我個例子,係 Java 我咪要 Overload 幾次 再 call 同一個 function

via HKEPC Ionic Reader v1.2.9 - iPhone

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

本帖最後由 hihihi123hk 於 2016-3-16 13:07 編輯
其實 Scala 仲有一點擔憂,

佢係 base on JVM 嘅直譯或語言, 而別一個 JVM 最常見嘅語言係 Java,
現今大部 ...
seasky 發表於 2016-3-16 11:59



    Compiled to JVM byte code , 理論上可以同 Java 一樣咁快, 至於佢入面點做我無深究,行得快唔快真係好睇 Scala Team 寫 Compiler 寫得好唔好

係 Compile 做 JVM  Byte code 會比較慢,因為 Scala 有好多 syntax + free style,亦係缺點之一

TOP