做一个软件开发需要哪些知识(从零基础到软件开发)
从零基础到软件开发,应该走怎样的路?我作为一个专业开发近20年的工程师,相信对这方面还是有很多经验!最近看到小伙伴有类似的迷惑,所以写下这篇文章,希望对大家有帮助!
一、学习能力比较强,有兴趣爱好是最好的!
IT行业是一个人才汇集的地方,因此要确定自己有一定的学习能力,有一定的爱好,才能走的比较远一些!
二、打好计算机基础1、计算机硬件结构与接口
2、计算机操作系统
3、计算机原理与日常维护
4、网络技术
5、数据库等
这些基础课程或者知识,夯实基础,很多那种几个月上岗的码农,实在不敢恭维!随便都能叫程序员!
三、至少精通一门语言如果想对计算机有深入了解,汇编语言是最好的,如果想做软件方面的,Java、C/C 、Python都是非常好的选择。
这里笔者就用一下以前写的文章的话语,给大家简单介绍一下C语言与C :
C语言是面向过程的,而C++是面向对象的。编程入门就选C语言,同时C语言也是大学计算机相关专业必修课之一!
C和C 的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C ,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C 的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”。
C与C 的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
学好C 可以从这几个方面去检测:
1:兼容C语言的部分;
所以学好C ,必须以学好C语言为前提。同理:学好上层语言如PHP,JS,java,又必须要以C/C 为前提。违背这个原则,你会遇到无法超越的技术瓶颈。你的编程职业生涯就会打折。比如学PHP的时候,难度不在于PHP的if...else...这些语法,而在于比如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。
2:面向对象编程思想:类,继承,多态这些的产生渊源。
3:泛型机制。
4:模板机制:函数模板,类模板
5:它的标准库STL里面的数据结构和算法,这些内容你主要是要知道它们有什么实现方案,虽然不要你去写,但是你要懂得来源,这样用起来才放心。如:怎么实现容器vector,list,map的?
6:非标准库,如:Boost。
当然也是它里面的数据结构和算法。这些内容它帮你写好了,你很多时候其实只是在使用接口而已。所以,熟悉它,是一件简单的事。关键是要探索它的实现方案。
7:做几个项目,包括控制台的,图形化的,以及进一步延伸的QT编程。
8:游戏编程
9:Linux操作系统
虽然不需要你在Linux上开发,但是你要懂Linux,而它里面涉及到的东西就多了。比如进程、线程、管道、队列、消息、通信等等。
四、精通操作系统
软件实际上就是在操作系统上编程,只有深入了解操作新系统的原理和机制,才能成为一名高级程序员。比如操作系统的分级机制,存储器的管理、进程、线程、消息队列等!API以及API的调用。
五、具有专业技术1、数据结构与算法
2、深厚的数学功底
3、熟悉硬件和网路等相关专业技术
4、其他领域的专业技术,如财务、法律、项目管理等行业技术
只有这样,才能在某一个领域成为专家级的程序员!发展自己的综合素质,为高级项目管理人以及创业打好打好基础!
自学C/C 编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!
C语言C 编程学习交流圈子,关注 私信【C/C 编程】C语言编程学习基地
有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!
编程软件
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com