零基础小白学习编程,可以先对计算机基础有一个整体的认识,比如计算机的组成原理、计算机网络、操作系统等。对计算机有一个整体认知之后,可以选择你感兴趣的编程语言进行学习。
如果你是计算机专业的,那么仍然强烈建议从C语言开始。虽然表面看起来C语言用的并不多,但是随着你以后的深入学习,你会愈发发现C的重要性。有了C语言的基础以后你学其他任何语言都事半功倍,如果你以后的工作需要在Linux下完成,那么C更是必须精通的。
如果你不是计算机专业的,这个时候是不是从C开始学习就要看你的具体需求了,而且可能要和你的应用场景结合来考虑语言如何选择。不管是C、Java还是现在比较火的Python,用来入门都是没有问题的,所以如果这门语言能够对你有用,从哪门开始都不是问题。重要的是——立即开始,并坚持学下去!
编程其实没那么难,边做边练是学习编程的正确打开方式!
除了语言本身还要什么?
1 数据结构和算法
虽然现在大多数情况下不需要你自己去实现基本的结构(比如列表、栈、队等),很多算法也是现成的(比如查找、排序等),但是如果你没有数据结构和算法基础的话,深入学习会非常辛苦,很多东西理解起来也比较困难。
来源于网络,侵删
2 数据库
在这个数据爆炸的年代,随便写个程序都有一堆数据要处理,不懂一门数据库是绝对不行的,在选择方面也没必要纠结,现在用的基本还是以关系数据库为主,MySQL、SQL Server、Oracle都行,反正都用SQL,所以只要搞懂一个基本其他的也都差不多,当然后期可以再看看现在流行的NoSQL。
来源于网络,侵删
3 操作系统和计算机网络
操作系统对于计算机专业的一定要学一下Linux,网络方面Socket编程要学好。
然后了解相关的开发工具,再学学流行的框架,你基本上就可以做一些项目了。
学习编程的过程,大致如下:
看书、看博客、学课程或者看视频等
模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键!!!
思考学习别人思路后,脱离书本和博客,完全自己实现功能
自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力
在别人的框架和要求下,写代码实现业务
自己负责别人设计的模块的实现
独立设计业务模块并开发实现
负责大项目框架设计和拆分,带领别人进行开发
其他高阶的架构和管理工作,已经不仅仅是代码能力了
希望可以帮到大家
如果你是计算机专业的,那么仍然强烈建议从C语言开始。虽然表面看起来C语言用的并不多,但是随着你以后的深入学习,你会愈发发现C的重要性。有了C语言的基础以后你学其他任何语言都事半功倍,如果你以后的工作需要在Linux下完成,那么C更是必须精通的。
如果你不是计算机专业的,这个时候是不是从C开始学习就要看你的具体需求了,而且可能要和你的应用场景结合来考虑语言如何选择。不管是C、Java还是现在比较火的Python,用来入门都是没有问题的,所以如果这门语言能够对你有用,从哪门开始都不是问题。重要的是——立即开始,并坚持学下去!
编程其实没那么难,边做边练是学习编程的正确打开方式!
除了语言本身还要什么?
1 数据结构和算法
虽然现在大多数情况下不需要你自己去实现基本的结构(比如列表、栈、队等),很多算法也是现成的(比如查找、排序等),但是如果你没有数据结构和算法基础的话,深入学习会非常辛苦,很多东西理解起来也比较困难。

2 数据库
在这个数据爆炸的年代,随便写个程序都有一堆数据要处理,不懂一门数据库是绝对不行的,在选择方面也没必要纠结,现在用的基本还是以关系数据库为主,MySQL、SQL Server、Oracle都行,反正都用SQL,所以只要搞懂一个基本其他的也都差不多,当然后期可以再看看现在流行的NoSQL。

3 操作系统和计算机网络
操作系统对于计算机专业的一定要学一下Linux,网络方面Socket编程要学好。
然后了解相关的开发工具,再学学流行的框架,你基本上就可以做一些项目了。
学习编程的过程,大致如下:
看书、看博客、学课程或者看视频等
模仿着书上或者博客的代码,进行复现,复现不重要,思考才是关键!!!
思考学习别人思路后,脱离书本和博客,完全自己实现功能
自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力
在别人的框架和要求下,写代码实现业务
自己负责别人设计的模块的实现
独立设计业务模块并开发实现
负责大项目框架设计和拆分,带领别人进行开发
其他高阶的架构和管理工作,已经不仅仅是代码能力了
希望可以帮到大家