有些事是毋庸置疑的。首先,它必須值得信賴。我不能把時間花在解決那些不是我形成的問題上。之前許多遊戲都是用flash來編寫的,然而如今 flash正在面向滅亡。我不想把沒必要要的時間花在把舊遊戲遷移到新平臺上。我想要的是製做新的遊戲。因此我須要一個我能夠自信地使用一段時間的平臺。一樣的,我想避免被綁定到一個特定的操做系統。理想的狀況下,我想選擇開發一個控制檯。所以,選擇一種編程語言最重要的是它是可移植的,而且支持可移植的庫。java
咱們對語言的見解程序員
我追求的最重要但不是必須的是它的簡單。我發現尋找語言特徵和它的聰明和古怪的api是一件很是累人的事情!理想的語言是——這些東西不須要尋找就能夠記住。另外,處理那些bug絕對會使你的創造性流失。因此我想要一個強大的強類型錯誤消息和靜態代碼分析來減小錯誤的發生。我還想要一個好的debugger和動態分析來使我更容易發現bug。我不在意性能是否強,但至少可使用。若是你不想現實,它能夠用現代的,強大的計算機來探索它的可能性。算法
我甚相當心編譯器的速度。我不是一個很是專一的禪師。等待十幾秒對我來講是一種浪費,但更重要的是,它會打破我思惟的節奏。編程
我不追求面向對象(OOP)。我花了太多的時間管理類和對象,但我發現花了更多的時間,但我不太明白爲何代碼和數據應該嚴格地結合起來。我想處理數據並編寫適合這種狀況的代碼。api
備選方案網絡
C++ 仍然是編寫遊戲最廣泛的語言,沒有緣由。我用它寫了不少項目,但我真的不喜歡它。編程語言
C++ 涵蓋了我所須要的,但卻沒有知足我想要的。太複雜了!雖然有些工具很是好,但它仍然很容易出錯。和C相比C++編譯速度很慢。但即便它是高性能的,而且有一些C沒有的特性,我也不在意它是否有。工具
C# 和 Java 有些通病。它們都是漫長而複雜的怪物,我所須要的只是簡單而簡潔的東西。 它們都迫使程序員去思考面向對象編程的風格,這統統都是我反對的。做爲高級語言,他們應該有隱藏其複雜性的傾向。性能
我喜歡去比我多。在許多方面,這是c的再開發,我選擇使用去,但它也有一個很大的問題,阻止我使用它。使用stop-the-world的方法來實 現垃圾回收算法對於遊戲是件再煩人不過的事情。遊戲庫支持也有點弱,雖然你可使用C庫,但這會增長更多的工做。這足以讓我懷疑它的長期效用。儘管它爲網絡提供了良好的服務,但它也具備糟糕的快速移動環境的性質。這可有點flash滅亡的意思。而後我想說我真的真的不喜歡java,它是如此的鬆散模糊,我特別訝異竟然有人可以在軟件中使用它寫上一大塊。我對嘗試它幾乎沒有興趣。學習
Haxe 感受上比其餘語言更有前景。若是我仍然對網絡作些什麼,我會選擇它。它有很好的圖書館支持。我只是有點擔憂你的不成熟和長壽。好吧,我沒什麼好說的了。
Jonathan Blow正在編寫他本身的語言,一種他本身想用的語言。我很是羨慕。有時我會想去作。但考慮一下,您須要放棄全部現有的庫支持,並承擔將來兼容性的責任,以致於您須要考慮它。這太難了。當問題的本質在這裏時,我寧願玩遊戲。
爲何C是我最好的選擇
C既危險又可靠。就像一把鋒利的刀,切割你的手指和切蔬菜,但學習如何仔細使用它並非太困難。
它編譯速度特別快,我沒法想象它比它更快。