从概念上来说,软件开发就是根据用户要求建造出软件系统或者系统中的某个软件部分的过程。也是一项包括需求捕捉、需求分析、设计、编码、测试和实施的系统工程。
软件一般分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。
既然是从零开始,那么先简单普及一下,如果要从事软件开发,至少需要学会的东西:
1、熟悉一种操作系统(Windows、Linux等)
2、熟练使用一门编程语言(Java、C#、C++、PHP、Python、Html等)
3、简单的算法和数据结构
然后先确定你学习完软件开发后想从事的工作,比如游戏开发(LOL,吃鸡,手游等);前端开发(网页、微信小游戏、Android/IOS APP等);后台服务开发,数据库开发;嵌入式开 发(驱动、单片机等)。
确定方向后,再选择相应的编程语言,如游戏开发(C++为主);网站,小游戏(H5/CSS/js等)、Android(Java为主);IOS(Objective-C、switch);后台服务器(Java、C#、Python等);数据库(MySQL、Oracle、SQLServer等);嵌入式(C、汇编等)。
编程语言基础内容学习的难易程度,大致:C>C++>JAVA>C#>JS>其他。但是基础之后,每门语言的扩展都是很广很深的,都有难度和乐趣。
操作系统也会根据你选择的方向基本定型,如游戏基于Windows比较多,手游和APP就基于Android和IOS、嵌入式基于(类Linux)单片机较多、H5和Java跨平台都适用。
数据结构和算法,在学习语言的时候顺带学习一些就够了。但是如果是从事最近很热门的“人工智能”,“区块链”等技术,那对数据结构和算法的要求就会比较高。
综上所述,根据自己的意向或兴趣选择一门语言进行学习并且深入,如果是自学可以到度娘查找相关视频或教程观看,并最好多做几次资料中给的例子。老妖不太建议找培训机构。