作为一名程序员,我时不时的就手痒,想写点小游戏。可是在选择哪一个编程语言上,纠结了起来。试过C++、Java、JS和Python,都各有优劣,用着不爽。

    我想找一个满足下面条件的语言:

    • 开发环境易配置
    • 代码写起来舒服
    • 跨平台

    因为大多数语言没有官方的GUI库,所以开发环境就需要额外配置。

    比如C++,你需要有OpenGL或者其他的;再比如Python,你要安装pygame。

    那为什么官方不自带GUI库呢?

    • 很大的原因就是GUI库无法做到平台无关
    • 还有就是每个语言的定位不同。比如Golang,定位是分布式系统,不需要GUI。应该用来做它被设计去做的那些事情。像是服务端、高并发。而不是客户端、gui。

    常见的语言中,只有Java、.Net自带GUI。

    Java由于有JVM的存在,可以做到平台无关;.Net只运行在windows操作系统中(我不知道能不能跑在其他其他系统上),压根不考虑跨平台,所以有GUI是理所当然的事情。

    最近的软件开发趋势越来越多的是SaaS,大多数CRM也都转移到Web端,变成Web应用。

    无论是Java、PHP、Python、还是Ruby语言写的Web应用,完全就是输出html文本,交给浏览器去负责GUI。

    而现在随着Web应用越来越复杂,逐渐开始前后端分离。后端语言随意,能写出接口就行。前端则统一用JS渲染。可以说这些应用的界面(GUI)完全就是JS写的。

    现在你知道为啥学前端的这么火了吧。如果一个应用只需要一个前端和一个后端开发,则在招聘市场,前端岗位的份额直接占50%,剩下的后端岗位由PHP、Java、Python、Ruby、GO等等去分食。。。

    我不喜欢JS,并没有歧视的意思,就是单纯不喜欢JS。所以,要想平时写点小游戏,Java是比较好的选择。

    这里有个Flappy Bird的Java版,只要电脑装了Java,不需要第三方库,就可以运行:
    https://github.com/granttitus/FlappyBird

    本文参考:
    知乎:golang为什么没有官方的gui包?