编程初学者N大常见问题解答[2015-01-06更新]

[作者]
网名: 猪头三
QQ: 643439947
编程生涯: 2001~至今[15年]
职业生涯: 12年
开发语言: C/C++; X86ASM; Object Pascal; C#; Objective-C;
开发工具: Visual Studio; Delphi; XCode;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全; Mac OS X应用软件开发
技能种类: 逆向 驱动 磁盘 文件

[序言]
很多想学编程的朋友,加我QQ咨询各种各样的相关编程问题. 有些问题是十分重复的, 因此我精选了N个常见问题在这里统一回答. 当然在开始看这N个常见问题时, 先确定您是否真的对编程感兴趣, 因为对于正常人来说, 编程的最重要前提条件是: 兴趣、兴趣、还是兴趣. 如果您的态度是模棱两个的话, 建议先看我QQ空间的这篇励志文章:你对编程真的感兴趣吗?

FAQ1: 我是0基础的人,能学好编程吗?
答: 没有谁一开始都会编程的, 都是在学习的过程中补缺补漏. 但是能否学好编程, 主要是个人的学习意志力以及学习的态度. 一天打鱼三天晒网的学习态度, 很难在编程领域上取得成就感.

FAQ2: 我只有初中文化水平, 可以学编程吗?
答: 可以, 但要保持后期的文化水平提升, 不求全面, 只求够用.

FAQ3: 编程赚钱吗?
答: 编程是否赚钱, 是没有绝对的. 其实编程也是一个普通的行业, 每个行业都有赚钱和不赚钱的情况出现. 但是一般来说在编程技术上比较优秀的人赚得钱会更多一点. 但每个人的"赚钱"标准不一样, 这要看你怎么衡量这个标准. 我就举个例子: 比尔盖茨就是通过编程做到了世界首富. 那么我们能说编程赚钱吗? 这个只能仁者见仁, 智者见智了. 不过我可以提供一个可靠的数据来源: 是否赚钱, 可以通过去求职网站看看, 编程相关的职业薪水, 然后自己心里评估一下.

FAQ4: 年纪大了, 还能学吗?
答: 这个问题要看你学习的目标是做什么? 如果仅仅是兴趣爱好或者是赚外快为目的, 那么学编程是好事情. 人老了, 你一天没事干, 学学编程解闷, 何乐而不为, 并不需要说一定要你学会. 但如果是为了职业化, 那么就不建议你去学了. 个人看法是: 为职业化做准备的, 一般不要超过45岁.

FAQ5: 如何学习编程?
答: 我的网站www.x86asm.com这几篇文章,会给你答案
    1> 编程是什么, 什么是编程?
    2> 不要因为英语和数学而害怕学习编程
    3> 如何正确入门Windows系统下C/C++学习领域?
    4> 如何正确地选择并加入编程领域(仅限windows系统编程)?
    5> 我的个人软件是怎样炼成的?(详细说明一个软件的理论框架)
    
FAQ6:编程要多久才能入门?
答: 这个问题是没有统一标准的, 不同的人拥有不同的智商或者天赋. 然后不同的人拥有不同的学习态度和毅力. 很难用一个标准的结论来答复你. 编程要入门, 取决几个因素: 天赋 智商 学习态度以及毅力, 然后如果有人教, 入门会更快, 至少你不用走太多的弯路, 节省了更多的时间.

FAQ7: 我英文不好, 数学不好, 能学好编程吗?
答: 我的网站www.x86asm.com这2篇文章,会给你答案
    1> 不要因为英语和数学而害怕学习编程
    2> 如何正确地选择并加入编程领域(仅限windows系统编程)?
    
FAQ8: 哪种编程最赚钱?
答: 编程是否赚钱, 这个没有绝对化的说法. 主要是看你掌握的编程技术是否符合用人单位的招聘标准, 是否符合时代的技术潮流, 以及你学的编程技术是否是珍贵技术(说白了就是门栏相对高的编程技术), 另外还有就是你是否拥有自己的个人私密的编程赚钱渠道.

