编程语言大揭秘:总有一款适合你,快来挑选吧!

发表时间: 2019-06-04 20:30

大家好,感谢小伙伴们的点击和关注,最近一直在分析软件开发的一些大概流程,和想要开发软件时,需要注意的一些问题,但是对于一些想要学习编程的小伙伴门并没有什么用,所以现在从我的角度来为大家讲解下对各路语言的一些看法,如果有想要一起学习或者有疑问的朋友可以一起来讨论。

先说明下,下面的内容都是我个人在工作,学习中的一些感受和想法,如果有大神路过觉得不对的地方可以提出来。然后就是为什么我会对这么多编语言来进行分析,因为地区原因,本身待在一个三线城市,这里的软件行业发展并不好,大多数软件公司都是两三个人组成,在做一些软件的时候,一个人可能要承担两三个人的工作,所以要学的比较广,但是不精通,处于搬砖的最底层。

python 从入门到放弃

说一千道一万,既然想要做开发,那就要明白自己擅长什么,自己想要做什么,所以要明白生活中常见的一些软件开发步骤是很重要的,这决定着你入行找工作时,该选择哪条路。

软件开发中,程序员们都在做什么:

前端:在智能手机不普及的时候,前端工程师们的主要工作就是根据设计师设计的版面进行切图,用编程语言将所有碎片拼成一个网站,再加上各种动效,让界面看起来更加炫酷一点。后来智能手机普及了,前端工程师们有了新的工作,那就是将做好的网站进行手机适配。后来微信火了,工程师们就将在手机网站的基础上加上一些微信的元素,成为了微信公众号。这几年,小程序和Web App 火了起来,于是前端工程师们又有了新的业务,就是开发小程序等界面。

服务端:虽然,时代在变迁,这个云,那个云多么厉害,但是就我们常见这些软件来说,都逃不过服务端的魔爪,没有服务端的软件,就像只会花拳绣腿的汉子,看看就行,一点用处都没有,具体原因是因为前端所需要的数据,所需要的资源,都是由服务端来提供的。

移动端和PC:有一种游戏叫做单机游戏,有一种软件叫做office,所以没有服务端的情况下,这些软件也是可以单独运行的。但是就我遇到的软件开发需求中,基本上没有见到过不用网络的,唯一一次还是给养牛的朋友扫码计数的一个单机软件。而常用的移动端和PC端,各自有几个自己的系统,手机端:Android和IOS。PC端:Linux和Windows及Mac OS。

上面就是生活中比较常见的一些需求软件开发人员的步骤。实际上还有很多其他的,比如索尼,塞班等都有各自的一套开发规则,但是由于使用面积比较小,所以不是真有门路要进这些公司,那就没有学习的必要。至于以后,随着华为的鸿蒙系统崭露头角,又会多一条选择的路线。

从入门到跑路

说明白了程序员需要参与工作的地方,就说说想要做相应工作时,应该具备哪些技能。

前端方面,开发前端,不论是微信公众号还是小程序、网站等,它们都需要学习这几种编程语言,html和css3,还有JavaScript,(h5只是html的第五个版本)这三门语言是开发前端部分最基本的语言要求,当然,只懂这些是没法工作的,还需要深入学习屏幕适应和jQuery库等,后面了解bootstrap等自适应框架,Vue 等构建数据驱动的框架。如果想要制作微信公众号等和小程序,还要熟读微信小程序开发文档等。

与前端相对应的自然就会服务端,但是开发服务端的语言非常多,现在最流行的还是Java和PHP及C#和Python,还有go语言R语言等,当然还有准备迎头而上的swift语言。这些语言各自有各自的特点,但是又有共同之处,那就是基础不会变,所以有过语言功底的朋友们学习另一种语言是非常简单的,但是同时有个缺点,不同的语言学的多了,非常容易混淆。这也是让人很头疼的一件事。除了基本语言的掌握,后端开发也需要学习一些前端知识,因为制作完成的后台不只是给程序员使用的,更多的是给运营等不认识代码的朋友们使用的,所以一个操作界面是必不可免的。当然,程序员并不是所有代码都从头敲的,我们要学习轮子的使用,这些主流编程语言,都有自己的一些标准库,还有集成好的一些框架,比如我们常说的Java的spring框架,PHP的laravel框架,Python的tornado框架,go的beego框架等非常多。合理使用这些框架,在加上后台界面上用的adminLTE等,大大缩短了我们的开发时间。最后就是数据库语言、Linux服务器的操作及搭建,ssh的使用等等,都是后端开发人员必备知识之一,当然,可以不精通,但是必须知道怎么使用。

移动端现在是Google开发Android和苹果开发的iOS两分天下,而它们使用的开发语言分别是Java和OC(objective-c的简称),当然了解iOS软件开发的朋友们都知道,swift是开发苹果手机软件的一种语言。这里值得一提的是,不要想着会Java就会Android和jsp的 开发,虽然它们都是Java开发,但是使用库,开发的思维等完全不一样,还是需要经过一段时间后才能上手。

最后就是PC端,也就是我们的电脑,电脑现在主要是Windows系统,Linux系统和Mac os系统,它们分别使用的C#语言,C语言,OC语言,当然还有C++,看到了吧,万变不离C,这也是为什么软件开始的时候,首先要学C的原因。

从入门到吃土

看完了这些,我们心中大概就有了自己想要学习的方向了吧,那么我再给大家捋一捋学习初期,哪种语言容易入门。

就我对这些语言的接触上,做了前端,要转后端比较难,但是做了后端,转前端就比较容易,所以在前端的学习上,html学起来最简单,只要将标签熟记,区分行级元素及块级元素,然后是css3,掌握页面布局,最后是JavaScript语言,JavaScript给我的感觉就是只要遵守规则,好像什么都可以盘一下。

谁给的钱多我做谁

后端和移动端等所用语言都有共通的地方,但是其初期难度来说,PHP语言和Python入门较快,但是Python语言是一门多用途语言,而PHP更多的是面向web的一种语言。go语言对于初学者来说难度较高,因为其中“切面”、“通道”等思维逻辑比较难以理解,所以门槛会高那么一点。Java语言适合有人带,因为它的生态圈子比较广,所以一不小心就走歪了,最后就是objective-C这门反人类的语言了,其语言的书写方式让它成为程序界的吐槽对象,并且用习惯oc的程序员,时间久了用其他语言就会感觉有点怪异。然后因为它的不开源,所以安全性比较高,但是有设备限制,只能用在苹果设备上,这也是一大诟病。swift语言是苹果公司后来开发的一门编程语言,它以性能好著称,但是仍然因为设备限制,所以使用面太窄。就算这样,oc和swift仍然是软件开发最佳选择之一。个人觉得这些语言初期学习难度来说:PHP=Python < swift=go < java=oc < c ,但是到了学习中后期,其学习难度来说大致相同,因为每种语言都有自己的特色和思想,所以要想理解这些,就要学精了,而且不能学了这个感觉不好又去学那个,这样学下来,就会广而不精,导致什么都会,什么都不精通,如果想要进入大一点企业,难度就会增加很多。

万码之父

上面就是我在毕业后这近六年里总结的一些经验,希望对刚入行的小伙伴能够有所帮助。由于今年或者明年,华为公司开发的鸿蒙系统可能要上线,所以想要入行的话可能需要重新学习,但是现在又没出来,所以从头学习C语言熟悉下,为后面做准备。同样,如果有小伙伴现在想要入行,最好先学习C打基础,等到鸿蒙出来后再入行也是不错的选择和机会。希望有能够一起学习的机会,谢谢阅读。

一起学习