程序员该如何学习技术 程序员需要学什么科目?
程序员需要学什么科目?
1.语言
我们要蓝月帝国一个程序员,学的东西会很多很杂,只不过最结束要先从语言结束去学习,而去学习语言最最重要的的最想作选择好一本书,学校的教材哪怕了,根本没有写得好的。在此最隆重我推荐《C Primer》,这本书很厚,内容也很极为丰富,对知识的讲解不仅留在在表面。如果没有这本书能有耐心写完,语言方面基本上就没有什么大问题了,对以后的学习也打下了个很好的基础。
C方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。这些GUI库都各有自己的特点,反正我们只要先所了解一种就可以了,只要更深入了解了一种GUI库,必须的时候再学习其他的就够了,本质上都应该差不多,很快就是可以练熟了。MFC只不过设计上有很多问题,但充当入门还是不错的,但是学习资料很多,遇到问题也好可以解决。
3.数据结构和算法
很多人都过分关注了数据结构和算法方面的知识,尤其是一些编程语言的库做得相当好,几乎不需要自己去实现一些数据结构和算法,可能导致现在很多程序员不认可哪怕看出这方面的知识。只不过,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就相当非常重要了。很多程序员也是时候不如此重视这些,但是工作几年后又来补数学这些知识。
最又开始很有可能不不需要去学习的太踏入,可是基本上的数据结构和算法一定要清楚。
我推荐《数据结构(C语言版)》,在数据结构和算法的学习中,最好是别去关心面向对象方面的技巧,就用C语言来实现方法,这样的能更查哈于算法本身的内容。
4.数据库
怎么学习数据库的基础知识,因此掌握一种数据库可以使用,帮我推荐不使用mysql,并且最好是别用一些封装方法好的接口,而估计直接用mysql需要提供的数据库api,肯定对数据库清楚的会更踏入。
5.分头并进
cpu主频巳经不能不能不违背摩尔定律了,现在cpu经济的发展的趋势是多核心。毕竟多线程,应该多进程,也是为了好的借用cpu的性能,提供给要好的用户体验。这就特别要求我们如果没有要写出了什么高效稳定的应用程序,必然会要涉及到并行计算。多花些精力在并行计算上吧,肯定会会有极为丰富的回报。
6.网络编程
这里所指的网络编程是指socket编程。现在C的应用很多全是在做服务器开发,如何的新一个高并发、大吞吐量、高稳定性的服务器那就是我们要考虑到的了。
7.设计模式
设计模式也不是具体的技术,更多的是如何能让代码更太容易阅读、更好存储、更太容易在用。
8.库的使用
C标准库不仅仅提供了一些很基本的功能,所以我们你经常会引入一些第三方库。最著名的就算是就是被被称准标准库的boost库,它提供给了我们编程用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,完全包罗。其它也有一些专著于某无非的库,比如说ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。
9.操作系统的知识
程序员不需要所了解的操作系统知识和普通用户是都一样的,一个高手是是需要接触了解操作系统的方方面面,而并非只在在可以使用层面。当然了估计清楚哪些知识,windows上的上去看《windows核心编程》,linux的看看《深入理解linux内核》,肯定是可以清楚自己应该学什么了。
程序员学不动了怎么办?
1.转产品经理。这样不需要在一线写代码了。前期肯定没有开发挣的多。可是你升级到产品总监,具有产品思维后,可以更好的帮助创业啊做铺垫。
2.去小厂转管理岗,也不用什么一线写代码,不过你要要一直保持自己的技术视野。增强自己的格局。明白什么阶段该用什么技术,什么样的人来解决可以做到的问题。
3.如果没有转型不顺利,看看吧有没有比较合适的机会自己个人创业。
4.假如也没有机会就只有和年轻人互相卷了。
不过随着人类年龄的不断地增强,之前的三段式人生(学习,工作,养老),已经不太适用现在的生活了。所以才各个行业都要一直保持一颗二次怎么学习的心态。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。