首页 / 程序员 / 正文
都9012年了,为何我还坚持用C语言开发游戏
深呼吸山hr 发表于:2020-3-26 04:26:09 复制链接 看图 发表新帖
阅读数:7475

下载APP可以快速和圈友联系

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我比来一切小我项目游戏都是用“纯” C说话开辟。诠释为什么要这样做能够很风趣。

预警:一大堆死板的编程说话概念将要出现。

都9012年了,为何我还对峙用C说话开辟游戏-1.jpg

我需要什么样一种编程说话

有些条件是不成协商的。

首先,说话必须牢靠。我没法接管花时候去向置那些不是我自己缘由酿成的 bug。

我的很多游戏都是为 Flash 开辟的,现在 Flash 快要死了。我不想花时候将旧游戏移植到新平台,我想建造新游戏。我需要一个可以信赖一段时候的平台。

一样,我想避免将自己绑定到特定的操纵系统,而且理想情况下,我希望可以具有为控制台开辟的挑选。是以,重要的是编程说话是可移植的,而且具有杰出的可移植库支持。

我理想中的编程说话

在我想要的但不是必须的列表上,最重要的是简单性。我发现查找说话特征,以及各类怪僻的“聪明” API使人腻烦。我希望熟练一种理想的说话,然后再不必查找任何工具。

处置 bug 是庞大的精神消耗。我希望毛病能尽能够少的发生,所以我需要严酷的范例检查,激烈的警告消息和静态代码分析。我希望 bug 更轻易被发现,所以我想要好的调试器和静态分析。

我对高清现实并不感爱好,但我照旧对性能有所关注。具有更多可用周期可以拓宽工作范围。假如您不信守虔诚,摸索现代功用强大的计较机能够带来的影响特别风趣。

进一步,我更关心编译器的速度。我不是禅宗大师,期待 10 秒钟以上会是一种浪费。而且更重要的是,期待会打断我的工作流程,刷刷 Twitter,忽然发现 5 分钟或更多时候就没有了。

我不是一个虔敬的 OOP 利用者,虽然我大部分职业生活履历都在处置类和工具,可是花费的时候越多,对为什么要如此严酷地连系代码和数据的了解就越少。我需要将数据作为数据停止处置,并编写最合适特定情况的代码。

替换计划

C++ 照旧是开辟游戏的最常用说话,并非没有事理。我照旧用它来完成几近一切条约项目,但我很是不喜好它。

C++ 满足了我的需要,但严重挫败于我真正需求,它极为复杂。虽然有不错的工具,但照旧轻易建立各类藏匿的毛病。与 C 说话相比,它的编译速度也较慢。它的性能还不错,而且供给了 C 说话所没有的功用。但那些并不是我真的想要的功用,而且本钱很高。

C# 和 Java 也有类似的题目。它们是冗杂而复杂的野兽,但我需要一种简洁简单的替换。它们都为使法式员成长成为我激烈否决的 OOP 气概做了很多工作。依照大大都高级说话的设想,它们偏向于隐藏复杂性,而现实上并不能阻止它带来的困扰。

我很是喜好 Go 说话,从很多角度来说,它是 C 说话的更生。我很想用它,可是有很多障碍障碍了我。停止天下的渣滓收集对于游戏来说是一个很大的疾苦,搁浅是不能接管的工作。游戏的库支持也很是差,虽然包装 C 说话库也不麻烦,可是这样做还是会增加很多工作量。

为 Web 开辟增加功用会很不错,可是一个快速变化的开辟情况还是比力可怕。特别是 Flash 的灭亡让我感觉恐惧。我真的不喜好 JavaScript,它是如此宽松,我对大师居然操纵它开辟了大量代码感应惊奇。但我没有爱好尝试。

Haxe 看起来比大大都合作者更有前途。假如我再次做 Web 开辟我能够会更多深入研讨。它有一些很好的库支持。我有点担忧它的相对年轻,它会延续吗?今朝我没有太多要说的,我只是涉足概况。

有些人会说不如自己造一个轮子,编写自己的说话,自己真正想用的说话。我很佩服这个想法,偶然我也想这样做。但放弃一切现有的库支持,并为未来的兼容性承当全数义务实在太应战了。当归结为现实时,我宁愿做游戏,也不愿去实现一门编程说话。

为什么 C 说话照旧是我的最好挑选

C 说话很危险,可是很牢靠。一把很是尖锐的刀既可以割伤手指,也可以用来切菜,但如此简单,要学会谨慎利用它并不难。

它的速度很快,在编译时我想不出什么更快的方式。

它可以在几近任何工具上运转,凡是这比力轻易。很难设想会出现它对付不了的情况。

库和工具支持是强大且延续的。

我有些哀痛地说,但这照旧是我的说话。

