Re: [公告] 本板歡迎討論 Crystal 程式語言

看板Ruby作者 (Davy)時間7年前 (2017/02/26 20:58), 6年前編輯推噓9(902)
留言11則, 10人參與, 最新討論串2/2 (看更多)
: 推 david50407: 太好了XDD 順便求大家幫忙翻譯 tw.crystal-lang.org 02/22 13:44 : 小弟我不知道 Crystal 社群需要這個 : 可否寫個文章說明一下如何幫忙 : 搞不好大家可以見證一個新語言的成長 (挺) 其實一開始我是有打算跟著版工在板上 PO 一篇「用 Crystal 寫 Gem」的教學文的 (可是工作跟學業繁忙就(ry) 關於 http://tw.crystal-lang.org 的部份是 我在接觸了 Crystal 這個語言之後發現在臺灣玩的人好像很少, (或是還沒看到社群) 不過看到 Crystal-JP 日本的社群還滿活躍的,所以異想天開地就在 GitHub 上面 (一開始真的是異想天開想說自己有沒有機會也來帶起這個風氣(?) 開了一個 Organization 看能不能作為 Crystal Taiwan Users Group 的根據地, (網址在此: https://github.com/crystal-tw ) 裡面已經先拉了幾個也有興趣的朋友進去幫忙翻譯, 這邊先說說如果大家對於 Crystal 有興趣或是想幫忙貢獻翻譯的話, 這裡有幾個入門的方式給大家參考,先說說怎麼玩 Crystal: 首先是直接從中文入門文件開始看(就是等等我們要來翻譯的那個), 網址: http://tw.crystal-lang.org/docs/ 不過裡面也是部分翻譯而已,大部分的內容還是原文…… 然後對應原文版本的網址都是將 tw. 去掉就可以了 (例如中文頁面是 http://tw.crystal-lang.org/docs/installation/ 那麼原文網址就是 http://crystal-lang.org/docs/installation/ 照著裡面的安裝步驟就可以把 Crystal 裝起來, 如果你是想要自己編譯 Crystal 的,還是要請你先取得一個可以用的 Crystal binary 因為 Crystal 現在是自編譯的(用 Crystal 編譯 Crystal)。 最基本的 Crystal 用法有兩種,一個是直接執行,另一種是編譯成執行檔—— 假設我們現在有一個範例程式(hello_world.cr): puts "Hello, World!" 對的,Crystal 的語法跟 Ruby 有 87% 像呢,所以熟悉 Ruby 的同學可能會覺得我 胡嚨大家,怎麼會拿 Ruby 的程式來跑,但這的的確確是合法的 Crystal 程式哦 >.0 (一)直接執行的用法 $ crystal hello_world.cr Hello, World! $ 預設狀態下,Crystal 會將吃進來的程式碼編譯到 /tmp 下面存放並執行, 感覺就好像是直接執行 ruby xxx.rb 一樣,但在 Crystal 的世界裡面其實 一切都要先編譯過才會執行。 (二)編譯成執行檔的用法 $ crystal build hello_world.cr $ ./hello_world Hello, World! $ 當執行 crystal build 的時候,他只會進行編譯並產生一個同名的執行檔, 就像是我們跑 gcc xxx.c 一般,我們可以直接執行產生的執行檔而不需要安裝 Crystal 這邊關於 Crystal 更多的用法可能要之後我才有更多時間來板上跟大家多多介紹, 接下來是要進入正題——如果我想貢獻翻譯怎麼辦? 在 Crystal-TW 下面,分別有兩個 Repo,一個是首頁的倉庫,一個是入門文件的倉庫 https://github.com/crystal-tw/crystal-tw.github.io 是首頁的倉庫, 目前只有翻譯了首頁的部分,並在頁尾加上了 Crystal-TW 的相關資訊, 不過我希望有機會的話也能把原文站的 Blog 也翻譯過來,裡面的內容也是滿有趣的 這邊跟原文站用到的工具相同,都是 jekyll,可以直接在 GitHub Pages 上面 render 如果有興趣的同好可以幫忙翻譯看看 blog post 的地方…… 因為我現在主要注意的是入門文件的部分。 再來是 https://github.com/crystal-tw/docs 這部份就是前面大家看到的入門文件, 雖然我自己喜歡叫他入門文件,因為裡面的內容真的滿簡單的,也很基礎, 不過原文其實是直接叫 Docs 了,這部份是我有空就會翻譯, 然後基本上有 PR 就會 Merge,這邊用的工具是 Gitbook CLI(跟原文一樣) 這邊如果大家有興趣翻譯的話可以先看看 README.md 裡面有一些說明, 還有如果有任何的想法歡迎開 issue 出來討論或是在 Crystal-TW 的 Gitter 上面討論 大家可以 fork 回家,然後改好之後送 PR 到 master branch, 不是 gh-pages 哦,Travis CI 會在 master 有變動的時候跑 gitbook build 出 static pages 並 commit 到 gh-pages,所以大家只要安心的送 PR 到 master, 網站就會更新了! (這部份是參考原來 Crystal 跟 Crystal-JP 的設計,如果有更好的方法歡迎提供 :D) 然後基本上最小的要求就是可能要符合 README.md 上的要點,如果你覺得哪裡做的不夠好 歡迎直接上來討論 <(_ _)> 最後你可能會問,那 API 文件呢?需不需要翻譯? 因為目前 API doc 是根據 Crystal 原始碼自動產生的,我個人是覺得不太好 sync 但如果有人有興趣的話我們也可以一起來討論, 另外就是因為我最近比較忙一點點點點,所以如果有勇者可以來幫忙維護 PR 品質的話 我也絕對可以給你 Organization 的權限XDDDD" 最後的最後,Crystal 其實是很好玩的,不過還有些 Stdlib 還在改進中, 如果大家有空有機會有想法也可以在官方的 repo 開 issue 跟大家討論 不過 Crystal 是在阿根廷誕生的,所以大部分的作息剛好跟臺灣相反,請大家有耐心 我個人比較關注的 issue 是跟類別繼承有關的還有 Windows porting 的部分, (對,還沒有 Windows 版) 我覺得這個語言還滿有趣的,所以也可以私下來找我討論XDDD 大概就是這樣了,謝謝大家(鞠躬) BTW, 歡迎阿公揪阿爸、樓頂揪樓腳、大家一起來推廣 Crystal XD -- Crystal-TW: https://github.com/crystal-tw Gitter: https://gitter.im/crystal-tw/crystal-tw.github.io -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.26.84 ※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1488113920.A.EFA.html

02/26 21:08, , 1F
推推
02/26 21:08, 1F

02/26 21:09, , 2F
推 Crystal,跟 Ruby 有 87% 相似
02/26 21:09, 2F
有些地方不太一樣啦,例如沒有全域變數($)、同樣功能的方法不會有多個命名(alias) 容器(如 Array、Hash 等)進行空白宣告的時候要指定元素型別、 或是有為了加速而出現的靜態陣列(StaticArrayBitArray)或是 Tuple 之類的XDDDD ※ 編輯: david50407 (114.33.26.84), 02/26/2017 21:15:22

02/27 01:41, , 3F
QQ 抱歉我掛group卻還沒commit(?
02/27 01:41, 3F

02/27 01:41, , 4F
不要跟我搶"用 Crystal 寫 Gem"(X
02/27 01:41, 4F
有人寫的話最棒惹 ヾ( * ∀ * )ノ 不會跟你搶XD

02/27 07:38, , 5F
推Davy
02/27 07:38, 5F
※ 編輯: david50407 (114.33.26.84), 02/27/2017 14:36:24

02/27 17:53, , 6F
推推(=゚ω゚)ノ
02/27 17:53, 6F

02/27 21:21, , 7F
推Davy
02/27 21:21, 7F

02/28 19:33, , 8F
圍觀推 Davy
02/28 19:33, 8F

03/04 01:17, , 9F
03/04 01:17, 9F

03/15 07:07, , 10F
超酷的! 有效能比較嗎?
03/15 07:07, 10F
這裡有人做了簡單的 Benchmark https://github.com/kostya/benchmarks 你可以參考看看 還有如果想作 web server 的話,這裡有簡單的 golang/nodejs/crystal 比較 http://blog.seraum.com/crystal-lang-vs-nodejs-vs-golang-vs-http-benchmark 當然上面的都不是最新版本,所以如果想知道目前現況的話可以拉測試腳本下來自己跑哦 ※ 編輯: david50407 (140.115.204.31), 03/21/2017 20:45:40

06/15 20:25, , 11F
Elixir邊緣人
06/15 20:25, 11F
幫 QQ 啊不是 我是說 幫推個 ※ 編輯: david50407 (220.134.184.214), 06/22/2017 02:05:03
文章代碼(AID): #1Oij40xw (Ruby)
文章代碼(AID): #1Oij40xw (Ruby)