1. 怎么学习编程
从最初的C-〉C++-〉VC++6.0-〉VC++.NET托管编程+SQLServer要学编程不是一朝一夕的事,不知道你有多少的时间和毅力,编程要学到通最重要的就是方式就是自学,老师教不了多少东西,如果一个老师能够让你入门一门语言就已经是很不错了。个人觉得最好是从C/C++学起当你对C++很懂的时候,就可以学习VC++了,VC++是学习Windows最好的编程语言,如果你VC++学得通了Windows系统编程就不再话下了.如果这时候比如要改行到C#/Java这些对你来说都是几周就能够上手的事.而且学习C++有一个很好的地方就是C++的书籍非常的多,经典书籍也很多你学习起来会给你非常多的帮助.当然如果你选择了C++你一定要有毅力与恒心,现在很多的院校都是直接开C#而不是开VC++课程就是因为VC++的难度大,正式因为难度大就更需要毅力了!如果你没有这个就最好不要选择VC++,还有如果你不是想把编程当作未来的工作方向建议不要学VC++,像开发什么网站的旧直接去学JAVA或C#/ASP就好了,容易上手难度也不会那么大,这时我个人的经历.下面赋上我保存的一个文章,如果你准备学期VC++,可你看看:学好VC++的十大良好习惯欢迎光临阿蒙的VC++专业技术网站:每到年底各大媒体就争先恐后热火朝天地搞总结,什么十大人物,十大品牌,十大美女,十大帅哥等等五花八门乱七八糟的让人充满好奇充满怀疑,这事确实让人有点郁闷,就如同男足国家队的国产教练如沈墙扶们每一次踢球失败后都要说这么一句:我们回去后要好好总结,下次会打得更好!这话听了几十年了,耳朵都生虫了,但还是无法看到中国猪球队有象人样的表现.因此,总结在某一程度上来说只不过是一种形式罢了,总结不代表就能改过原有的不足,也不代表就能进步了,甚至有点俗不可耐,尽管如此,阿蒙亦明知故俗,前人说过了入乡了就要随俗,因此你生活在这种环境里,你无法对这些无聊无趣的东东置之不理,除非你是天才,天才往往在非天才的人看来是很怪异的,处处与现实格格不入,可阿蒙不是天才,所以还得赶快总结,要不就离题,又被大家骂了,:)(一)充分利用MSDN,因为我个人觉得它胜过任何一本编程参考书;MSDN是Microsoft当前提供的有关编程信息的最全面的资源,它包含微软最新的技术数据库,加上易学易用的全文检索功能,让您迅速找到任何您需要的技术参考数据,让您随时拥有与全世界菁英同步的技术,掌握最丰富的程序开发资源。我经常收到很多朋友的EMAILS,他们所提的问题往往都非常的简单,MSDN完全可以解答这些问题,但他们好象不太喜欢用,这是让我郁闷的地方,是因为英文不好呢,还是没有学会充分利用各种资源来解决问题的方法呢?(二)提高英文水平,养成多上英文网站多看英文资料多买老外原版英文书;有关程序员与英文水平的讨论已太多太多,我个人认为要成为程序员,高中的英语水平够了,甚至不懂英语的一些人,也同样可以成为较好的程序员,因为开发工具的发展将是越来越傻瓜,但如果你是仅仅满足于能运用某种工具开发某个软件模块,那是没话说了.真正热衷技术肯干钻研乐于接受挑战的程序员是不满足于现状的,他们总感觉有太多的未知,于是总在不停地学习,如今信息技术发展得太快,而大部分的技术最先出现的时候都是英文版本的,要几个月或者几年以后才有中文版本的书出来,因此要想跟上步伐,一定要努力提高自己的英文水平,这样才能同步跟上信息技术。你可能担心自己的英语水平不行,没关系,刚开始多查字典,"万事开头难",必须有持之以恒的精神,不久你就会发现计算机英语其实很容易的。何况很多英文技术站点确实比国内做得好啊!比如等等.(三)加强自我管理,善于作自我总结,分析自已的优点及缺点。中国境内百分之八十以上的领导人在百分之八十以上的场合的讲话中都有类似的观点,所以在这里我是不多说了,反正这一条用在什么行业什么地方都不会有错的,人生最大的敌人不是就是自已吗?管好自已认清自已,那还有什么搞不定的?(四)养成良好的文档习惯程序员大多都不喜欢写文档,我以前也是特讨厌,在我的思想里,所谓的文档就是一些废话,一句话硬是用十句话来代替的无聊透顶,就如同部分中文系男生的爱情表白,明明就是"我爱你"三个字,他硬是把月亮啊太阳啊大海啊高山啊石头啊天使啊乱七八糟的都拉上关系了,尽管听起来浪漫,但在我认为不实用,:),甚至太肉麻了,一个男子汉干嘛这么罗里罗嗦的良好的文档是正规研发流程中非常重要的环节,一个好的程序是先写好设计文档再进行编程的,在设计文档的指导下,才能写出安全的代码。如果你不写文档,一开始就写程序,这样你就不会按已设计好的路线走,而是想到哪写到哪。小功能还好说,要是大功能,就容易混乱甚至失控.那么如何写文档呢?其实我认为没有统一的标准,虽然国家及一些NB的人总结了很多的模板,但每个人的习惯不同,如果你不加以修改或创新,就套用某个标准,我相信写起来会很吃力及说不清的难受,因此我觉得只要能将你的设计思想及实现算法或步骤描述清楚就是好的文档,我强烈建议广大程序员朋友们在写文档时要善于用图表来说明你的思想,我们不是作家,也可能作文都经常性地不及格,写出五官端正的文章对我们来说可能不容易啊!好好地利用VISIO,ROSE或别的工具来表达你的思想吧!(五)代码风格要规范,严谨,效率要高。这个不用说了,所以一定要记住了!不过,这一点有时可能与人的性格有关,如果你是经常丢三落四经常胡子长长经常钮扣扣错经常吃个快餐要一个小时的人,那你在CODING的时候可千万要注意了,CODING是CODING,生活是生活,不要写出的程序也是那样就不好了!(六)掌握好跟踪调试技巧.跟踪调试程序是一件繁琐而又复杂的事情,所以掌握必要的调试策略及技巧却可以使这些工作变得轻松起来.强烈建议你去看一下老美EverettN.McKay及MikeWooding写的书>,你一不定受益匪浅.(七)养成自我测试的习惯测试工作应由测试工程师来做,但在你写完一个模块或一个软件时,还是要自已先测试一下,保证不要出现一些低级的错误,何况这些错误让测试工程师看到了,狂扁你一顿,你很没FACES的.(八)善于交流善于沟通,特别是经常与一些高手交流一下学习的心得体会;有人说,程序员的性格大多内向不喜欢说话,其实是有些误会了,不是不喜欢而是话不投机,我的脑袋一天到晚都在不停地转,函数,数据,算法啊充满了我的世界,我那还有时间与你谈一些无聊的话题,话要找对人了,才容易谈下去,书上说过"听君一席话,胜读十年书",你要找的就是这种豁然开朗!现在技术的论坛越来越来,这将成为程序员交流一个重要的地方,也有人说:"读君一长贴,胜读十年书",:)(九)阶段性地做一下专题总结知识要温故而知新,因此我建议程序员要养成阶段性地做专题总结的习惯,比如你这个月学习或在做与多线程有关的模块或项目,那么在你做完后,你就可以好好地总结一下所有与多线程相关的技术,包括理论知识,实践方法以及各种技巧及优秀文章等等,这对你各种能力的提高将有很大的帮助,你试过了吗,如果没有,那就快点行动吧!(十)要有持之以恒的精神这是废话,因为我揍不齐十大,所以将它也算上,中国自古以来喜欢号召大众学习某种精神,比如马克思的,列宁的,毛泽东的,邓小平的,雷峰的等,这些精神使社会更安定人民生活更美好,那么程序员要有什么样的精神呢?我不是我说了就算了的,我只是想说明要学好任何一门技术,最好要有持之以恒精益求精的精神,特别是学一些比较抽象比较难的技术,比如VC++,我想它应比别的开发语言都要难学些,或许你已经开始了两年了,但感觉还是不爽仿佛也没掌握什么,这个时候你除了思考一下你的学习方法以外,还必须坚定你的目标及信念!
2. 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。
程序员必备技能
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。
网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。
编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
3. 如何成为一名程序员
成为程序员的具体步骤:第一步:掌握一种编程语言。学习任意一种主流的编程语言,例如C++语言。熟练掌握一种语言的语法和基本的编程技巧。学习时间:3个月左右注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等。程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器 在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 6.0里编写,也可以在记事本里编写,而同一个C++源程序可以用Visual C++ 6.0编译、执行,也可以用C++ Builder 5.0编译、执行,所以: C++ 不等于 Visual C++ 6.0。第二步:掌握一种编程工具,学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的编程语言是C++,那么编程工具要选Visual C++ 6.0或者C++ Builder 5.0。熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。学习时间:3个月左右注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。第三步:掌握“算法与数据结构”这门课程,推荐许卓群的《数据结构》,熟练掌握各种常用的算法与数据结构。学习时间:4个月左右注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。第四步:实现一个模拟的小型软件项目,掌握软件项目的基本开发过程和方法。学习时间:4个月左右注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推“中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效, 以它为基础再加以扩展,就可以做出实用的MIS软件来。如何成为一名程序员?
4. 编程怎么入门/程序员需要学什么
编程这个概念很大,不同领域需要学习的编程语言不同。
应该先从你兴趣开始,有兴趣再决定编程领域,有了编程领域在决定语言.不同的语言对应着不同编程领域,只有确定这些信息了,才知道要看什么书籍。
如果你要学完那是有点不现实.因此你要回想一下你兴趣来源是什么?比如喜欢做黑客,喜欢研究反病毒,喜欢为Windows桌面开发一些实用的小软件等等.要分析好兴趣来由,在决定你的发展方向,就好了.比如你喜欢为WINDOWS开发软件,那么 C语言是必备基础,学好好了然后在扩展一门面向对象的语言比如C++ C# JAVA 等.这些是不错的选择。然后光有语言不行,为了软件的质量保证,还需要研究一下系统理论基础,这样你的软件才能做到对系统的作家兼容性和获取最佳性能。
5. 程序员入门:如何自学编程
1、选定方向
编程的世界是多元纷繁的,大的方向就分前端开发、后端开发、移动开发、云计算、数据处理、智能硬件、物联网、虚拟现实等等,光编程语言都几十种。如果没有做过功课,贸然进入只会分分钟懵逼。所以最好是根据自己的兴趣爱好再结合市场前景,先选定一个方向,再选择一门语言,然后头也不回的深深扎进去。
2、优化学习方式
做好笔记,记录经验,我们大多数人并没有过目不忘的神技,很多时候我们学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。
3、多看官方文档,外文资料
互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。
4、动手做项目
我们学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。
6. 如何学编程
首先你得学习1-2门编程语言,而且最好是学习两门,c语言和vb是首选。因为这两种语言应用广泛而且代表两种思想!入门也比较容易。
如果你想做的很优秀,一定要学好英语和数学,非常重要的基础,当你达到一定高度的时候会非常需要这两门知识!
现阶段,做程序员的前途不是很明朗,所以如果你没有一个明确的方向,建议你不要盲目去浪费精力学习编程!
另外你可以看一下程序员考试的要求,而且当你学习差不多的时候报名参加程序员考试也是不错的!
程序员的相关信息请参考中国IT考试论坛
http://bbs.cnitexam.com/forum-11-12.html
里面有很多很好的资料,也有不少技术交流群!也可在这里答疑!
7. 如何自学编程,做个好的程序员
我的QQ165150221 我可以帮你一点
你要会一些数学的符号意义,和基本的英文意思
8. 如何学习编程
首先,很多同学都问过我如何快速学会编程,编程有没有捷径,以及初学者学习哪门编程语言更容易等问题,这些问题对于不同人的答案是不一样的,所以要结合不同人的知识基础、能力特点和所处环境来分别给予不同的学习方案。
对于没有任何编程基础的初学者来说,要想快速入门编程,最为有效的方式之一就是与专业人士进行交流,在专业人士的指导下进行学习会有比较高的学习效率,而且也会有一个系统的学习过程,当前可以充分利用互联网来开辟自己的交流渠道。
对于已经有一定编程基础的同学来说,边用边学往往会有更高的学习效率,比如程序员在学习一门新的编程语言时,如果采用听课的方式学习也许并不是最高效的,很多程序员是直接看代码案例,然后就开始尝试应用,然后再逐渐提升应用的熟练程度,因为对于已经有成熟编程思想的程序员来说,不同的编程语言仅仅是语法上的不同,思想终归是统一的。
编程语言的语法并不难掌握,但是要想熟练运用编程语言,一定要多做实验,这个过程是无法忽略的,也没有任何捷径,编程语言用得多了,自然也就熟练了,就像《卖油翁》里那句经典的表达:“无他,但手熟尔”。对于很多应用级程序员来说,编程并没有太多需要思考的地方,也不需要设计复杂的算法。
9. 如何学习程序员
要看你喜好了,做什么都是有兴趣才能学好
想学程序 先确定要学什么 c c++ c# java pb vb等等
现在流行就是c#和java c++也可以 不过比较有深度
先学语法 再学程序实例 最后做项目
程序员 工资中上等吧 但是很辛苦
如果你认真学习 不到半年你就会学的很好
10. 如何成为程序员 自学编程的秘诀
你也许曾经想过要学习如何开发软件或只是想临时的写出一个脚本但不知道如何入手。 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。 因为互联网的出现,使程序员们可以通过它讨论软件开发技术,发布学习指导,以及共享代码实例让其他人可以在线学习。 如果你感兴趣如何才能成为一个程序员,从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。 首要之首:不要急于选择一种语言 新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言最好。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。任何一种语言甚至一种简单的脚本语言都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。 因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。 根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门 手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。 桌面脚本 想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey (Windows) 或 Automator (苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是真正的编程语言。 也许他们说的是对的技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口而且你会吃惊于它们丰富的功能。 例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导: how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下载 Texter源代码 看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。 Web开发 除了把自己约束在特定的编程语言和特定的操作系统上,你还可以在浏览器里开发你的杀手锏程序,让它在互联网上运行,这就是webapp。 欢迎来到奇妙的web编程世界。 HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个 HTML 指导 是你入手的好地方。 JavaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets, Greasemonkey 脚本, 和 Ajax, 所以它是web上各种好东西的关于因素。 学习JavaScript从这里开。 服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, 或 Ruby。 举个例子,如果想要制作一个网页形式的联系方式表单,根据用户的输入发送邮件,你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通,所以如果你想搭建一个用户可以登录注册的网站,这样的语言正是你需要的。 Webmonkey 是一个优秀的web开发资源网站,里面有大量的各种web编程语言的指导手册。 阅读一下他们的 PHP 初学者指南。 当你感觉差不多了的时候,看看WebMonkeys PHP and MySQL tutorial 学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如strlen function这个)都在后面列出来用户的评论注释,这些对于文档的本身是非常有价值的。 (我很喜欢PHP,但还有很多其他种服务器端的脚本语言你们都可以选择。) Web框架:过去数年里,web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题,一些程序员动手搭建了一些框架,让框架替我们完成重复性的工作。 非常流行的 Ruby on Rails 框架,作为一个例子,它利用Ruby编程语言,为我们提供了一个专门面向web的架构,普通的web应用程序都能使用它来完成。 事实上,Adam使用Rails开发了他的第一个正式的(而且是叹为观止的!)web应用程序,MixTape.me。这就是 他的如何在没有任何经验的情况下搭建一个网站。还有一些其他的web开发框架包括 CakePHP (针对 PHP 编程者), Django (针对 Python 编程中), 以及 jQuery (针对 JavaScript). Web APIs: API (应用层序编程接口) 是指不同的软件之间相互交换的程序途径。 例如,如果你想在你的网站上放一个动态的地图,你可以使用Google Map,而不需要开发自己的地图。 The Google Maps API 可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API,通过这些API你可以获取到他们的数据和小工具,在你的应用程序里就可以使用这些交互过来的东西了,例如Twitter, Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如,这个就是 Twitter的)。 疯狂吧。 命令行脚本 如果你想开发一个程序,让它读取文字或文件、输入输出一些有用的东西,那么,命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观,但是作为快速开发的脚本语言,你却不能忽视它们。 很多的在linux平台上运行的web脚本同样能以命令行模式运行,例如Perl,Python和PHP,所以如果你学会了使用它们,你将能在两种环境中使用它们。 我的学习道路一直没离开Peal太远,我自学Python使用的是这本优秀的在线免费书Dive into Python。 如果成为一个Unix高手也是你学习的目标,那么你绝对要精通bash这个脚本语言。 Bash是Unix和Linux环境下的一种命令行脚本语言,它能够为你做所以的事情:从自动备份数据库脚本到功能齐全的用户交互程序。 起初我没有任何使用bash脚本的经验,但最终我用bash开发了一个全功能的个人代办任务管理器: Todo.txt CLI。 插件(Add-ons) 如今的web应用程序和浏览器都可以通过一些扩展软件来丰富自己的功能。 由于一些现有的软件,例如Firefox、WordPress越来越受到开发人员的关注,插件的开发也日益流行,人们都在说But if only it could do THIS 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的浏览器里开发你想要的很多东西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles这些软件都是用的更普通页面一样的语言写成的, 这几个东西都值得你去研究一些。 更高级的浏览器扩展程序,例如Firefox的扩展,它们可以帮助你很多。 开发Firefox的扩展,举个例子,需要你精通JavaScript和XML(一种标记语言,类似HTML,但具有更严格的格式)。 早在2007年我就写下来 how to build a Firefox extension, 这是我在笨手笨脚的研究网上的一些学习资料后获得的成果。 很多免费的、受欢迎的web应用程序都提供了扩展框架,例如WordPress 和 MediaWiki。 这些应用程序都是用PHP写成的,所以只有对PHP熟悉你才能做这些事情。 这个就是 如何编写WordPress插件。 而想驾驭Google Wave前沿技术的开发人员可以从使用HTML, JavaScript, Java, 和 Python 写小组件和小工具开始。 我写的第一个Wave bot是跟着这个 一个下午时间的快速入门指导开始的。 开发桌面上的Web应用程序 学习编程最好的结果是你在一个环境下学的东西可以应用到另外的环境中。 先学习开发web应用程序的好处就是我们有一些方法可以让web应用程序直接在桌面上运行。 例如, Adobe AIR 是一个跨平台的即时运行平台,它能让你编写的程序运行在任何装有AIR的操作系统的桌面上。 AIR应用程序都是由HTML, Flash, 或 Flex 写成的,所以它能让你的web程序在桌面环境中运行。 AIR是开发部署桌面应用程序的一个优秀的选择,就像我们提到过的 10个让你值得去安装AIR的应用程序。 移动应用开发 能在iPhone或者Android智能手机上运行的手机应用程序的开发如今正呈现井喷之势,所以你也可以梦想一下如何在iTunes应用商店里通过你的天才程序大赚一笔。 但是,作为一个编码新手,直接奔向移动开发所经历的学习曲线可能会很陡,因为它需要你熟悉高级的编程语言,例如Java和Objective C。 然而,你当然应该看看iPhone 和 Android 编程究竟是什么样子的。 阅读这个 简单的iPhone应用开发例子 可以初步认识一下iPhone程序的开发过程。 Android 程序都是由Java写成的,这有一个 简单的视频教程教你如何开发第一个Hello Android程序(注:可能需要代理才能看这个视频)。 耐心,刻苦,尝试,失败 好的程序员都有一个不达目的誓不罢休的品质,他们会惊喜于通过长期推敲和失败换来的一点成绩。 学会编程会有很好的回报的,但是学习的过程可能会是饱受挫折和孤独的。 如果有可能,最好找个伴一起陪你做这件事。 想精通编程,这和其他事情一样,需要坚持,反复尝试,获得更多的经验。 这篇文章里的内容就是对那些想通过自我研究达到学会编程目的的新手们的一些重要建议。 编程老手们:我有什么遗漏吗? 不论你的水平如何,请留下你的想法