我对编程语言选择的理解

日志的由来

上午在公司的时候询问同事,公司的服务端语言为什么是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 写于 达人网络

posted @ 2013-09-07 12:51  赵青青  阅读(659)  评论(0编辑  收藏  举报