→ PsMonkey:EL 讓你可以在 Java 上頭寫 dynamic type language 11/20 15:27
→ PsMonkey:Scala 可以讓你在 Java 上頭寫 funcational language 11/20 15:28
→ PsMonkey:你說普通,那放大絕:所有東西都輸出成 0 跟 1 超無趣 11/20 15:29
→ lovdkkkk:可以把 function 放到陣列裡面之類的... 11/20 15:33
→ lovdkkkk:coding_time/3, compiling_time*3 這樣 11/20 15:35
推 LaPass:我自己是寫個統一的介面去處理這種問題....所以感覺沒差... 11/20 15:38
之前剛從C#轉到JAVA的時候,找過類似delegate之類的東西
在C#中,可以把一個Method存進delegate變數中來用
在java中沒這種東西
那時候就想找替代方法去做到這件事
在找的過程中,在板上爬文時
看到有人也在找類似的功能,只不過他是在找類似function pointer的東西
那,看到他的解法是這樣
interface IAcetion{
void invoke();
}
有什麼想執行的方法,包進去,當成變數傳出去就可以了
如果是有參數的,就用
interface IAcetionT1<Tin1>{
void invoke(Tin1 arg1);
}
interface IAcetionT1<Tin1,Tin2>{
void invoke(Tin1 arg1,Tin2 arg2);
}
......
如果需要傳回值的話
interface IFunc<Tout>{
Tout call();
}
......
想要用閉包的話
直接寫個匿名物件繼承IFunc傳回去就可以了
然後,我實在搞不懂
Java跟C#已經夠高階了
為什麼還要生個新語言去產生Java、C#? orz....
不知道我的理解有沒有錯誤
Scala是一個新的語言,他最後的結果是生成Java Code
也就是說..... 得重新學一遍
然後,我覺得普通,這算個人觀感吧?
因為最近突然紅起來、冒出來的語言跟Framework真的好多.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.16.65
推 lovdkkkk:基本上不太需要重學...有點像 js style java 11/20 17:43
→ mars90226:Groovy、Scala,這些都可以想成新程式語言,只是用JVM跑 11/20 18:33
→ qrtt1:如果只是單純觀望是可惜的,沒有得到神髓,只有多了點偏誤. 11/20 21:48
推 chchwy:沒寫過動態語言你才會覺得Java太高階 11/20 21:52
推 PsMonkey:我寫了 JS 之後覺得 Java 真是低階的好 11/20 21:59
→ LaPass:orz.... 寫過JS但是一直對JS沒有FU 11/20 22:56
推 lovdkkkk:五樓中肯... 11/20 23:56
→ iFEELing:說到低階 C語言就笑了 11/21 00:36
→ LaPass:要深入的話,比起往上學Lua、JS之類的,我寧可往下學C.... 11/21 00:56
→ LaPass:上下兩邊我都不會....只跑過範例,沒拿來幹什麼大事過 囧 11/21 00:59
推 changyuheng:Scala 是 functional lang,一點也不普通。 11/21 05:41
→ LaPass:到底是為什麼會覺得function lang不普通.....? 11/21 13:31
→ SansWord:為了一個 function 新增一個 class, Java 這樣做很不正常 11/24 03:48