Re: [討論] scala未來的發展性

看板Soft_Job作者 (雪橘子)時間9年前 (2015/01/11 17:20), 編輯推噓23(23031)
留言54則, 24人參與, 最新討論串5/6 (看更多)
有點晚回覆, 非技術性把這篇洗回來 當時看到這篇時候就想回覆 只是當時有點忙 敝公司Vpon 大量使用Scala,當成主力開發 加入公司有三個月加上自己過去一年研究scala 來分享一下 不然技術語法,談談我自己為什麼自學scala然後愛上它 會學scala是因為前年去Twitter走走, 那邊的學長跟我說Twitter scala用很兇 Twitter剛出名的時候,是用RoR, 可是當時學長跟我說後端80%都改用scala了 他跟我說整個重構, 我當下聽到覺得 哇賽 重構代價很大, 到底為什麼Twitter原意付出這個代價? 促使我回國後開始掉入scala這個大坑 當時Twitter已經有上億用戶, 每天有數十億的message要處理 可想而知後端server壓力多大, message process分散式架構要做好很不容易 最終program問題還是回到performance 可是為什麼是scala? 這個我問過我主管,問他說C最快, 幹嘛用scala? 他跟我說要找到一個C寫得很好的高手太難,更何況是一個team 相對訓練員工寫scala,並寫好平行架構比較容易 這是一個用機器+金錢+平行framework來補足效能上的問題 對, scala是jvm語言,雖然可勝過script language 先天上跟c還是有差距 所以手段就是加機器來增加效能 回頭來看看scala, 我把它當作java進化版 科技業追求就是科技進步創新 物件導向這麼久了,難不成就到此為止? 我很好奇 所以開始研究這個2003才發明的語言 scala也不是多麼高明 他也不過是functional + oop的融合 還能變出什麼新把戲? 所謂的進步創新也是立基在過去的經驗上 所以該看看functional + oop是怎麼合作 話說我覺得很奇妙的是為什麼CS學校教育不把functional納入必修 更甚者有些大學根本沒有這課程, 只有oop 說說scala, 哪些地方很迷人 trait 比起interface更自由更彈性 implicit conversion 讓code看起來可讀性更高 隱藏很多細部實做, 讓人更容易理解運作邏輯 immutable variable 讓平行處理上更安全 pattern match 比起switch 做的邏輯控制更複雜(還更快!) anonymous function 簡潔 加上 akka framework 的actor, future 讓平行運算更容易且好debug 直白來說就是 很好寫 很好讀 很好維護 然後效能可以更快(平行處理) 回到原文的確語言百百種 任何一個語言都能做到任何事情 你也可以用javascript 寫一套OS 所以很多人都說看你需求用什麼語言 什麼語言適合做什麼事情之類的 我比較熱衷於倒過來看 透過這個語言對你來說,你學會了什麼,你看到了什麼未來? 更甚者你是否預見了什麼未來? 我覺得台灣科技業相對落後美國N年 美國都用爛了,台灣才可能只有兩三人在討論 當然這是跟市場還有商業有關 只是剛好我的公司願意嘗試新技術 主管都跟我說你去用啊, 用的好再跟我說 不好也要講 避免大家走冤枉路 這都是經驗累積 人才培養 公司成長 以至於軟體業的長遠發展 回到scala本身我讓看到program的視野 讓我體會平行處理要做好, 根本就不該有mutable state這種改死設定 了解透過設計來解決race condition,而非硬幹 相較於java的oop 它讓我看到oop更有彈性的應用 讓我更好奇再發展下去會變成怎樣 話說回到我本身 我退伍前很慌, 因為我只想找scala工作 可是台灣幾乎沒有, 剛好看到vpon有就去 好像沒太多選擇 但我待到現在的經驗就是 願意嘗試新技術的公司 那邊的人大多跟你合得來, 因為 大家熱於分享 每週五有吃吃喝喝的RD sharing 分享最近學到新技術 大家熱中幫你解問題 有問題夥伴搶著解 因為他比你更有興趣 大家熱衷工作 因為做的產品專案很棒很酷 台灣沒多少人在做 所以新技術就是在這樣的環境這樣的人才有辦法發展出來 我剛進來到現在就完成專案 也要open source自己的經驗 近來所學到所完成的勝過過去一年自己自幹的 這就是團隊 不要因為這個語言有多少工作而學習 而是看看這個語言能讓你看到多少未來而深入 最後別跟我說java 8 也有anonymous function 太晚拉!!!! 供給板上各位大大參考 有興趣討論scala相關的 比如spark 歡迎跟站內信 ※ 引述《zanyking (最後的六年級生)》之銘言: : ※ 引述《saieva (春江花朝秋月夜)》之銘言: : : 各位好: : : 小妹最近拿到一份offer, 工作內容以寫scala為主 : : 由於是畢業後的第一份工作,擔心未來出路會被侷限住 : : 畢竟scala還算稀有語言,寫法跟主流也不太一樣 : : 公司福利薪資還算中上,有點難為要不要試試看 : : 請問有人有不同見解可以讓我參考嗎?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.238.26 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1420968059.A.E10.html

01/11 17:32, , 1F
感動!幾乎能說服我自學Scala了,給推。
01/11 17:32, 1F

01/11 17:34, , 2F
感動! 幾乎能說公司用Scala了,給推
01/11 17:34, 2F

01/11 17:37, , 3F
感動!幾乎能說服台灣全部都去學scala了
01/11 17:37, 3F

01/11 17:40, , 4F
感動!幾乎確定 C 寫得好是難得的高手了 (?)
01/11 17:40, 4F

01/11 17:47, , 5F
動!幾乎要我左攻RoR 右攻Scala喇 XD
01/11 17:47, 5F