FAQ9: 编程难学吗?
答: 一般情况下, 智商正常的人, 主要还是依据学习态度来定论, 学习态度好的, 学习编程就容易入门. 学习态度不好的, 往往学几年也学不会. 再一个还要懂得用利用科学的方式去学习编程. 我从事编程10多年, 见过比较多的情况是: 1> 一个人放弃编程的根本原因不是他/她太笨, 而是他/她没有能坚持, 2> 再一个是学习方式不对, 总想一次吃饱, 结果得不偿失, 陷入了死胡同且导致失去学习的信心.

FAQ10: 学习C/C++该看什么书?用什么工具?
答: 我的网站www.x86asm.com这篇文章, 会给你答案
    1> 如何正确入门Windows系统下C/C++学习领域?

FAQ11: 编程都有哪种?
答: 我的网站www.x86asm.com这2篇文章, 会给你答案
    1> 编程是什么,什么是编程?
    2> 如何正确地选择并加入编程领域(仅限windows系统编程)?

FAQ12: 开发外挂,需要什么基础?
答: 我的网站www.x86asm.com 篇文章, 会给你答案
    1> 如何正确入门Windows系统下C/C++学习领域?
    2> 如何正确入门Windows系统下驱动开发领域?
    3> 如何正确进入基于x86-64Bit Windows系统商业软件破解领域?
    4> 如何正确的待汇编学习和反汇编学习?

FAQ13: 作为初学者要先从哪里开始学?
答: 我的网站www.x86asm.com这篇文章, 会给你答案
    1> 如何正确地选择并加入编程领域(仅限windows系统编程)?

FAQ14: 想学编程,应该看那些书?
答: 编程初学者第一件事是先判断自己的兴趣, 根据自己的兴趣再判断来自计算机里的哪个领域, 确定了这2个事情, 你才可以根据具体的领域去看具体对应的书籍. 因为领域太多, 所以没法跟你说要看什么具体的书籍.
    我的网站www.x86asm.com这篇2文章会给你答案
    1> 编程是什么, 什么是编程?
    2> 如何正确地选择并加入编程领域(仅限windows系统编程)?

FAQ15: 学习编程之前需要什么基础吗?
答: 我的网站www.x86asm.com这篇文章会给你答案
    1> 如何正确地选择并加入编程领域(仅限windows系统编程)?

FAQ16: 初学者如何入门破解与逆向?
答: 我的网站www.x86asm.com这篇文章会给你答案
    1> 如何正确进入基于x86-64Bit Windows系统商业软件破解领域?

FAQ17: 最新最优秀的计算机编程书籍在哪里购买?
答: 最新最优秀的计算机编程书籍, 一般都是美国亚马逊电子门户网站销售的英文版计算机编程书籍, 如果英文足够好的, 可以优先考虑订购英文版的编程书籍. 但是作为国内的大多数编程爱好者而言, 大多数情况下购买计算机编程书籍可以考虑去[卓越网 当当网 china-pub]购买.

FAQ18: 关于免杀方面的语言,是不是应该学习汇编?
答: 如果你是0基础的人, 那么不建议你为了免杀而学习免杀技术, 因为该技术需要大量的系统基础理论以及编程技术作铺垫, 最好是长期涉及Windows系统安全的相关编程尤佳. 因此我个人认为如果要进入免杀领域, 最好先学会编程且优先学习C语言. 另外汇编肯定是要学习. 但不是优先学习.

FAQ19: 如何开发一个具有实际用处的软件
答: 我的网站www.x86asm.com这2篇文章会给你答案
    1> 如何正确地选择并加入编程领域(仅限windows系统编程)?
    2> 我的个人软件是怎样炼成的?(详细说明一个软件的理论框架)

