今天我一个临时会员的身份发表这个贴,以前从来没有发过帖子,还望各位不介意,让各位见笑了。
今天我进入新手区,看见很多人写的代码,写的程序,突然发现我还没有进入菜鸟的行列,说来真是惭愧……
自己本身是学习财务会计的,上高中的时候想学习计算机,因为家人的反对,没有学成,上大学的时候又因为这样那样的事情,还是没有学成,去年,已经毕业两年的我决心好好的把计算机好好的学习一下,励志做一个程序员,于是我辞掉了工作,买了很多关于C、C++的书籍,开始看书,结果一年过去了,我还是没有能够入门,说来真是惭愧……也因此本人总结原因如下,希望能够帮助那些和我一样的入门级菜鸟共同分享:
首先,先说说自身的问题:
第一,本人大学两年里基本上放弃了数学和英语的学习,因为当时本专业就业是用不到的,加上工作两年,知识的荒废造成了自身学习能力的下降。
第二,本人没有科学的规划好学习计算机编程的道路,并且没有明确一个作为程序员应该有的目标,计算机语言很多,从那一种语言学起是一件很重要的事情。当时很多人建议我学习Java,理由是没有指针,容易学,而且就业方向还是不错的,我这个人脾气比较倔,一听比较好学,就觉得不爽,于是就硬着头皮开始学习C语言以及C++的道路上来,结果到目前为止是一无所成,当然也正是因为如此本人才开始反省自身存在的错误一边更好地学习计算机程序开发语言。
第三,本人的打字方法不正确,造成本人输入代码的时候速度很慢,以至于断了编程的思路……算了还是切入正题吧:
本人说说自己身上存在的问题:
一,没有计算机基础,尤其是编程基础
二,数学不好,高考数学五十分
三,英语都忘记了,现在连初中水平都没有了
四,错误的计算机输入指法,打汉字还可以,但是一旦输入英文代码,就错误百出
五,没有人教,目前来看纯粹是自学
六,最初的时候盲目不清晰学习的道路,好高骛远
七,身边没人愿意支持
八,经济条件比较差,目前属于苦行僧
好,以上是我一年前的状态,当然现在的状态应该好一些,相信很多人在学习的时候状态比我应该好很多,或许也会有比我差的,但不论怎么说,大家一起共勉吧……
下面谈谈如何修炼成初级程序员:
很多人在学习计算机开发之前都幻想着自己将要成为很出色的黑客,慢慢的将在网络里面浪迹江湖,却不知这条路是这样的艰辛。
首先、目前来看,计算机的主流的开发语言有很多种,但是本人建议开始从C语言开始学起,原因是:C语言是计算机程序开发的高级语言的鼻祖,目前市面上主流的计算机语言都是在此基础上衍生出来的,因此学习好C语言从一定程度上就算是打下了诸多语言的学习基础,学习C语言的书籍本人在此推荐《C primer plus》中文版,本人看过,很容易理解,比较好学。
其次,C语言是面向过程的语言,对于面向对象等应用程序的开发还存在一些局限性,因此我们还要学习面相对象的《C++ primer plus》中文版,当然,语言只是一种形式很容易学习,这就像是武侠小说里面练武功一样,只会招式不懂内功,功力会大大减弱,那么作为程序员的内功是什么,就是《数据结构》《算法设计与分析》以及《软件工程》,在学习的过程中一定要敲代码,不断的验证,并且学习正确的打字法(可以用金山打字通练习),本人始终相信正确打字指法还是很有必要的。
第三,克服学习过程中遇到英语问题,不要害怕,遇到不会的单词可以查阅,记下来,慢慢的日积月累就都记住了,不要担心数学基础差,看不懂《数据结构》,网上有很多关于学习数据结构的教程,如果还是学不会,建议在学习数据结构前看看离散数学的教程,有助于学习数据结构和算法分析。
第四,不要盲目的买很多的书,刚刚说的那两本,在没有基础的情况下能够吃透真的已经不简单了,当然网上也有很多关于C语言和C++的教程或者大学的公开课,对于打下基础应该够了。
第五,有了语言基础我们下一步要做的就是开发程序了,建议可以先从windows应用出发,先了解windows应用开发的基础知识,可以通过《windows应用开发》来逐步了解,相信本论坛也有很多关于windows开发的帖子和教程,可以好好看看。
第六,说到windows开发,不得不说IDE(集成开发环境),微软提供的是VC++6.0以及更高的版本,这是一个很好的开发工具,优酷网上有关于它的教程,大家自己认真的好好看看,我就不在此赘述了。
当这些都准备的差不多了的时候我们需要开始往自己身上的空架子上装东西了,各种操作系统上的C/C++开发,什么是Tcp/Ip协议,sql数据库的应用,xml等等,不断完善的过程会让你体验到程序员的快感。
最后,我相信你会成为一个出色的程序员,学习的过程中一定要学会培养自己的兴趣,因为刚开始的学习是极其枯燥的。只要你坚持住就一定能够见到彩虹,上面说到的东西,就算是有基础的我相信也要三个月以上,没有基础的可能就要花上一年半载了,当然我也在努力学习,我也会时常写一写自己的感受,等到一年半载以后你的基础扎实了,本人在来补充下面要学习的东西——《汇编语言》,因为不懂汇编语言,就很难算得上真正的精通。
本人只是一个菜鸟级的人物,如果有什么说错的地方,还请各位大神级的人物多多批评和指导。
今天很晚了,现在已经是凌晨两点多了,以后有什么心得本人会经常更新,大家如果有什么疑问可以给我留言,我们一起探讨……谢谢,再见!
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。