其他

编程学习方向的选择

2017-05-14 程序猿

来自:猿哥(微信号:YuanGe200)


1、C语言


C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。


①、偏硬件方面相当于目前互联网和移动时代,可能薪资水平会低一些。如果之前学习电子自动化的或者对硬件感兴趣的,可以选择这个方向。


  • 人员需求:★★★★

  • 难度指数:★★★★


②、偏向底层开发的:难度很大,比如要看懂Linux内核代码。简单说,如果你读书的时候,数学物理不是很厉害的,不建议选择这方面开发。


  • 人员需求:★★

  • 难度指数:★★★★★


2、C++


主要用于服务器/服务端开发;图形图像,客户端界面开发。


①、服务器/服务端开发,比如游戏服务器,迅雷、QQ等网络工具服务器。难度要很大,数学物理不是很厉害的,不建议选择。


  • 人员需求:★★★★★

  • 难度指数:★★★★★


②、图形图像,客户端界面开发。相对而言,难度低一些。


  • 人员需求:★★★★★

  • 难度指数:★★★


3、Java


Java有三个主要应用方向:①、使用Java EE Web开发 ②、Java:网络通信服务器端服、中间件、大数据等开发。③、应用Java编程语言的Android开发。


①、使用Java EE Web开发


  • 人员需求:★★★★★

  • 难度指数:★★★★


如果只用Java做简单网站,难度:★★★ ,如果是Java大流量大用户量网站,难度:★★★★★


②、Java:网络通信服务器端、中间件、大数据等。


Java中间件以阿里公司为主,其它公司有许多是用C/C++的; 许多手游服务器是用Java的。


  • 人员需求:★★

  • 难度指数:★★★★★


4、安卓开发:应用Java编程语言的Android开发。


  • 人员需求:★★★★

  • 难度指数:★★★★


5、iOS开发


  • 人员需求:★★★★

  • 难度指数:★★★★


移动开发市场:


移动开发不管是安卓开发还是iOS开发,市场需求没那么大了。理论上来看新人再学习的话,可能竞争压力会比较大。原因:1.这方面市场人才比较饱和 2.移动开发要求的技能不少,学习难度有点大 3.各大热门的APP都被抢占了,新公司已经比较少有需要单独开发APP的。4.有一些自动化开发APP工具,可以实现一些简单的APP。


但是市场还是有的,比如手机游戏一直都很火,还有很多大公司的APP都需要这方面的人才。


移动开发学习难度:


前几年移动互联网刚发展,移动开发资料比较少,学习难度大,人才也少,搞移动开发的薪资都很高。


现在情况不一样了,学习资料很多,所以学习难度降低了不少。人才也较多,薪资跟其他程序员也大体上差不多。


6、PHP


世界上最好的编程语言。简单一句话,专门用于开发网站。


  • 人员需求:★★★★★

  • 难度指数:★★★


PHP在小型网站开发优势很明显,资料丰富,开源框架多。猿哥觉得,如果你觉得水平一般,可以选择PHP网站开发。可以较快入门,然后进入一些小公司,快速胜任工作。


当然,简单都是相对的,PHP大牛也是很多。任何简单的事情,你能够做出标准,做出好用的框架,做出很多人用的开源代码,那你就是大牛。鼎鼎大名的PHP鸟哥,惠新宸 @Laruence 就是这种人。


7、.NET


.NET跟Java竞争企业应用,企业网站开发。


  • 人员需求:★★★★

  • 难度指数:★★★


入门相对容易,各种工具框架都是单一的,微软独家指定,所以学习起来没那么杂。可能有些人不看好.NET,但是上面说了,任何方面都有牛人,混博客园的可能知道之前博客园名人@老赵 就是.NET的牛人,很早就传说年薪百万。


8、大数据技术


大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。


  • 人员需求:★★★★

  • 难度指数:★★★★★


目前大数据技术的人才需求并没有真的很热,但未来肯定是最热门之一了。不过学习难度也是很高的,特别是搞数据分析/挖掘方向的。


9、Python


主要方向:Linux运维、Web开发、自动化测试、数据分析


  • 人员需求:★★★★

  • 难度指数:★★★


猿哥觉得Python是一个黏合剂,不管你学习哪方面,掌握Python都是大大好处。纯Python学习难度不大,不过纯粹招聘Python的并不算很多,大多数都是结合做要求。


10、前端开发


  • 人员需求:★★★★★

  • 难度指数:★★★★


前端入门相对容易一些,但是现在对前端要求越来越高,需要掌握的知识也越来越大,甚至前端都可以胜任后端功能。很值得学习。


其它比如黑客安全、软件测试、DBA,初学者不建议马上给自己定位在这些领域。除非你自己本身对某方面兴趣确实较大。


最后说明:


1、根据自己能力选择,比如高中数学都不及格,就不要选择难度那么大的。你能学会的才是最关键的,而不是热门或者高难度的。


2、你能学会才是最关键。不要一直去追问,学这个有没有前途,能不能找得到工作。还是那句话:你能学会的才是最关键的。有些人学了找不到工作,那不代表学这个没市场,只是因为你根本没学会,所以找不到工作。


人才市场一直都是这样子,许多人喊着找不到工作,许多公司又觉得招不到合适的人;有些公司在裁员,但是更多公司在招聘。



●本文编号2364,以后想阅读这篇文章直接输入2364即可。

●输入m获取文章目录

推荐↓↓↓
 

猿哥

更多推荐15个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存