献给迷茫中的初学者如何去学习编程_经典网摘

最近看到很多朋友问到如何学习编程这个问题,我想这个问题应该是所有初学者都非常关注的问题了,在论坛上回答了很多也讲了很多,但是总是无法让所有朋友得到一个解答,所以我想写一下自己的经验,希望对大家有所帮助,不过在此先声明,我并非什么高手,我也只是刚刚入门而已,也只是希望通过写一点个人的体会帮助一些和我遇到相同问题的朋友,高手就免看了,以免班门弄斧。
     好了,废话就不多说了。在学习程序之前,我想大家首先应该对程序员这个行业熟悉一下,更加要对编程的语言以及所涉及到的工具有所了解。因为如何过了解这些是很难去给自己一个明确的目标的。所以首先我想在这里先为大家介绍一下这个行业以及一些相关的内容。

    程序员,相信在很多人眼中是一个非常神秘,非常特别又或者说非常有趣的职业。因为在这个行业里面实在出现了太多的英雄,每一个英雄的事迹都足以让我们热血沸腾。但是,又有谁知道在这些英雄的背后,藏着多少辛酸,藏着多少的努力。程序员这个行业并非如大家所想象的那样美好。程序员是一个没有白天黑夜概念的行业,程序员是一个让人筋疲力尽的行业。你们看到的是一些英雄的光辉历史,但是却忽略了大多数程序员的艰辛。所以在这里我奉劝各位,如果你是为了这个行业充满传奇色彩而想加入,如果你是为了这个行业薪水高而想加入,那么请你现在退出吧,因为他不适合你。这个行业需要的是拥有努力、认真、坚持的人。

    讲到如何学习编程,那么必不可少的就要讲到编程语言了,相信大家都知道编程语言有很多种,包括C、C++、BASIC、PASIC、ASP、PHP等等,当中还分为很多不同的领域,所以在学习编程之前一定要为自己定下一个目标,一个自己即将要进入的领域。有些人想进行底层开发,有些人想做网站开发,有些人想做商业软件开发等等,由于计算机的普及,软件行业所涉及的领域也就越来越多,一个人是不可能涉及所有的领域的,所以必须在学习之前给自己一个定位,这个是很重要的,如果没有这个定位的话在未来学习编程的日子里将会很迷茫。
    目标的定位当然不能少了工具的因素,因为不同的领域使用的开发工具也不同,在这里想重新再次郑重的向所有朋友声明一次,不要把开发工具和开发语言混为一谈,语言是编程的基础,而工具是用来辅助开发的,例如VC、VB、DELPHI、BCB等等。每种工具都有各自的优势和缺点,至于每种工具的特点我就不再相信讲了,如果大家是有心学编程的话,我相信你一定会去看看关于这些工具的具体内容的,呵呵,让我偷个懒。还有在这里重要提醒一下大家,不要被现在的流行工具所迷惑,学好根本才是最重要
    前面大概的准备工作已经做完了,对这个行业了解了,给自己定了一个目标后,接下来当然是全力向这个目标出发了。那该怎么做呢?看了很多朋友的帖子,都讲到 C语言是程序员必学的语言,如果程序员不学C就不算是真正的程序员,我个人认为这种说法有点偏激,当然,我承认学C是会对你有很大的帮助,但是并非一定要学C,大家之所以这样说,可能是因为C语言的影响太大了。但是你总不能要那些去学网站开发的人一定要去学C吧,呵呵。其实我个人认为,一开始学什么都无所谓,但是无论学什么,一定要努力和坚持,做不到这两点,你就注定会是个失败者。在这里我想讲一下学编程最关键的问题,就是思想。也许这是个很抽象的概念,但是没有办法,编程本身就是个很抽象的东西,呵呵。等你真正领悟到这一点的时候,恭喜你,你已经站在编程的门口了,呵呵,只是门口哦。那么编程的思想又该如何去领悟呢?要领悟其思想,那首先学习语言是必然的,语言是思想的一种体现形式,就像一个人的思想需要语言来表达一样,所以如果连一门语言都无法掌握的人是无法领悟其思想的。但是对于一个人,如果不经常说话,不经常使用语言,他又如何去使用语言来表达自己的思想呢?编程也一样,要领悟其精髓,必须先不断地看,不断地使用,才能在这种过程中慢慢有所体验,当然有的人可能快些,有的人可能慢些,但是不管快慢,能够达到就是进步。

    我记得在我仍然迷茫的时候,不知道自己该如何去学,每天就是机械式的看书写代码,根本都不知道自己是不是真的懂,但是就是这样不断的看不断的照着书写,终于有一天,好象突然开窍一样,一下子就把所有不明白的东西全都弄明白了,这个有点像佛家所说的顿悟,呵呵。我最初以C语言开始学习的,在我开始学C语言到顿悟这一刻,我可以告诉大家,我看C语言的书我一共看了5本不同的版本(不过都是像走马观花一样的看,千万不要学我),直到第5本看到指针那里,我才真正有种明白的感觉,也许我太笨了,相信大家看一本就够了,HOHO。自从那一次后,我接着看C++,学习pascal、basic、汇编这些东西,自己感觉都非常容易看懂,可能这就是所谓的一理通百理通的道理吧。呵呵,不过在这里要讲一下,上面所说的几种语言虽然看书都看过了,也看明白了,但是由于很少使用,现在大部分都还给书本了,呵呵。

    看到这里,包括我在内,我都感觉到自己很了不起,很厉害了。可惜,只有我自己知道,虽然看了那么多,学得也多,写得也不少,可是我却不知道如何运用。来来去去就是写一些书本上的题目,自己却感觉像windows那些程序却不知道如何去写,不知道该怎么办,相信很多人都有和我一样的体会吧,把C语言学了,题目也做了,而且都没有问题,可是却不知道如何去做开发,感觉自己学的东西一点用处都没有。这又是为什么呢?

    在这之前,我一直为这个问题烦恼,后来我终于找到了答案,那就是我所学的,所写的都是DOS应用程序,而我们现在所使用的确实windows操作系统,当然也有使用linux系统的。后来看了一篇别人写的文章后,我才知道我所学的和实际运用相差太远了。现在大部分学习编程语言的书籍上的例题都是基于DOS 系统开发的,所以我们所写的程序和windows上所运行的不一样,这就是造成我们迷茫的主要原因。那该怎么办呢?那还用问吗,当然就是去学习 windows开发啦。在第一次接触windows开发的时候,我真的是大吃一惊,这完全和我以前所学的很不一样,但是又息息相关,如果没有以前所学的,我根本就看不懂windows开发的内容。在这里给大家简单介绍一下,windows开发和DOS开发的区别吧。大家都知道,DOS是一个单任务执行系统,也就是说在DOS下只能在一个程序运行完成或者中断后才能运行其他的程序,而windows是个多任务系统,当然在本质上windows也只能一个时间内执行一个程序,但是由于其利用CPU的运算能力,让这些微妙的时间让人无法感觉到,再就是windows是一个图形界面系统,拥有着良好的用户界面,不像DOS是个指令界面。所有这一切的区别导致DOS和windows开发上也存在很大的区别。所以现在的程序员首要的任务除了学习语言以外,就是要去学习windows开发机制。如果连这个都不懂,那是肯定开发不出一个好的windows软件的。在这里向所有朋友重点推荐美国人Charles Perzold所写的《windows程序设计》第五版,这本书可以说是经典中的经典,学习windows开发必看的书,适合有C语言基础的朋友看,它有多经典我就不想细讲了,总之就是绝对不会让你失望,呵呵。这本书市场价是160元整,分上下两册,如果有的朋友觉得太贵的话,我这里有他的电子版,需要的就找我要吧,随时欢迎大家找我要这本书,呵呵。

    说实话写到这里,我自己都不知道自己写了些什么,好象很乱,呵呵,希望大家能够看得懂吧。看完我介绍的这本书后,而且看懂的话,那么接下来自己该如何走,我相信我就不用再多说了,到那个时候你一定知道自己该如何去学习编程了。上面讲了下我个人是如何学习的,当然还有很多细节地方没有涉及到,不过随时欢迎朋友们跟我一起交流。而且我现在才发现上面所写的是从C语言开始学习的,呵呵,其实我并非要大家向我一样学习,我只是把自己学习的经过大概讲了下,当然还有以后该怎么办没有写,其实我也在摸索中,嘿嘿,我写了那么多废话,无非是想要大家明白几个道理:
