2、比如目前主流的服务器语言C++和Java,都是因为其强大的生态环境。选择了它们公司可以少造轮子,可以比较容易的招聘到合适的开发人员。还有就是生态的选择和主要技术负责人的自身关系也比较大,一个Java经验丰富的负责人高概率会选择Java,C++、go同理。
3、选择的因素还与公司的文化有关,比如公司一票的Java程序员,现有的架构和功能都是基于Java,偶想一般都不会再新项目中选择别的编程语言。
4、技术进步的影响,目前服务器端编程慢慢有转向go的趋势,这个是和go语言本身的特性密切相关的。同时,.NET CORE也慢慢被一些公司选择用来开发服务器程序。这些是随着技术的发展进步而发生的选择上的改变。
5、最根本的,要看游戏对于服务器的要求。比如性能要求极高,那么C++可能是首选。如果对于性能无要求,对于实时性无要求,偶想说目前主流的服务器编程技术应该都可以使用。
总结来说,结合公司实际技术情况、结合游戏特点选择就好了。
作为程序员计算机基础的书推荐几本呗?
偶从一个Java 开发者开发角度来推荐几本吧。
一、Java 编程思想
第一本是《Java 编程思想》,作者是Bruce Eckel;
这是一本经典的Java 基础入门书籍,内容围绕Java 5/Java 6展开,讲述的都是Java 语言的基础知识;尽管现在Java 已经更新到了Java 14,但并不会影响对这本书的阅读。
其中Java 基础知识作者讲述得非常仔细,并且为每个知识点都配上了代码案例,看后受益良多。本书有点厚,内容较多,不一定就得一次读完,可以把它当作一本工具参考书经常翻阅。
二、数据结构与算法分析
第二本是《数据结构与算法分析 Java 语言描述》,作者是马克.艾伦.维斯;
本书是以Java 语言为基础,讲述了离散、递归、排序、图论、查找树(红黑树、二叉树)等经典其常用的算法实现和原理;详细描述了表、栈、队列等数据结构的使用;更是列举了Java 中的集合api的案例实践;对Java 程序员的数据结构的理解有着颇深的指导作用。
本书为进阶书籍,书中不仅有基础的数学基础,还有经典的算法案例分析,以Java 语言中的Collections API作为算法实现工具,详述了如何设计算法。仔细研读本书,读者必将对Java 中的数据结构有更深的理解,也必定会有一个不错的算法基础。
三、算法
第三本是《算法》,作者是Robert Sedgewick和Kevin Wayne;
如果说第二本是算法的入门书籍的话,那么这本书可以说是算法的进阶书籍了,本书更加详细、深入的分析了各种经典算法的原理,并使用了Java 案例来实现。
本书与第二本书:《数据结构与算法分析 Java 语言描述》是相辅相成的,两本配合起来读能够加深对算法知识的理解,如果是对算法感兴趣的话,可以先学习第二本,打好基础,再来学习这一本,就比较容易理解了。
四、揭秘JVM虚拟机
第四本是《揭秘JVM虚拟机 JVM设计原理与实现》,作者是封亚飞;
本书通过JVM的实现源码的解读,详细描述了JVM是如何处理Java 的;不同于,其他翻译虚拟机规范的书籍,本书更加侧重于JVM的底层分析,不仅有oop-klass模型、堆栈分配模型、类加载模型,还有JVM如何把Java 语言一步步转换为机器码的详细过程,值得经常学习。
由于本书使用了的大量的C/C++案例,如果读者有C/C++的基础,学习起来会相对比较容易些;不过,也不同担心,语言都是相同的,Java 也是C这一系的语言,在语法上是相通的,能看懂Java 代码,相信书中的C/C++案例对你来说也不是难事。
五、HTTP权威指南
第五本是《HTTP 权威指南》,作者是David Gourley、Brian Totty、Marjorie Sayer、Sailu Reddy、Anshu Aggarwal;
本书提供了HTTP通信协议的全过程,不仅详细描述了每个请求头字段、响应头字段的使用;更有web应用通信的底层机制。是一本不错的web通信学习书籍。
六、开发手册
最后一本是《码出高效 Java 开发手册》 + 《阿里巴巴 Java 开发手册》,作者是杨冠宝、高海慧;
代码不仅要性能好,还要写的好看;想要写出好看又高效的代码,不仅要有深厚的技术基础实力,还要有详细、可执行的代码规范。深厚的技术可通过以上几步来慢慢积累,而详细、可执行的代码规范就可通过这两本书中规范来实现。
完结,希望回答能对你有所帮助!
学习编程是不是要多敲代码?
偶认为这个问题只对了一半,学编程是要带着自己的思路去多敲有效代码。试想天天敲hello world这样重复的无效代码,就算您敲烂无数键盘,技术还是得不到提升!那如何正确的学习编程呢?
学习一门编程语言,其实跟大家学习英语差不多。学习英语要多读,多听,多说,多写。编程也是这样的要多看,多写,多说,多听,多练,而且还要善于总结。偶编程10多年来,一直都是采用这样的方法。
多看,可以多读别人的代码,看他为什么会这么写,是否有更加简单的方式去实现同样的功能。对于新人去一个公司,第一天往往会搭建编程环境,比较人性化的公司会让新员工熟悉几天代码了再去干活。这里多看不仅要看代码,您也可以去看编程书籍,看学习视频,去逛github等开源社区。
多写,光看是没有效果的太抽象了,本来编程就是一门技术活,需要很强的动手实践能力。在自己看得多了,就要去练习了。试着自己去敲代码,但是不要原封不动的抄着写,这样意义不大。您要用自己的思路去写,起初可以先模仿,先去揣摩别人的思路意图,后期自己要进行优化改进,只有这样敲代码才有进步!
多说,一提到说字,很多朋友对程序猿的印象就是”闷骚型” ,不善于沟通!其实对于编程领域,这个说是很重要的。空有想法思路是没用的,要表达出来!目前很多互联网公司每周都会举办技术分享会,就是想通过技术交流分享锻炼不善于交流的程序猿。
其次,如果程序猿能说的话,在面试的时候是会很有优势的。偶身边的朋友编程技术都很牛掰,但是每次面试的时候都不会说,错失了很多offer。所以说,真正学好编程的不光是自己知道思路,而且还能把自己的想法能完美表达出来!
多听,在学习编程初期,在技术上肯定没有大佬们那么牛,平时多去虚心听取技术大牛的经验,多向他们去学习。这对自己是非常有帮助的!
多练,等自己积累了一定有效代码后,您要自己去练习做项目,多做项目去找成就感。起初并不要您做出很牛掰的应用出来,可以做一些小的项目。做项目就是为了让您把学到的编程知识融会贯通。
要善于总结,其实编程日常工作中,除了要撸代码,绝大部分时间都是在调试程序。偶编程10多年来,一直有一个好习惯,就是喜欢总结。平时debug调试的时候,遇到的疑难问题,一定要善于记录总结。下次再次遇到类似的问题,您就可以很快能定位,这就是经验的积累。
胖哥科技圈观点:
偶认为想要学好编程的话,要多练习多撸代码,而且敲的代码都应该是有价值的代码,能从代码里面看到编程者的思想。对此,您怎么看呢?