欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  博文

初学者如何自学编程_怎样学习编程

程序员文章站 2022-03-01 14:37:38
...

如何编程、如何学好编程、这是编程行业讨论最多的话题

初学者如何自学编程_怎样学习编程

一、什么样的人可以学好编程?

很多人都对编程感兴趣、但是一直都无法学好、觉得很困惑、到底是不是基础太差或者理解能力比别人差一截

在我眼里只要具备几个基础条件就可以学好编程: 智商正常 坚强毅力 寂寞能耐 好奇心强

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>持久