第一、      首先要给自己定一个明确的目标。
第二、      分清楚语言和工具的区别。
第三、      把思想放在首位,语言在精不在多,学好了一门语言再去学其他的,就易如反掌了。
第四、      工具是经常被淘汰的,不要被工具所迷惑,坚定自己的信念。
第五、      无论选择做什么系统开发,首先要去了解这个系统,只有了解了这个系统才能在上面为所欲为。
大概也就差不多了,不全或者写得不好的地方请指正,个人发觉全是废话,呵呵,就这么多了吧,欢迎大家跟我一起学习,一起进步,一起交流。当然最后仍然是那句:
     努力+坚持=成功

鉴于太多朋友回帖要该书,大家到该页面去下载吧:

http://www.ibook8.com/Software/Catalog11/1020.html

如果不能下载就自己搜索吧,网上到处都有这本书的电子版。

时间: 2024-08-22 14:47:26

献给迷茫中的初学者如何去学习编程_经典网摘的相关文章

职业生涯中12种最致命的想法_经典网摘

1.总觉得自己不够好  这种人虽然聪明.有历练,但是一旦被提拔,反而毫无自信,觉得自己不胜任.此外,他没有往上爬的野心,总觉得自己的职位已经太高,或许低一两级可能还比较适合. 这种自我破坏与自我限制的行为,有时候是无意识的.但是,身为企业中.高级主管,这种无意识的行为却会让企业付出很大的代价. 2.非黑即白看世界 这种人眼中的世界非黑即白.他们相信,一切事物都应该像有标准答案的考试一样,客观地评定优劣.他们总是觉得自己在捍卫信念.坚持原则.但是,这些原则,别人可能完全不以为意.结果,这种人总是孤

