您的位置:首页 > 编程语言

如何正确地选择并加入编程领域(仅限windows系统编程)?

2011-11-15 17:37 288 查看
[作者]

站点: http://www.x86asm.com

Email : pliceman_110@163.com

QQ : 643439947

编程生涯: 2001~至今

职业生涯: 9年

曾经职业: 通用软件架构师 通用软件技术总监 通用软件研发工程师

开发语言: C/C++; x86asm; Object Pascal; C#;

开发工具: VC++; Delphi;

研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;

技能种类: 逆向 驱动 磁盘 文件

原创书籍: Windows编程入门-<无名的微型书>

[序言]

如何编程,如何学好编程,这是编程行业讨论最多的话题,面对不少刚刚加入编程学习组的学员,我同样少不了要先回答这个问题.下面简单分享我自己想法.由于现在是效率时代,所以我写这篇文章力求简洁.

[什么样的人可以学好编程?]

很多人都对编程感兴趣,但是一直都无法学好,觉得很困惑.到底是不是基础太差或者理解能力比别人差一截.在我眼里只要具备几个基础条件就可以学好编程: 智商正常 坚强毅力 寂寞能耐 好奇心强

1>智商正常:只要不被医学定位为弱智,白痴就行了.

2>坚强毅力:学习是需要付出代价的,大家回想一下初中 高中自己班里的优等生,大多数都是刻苦学习,你玩的时候,优等生是不玩的,你睡觉的时候,优等生是不睡觉的.

PS:这里我不是提倡书呆子学习,主要提倡是时间的重要性,学习是一个消耗时间的过程.

3>寂寞能耐:学会和寂寞做斗争的人,学习是很枯燥的,所以寂寞经常来袭你,这时要学会变通方式,跟寂寞做斗争,而不是因为寂寞而放弃了学习.

4>好奇心强:学习一门技术,重要的是兴趣和好奇,这种强烈的好奇心才能让你的学习激情持久.

[4个基本条件我都有了,如何编程呢?]

很多人编程感兴趣,但无从下手.是什么原因呢?

这是因为你没有认真分析您的编程兴趣来由.在学习编程之前,你要好好思考你是因为什么兴趣才编程的?只有知道你的兴趣来由,才能决定你编程领域,编程领域明确了,才能知道如何针对这个领域学习编程.

[现在都有那些编程领域呢?]

编程领域很多,我没法一一举例出来,这里只列出关注度比较高并且热门的领域:

PS:科研领域的编程,我就不列举.因为这是面向初学者

// 白色产业

1> 游戏开发

2> 系统安全

3> 网络安全

4> 数据库

5> 网络开发

6> 手机应用开发

7> 系统应用开发

// 灰色产业

1> 网络入侵

2> 破解

3> 游戏外挂

4> 病毒

5> 木马

6> 恶意远程控制

[挑选你感兴趣的领域并决定你的编程语言学习.]

因为我是Windows系统的软件开发工程师,而且是面向大众化的开发,而不是科研型也不是黑客型.所以我就简单打个比方,介绍我熟悉的.比如: 我喜欢"系统安全"和"系统应用"开发,那么这些大部分是基于C语言和C++语言基础的,然后慢慢派生出其他语言也可以进行开发,比如C# J***A VB DELPHI都可以.但是我想说,大部分领域(破解 游戏外挂 病毒 木马 远程控制 游戏开发 网络开发 杀毒软件......),
C语言和C++语言是编程的基础,所以对于初学者,一开始定位C语言的学习是正确的方向,把C语言掌握了,下一个阶段就是掌握C++语言.只要你熟悉掌握C语言和C++,那么再去学习其他语言是非常轻松的.

[学习编程之前需要预先打好什么基础吗?]

也有很多人在担心这个问题,害怕基础不行,无法进入编程领域.其实这种想法是多余的.只要你智商正常,很多基础都可以后天弥补,而且可以同步进行.编程语言的英语关键单词量不多,只要你会自己手动查阅英文字典,对着看就OK了,没有必要说先让英语达到一定程度了,在去学编程.英语学习是可以同步进行的.再说到数学,文化在怎么低,也总得初中数学,初中数学的基础理论足够你去学习基本的编程语法(注意这里是指编程语法)了,因此没有必要等到把你的数学都补全了在去学编程,浪费时间了.应该学会同步.当然随着学习编程的不断深入,自觉的根据自身数学基础根基薄弱的地方进行补缺补漏,学习数学的原则是够你用就OK.因为你不需要成为数学家.

[熟悉掌握编程语言,如何深入提高自己的编程能力?]

要提高编程能力,跟自身知识理论有很大关系.下面我列举几个重要因素:

1> 英语: 英语的好坏,决定你获取和消化国外技术文献的速度,很多先进的技术理念来自于国外,然后英文文献占用比例最大.如果你的技术来源渠道仅限于国内中文文档,那么你的技术提升会很慢.

2> 数学: 这是非常有争议的话题,数学到底对编程起到多大作用,目前没有一篇文章解释得清楚.但我只能说,注意扬长避短.有些领域用到的数学理论非常多:比如视频编解码开发,模式识别,神经网络, 游戏引擎,但这些高深理论一般普通软件开发人员是不用去接触核心的.我个人认为如果不从事科研型的编程领域,那么本科4年的数学理论足够你用了.高端软件开发的数学理论重点是:离散数学.

PS:你们可以阅读我网站(www.x86asm.com)另外写的2篇文章: "不要因为英语和数学而害怕学习编程" "迈向高端软件开发的数学必经之路"

3> 数据结构+算法: 这理论是关键的,掌握的程度越高,你写的程序效率就越高越漂亮越有技术含量.说白了这东西就是让你程序处理数据更加快.

4> 操作系统理论:了解系统的运作原理,可以让程序运行的时候更加稳定更加安全更加健壮,让程序的质量得到最优质的保证.

5> 老师/师傅: 三人行必有我师 这话是错不了的,正确的人给你正确的指点,对你能力提高是有非常重要的作用,会少走很多弯路.



[结束语]


如何学好编程,其实还是老经验:

1>兴趣 2>努力 3>老师/师傅 4>基础 5>持久

(PS:注意这里是有排名先后的)学习编程首先还是兴趣第一,有兴趣你才会知道要努力的学习,然后学习是不能盲目,有老师、师傅指点你会学得更加快少走弯路.知道努力学习了,那么就要把自己薄弱基础打好打厚,剩下的就是要持久了,保持持久的学习状态.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: