初学者如何自学编程_怎样学习编程
如何编程、如何学好编程、这是编程行业讨论最多的话题
一、什么样的人可以学好编程?
很多人都对编程感兴趣、但是一直都无法学好、觉得很困惑、到底是不是基础太差或者理解能力比别人差一截
在我眼里只要具备几个基础条件就可以学好编程: 智商正常 坚强毅力 寂寞能耐 好奇心强
1、智商正常:只要不被医学定位为弱智、白痴就行了
2、坚强毅力:学习是需要付出代价的、大家回想一下初中 高中自己班里的优等生、大多数都是刻苦学习
你玩的时候、优等生是不玩的、你睡觉的时候、优等生是不睡觉的
3、寂寞能耐:学会和寂寞做斗争的人、学习是很枯燥的、所以寂寞经常来袭你、这时要学会变通方式、跟寂寞做斗争、而不是因为寂寞而放弃了学习
4、好奇心强:学习一门技术、重要的是兴趣和好奇、这种强烈的好奇心才能让你的学习激情持久
二、4个基本条件我都有了、如何编程呢?
很多人编程感兴趣、但无从下手、是什么原因呢?
这是因为你没有认真分析您的编程兴趣来由、在学习编程之前、你要好好思考你是因为什么兴趣才编程的?
只有知道你的兴趣来由、才能决定你编程领域、编程领域明确了、才能知道如何针对这个领域学习编程
三、现在都有那些编程领域呢?
编程领域很多、我没法一一举例出来、这里只列出关注度比较高并且热门的领域、科研领域的编程、我就不列举、因为这是面向初学者
白色产业
1、 游戏开发
2、系统安全
3、 网络安全
4、数据库
5、 网络开发
6、手机应用开发
7、系统应用开发
1、网络入侵
2、破解
3、游戏外挂
4、病毒
5、木马
6、恶意远程控制
四、挑选你感兴趣的领域并决定你的编程语言学习
因为我是Windows系统的软件开发工程师、而且是面向大众化的开发、而不是科研型也不是黑客型
所以我就简单打个比方、介绍我熟悉的、比如: 我喜欢"系统安全"和"系统应用"开发
那么这些大部分是基于C语言和C++语言基础的、然后慢慢派生出其他语言也可以进行开发
比如C# JAVA VB DELPHI都可以、但是我想说、大部分领域(破解 游戏外挂 病毒 木马 远程控制 游戏开发 网络开发 杀毒软件……)
C语言和C++语言是编程的基础、所以对于初学者、一开始定位C语言的学习是正确的方向、把C语言掌握了
下一个阶段就是掌握C++语言、只要你熟悉掌握C语言和C++、那么再去学习其他语言是非常轻松的
五、学习编程之前需要预先打好什么基础吗?
也有很多人在担心这个问题、害怕基础不行、无法进入编程领域、其实这种想法是多余的、只要你智商正常
很多基础都可以后天弥补、而且可以同步进行、编程语言的英语关键单词量不多、只要你会自己手动查阅英文字典
对着看就OK了、没有必要说先让英语达到一定程度了、在去学编程、英语学习是可以同步进行的
再说到数学、文化在怎么低、也总得初中数学、初中数学的基础理论足够你去学习基本的编程语法(注意这里是指编程语法)了
因此没有必要等到把你的数学都补全了在去学编程、浪费时间了、应该学会同步
当然随着学习编程的不断深入、自觉的根据自身数学基础根基薄弱的地方进行补缺补漏
学习数学的原则是够你用就OK、因为你不需要成为数学家
六、熟悉掌握编程语言、如何深入提高自己的编程能力?
要提高编程能力、跟自身知识理论有很大关系、下面我列举几个重要因素:
1、英语: 英语的好坏、决定你获取和消化国外技术文献的速度、很多先进的技术理念来自于国外
然后英文文献占用比例最大、如果你的技术来源渠道仅限于国内中文文档、那么你的技术提升会很慢
2、数学: 这是非常有争议的话题、数学到底对编程起到多大作用、目前没有一篇文章解释得清楚
但我只能说、注意扬长避短、有些领域用到的数学理论非常多:比如视频编解码开发、模式识别、神经网络
游戏引擎、但这些高深理论一般普通软件开发人员是不用去接触核心的、我个人认为如果不从事科研型的编程领域
那么本科4年的数学理论足够你用了、高端软件开发的数学理论重点是:离散数学
3、数据结构+算法: 这理论是关键的、掌握的程度越高、你写的程序效率就越高越漂亮越有技术含量、说白了这东西就是让你程序处理数据更加快
4、操作系统理论:了解系统的运作原理、可以让程序运行的时候更加稳定更加安全更加健壮、让程序的质量得到最优质的保证
5、老师/师傅: 三人行必有我师 这话是错不了的、正确的人给你正确的指点、对你能力提高是有非常重要的作用、会少走很多弯路
七、总结
如何学好编程、其实还是老经验、1>兴趣 2>努力 3>老师/师傅 4>基础 5>持久