成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么我要用C寫游戲

開發 后端
我絕對不會說“嘿,你也應該使C”我完全贊每個人有不同的個人偏好和特別的習慣。只想說相比用其他語言來說我已經編寫了很多C 代碼,并且這令我很舒服。哦好吧,就這樣 :-)

我就是這樣一個與眾不同的老頑固。最近所有由我單獨完成的游戲項目完完全全都是用C寫的。肯定沒人這樣干過,所以我覺得這值得我解釋下為什么我要這樣做。

枯燥的編程語言觀點要來啦!嗯,我已經警告過你們了。

從一種語言中我們所需要的

有些事是毋庸置疑的。首先,它必須是可信任的。我不能花費我的時間去解決那些不是我導致的bug。以前許多游戲都是用flash來編寫的,然而現在 flash正在面向滅亡。我也不想花費不必要的時間將老游戲移植到新的平臺,我想要的是制作新的游戲。因此我需要一個在一段時間內都能自信使用的平臺。同 樣,我想要避免自己被一個特定的操作系統捆綁。理想狀況下我喜歡我可以有發展控制臺的選項。所以選擇一種編程語言最重要的是它是可移植的,并且有可移植式 庫的支持。

從一種語言中我們所想的

我所追求的最重要的,但不是必要的一件事就是其簡單性。我發現查找語言的特性和它所具備的聰明古怪的API是一件及其累人的事!理想的語言是-這些 東西都可以被記住,而無需去查找它們。另外,處理那些bug絕對會使你的創造性流失。所以我想要一個強類型的、強大的錯誤提示以及靜態代碼分析來減少 bug的出現。我還想要一個好的debugger和動態分析來使我更容易發現bug。我不關心性能是否強大,但至少可以用。如果你不追求逼真的話它可用現 代、功能強大的電腦盡情探索其可能性。

我甚至會關心編譯器的速度問題。我不是可以非常專注的禪師,等待超過十秒對于我來說是一種浪費,但更重要的是這會打破我思考的節奏。

我不追求面向對象(OOP)。我已經花了太多時間在管理類和對象上面,但我發現花了更多的時間,卻不太明白為什么要把代碼和數據嚴格的結合起來。我想要處理數據并且編寫適合特定情況的代碼。

備選方案

C++ 仍然是編寫游戲最普遍的語言,沒有原因。我用它寫了很多項目,但其實我非常不喜歡它。

C++ 涵蓋了我所需要的,但卻沒有滿足我想要的。它實在太復雜了!盡管一些工具相當好,但它還是十分容易出現bug。和C相比C++編譯速度很慢。但即使它具備高性能并且有C所沒有的一些特性,但我并不在意這些有的沒的。

C# 和 Java 有些通病。它們都是冗長復雜的怪獸,我所需要的是簡單簡潔的東西。 它們都迫使程序員去思考面向對象編程的風格,這通通都是我反對的。作為一個高級語言,它們應該有隱藏其復雜性的趨勢。

相比我更喜歡Go。在許多方面它是C的再發展,我會選擇使用Go,但是它也有個很大問題阻止我使用它。使用stop-the-world的方法來實 現垃圾回收算法對于游戲是件再煩人不過的事情。游戲庫的支持也是有點弱,雖然你可以使用C庫,但這會增加更多的工作量。這足夠讓我懷疑它長期的實用性。雖 然它很好的服務于web,同時這具備了一個可怕的快速移動環境的性質。這可有點flash滅亡的意思。然后我想說我真的真的不喜歡javascript, 它是如此的松散模糊,我特別訝異居然有人能夠在軟件中使用它寫上一大塊。我簡直沒有一丁點興趣嘗試它。

Haxe 感覺上比其他語言更有前景。如果我還做些和web有關的東西的話我會選擇它。它有很好的庫支持。我就有點擔心它不太成熟,能不能長久的問題。好了,我也沒什么要說的了。

Jonathan Blow正在編寫他自己的語言,一種他自己想用的語言。我特別羨慕,有時候我也會考慮做這件事。但想想,需要丟棄所有現有的庫支持和承擔未來兼容性的責任以至于太對需考慮。并且這實在太困難了,當本質問題于此,我寧愿去做游戲好了。

為什么C是我的***選擇

C既危險又可靠。 就像一把鋒利的刀,切手指和切蔬菜一樣,但學會小心的使用它也不會太難。

它編譯的時候特別快,我無法想像有什么比它更快。

它還可以在任何地方運行,通常較為容易。我都想不到它什么時候不能像這樣工作。

庫和工具支持又強大又不間斷地更新。

我要很悲壯的告訴你們,這就是我的語言。

我絕對不會說“嘿,你也應該使C”我完全贊每個人有不同的個人偏好和特別的習慣。只想說相比用其他語言來說我已經編寫了很多C 代碼,并且這令我很舒服。哦好吧,就這樣 :-)

譯文鏈接:http://www.codeceo.com/article/why-i-write-games-in-c.html
英文原文:Why I Write Games in C (yes, C)

 

 

責任編輯:王雪燕 來源: 碼農網
相關推薦

2021-02-09 20:51:13

D 語言腳本編程語言

2009-01-09 23:06:41

服務器SCSI硬盤PC

2020-04-07 16:12:56

Go編程語言開發

2021-09-07 15:41:35

Bug誘因代碼

2012-07-11 11:05:16

編程

2013-02-28 09:42:25

DIND 10C++Python

2024-07-02 13:27:38

2021-12-13 01:40:29

ElasticSear倒排索引

2021-05-11 06:57:15

HBaseBATJ公司

2024-01-02 17:28:12

芯片CPUAI計算

2022-05-07 07:35:44

工具讀寫鎖Java

2015-07-01 10:25:07

Docker開源項目容器

2023-09-22 10:05:32

2022-07-06 09:29:40

JMH性能測試

2013-12-30 09:31:34

Node.js技術

2024-06-19 10:26:36

非阻塞IO客戶端

2012-02-28 09:11:51

語言Lua

2020-07-17 14:06:36

Scrum敏捷團隊

2018-05-14 11:07:48

服務器Linux系統

2011-02-22 09:50:21

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美高清视频在线观看 | 精品国产乱码久久久久久丨区2区 | 欧美精品欧美精品系列 | 夜夜精品视频 | 日本精品999| 国产日韩欧美一区 | 国产91综合一区在线观看 | 亚洲欧洲成人在线 | 精品久久精品 | 又黄又色 | 久久99深爱久久99精品 | 国产三级网站 | 欧美一区二区三区在线观看 | 亚洲精品99 | 视频国产一区 | 亚洲欧洲一区 | 国产精品美女久久久久久久久久久 | 日韩三级电影一区二区 | 成人免费视频 | 有码在线| av在线一区二区三区 | 久久久久国产 | 久久久精品视 | 国产高清精品一区二区三区 | 日本久久久久久 | 成人欧美日韩一区二区三区 | 国产精品久久av | 国产精品国产成人国产三级 | 在线一区 | 久久精品久久久 | 午夜精品久久久 | 国产精品观看 | www九色 | 中文字幕一区二区三区精彩视频 | 亚洲区一区二区 | 国产一区二区免费在线 | 成人在线小视频 | 亚洲欧美在线视频 | 久久影音先锋 | 国产精品一区二区av | 日韩精品在线一区二区 |