01/11 17:48, , 6F
感動!幾乎沒人跟我搶Haskell阿
01/11 17:48, 6F

01/11 18:54, , 7F
我不曉得programming languanges是不是CS的必修, 我上過
01/11 18:54, 7F

01/11 18:55, , 8F
Coursera上UW的PL, 有3/4是functional programming相關的
01/11 18:55, 8F

01/11 18:56, , 9F
1/2 standard ML, 1/4 Racket, 1/4 Ruby
01/11 18:56, 9F

01/11 19:05, , 10F
一般來說是必修 但是不多
01/11 19:05, 10F

01/11 19:11, , 11F
傳統觀念fun()是單獨程式,為了重複多用,才演生oop概念
01/11 19:11, 11F

01/11 19:12, , 12F
java才是oo的具現化系!真正的純物件導向,連微軟都想偷學
01/11 19:12, 12F

01/11 19:13, , 13F
就是obj.fun()或obj→fun()或obj::fun()
01/11 19:13, 13F

01/11 19:16, , 14F
jQuery到達極致[連鎖鏈放出系] : o.f(o).f(o).f(o)...
01/11 19:16, 14F

01/11 19:19, , 15F
我亂掰的,反正大致這樣啦
01/11 19:19, 15F

01/11 19:24, , 16F
基本上就是物件為主,然後→功能()隨便你去想,隨便你去寫
01/11 19:24, 16F

01/11 19:24, , 17F
還真的是亂掰 到底在扯些什麼..
01/11 19:24, 17F

01/11 19:27, , 18F
functional programming 是電腦科學理論的基礎
01/11 19:27, 18F

01/11 19:28, , 19F
把CS當成science的話 那functional programming絕對
01/11 19:28, 19F

01/11 19:29, , 20F
是必修 之所以沒有變成必修 是因為大家美其名叫
01/11 19:29, 20F

01/11 19:29, , 21F
computer science其實多數再教software engineering
01/11 19:29, 21F

01/11 19:29, , 22F
根本不把CS當science
01/11 19:29, 22F

01/11 19:30, , 23F
題外話 twitter最近不太樂觀 快倒了...
01/11 19:30, 23F

01/11 19:39, , 24F
functional programming 己經講很久了 f#也出很久了
01/11 19:39, 24F

01/11 19:39, , 25F
微軟還是推不起來
01/11 19:39, 25F

01/11 20:04, , 26F
java算純OO (?)
01/11 20:04, 26F

01/11 20:07, , 27F
所以是用了scala導致twitter快倒了..
01/11 20:07, 27F

01/11 20:26, , 28F
twitter如果倒了要改用什麼啊?
01/11 20:26, 28F

01/11 20:31, , 29F
不會倒吧 只會轉手給別人
01/11 20:31, 29F

01/11 20:37, , 30F
不可能倒吧...用戶多到滿出來,很多名人facebook是公關
01/11 20:37, 30F

01/11 20:37, , 31F
但是私人是用Twitter的
01/11 20:37, 31F

01/11 20:39, , 32F
球星、歌手、作家...真的撐不下去,Docomo、SoftBank
01/11 20:39, 32F

01/11 20:39, , 33F
應該很有興趣把他們吃下來
01/11 20:39, 33F

01/11 20:42, , 34F
原po怎麼不乾脆發一間貴公司的推坑文 XD
01/11 20:42, 34F

01/11 21:19, , 35F
就是標準的用台灣看世界啊 以為台灣少人在用推特就覺得
01/11 21:19, 35F

01/11 21:19, , 36F
全世界都是如此
01/11 21:19, 36F

01/11 21:33, , 37F
FP正在越來越紅中,大家快來跳坑
01/11 21:33, 37F

01/11 21:40, , 38F
推坑文有空來寫~最近趕data pipeline成果文章XD
01/11 21:40, 38F

01/11 21:40, , 39F
最近也開始玩haskell了
01/11 21:40, 39F

01/11 21:47, , 40F
推scala~
01/11 21:47, 40F

01/11 21:48, , 41F
說真的 Twitter 不是沒可能倒, 一直在虧錢又看不到方向
01/11 21:48, 41F

01/11 21:48, , 42F
用戶數不能吃啊
01/11 21:48, 42F

01/11 22:17, , 43F
01/11 22:17, 43F

01/11 23:44, , 44F
msn用戶也曾經上千萬戶吧?看看微軟自己怎麼丟了市場?
01/11 23:44, 44F

01/12 00:51, , 45F
話說我反而覺得Twitter的未來性比FB高,看看社群型態就知道
01/12 00:51, 45F

01/12 01:12, , 46F
你看到的只是人家企業比較負面新聞
01/12 01:12, 46F

01/12 01:12, , 47F
twitter做產品也不是說做什麼都成功
01/12 01:12, 47F

01/12 01:13, , 48F
要做一項成功的產品跟生意本就不是很容易的事
01/12 01:13, 48F

01/12 01:25, , 49F
twitter本來就不賺 沒錢就會倒/賣人 用戶數不是重點
01/12 01:25, 49F

01/12 01:26, , 50F
話說facebook有一部分是用haskell寫的 很難想像
01/12 01:26, 50F

01/13 12:02, , 51F
期待推坑文XD
01/13 12:02, 51F

01/16 21:10, , 52F
寫得好啊 讓我也對scala有頗高的興趣
01/16 21:10, 52F

01/19 14:50, , 53F
只好推 Haskell 了 http://goo.gl/OflaA5
01/19 14:50, 53F

01/20 20:27, , 54F
推分享!
01/20 20:27, 54F
文章代碼(AID): #1Kia1xuG (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Kia1xuG (Soft_Job)