zoukankan      html  css  js  c++  java
  • 我对编程语言选择的理解

    日志的由来

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

  • 相关阅读:
    VCC、VDD、VEE等区别
    Matlab运行速度/效率受哪些因素影响?
    strtok/atoi/atof/atol函数用法 详解
    双色球随机生成
    万能指针void*学习
    空指针和 指向指针的指针
    指针运算
    快速编译c/cpp文件
    贪吃蛇(C)
    判断规定时间内有无输入
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/3307307.html
Copyright © 2011-2022 走看看