作者LaPass (LaPass)
看板java
標題Re: [新聞] Twitter 改用 Java/Scala 之後...
時間Tue Nov 20 17:16:31 2012
1F:→ PsMonkey:EL 讓你可以在 Java 上頭寫 dynamic type language 11/20 15:27
2F:→ PsMonkey:Scala 可以讓你在 Java 上頭寫 funcational language 11/20 15:28
3F:→ PsMonkey:你說普通,那放大絕:所有東西都輸出成 0 跟 1 超無趣 11/20 15:29
4F:→ lovdkkkk:可以把 function 放到陣列裡面之類的... 11/20 15:33
5F:→ lovdkkkk:coding_time/3, compiling_time*3 這樣 11/20 15:35
6F:推 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
7F:推 lovdkkkk:基本上不太需要重學...有點像 js style java 11/20 17:43
8F:→ mars90226:Groovy、Scala,這些都可以想成新程式語言,只是用JVM跑 11/20 18:33
9F:→ qrtt1:如果只是單純觀望是可惜的,沒有得到神髓,只有多了點偏誤. 11/20 21:48
10F:推 chchwy:沒寫過動態語言你才會覺得Java太高階 11/20 21:52
11F:推 PsMonkey:我寫了 JS 之後覺得 Java 真是低階的好 11/20 21:59
12F:→ LaPass:orz.... 寫過JS但是一直對JS沒有FU 11/20 22:56
13F:推 lovdkkkk:五樓中肯... 11/20 23:56
14F:→ iFEELing:說到低階 C語言就笑了 11/21 00:36
15F:→ LaPass:要深入的話,比起往上學Lua、JS之類的,我寧可往下學C.... 11/21 00:56
16F:→ LaPass:上下兩邊我都不會....只跑過範例,沒拿來幹什麼大事過 囧 11/21 00:59
17F:推 changyuheng:Scala 是 functional lang,一點也不普通。 11/21 05:41
18F:→ LaPass:到底是為什麼會覺得function lang不普通.....? 11/21 13:31
19F:→ SansWord:為了一個 function 新增一個 class, Java 這樣做很不正常 11/24 03:48