看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《ResolaQQ (ResolaQQ)》之銘言: : 問題(Question): : 因為實在無法喜歡 C 的 {} 和 ; : 所以想自己弄一個 translator,可以自動加上這些東西 : google 資料的時候看到 Haxe : 可以轉成 C、C++、C#、Java、JavaScript、Python、ActionScript 3 等多種語言 : 雖然他也是有 {} 和 ; : 但功能遠超過我所希望的 : 不曉得有沒有版友對這東西有心得? : 或是有沒有其他辦法可以寫 C 不用加 {} 和 ;? 使用這種相對冷門的語言,到需要第三方函式庫的時候就可能會碰到問題 以 Haxe 來說,如果 Haxe 的 standard library 和 third-party libraries 都無法滿足你,勢必要找其他的資源,可能是 C/C++ 的函式庫 該語言需要提供 C/C++ interface 讓你有機會引用更多函式庫 如果你有辦法自己拉 C/C++ library 來建立 Haxe 的套件 一些語法上的差異應該不會造成你的困擾才是 但是,在程式架構上多加一層 Haxe 程式碼,是不是真的有必要,可以再思考 以另一個語言的例子:CoffeeScript 來說 這個語言以類 Python 和 Ruby 混合的語法撰寫,語法上很優美 然後 CoffeeScript 的轉譯器幫你轉換成 JavaScript 程式碼 而且也自動解決許多 JavaScript 的 pitfalls 但是,真正的 CoffeeScript 原生的 libraries 不夠多 而且瀏覧器通常只接受 JavaScript 雖然可以偷塞 CoffeeScript 轉譯器在網頁中,但效率會受影響,較不建議 所以還是要找 JavaScript 的 libraries 時常寫 CoffeeScript 時,還是要找 JavaScript 的範例 然後再腦中轉換這個範例轉成 CoffeeScript 時如何使用 再用 CoffeeScript 轉譯器去轉成 JavaScript 不過,實際寫的時候,因為要一直思考轉換的過程,工作效率其實也不好 後來小弟我還是決定重讀一次「JavaScript the Good Parts」 努力練好 JavaScript 卡實在 一些個人想法,參考看看 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.1 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458891998.A.DD6.html
ResolaQQ: 感謝您的經驗分享,我先試一陣子再回頭看看有沒有同感 03/25 19:09
ResolaQQ: 我不是要拿來工作的,只是個人興趣想寫遊戲 03/25 19:09
ResolaQQ: 這語言的遊戲引擎就有很多種,範例也非常多,程式也不長 03/25 19:10
ResolaQQ: 看那本原文書裡面,libraries似乎也不少 03/25 19:12
ResolaQQ: 試過用找質數的程式測試效能,看來跟純C++的差距不大 03/25 19:15
ResolaQQ: 網路上的評價也非常好,自己試過感覺真的不錯,用的順手 03/25 19:16
ResolaQQ: 好在不是工作用的所以包袱少,大不了砍掉重來 03/25 19:18
ResolaQQ: 目前感覺有點像當年只會寫C++的時候看到Python驚為天人 03/25 19:20
ResolaQQ: 希望不是美麗的誤會,空歡喜一場 03/25 19:21
ronin728: 既然原po是在用SDL做遊戲,其實我推薦最Hardcore用純C/C 03/25 19:48
ronin728: ++做,這樣也比較好Debug。剩下的邏輯就包給Mruby/Lua來 03/25 19:48
ronin728: 做 03/25 19:48
Neisseria: 可以看看 Nuitka (a Python compiler),很有趣的專案 03/25 20:12
ResolaQQ: Nuitka的速度看起來跟PyPy半斤八兩耶,可能不是很適合我 03/26 20:41
ResolaQQ: 我看NME(Neko Media Engine)似乎也是包SDL的 03/26 20:44
ResolaQQ: 用純C/C++也是可以考慮,但我從以前就不太會使用C/C++ 03/26 20:47
ResolaQQ: Haxe的書看了八分之一,看起來設計是有特別加強效能沒錯 03/26 20:49
ResolaQQ: 到時候可能先弄個俄羅斯方塊試試,如果不行再說 03/26 20:50
chchwy: 的確 問題終究還是社群支援跟第三方庫 03/27 18:46
Neisseria: SDL 或 SFML 都蠻不錯的,可以考慮 03/27 20:43