为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

如何学编程

2011-03-21 10页 pdf 368KB 36阅读

用户头像

is_144744

暂无简介

举报
如何学编程 如何学编程 作者:蒋会全 序: 这是一个老话题,是一个老生常谈的话题。百度一下,找到相关网页约 195,000 篇 (2009.11.15),除了重复的文章外,足以知道多少人在问,多少人在谈,但是还有多少人 迷茫? 关于这个问题自然是仁者见仁,智者见智。如果你在网上百度一下和编程相关内容,一 定会看到:Visual Basic 、Delphi 、C、C++、VC++、汇编语言、Visual...
如何学编程
如何学编程 作者:蒋会全 序: 这是一个老话题,是一个老生常谈的话题。百度一下,找到相关网页约 195,000 篇 (2009.11.15),除了重复的文章外,足以知道多少人在问,多少人在谈,但是还有多少人 迷茫? 关于这个问题自然是仁者见仁,智者见智。如果你在网上百度一下和编程相关内容,一 定会看到:Visual Basic 、Delphi 、C、C++、VC++、汇编语言、Visual Foxpro 、SQL Server、 Oracle、DB2、Sybase、Power Builder、Java、J2SE、JavaEE、JavaScript、PHP 、ASP(ASP.NET) 、 JSP 、ISAPI 、NSAPI 、CGI、VS2005/VS2008 等等(这些有语言、数据库或者开发工具)。 这些不是全部,如果你在网上问该怎么学呢?有让你从 C 语言开始学的,也有让你从 Pascal 开始学的,也有让你从 VB 开始学的,也有让你直接学习 C#的,更有让直接学 Java 的„„,网友的热心反而让你更是一头雾水,很难知道谁对谁错。 实际上如果是学习一门入门语言,任何一个都够了,区别仅在于入门的难与易。但是倘 若作为“就业”之本,仅有一门语言基础显然不够,欲知后事,请接着往下看: 一、学习目的与软件企业招人要求 (一)准备从事软件开发职业:无论你是一个在校大学生也好,还是一个已经在职但准 备转行也罢。 1、首先,最好了解一下软件可以分为单机版、局域网版(C/S 模式)、互联网版(B/S 模式)。 单机版、局域网版:我们看到只能运行在一台机器上的一些客户关系管理、进销存软件、 医院管理系统、QQ 等。显著特点需要在电脑上装一个软件才能使用。可以使用语言有:VB、 Delphi、PB、VC++等。 互联网版,也称 WEB 开发(B/S 模式):网上银行、163 与 126 电子邮件、缴税等。只 需要浏览器就可以了。可以使用语言有:VB Script(ASP)、C#(ASP.NET)、JAVA(JSP)、PHP 等。 2、其次,你看一下软件企业都招什么样的人。 除了个别领域,不难看到目前主要分为两大阵营:.NET 阵营和 JavaEE 阵营。两大体系 都非常不错,不要看网上互相攻击的那些无聊文章。在后面我会谈到,这只是工具。 看看用人单位要求:这才是你真正的学习导向。 .NET 体系 (1)计算机相关专业大专或本科学历,二年以上.NET 开发工作经验; (3)熟练 C#语言、.net 平台,vs2005,vs2008 开发环境;熟练 C/S,B/S 结构软件,有相关 项目经验。 (4)熟练运用 SQL Server 数据库设计与开发,熟悉存储过程及触发器,有过大批量数据处 理与优化经验; (5)精通 ASP.NET、WebService 进行相关的开发,有 HTML、XML、JavaScript 经验者优先; (6)良好的团队开发意识,较强的沟通、学习能力,认真负责的工作态度。 .JavaEE 体系 (1)计算机相关专业,大专或本科学历,具有 1 年以上相关工作经验; (2) 要求精通 Java 语言,精通 JavaEE 技术框架,熟悉 SPRING、HIBERNATE、STRUTS、 WEBWORK、MVC 架构,熟悉 Weblogic,jboss,Tomcat 等应用服务器,并可做应用部署及调 优; (3)对网络系统有相当的理解,熟悉 Oracle/SQL-Server/Sybase 等数据库,可以熟练的使用 PL/SQL 语言进行存储过程和函数等的编写; (4)熟悉 UML 建模技术优先,熟悉现代软件项目管理优先,英语技能较好者优先; (5)具有编写需求说明书、设计说明书等软件开发相关文档的能力; (6)思路清晰,工作,良好的执行能力、较强的团队协作精神和高度的责任心; (7)2 年以上软件开发工作经验。 .其他 诸如单片机、PLC 等也很多。 不难看出,近年来尽管学历一路飙升,但是软件企业却仍然定位是大专或者本科学历, 但是都要求有项目经验(对此,你将来当了老板会更明白,你也不愿意替别人作嫁衣)。 选择一个体系作为你的目标很重要,无论是.NET 还是 JavaEE 都行,千万不要什么都学, 最终却什么都不懂。 另:你在网上也许看到很多这样的建议,学习 C 语言、C++ For Dos(面向对象的思想用 DOS 就足够了)、C For Windows、C++ For Windows(MFC),我是这样一路学过来的,更知道其 中的艰辛。但是我更坚信按照这个建议,更多人的不到山顶就放弃了。并不是学美术的一定 都要成为画家,做广告设计也是挺有意思的一件事。 (二)纯粹的编程爱好者 这个我没有太多的发言权,只要你认为怎么适合你都行。 二、关于文化基础: (一)数学:很多人都谈到要有高数、离散、线性等基础。但如果你做的只是一个网站 后台、普通的管理系统,那么也许有的数学知识足够了。 (二)英语:入门学习编程不需要过四、六级,高中英语基础学习编程没有一点问题。 但是还是希望英语你能够更上一层楼。道理很简单,原因有二: 1、如果你英语不好,不可能等你过了六、八级再学编程,可以边学编程边学英语,毕 竟英语高手≠编程高手。即使先用拼音作为变量名,先学会编程也是好的,但最好能用英文 命名。请看一个表名 Yybrdab(拼音首字母),你再看一个表名 Yiyuanbinrendanganbiao(医 院病人档案表的拼音全拼),再看表名 PatientFiles(英文缩写),你有什么看法呢?Yybrdab 很难猜,Yiyuanbinrendanganbiao 全拼太长了,英文命名 PatientFiles 是不是更容易理解一些, 2、毕竟国外在软件开发方面比我国先进不少,有时你查阅的是英文资料,如果你的英 语好自然会助你一臂之力。 三、语言是工具、功夫在诗外 你想一下,一个知名作家,不会用电脑而是用普通的钢笔写文章、甚至是铅笔,一个打 字员每分钟在电脑打一百字以上,那么谁写的文章好呢?编程语言也一样,你应聘工作时说: 我会 VB、Delphi、JAVA、C#等等,但是什么样的项目也做不出来,和那个打字员有什么区别 呢? 李白的《静夜思》我们每一个字都认识,是否每一个人都能写得一首好诗呢?我们知道 一个演员、一个作家、一个诗人必须要具备更多的生活阅历与历练才能演出好作品、写出好 文章、写出好诗,我们程序员又何尝不是呢? 当然能够用好工具则能更好的为你服务,作家能够用电脑写文章,估计效率更高一些, 你选择正确的编程语言,至少会让你如虎添翼,但千万不要认为你学的是比较流行的语言而 对别人学的可能不入时的语言而不屑一顾,你的道行修得越高才会知道高手并不是都写在脸 上,你会有更好的心态去学习,明白人外有人,天外有天,自己实在微不足道。 知识是无穷的,但我们生命是有限的,所以我们应该在有限的生命里学习更有用的知识 应用到实践中来。学习编程是为了更好解决我们工作和生活中的问题,而不是让你成为纸上 谈兵的军事家。 四、如何学习? 就像武术一样,门派如此之多,很难一下都告诉你。我也从一个门派说起吧,就从.NET 体系(B/S 模式)说吧。 (一)打基础 勿在沙丘上建浮雕! 避免眼高手低,切忌急功近利! 你可能要学习的有以下内容:Dreamweaver、HTML/XHTML、CSS、JavaScript、XML、SQL SERVER、VS2005/VS2008 与 IIS 设置、C#、WebForm(ASP.NET)、Ajax。 1、Dreamweaver:可能没有人会把它和编程联系起来,我们更多的认为它是做网页用 的(网页三剑客之一),的确是这样,之所以我列出来,是希望你如果做 B/S 模式开发,它 做界面有时比 VS2005/VS2008 好的多,这可能要引出你可能还要懂点 Photoshop。门面也很 重要,它会让你的程序增色不少,不见得你进的公司都会给你配一个专业美工。 2、HTML/XHTML:超文本标记语言/扩展超文本标记语言,尽管听起来是个“语言”, 但严格来说,它确实不是语言,只是一堆标签而已。在浏览器上点右键,“查看源文件”,里 面有不少类似 HTML、TABLE、TR、TD 等,这些都是 HTML 的一部分。懂了它你会更明白将 来 Javascript 脚本语言放在哪。 3、CSS:层叠样式表,它常常和 HTML、Javascript 结合起来做出更绚丽和大方的界面。 4、JavaScript:这是客户端的脚本语言,你可能还不能一下子理解什么是客户端、什么 是服务器端,这都没有关系。你一定见过很多网站显示今天是:xxxx 年 xx 月 xx 日,大多数 就是用 Javascript 做的,曾记得 1998 年,一个朋友问我是不是每天晚上要把网页上传一遍, 我奇怪问他为什么?(他那时不懂脚本编程),他说日期每天都要变的。也许今天很多人看 了都是笑话(但他现在已经是高手了)。 5、 XML:扩展标记语言,尽管它与 HTML 名字很相似,但骨子里面的东西却大不一样, 如果让我说有什么用还真得想一想怎么给你说,但将来你一定会明白,它真的很有用。 6、SQL SERVER:数据库,你去银行取钱,你的信息存在哪呢?就是在数据库中。所以 如果你开发的是管理系统,那么数据库是非常有用的。还有 Oracle、DB2,这些你只要懂一 个就行了,它们都是相通的。尽管数据库系统往往是幕后英雄,红花尚需绿叶衬。 7、VS2005/VS2008 与 IIS 设置:前者是搭建 C#运行的集成环境 IDE,后者则是学习 ASP.NET 的环境搭建。 8、C#:这是一门真正的语言,微软比尔·盖茨靠 basic 起家,直到现在.NET 框架中都 有 VB.NET 语言,但 C#则更是其推荐语言,如果你懂点 C++或者 Java 学习一定会很轻松,没 有也没有关系,很重要的语言啊。 9、Asp.NET:.NET 体系不仅可以开发 B/S 模式的程序,还可以开发 C/S 模式的程序或者 手机 WinCE 上的程序,当然 Asp.NET 则是指 B/S 模式开发。 10、Ajax:你一定有过在网上注册过,发现有的是在你填入用户名尚未登录就提示有重 复的登录名,而有的直到你提交后才提示,你输入的东西可能还要重新输入,这就是前者利 用了 Ajax 的妙用。 上面列出的十项是不是已经吓住你了,如果你感觉太多了,不妨先学第 6、8、9 项,其 余的放到后面再学也可以。 纸上得来终觉浅,绝知此事要躬行。 ——陆游 学习每一门都要理论与实践相结合,不要认为这个简单那个简单,一看都明白,做起来 眼高手低,唯有实践才能有更深的体会。看看书做做题,这个时候你仅仅学会了造句而已, 还要参考一些优秀的文章和代码,模仿着写才能真正的提高。 大多数人学习主要还是靠自学的,但学习方法还是至关重要的,有的人喜欢从第一页一 页页往后翻,一种可能是坚持下来了,最后可能会“顿悟”,还有一种可能每次都是看前面 几十页,不信你可以看一下,你的多少本书都是开了个头,从侧面看前面黑乎乎的(不是你 手脏),而后面却是崭新的。最终也未能攻克。放弃了重新捡起再放弃。 我推荐一种方法先囫囵吞枣,你想一下你做的第一道菜是如何做出来的(从没有做饭经 验的朋友是没有„„),难道是一字不拉地研究了一遍菜谱吗?NO,这就对了,计划做什么 样的一道菜,然后挑相关章节选读,有些难以读懂的章节暂时跳过去,等以后再回来读,你 应该有这种体会,刚开始看时很难的东西,过一段时间再看却变得如此易解。注意我说的是 先囫囵吞枣,想成为厨师还是要好好研究菜谱了。但往往是万事开头难,等你熟悉了就可以 在业界内为解决实际问题而结交高手的时候了。绝不会像 BBS 中许多问的傻呆问题了。 学而不思则罔,思而不学则殆。 ——孔子 你在学习任何一门编程语言一定学过循环与条件,你会让电脑计算 1+2+3+„+100 也是 会用循环了;先给 x 赋值为 9,会让电脑判断 x 的值大于 5 输出“大于”,否则输出“小于”, 也是你会了。 但是如果你模拟一下银行取款的过程:在 ATM 上可以有机会输入三次密码,如果密码 正确则可以进行取钱操作,密码错误提示重新输入,一旦超过三次则卡被吞掉,相信你的功 力已经提升了不少,而且感觉编程与现实并不遥远。 (二)仿照真实项目 经过基础知识的修炼,也许你已经感觉自己差不多了,满怀信心的去应聘工作,结果却 碰壁了,问你有项目经验吗?你一脸的委屈:没有上过班则没有项目经验?没有项目不能上 班?是不是陷入两难境地?你可能说我在你们这实习吧,不要工钱都可以,你会发现这个机 会对方一般都不会给你,别怨天尤人了,求人不如求己! 实际上现在网上已经有很多试用版,你完全可以比葫芦画瓢,你能真正的做一个项目, 对前面知识的理解和运用一定会更上一个台阶! (三)提升 不登高山,不知天之高也;不临深溪,不知地之厚也。——荀子 我们看武打电影或者电视,看到高手总是杀人于无形,编程也一样,经过第二阶段,这 回你可能已经踌躇满志了,呵呵,一不小心又碰壁了,但也许你幸运的找到了一份工作,这 是软件企业急着用人,看你“孺子可教”,收留了你。如果不要你,一点也不奇怪,是别人 比你优秀! 比如,添加一个客户,你是不是在页面上画了几个文本框和按钮,然后再按钮上写了个 事件就提交到数据库了,能够做得出来固然比不会要好,但是你面向对象了吗?太多太多的 人学的是面向对象的语言,但是写的却是面向过程的程序。关于学习.NET 体系的不妨看一 下伍迷先生的《戏说面向对象程序设计 C#版》、《大话设计模式》,我与伍迷先生不认识,没 有替他推销图书之意,只是他的创作与我心有戚戚焉,挺适合入门或者进阶者。然而由于很 多面向对象以及软件工程、项目管理、设计模式之类的书籍过于深奥,或者国内有些为了评 高级职称而胡拼乱凑的狗屁书籍,让更多人忘而却步。 能不能更上一层楼,那就看你的造化了! 不经历风雨,哪能见彩虹! 五、学习编程的捷径 我们做任何事情都喜欢找捷径,世上根本没有捷径!实际上不走弯路就是捷径! 我的这篇文章就是力争让你避免或少走弯路,也就成为了捷径。 当然加入我们的 QQ 群(95472365)也是一个不错的方法! 或者到我们的网站“跟我学编程”转转也许有一个意外的收获! 我们彼此都应该以诚相待,相信世界上美好的东西永远存在。 六、成功和失败的唯一区别,就是坚持与否 “想起来一件有意思的事情,上大学时,到了晚上 11 点就关灯,我是很喜欢看书,就 跑到男厕所去看看技术方面的书籍,唉想想那时候的确是苦了一点儿,不过没有当时的努 力,怎么可能就有今天的我呢,虽然比上不足,比下还是蛮有余的,知足常乐,何必跟自 己过不去呢。” ——摘自互联网 这是从网上看到的一位,与我当年颇为相似。不过似乎我比他幸运一些,图书馆里面老 书居多,平时省吃俭用买一些书,尽管父亲告诉我:孩子,买书只管买,不要为了学习舍不 得花钱!所以过早的学习了 C 语言、数据结构(那时候教学语言 Pascal 几乎一统天下),有 一次去图书馆借一本新书,图书馆管理员认为我看不懂,就是不借给我(当时恨透她了,这 个老太太,太可恶了)。我固执地说可以看懂,这位老师说明天你来一下,第二天接到了一 份试卷,所幸我答的不错,后来我几乎总能借到需要的新书,因为老师知道书的资源不多, 总是借给需要的学生和老师,那种恨瞬间变为一种感动。 再后来,由于前面打的基础,班主任(辅导员)把我推荐给了我们学校一名权威,这是 一名我们当时只能仰视的学者,自己比较愚笨,此后得到导师一年有余的指导,平生受益匪 浅。那些日子,我也几乎每天是在宿舍熄灯后才从教研室回到宿舍,故而在静谧的晚上经常 有繁星或明月相伴。同样的城市,工作之后这么多年,说的好听些是为了事业,则忽略了四 季的变化,更少抬头望望天空的繁星,很怀念大学那段充实的时光。 毕业时找工作(正处于分配与自己找工作双向选择期),由于扎实的基础,以及在学校 时初生牛犊不怕虎的精神,已经积累了 N 个项目(全部免费帮助客户做的实际项目)的经 验,邮寄了几份简历(那时候没有现在互联网的方便与快捷),都得到了面试与认可,放弃 了当时银行的工作,而选择了一家具有发展潜力的软件公司就职。 理想是引领我们前行的灯塔!信念是一种无坚不摧的力量!无论做什么,无论什么年 代,勤奋都会是永远的竞争力。而任何事情,成功和失败的唯一区别,就是坚持与否。
/
本文档为【如何学编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索