2008年来历年元旦对联收集中_经典网摘

一元复始: 万象更新. 人逢盛世: 岁值华年. 人民万岁: 祖国永昌. 行臻康泰: 志展宏图. 江山秀丽: 人物风流. 欢天喜地: 吐气扬眉. 喜辞旧岁: 笑迎新春. 岁将更始: 时乃日新. 励精图治: 振兴中华. 一夜连双岁: 五更分两年. 一年春作首: 万事公为先. 天心随律转: 人事逐年新. 天开新岁月: 人改旧乾坤. 天开新岁月: 人改旧乾坤. 元旦人同乐: 神州地共春. 四化宏图展: 九州春意添. 四海皆淑气: 九州尽春晖. 风正民心顺: 人和国自安. 节日人共乐: 神州地皆春. 旧岁

三国演义 中最精辟的十句话赏析_经典网摘

 "人中吕布,马中赤兔","马氏五常,白眉最良","鞠躬尽瘁,死而后已","既生瑜,何生亮","子龙一身都是胆也!","伏龙.凤雏二人得一,可安天下","内事不决问张昭,外事不决问周瑜","生子当如孙仲谋","天下英雄,惟使君与操耳!","治世之能臣,乱世之奸雄" "人中吕布,马中赤兔"

没去过上海,不知道上海是这样的 上海,今夜请将我埋藏第1/3页_经典网摘

变态的上海,丑陋的生活! 看了这个,不懂上海 --原名<上海,今夜请将我埋葬>  文:张怀旧  如果你是一个踌躇满志的男人,在事业上却毫无建树而又收入平平,那么还是趁早离开上海吧,否则多年以后,你一无所有,只会成了这个城市的殉葬品.这座城市在吸干`你满腔的热血之后会无情地将你唾弃,它得到的是繁华,你逝去的是青春.  如果你是风姿绰约的女人,却还没有找到自己想要的归属,还是趁早离开上海吧,陆家嘴的摩天大厦承载不了你的梦想,徐家汇的繁华市井给不了你幸福的生活.这座城市在蹂躏了你原本纯洁的肉身之后会

JavaScript中的原型继承基础学习教程_基础知识

大多数编程语言中,都有类和对象,一个类可以继承其他类. 在JavaScript中,继承是基于原型的(prototype-based),这意味着JavaScript中没有类,取而代之的是一个对象继承另一个对象.:) 1. 继承, the proto在JavaScript中,当一个对象rabbit继承另一了对象animal时,这意味着rabbit对象中将会有一个特殊的属性:rabbit.__proto__ = animal; 当访问rabbit对象时,如果解释器在rabbit中不能找到属性,那么它会

JavaScript中的Number数字类型学习笔记_基础知识

使用IEEE754格式来表示整数和浮点数值.浮点数值:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字.浮点数值需要内存空间是保存整数值的两倍.最高精度是17为小数,但在进行算术运算时其精度远远不如整数. 各种数值类型:十进制,八进制(在严格模式下无效),十六进制 八进制字面量的第一位必须是0,然后是八进制数字序列(0~7).如果字面值中的数值超出了范围,那么前导0将被忽略,后面的数值将被当做十进制数来解析 070//56 079//79 十六进制字面值的前两位必须是0x,后跟十六进

Mysql学习积累之二[网摘收藏 个人学习参考]

继续前一篇,这里是一些常用的管理命令,也为转载,所有权归原作者所有,此处仅作参考学习. 详见:http://www.centos.bz/2011/09/mysql-user-management-commands/ MySQL常用用户管理命令 1.添加用户 本机访问权限: mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' -> IDENTIFIED BY 'password' WITH GRANT OPTION; 远程访问

挑战大脑:来自全球的45 个免费学习编程的好地方

本文讲的是挑战大脑:来自全球的45 个免费学习编程的好地方,史蒂夫·乔布斯说过,每个人都应该学习给电脑编写程序的技术,因为这一过程能够教你如何去思考!众所周知,编程已成为开发者生命中至关重要的一部分.很多事实表明,越来越多的人不管男女老少都将参与编程这个行业. 学习编程的渠道有很多种,比如你可以利用一些互动平台或者书籍去学习编程,无论是哪种,只要找到适合自己的就OK.俗话说,光说不练嘴把式,因此,我们还需要进行实践. 编程极富有创造性,你可以创造出许多新奇有趣的想法.很多时候,开发者在相同的问题

非科班出身的人学习编程不负责任指南

为何要写这样一篇文章 来我们这个实验室里读研的学生可能自从来到这里的第一天就觉得自己的命运很苦逼.他们读本科时主修的是机械设计.制造以及自动化之类的专业,毕业时 的简历上也顶多是写写擅长 MS Word.PowerPoint.UGNX.AutoCAD 之类的应用软件.他们有限的学习生涯里,怎么也不会想到来到这里竟然要首先重新学习 C 语言,然后还要学 C++,接下来还要学习 Python 或 Lua 什么的,而且竟然还不让用 Windows,只能用连个 QQ 都没有并且经常出故障的 Linux-