软件开发这个工作,本质上来从业的大部分人都只是劳动力,或者说你只要在学校踏实的学了,都能够完成工作,不需要什么额外的天份才能开发软件。后端开发采用不同的编程语言需要学习的内容还是有所区别的,以当前流行程度比较高的Java语言为例,在学习后端开发的过程中,主要涉及到三大块内容,其一是Java的分布式开发,其二是Java的数据库开发,其三是Java的框架开发,目前Spring系列框架的运用还是比较普遍的。
1、学软件开发需要什么基础吗?
不需要。其实看看大学校园内,计算机专业的同学,有多少人在入学之前就有编程基础?我想一定很少,软件开发这个工作,本质上来说,从业的大部分人都只是劳动力,或者说你只要在学校踏实的学了,都能够完成工作,不需要什么额外的天份才能开发软件。这个不像某些运动、艺术类的工作,比如踢足球、打篮球、田径、唱歌、跳舞等等,它们通常是需要天赋的,有了高人一等的天赋,你才能够取得辉煌,
2、转行IT做后端开发,学什么好?
我是计算机科班出身,并且工作了5年,程序开发主要有这几类:C/C ,Java,C#,前端开发,其他语言(python)。下面我就针对这几门语言讨论一下它们的优缺点,真实感受,1.C/C ,多用于桌面端软件和服务器。本人就是用这个做计算机图形学开发的,很多人都说C/C 比其他语言学习起来难,这样描述是不准确的,所有的语言学习起来都有难有易,只能说C 入门稍微慢点,当你入门后就会有驾轻就熟的感觉了。
虽然目前市场上C/C 的岗位没有Java多,但是从事的人也比较少,所以就业前景也是不错,2.Java,多用于网页端软件后台。现在市场占有率最高的的语言,市场需求很大,但是从事的人也很多,竞争力也相对很大,所以学习Java必须要深入,才能有竞争力,Java入门起来比C/C 简单,并且有大量的框架可以使用,不用重复造轮子。
后期可以向全栈发展,全栈的意思就是前后端都能做,简单说Java 前端。3.C#,C#就是微软想要复制Java的成功,C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。所以它就是好学,易用,同时兼顾运行效率,尽量优化,说起这个,并不是说越高级的语言就越慢,运行时性能跟很多东西有关。
王者荣耀就是unity个c#开发的,4.前端开发,多用于浏览器页面。前端之所以可以被称为编程语言是由于JavaScript的诞生,HTML和css我不认为算作编程语言,前端的优点就是入门非常快,可以短时间写出很好效果的界面,当下前后端分离大趋势,所以市场需求也很多。不过知识更新太快需要不停地学习,所以我也建议可以后期学习Java,然后做个全栈,
5.其他语言,多用于解决特定技术问题。为什么把Python,PHP等归为其他语言呢?因为这些语言大多数都是作为辅助开发的,比如我平时用Python做数据分析,配合主程序可以有很不错的效果,所以这些语言也可以作为工具学习一下,说在最后的,其实现在很多人感觉程序员工资高,想要转行,其实程序员很苦逼的,加班多,压力大,职业病多,职业生涯短,如果不是科班或者实在喜欢编程,那么不是特别推荐入行。
3、应届生,想学习后台开发,应该学习些什么?
就拿Java后台开发来说,除了Java基础,最基本的语法之外,还应该学习Java高级技术,像什么反射,内省,Java的集合框架等,以及前端方面的知识(HTML,css,JavaScript,jQuery以及一些前端框架,比如说bootstrap等),还有比较核心的Javaweb方面的知识点,http协议,servlet,jsp,ajax等,后期项目中常用的框架(ssm,springboot等)。
其他的就是数据库方面的知识点,常见的数据库的使用,比如说,MySQL,oracle等,后期深入学习,还可以研究一下分布式技术,设计模式,网络支付、全文搜索引擎、Docker、WebService等,或者是jdk源码也是可以研究一下的。之前在“如鹏网”上学习的Java的学习路线,有网络的地方就可以学习,根据自己的时间来灵活安排学习进度,每个章节的后面都有相应的练习题和面试口才题需要通过录音的方式来进行提交,为面试做准备,有新的课程课程更新了,也是可以继续来学习的,有详细的学习路线,可以作为学习的参考。