我绝对不是要说“您也应当利用C说话”。我很是感激这里的偏好是很是具体且不服常的。我已经比大大都人编写了更多的“纯” C 代码,这固然是我感应舒适的一部分。

是的,就是这样 :-)

原文地址:

https://jonathanwhiting.com/writing/blog/games_in_c/

参考阅读:

    一种灵活的API设想形式:在Spring Boot中支持GraphQL

    付出焦点系统设想:Airbnb的散布式事务计划简介

    算力提升117%,资本利用下降50%,翻开集群优化正确姿势

    Golang实现单机百万长毗连手事 - 美图的三年优化经历

本文作者 Jonathan Whiting ,由 Tim 翻译,转载请说明出处,技术原创及架构理论文章,接待经过公众号菜单「联系我们」停止投稿。

高可用架构

改变互联网的构建方式


上一篇:海量更新的iOS13.4正式版公布,这也许是iOS13最大更新
下一篇:基于C++的按时获得网页+源代码
温馨提示:
下载好向圈客户端可以随时随地交流学习经验,也可以和圈友发起聊天成为好友
好向圈www.kuaixunai.com是一个专业经验分享交流平台,请提供优质的经验内容分享,拒绝任何广告内容出现,低质量广告内容硬广包含手机号码,微信,QQ或者二维码,网址等形式存在可能会审核不通过 要想被各大搜索引擎尽快收录请做好内容原创工作,才会有更好的推广效果。
返回列表
使用道具 举报
14 条评论
您需要登录后才可以回帖 登录 | 立即注册
西腰屯的 发表于 2020-3-26 04:28:21 | 阅读全部
不错不错!你说出了我的心声!
大家之所以有各种各样的迷惑,正是因为失去了根本!而c语言,是所有计算机语言的根本!有数学天赋而且懂c语言的程序员,才是真正的程序员!
使用道具 举报
回复
堡子村老农杆 发表于 2020-3-26 04:31:52 | 阅读全部
C语言最致命特点就是没开发效率,像win系统,投入的开发量极其庞大,如果开发小游戏还行,开发大点的,尤其人员不够多情况,c语言缺点无限放大,至于优点,和没有一样。语言这种就是什么情况适合什么语言,没有哪个语言是绝对好的
使用道具 举报
回复
束缚在诤 发表于 2020-3-26 04:38:25 | 阅读全部
大型项目,或者是游戏,你用c写....c++虽然坑很多,但是面相对象这个思想能帮助你在大型开发规模时得到比c更好的开发效率,同时也兼顾了性能。但是坑需要注意一点,对能力要求高
使用道具 举报
回复
onizuka_kyo 发表于 2020-3-26 04:43:26 | 阅读全部
c语言?连处理个string都要死人,怎么写游戏?[捂脸]
使用道具 举报
回复
齐鲁情未了1982 发表于 2020-3-26 04:48:56 | 阅读全部
c语言具有最高的执行效率(除了更低一级的汇编语言),是无坚不摧的系统级语言(操作系统由c编写),其它任何语言都无法取代c。
使用道具 举报
回复
lucklly2017 发表于 2020-3-26 04:50:41 | 阅读全部
汇编写最好
使用道具 举报
回复
人走茶凉56 发表于 2020-3-26 04:57:20 | 阅读全部
感觉用c语言,比较适合嵌入式,运行环境配置低,需求简单
使用道具 举报
回复
一生有你ABCABC 发表于 2020-3-26 05:00:08 | 阅读全部
c语言是面向过程的,编个菜单一般人也吃不消。
使用道具 举报
回复
我看看看看椎 发表于 2020-3-26 05:03:52 | 阅读全部
c语言最适合用来写操作系统,这也是当初开发c语言的初衷
使用道具 举报
回复
年轻的心877 发表于 2020-3-26 05:09:02 | 阅读全部
C语言是高级语言的性能之王,需要更强的编程能力才能驾驭。
使用道具 举报
回复
双落行人泪泵 发表于 2020-3-26 05:13:20 | 阅读全部
难怪程序员35岁就要被裁员
使用道具 举报
回复
熊猫玲子 发表于 2020-3-26 05:16:52 | 阅读全部
马上2020年都没有智能编程软件,可以让小白也能编写程序。
使用道具 举报
回复
黔匀缘 发表于 2020-3-26 05:21:23 | 阅读全部
文章是机器翻译的吗
使用道具 举报
回复
永世黄昏八 发表于 2020-3-26 05:25:30 | 阅读全部
windows上的游戏,不用c怎么和操作系统快速交互
使用道具 举报
回复
相关推荐
广告合作以及侵权投诉客服QQ:1623331347 江苏好向圈信息科技有限公司 网站地图1 网站地图2