我对编程语言选择的理解

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3307307.html



日志的由来#

上午在公司的时候询问同事,公司的服务端语言为什么是Lua,而不是Java?(注:我学的是Java)

对于这一讨论,就谈到了根据项目需求、类型来选择编程语言;也聊了下服务端编程与客户端编程有些小差异 ……

情景再现#

我问同事例如:要实现对一幅打乱的54张扑克牌排序,然后按照花色及大小输出,或是对于打牌中的发牌处理,拿Lua,或是JavaScript和Java比对实现起来的难易程度;再或者是一个很小的RPG游戏:游戏中有主角,敌人,主角攻击敌人升级闯关;使用Lua和Java实现起来的难易程度。

我的想法:使用Java会很好的实现,因为面向对象思想,把敌人和主角都当作人类[基类],敌人与主角都是对象……

如果使用Lua或是JavaScript我还真不知道如何去实现,因为在这两种语言中没有对象的说法,也没有基类一说,所以我不知道如何设计。

他回答我:对于卡牌游戏,使用面向对象编程反而会很复杂,因为它的逻辑很简单。

我的思考#

和他的谈话之后我思考,要根据游戏类型和逻辑不同,考虑选择不同的编程语言和编程思想,面向对象思想也并不是对所有的开发都是最佳选择。

对于公司的卡牌游戏的开发,服务端语言的选择使用Lua会更合适些,卡牌游戏的逻辑没相对来说没有很难很复杂,不同的东西之间的关联也并没有很复杂,所以没必要使用Java开发,而且对于性能上来说,这种类型的游戏使用Java开发代价也更高。

Lua和Java的区别#

再谈到Lua和Java的区别,他的感受是Lua使用起来很顺,灵活,没有Java那么严谨,也没有像使用Java框架一样有很多约束 。

再谈到为什么不使用一些现有的框架来开发游戏,他觉得如果使用框架开发的话,那么有很多的条条框框,对于大型的项目及大的团队合作,那么有必要,卡牌游戏就没有必要使用,团队小,使用框架反而会减慢开发速度。

程序员生涯#

对于程序员的生涯,我还在进步和发展, 重要的是掌握编程思想,而不是局限于某 种编程语言。

2013-09-07 写于 达人网络

作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(664)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
CONTENTS
点击右上角即可分享
微信分享提示