FAQ20: 在校初中生,高中生如何选择编程和学习编程
答: 我的网站www.x86asm.com 篇文章会给你答案
    1>  你对编程真的感兴趣吗 ?
    2> 编程是什么, 什么是编程?
    3> 初中、高中的在校生如何把握并实现自己的编程学习梦?
    4> 如何正确地选择并加入编程领域(仅限windows系统编程)?

FAQ21: 是否可以不学习C语言, 直接学习C++语言?
答: C语言和C++语言是2种不同编程思维的语言,前者是面向过程的编程思维, 后者是面向对象的编程思维, 差别还是很大的. 虽然C++语言是C语言的超集, 也就是说C++语言会兼容与C语言. 但不表示在学习编程语言的起步过程中可以忽略C语言的学习而直接学习C++语言, 这是因为目前市面上还没有一本书或者教学资料能同时兼并讲解面向过程和面向对象, 因此必须先购买C语言的书籍(比如c primer plus)来培养面向过程的编程思维, 这步基础打好了, 再去购买C++语言的书籍(c++ primer plus)来培养面向对象的编程思维, 也只有这样经过2个步骤, 你才能为以后的编程旅途铺开一个广而宽的道路.

FAQ22: 单靠C语言知识, 能不能写程序或者软件开发?
答: 是否单靠C语言, 要看你实际的项目需求以及业务逻辑需求, 没有绝对化的标准。但硬要执着的用C语言来完成一个你想要的东西, 也不是说不行的, 只是看你需要的时间长短问题而已. 另外这里还有很多人认知的误区: 以为开发一个程序或者软件单单学好编程语言就可以了, 其实这个是最大的错误认知. 希望有这方面错误认知的朋友们, 要纠正了. 开发一个好的程序或者好的软件是需要很多知识, 编程语言只是其中的一种而已. 大家可以看我写的这篇文章, 先对软件的构建有一个初步认识.
    1> 我的个人软件是怎样炼成的?(详细说明一个软件的理论框架)

FAQ23: 初学编程应该选择什么样的开发工具?
答: 要弄清楚的这个问题, 首先要弄清 FAQ14: 想学编程,应该看那些书? 这个问题. 等你决定好要学习哪方面领域的编程了, 才能决定你使用什么开发工具, 不同的编程领域使用的开发工具是不一样的 .

FAQ24: 编程学习过程中是否需要考相关的证件?
答: 证件只是证明你拥有对应技能的理论以及技术, 但不表示你的整体技术会优越于对方. 相反一个没有证件的人也有可能会比你厉害. 什么样的情况下能发挥证件优势? 在相同级别的能力水平下竞争时,你的证件就会发挥优势, 因为你比跟你一样水平的人多了一个可以证明自己能力的东西. 当然如果对方的技术比你强时, 证件就失去了证明你技术的能力, 这是因为证件的技术证明范围相对于狭窄导致的. 如果你明白以上的道理, 心里应该会有一个标准是否需要考相关的证件. (备注: 我是没有任何证件) .

FAQ25: 编程学习过程中是否需要联网?
答: 就我的个人经验来说, 编程学习的过程是非常依赖网络的, 因为你需要查阅各种资料或者和志同道合的朋友交流, 在一个没有网络的环境下学习编程,会显得效率低下而且容易出现厌学心态. 因此建议学习编程之前, 最好确保能有一个稳定的宽带 .

FAQ26: 我想成为一个黑客, 入侵等等, 需要如何做起?
答: 黑客是一个宏伟而庞大的问题, 是一个由很多一个领域分支和技术分支组成. 你可以参看我写的这篇文章: "棱镜门事件"的思考:黑客是什么,如何成为黑客?

FAQ27: 学完C语言, 下一步我该学什么?
答: 至于下一步要学习什么, 要看你未来的技术领域规划. 不同的技术领域规划所需要的技术理论不一样的. 因此你要先明白你未来的技术目标是什么, 才能决定你下一步到底要学习什么理论 .


猜你喜欢

转载自blog.csdn.net/Code_GodFather/article/details/7420783
今日推荐