前言
学习一门新的语言是一种冒险。我总是热衷于尝试新的东西——学习新的语法,了解不同的模式,乃至彻底改变思维方式。不幸的是,许多开发人员对此不以为然,甚至可能是深恶痛绝的——学习新语言,就得走出舒适区,花时间花精力来学习新的理念和方法。
各种语言就好比文字,编程的过程就是用文笔书写诗篇,假设对于语言的应用已经十分透彻了,那么编程的难点在哪里?是使用的思路,还是各种算法,还是以人脑却用电脑的方式思考问题?下面就给大家分析目前热门的一些编程语言,话不多说了,来一起看看吧。
1、C语言
C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。
①、偏硬件方面,相当于目前互联网和移动时代,可能薪资水平会低一些。如果之前学习电子自动化的或者对硬件感兴趣的,可以选择这个方向。
人员需求:★★★★
难度指数:★★★★
②、偏向底层开发的:难度很大,比如要看懂Linux内核代码。简单说,如果你读书的时候,数学物理不是很厉害的,不建议选择这方面开发。
人员需求:★★
难度指数:★★★★★
2、C++
主要用于服务器/服务端开发;图形图像,客户端界面开发。
①、服务器/服务端开发,比如游戏服务器,迅雷、QQ等网络工具服务器。难度要很大,数学物理不是很厉害的,不建议选择。
人员需求:★★★★★
难度指数:★★★★★
②、图形图像,客户端界面开发。相对而言,难度低一些。
人员需求:★★★★★
难度指数:★★★
3、Java
Java有三个主要应用方向:①、使用JavaEEWeb开发②、Java:网络通信服务器端服、中间件、大数据等开发。③、应用Java编程语言的Android开发。
①、使用JavaEEWeb开发
人员需求:★★★★★
难度指数:★★★★
如果只用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鸟哥,惠新宸
7、.NET
.NET跟Java竞争企业应用,企业网站开发。
人员需求:★★★★
难度指数:★★★
入门相对容易,各种工具框架都是单一的,微软独家指定,所以学习起来没那么杂。可能有些人不看好.NET,但是上面说了,任何方面都有牛人,混博客园的可能知道之前博客园名人
8、大数据技术
大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。
人员需求:★★★★
难度指数:★★★★★
目前大数据技术的人才需求并没有真的很热,但未来肯定是最热门之一了。不过学习难度也是很高的,特别是搞数据分析/挖掘方向的。
9、Python
主要方向:Linux运维、Web开发、自动化测试、数据分析
人员需求:★★★★
难度指数:★★★
猿哥觉得Python是一个黏合剂,不管你学习哪方面,掌握Python都是大大好处。纯Python学习难度不大,不过纯粹招聘Python的并不算很多,大多数都是结合做要求。
10、前端开发
人员需求:★★★★★
难度指数:★★★★
前端入门相对容易一些,但是现在对前端要求越来越高,需要掌握的知识也越来越大,甚至前端都可以胜任后端功能。很值得学习。
其它比如黑客安全、软件测试、DBA,初学者不建议马上给自己定位在这些领域。除非你自己本身对某方面兴趣确实较大。
最后说明:
1、根据自己能力选择,比如高中数学都不及格,就不要选择难度那么大的。你能学会的才是最关键的,而不是热门或者高难度的。
2、你能学会才是最关键。不要一直去追问,学这个有没有前途,能不能找得到工作。还是那句话:你能学会的才是最关键的。有些人学了找不到工作,那不代表学这个没市场,只是因为你根本没学会,所以找不到工作。
总结
人才市场一直都是这样子,许多人喊着找不到工作,许多公司又觉得招不到合适的人;有些公司在裁员,但是更多公司在招聘。最后的建议就是请基于可能会让自己感兴趣的内容来确定工作领域。
所以,如果你确定你想要去企业工作,那么你可以试试Java或者.NET。如果你倾向于黑客并高度注重安全问题,那么不妨学习C/C++或Bash。如果你梦想成为一名Web开发人员,那么先掌握PHP、JavaScript或Ruby吧。如果你想要编写一些机器、机器人、汽车或其他电子方面的程序——也行,先学C++或Python吧。你喜欢捣鼓移动设备?那么Java、Swift或C#就应该是你的首选。如果你喜欢数学和算法,那么Lua、Erlang或R就很适合你。等等等等,不胜枚举。总之——一切取决于你的目的和爱好。