“凉上”通过精心收集,向本站投稿了10篇初学者如何学习编程,下面是小编给大家带来初学者如何学习编程,一起来阅读吧,希望对您有所帮助。

篇1:初学者如何学习编程
初学者学习编程的方法
一、从简单的开始学起
学习语言的核心概念
虽然这一步中适合的部分将取决于你所选择的语言,但所有编程语言都有对建立有用的程序至关重要的基本概念。尽快的学习和掌握这些概念,将会使你更容易地解决问题和创建强大而有效的代码。下面只是一些在不同语言中的核心概念:
变量——一个变量就是一个去存储和应用以改变代码片的方式。变量可以被操作,并且经常被定义成“整数”、“字符”,还有其他的确定可以存储的数据类型。进行编码时,变量通常具有让它们对于我们有种某种含义的名称。这样一来我们就容易理解该变量如何与其余的代码进行交互了。
条件语句——条件语句是基于条件是否为真的一种行为。对于一个条件语句最常见的形式是“如果-那么”。如果这个条件为真,那么就有一件事发生,如果条件为假,那么就会发生另一件事情。
函数或子例程——这个概念的实际名称可能取决于不同的语言。它也可能被叫做“过程”、“方法”或是“可返回单元”。它本质上是一个大程序中的一个小程序。一个函数可以被别的程序“调用”多次,运行程序员去有效的创建复杂的程序。
数据输入——这是在几乎所有语言中都使用的一个宽泛的概念。它涉及到处理用户的输入以及存储这些数据。这些数据怎样收集则取决于程序的类型以及对于用户的可用的输入方式。它和关于显示在屏幕上还是打印在文件上的输出有着精密联系。
二、安装一些有必要的软件
许多的编程语言都要求有被程序员设计来讲代码转换成机器能理解的语言的编译器。其他一些语言,比如Python,使用可以立即转换成程序而不需要编译。
一些语言有自己的往往包含着代码编辑器、调试器和/或者翻译以及调试的IDEs(集成开发环境)。这些程序员在同一个地方去执行任何必要的功能。IDEs可能还包含着包含对象层次结构和目录的可视化界面。
在网上有许多的代码编辑器可以用。这些程序都提供不同方式的语法高亮和提供其他开发人员友好的工具。(译者推荐用Emacs)
三、创建你的第一个程序
每次只专注于一个概念
几乎学习任何语言时被教的第一个程序就是“Hello World”。这是一个仅仅在屏幕上显示“Hello,World”的简单程序。这个程序教会初学者一些简单的语法来创建一个可以运作的基本程序,以及如何处理显示输出。通过改变文本,你还可以学习到这些基本数据是怎样被程序处理的。
四、通过在线示例的片段来学习
在网上几乎每个编程语言都有数以千记得在线代码示例。用这些例子来学习不同部分如何与语言协同工作,以及各个部分之前的差别。用这些在不断示例中取得的碎片来创建你自己的程序。
检查语法
语法就是一门语言被写得让编译器或解释权能够理解的方法。每种语言都有自己独特的语法,虽然有些元素可能在不同的语言中共享。学习语法对于学习怎样编程是非常重要的。在现实中,它只是更高级的概念赖以建立的基础。
试验性的更改
对你的示例程序做些修改,然后测试结果。通过试验你可以学到什么有用、什么没用,这比多阅读一本书或指南在任何时候都要快得多。不要害怕破坏了你的程序,学习去修复错误是任何开发过程中最重要的一步,并且新的事物永远不可能在第一次就正确运行。
开始练习调试
当你在编程时,你总会碰到bug。它们存在程序中,并且可能随时随地的出现在程序中的任何一个地方。漏洞可能会破坏程序,或者只是让程序不能编译/运行。捕捉和修复这些错误在软件开发周期中这是一个主要的过程,所以要早早地习惯于这么做。
当你快要修改程序时,你可能会碰到它们不能运作的情况。想办法弄清楚,并且采取不同的方式来解决,这将会成为你作为一个程序员最宝贵的技能之一。
给所有代码添加注释
几乎所有编程语言都有一个允许你包含未被解释器或编译器处理的文本的“注释”功能。也就允许了你可以留下短小但清晰的关于这段代码是用来做什么的人类语言的解释。这将不仅仅帮助你记住你的代码在这个大型程序是做什么的,在协作环境中因为它允许其他人也能够明白你的代码是做什么的,所以也是非常重要的做法。
五、不断练习
每天都要敲代码
花大量的时间对于掌握一门语言是最重要的。即便是像Python这样的简单语言,它可能也要画上一两天去了解它的基本语法,花大量的时间才能真正精通。想任何其他的技巧一样,练习是变得更加娴熟的关键。尽量每天都要花一些时间去敲代码,即便是在工作之后和晚餐之前的一小时。
给你的程序设定目标
通过设定能够实现但又有挑战性的目标,你将能够开始解决问题并拿解决方案。尝试着去设想去一个基本的应用程序,比如一个计算器,然后想办法去做出来。使用你一直学习的语法和概念,然后将它们应用到实际中。
和别人交流并且阅读他人的程序
有很多编程社区致力于特定的语言或学科。找到并参与到这些社区会为你的学习创造奇迹。你将会获得能够帮助你的学习过程的各式各样的示例代码和工具。通过阅读他人的程序代码不仅可以激励你,还可以帮助你回忆那些还没有掌握的概念。
为你所选择的编程语言找到论坛或在线社区。确保自己是真正参与进去而不是不断地问问题。这些社区往往看着做协作和讨论的地方,而不仅仅是简单的提问-回答问题。请随时寻求帮助,但要准备好你的程序以及尝试用不同的途径。
一旦你已经有了一些经验,可以参加一些编程的活动。这些活动是个人或团队争分夺秒的开发功能的程序,通常会围绕一个特定的主题。这些事情都很好玩并且是一个认识其他程序员的很好的方式。
挑战自己并保持乐趣
去尝试着做一些你现在还不知道怎么做的事情。研究该怎样完成这个任务的方式,并且不断的将它们添加到你的程序中。一定要尽量避免勉强能运行的程序,你应该让各个方面都很完美。
六、分享你的知识
参加一些培训课程
许多的大学、社区学院、社区中心都提供了你可以参加的编程课程和工作室,而无需在学校注册。这里对于新手程序员是很有裨益的,因为你可以从其他有经验的程序员那里得到帮助,或者你也可以通过网络和其他地方的程序员一起交流。
买或者借一本书
有成千上万种你所能想象出的所有语言的教学书籍。虽然你的知识不应该全然来自一本书,但它们会给你提供许多的参考,而且往往内含了大量友好的示例。
学习数学和逻辑
大多编程都涉及了基本的算术运算,但可能你想要学习更先进的概念。如果你想写出复杂的模拟或者算法级别程序,这将是非常重要的。对于大多数日常编程而言,你并不需要太多先进的数学知识。但学习逻辑,尤其是计算机逻辑,将能帮助你理解处理更先进程序的复杂问题的最好方式。
永远不要停止编程
有一个流行的理论,成为一名专家至少需要10000小时的练习。虽然这个理论还处于辩论中,但它内含的原则永远是正确的:精通需要时间和奉献精神。不要指望一夜之间你就能学会一切,但如果你保持专注,并且不断的学习,很快你就会成为你的领域里的专家。
学习另一种编程语言
虽然你可以仅仅精通一门语言,但许多的程序员通过学习多种语言来提高在其领域内成功的机会。它们的第二或者第三个语言往往和第一个语言相辅相成,这就能帮助他们去写出更加复杂和有趣的程序。一旦你掌握了你的第一个语言,你就有时间来学习第二个语言。
你可能会发现第二个语言会学的比第一个更快。那是因为许多的核心概念对于多种语言都是相通的,尤其是如果这两个语言本身就是密切相关的。
七、应用你的技能
参加一个四年的课程
虽然这并非绝对需要,但在学院或大学的四年学习可以让你见识到各种不同的语言,你可以在网络上和专业人士或者其他学生交流。这种方法不一定适合所有人,并且很多成功的程序员都没有在一个耗时4年的机构学习。
创建自己的代码库
当你在创建程序并且不断扩充你的知识时,确保你所有最好的程序都保存自己的代码库中。你可以把这个展示给招牌和面试官看你所做的工作。确保这包含了你所有时间的工作,并且确保你可以用这些程序给给另一家公司做任何工作。
做一些外包兼职工作
对于程序员来说有非常大的自由职业市场,尤其是移动App开发。带上几个小的外包兼职去感受一番商业编程是如何运作的。通常境况下你可以用外包兼职的工作来帮助你建立代码库,并且这将有益于新的作品。
开发你自己的免费程序或商业软件
你不必为一家工作来换取金钱。如果你有能力,完全可以独立开发软件并且让其免费,通过你自己的网站或者其他的市场。准备好提供为你的商业软件做技术支持,因为你的客户希望它们能完好的工作。
免费软件是一种发布小程序和应用程序的流行方式。开发者不会收到任何款项,但会帮助你建立知名度以及让自己在社区中有一定声望。
开始学习编程的几个步骤
一、将你的需要/需求和参考学习资料列出清单并进行收集
二、搜寻在你的当地那里能够可用的选择
三、放弃不能符合你的需求和参考学习资料的选择
四、选择最符合你需求的和最适合你的学习参考资源
五、找到一个能够得到支持的网络
篇2:初学者学习编程的方法
一旦你发现一个学习工具,它采用自上而下的方法,那么什么是最好的学习方法?我对这有一个具有争议性的观点:我认为尽可能快地记住基础知识对初学者而言是绝对有必要的。
当成为更高级的学习者,记忆很快成为一个被丢弃了的方式。
你可能听到过别人轻视地说(“不要死记,要内部消化”,“我在消化记住的东西”,“我讨厌测试,我不得不回想起记忆中的东西”)。
另一方面,当你还是小学的时候,你被迫花时间来背乘法口诀表。
为什么要背呢?因为你的基础乘法口诀表可以是构建更复杂的乘除法的基础。
这和你记忆编程语言的语法并没有什么不同:如果你写 if 或 for 循环越自然,那么你写出更复杂的语句块也更容易。
我也承认记忆并不总是学习所有东西的最好方法,但是我相信对于编程初学者而言,是实践编程所绝对必须的。
为什么呢?因为它可以减少阻力,如果有什么东西会带给初学者挫折,那就是阻力。
考虑到这一点,这里有一些具体的建议给那些正在学习或准备学习Web 应用开发的初学者。
实际上,说得更远点更抽象点,这就是一个如何开始学习软件开发的一个好计划。
很显然,这不是一个适合所有人的计划,但是我认为它一定适合大部分初学者。
篇3:初学者学习编程的方法
1. 学习一门弱类型的编程语言,不要先学习那种具有强制类型的、面向对象的编程语言。
严格而言,如果有人对你提到 class (类)或继承,那么你就应该去选择其它的途径了。
虽然我认同类和继承相关技术是软件开发中必不可少的,但是我强烈认为它们不应该是初学者的选择。
鉴于此,我认为 JavaScript 是初学者而言最理想的编程语言,因为:
(a) JS 解释器在绝大部分浏览器上都可用
(b)它的面向对象特性并不是强制型的
(c)在工业界被广泛使用(是的',即使是 web 之外的客户端,即使是现在担任设备工程师的我也做嵌入 JavaScript 的工作)。
说得更具体点,我建议你学习用 JavaScript 如何去做下面的事,特别是以这个顺序:
1. 学习如何打印出一些东西,学习如何声明和定义变量,学习基本算术运算操作(包括余数操作),学习循环(特别是 for 循环),学习把抽象重复的代码写成函数,学习字符串和用循环操作字符串,学习数组和数组的循环方法(特别是 foreach 循环),学习创建和操作对象数据集。
记住上面的这些并每天写一个程序来实践,直到这些都轻而易举地想起来。
2. 学习Git 的基本操作,学习通过命令行使用 Git。
这意味着要先学习四个 Unix/Linux 命令(ls,pwd,mkdir,cd)。
当学习了这几个命令,也就学会了以“树型”或层次结构的呈现方式查询文件系统。
一旦你掌握了上面的几个 Unix/Linux 命令,并会从命令行进入文件系统,你就应该学几个基础的 Git 命令。
主要是 git init, git status, git add and git commit。
一旦你掌握了 Git 的基本操作,在学习下面的技术时将其集成到你的工作流中。
3. 学习HTML 基础,能够凭记忆创建简单的 HTML 页面。
学习DOM 和如何理解 HTML 作为指定的分层树结构。
花点时间来思考它如何关系到你在前面步骤中学到的分层文件系统。
4. 学习CSS 选择器,了解它如何让你选定 DOM 的某些部分。
了解 DOM 元素之间的关系。
了解一个 DOM 元素作为另一个 DOM 元素的父元素或子元素的含义。
理解这与后代和祖先之间的关系有什么不同。
记住选择器可以让你通过这些关系来选定某些元素。
5. 学习jQuery,并主要专注于 DOM 的操作能力。
学会用 jQuery 对 DOM 插入或删除元素,实践可视化如何影响用 DOM 定义的树型结构。
6. 实践 jQuery 中的事件处理和 DOM 操作(比如,实践操作 DOM 当用户点击某个东西,或在指定的时间间隔)。
7. 多练习JavaScript 对象,并把它们当作可变的聚合器。
学习如何用 JavaScript 来表示更复杂的数据而不是基本数据类型。
学会应用并操作这些数据结构。
理解并定义 JSON、理解它如何与 JavaScript 对象相关联。
8. 学会使用 jQuery 的 getJSON 函数从文件中获取数据到 JavaScript 对象中。
使用类似的技术,用一个简单的 JSONP API 去练习用 AJAX 拉取数据。
练习向 DOM 插入和删除这个数据。
在这个阶段,做一个简单的幻灯片来循环播放 Flickr 图片,这将是一个令人难以置信的项目,将真正考验你的能力,使用之前学过的基础技术来实现它。
如果你做了这一步,那么你已经掌握了大量必备的编程和计算机科学基本概念。
具体来说,你掌握了计算机程序的最重要元素(如果 if-else 语句,循环,变量,对象,函数,数组等),你已经学会了链式或树型的数据结构。
这时,无疑你已经准备好转移到更高级的主题。

篇4:初学者应该如何开始学习编程
初学者学习编程的方法
1.首先找到获取学习资源的途径
- 极客学院
- 慕课网
- 网易云课堂
- 腾讯云课堂
这些网站都会有比较系统的学习资源,当然有一些是需要付费的,价格不是很高,一般人都可以接受。除了上面列举的几个学习网站,还有许多我就不一一列举了。当然网上也有一些免费资源,这就得看你自己能不能发现了。
2.制定学习计划
任何事情开始都要做好计划,有计划的进行不会让自己学的很盲目。据我所知培训机构一般的培训周期大概是4个月左右,自学的话需要看自己的基础水平和对新知识的接收能力,一开始不要太过于追求速度,很多东西需要慢慢的消化。基础能力较差的同学就把周期设置的长一点,有基础的同学可以按照培训机构的时间来安排,也可以根据自己情况安排。每天坚持学习,坚持下来就一定能看到成效,三天打鱼两天晒网,最终只会一事无成。
3.按照顺序进行学习
首需要先找到自己要学习的方向,然后才能确定自己的学习顺序,一般来说学习任何一个方向都需要先掌握基础的语法。我个人是做PHP的就拿PHP来说了(PHP是什么我就不累赘了,同学们自己去百度吧),大家也可根据自己兴趣选择要学习方向,我个人不建议学习PHP,毕竟这是我的饭碗。
- 学习前端的基础知识。
因为尽管PHP是后端语言,但是前端也是必须学习的,这对以后的工作是非常有关系的,小公司一般来说都是前后端一个人。那么前端一般都是学习什么呢? 最基础的html标记语言,它是用来布局页面的,其次是css用来给页面加上样式,最后是javascript,给页面加上逻辑。这些都只是一些前端的基础知识,但是对于我们来说够用了。
初学者学习编程的基本原则
1、交流沟通
在Eva和Fong开始学习之前,我为她们申请了博客,并请她们记录下她们的编程之旅和学到的东西。万事开头难,你可以问问她们。我大概花了一周的时间跟她们唠叨才让她们写了第一篇博客。但是现在,她们不在博客上写点儿自己投入了大量时间的项目就觉得不对劲。
如果你在项目中使用了API(译者注:Application Programming Interface,应用程序编程接口),发推文或者是邮件给这家公司告诉他们你关于他们的API的想法。当你在黑客马拉松中赢得奖项时,发个不错的推文@他们表示谢意,或写篇相关的博文。每写一篇博文都使它成为一直以来最好的,并怀着它会被放上黑客新闻版首页的期望将它提交(尽管大部分时候这种期望都不能实现)。
健康交流的最大好处就是,它使你对你的项目负责, 由此也引出我的下个要点。
2、完成
Fong和Eva都知道,完成一个项目困难,却重要。我声明:除非她们写了一篇关于手头项目的博文,在推特上@了API公司,并且将它发布在黑客新闻网版上,我们是不会开始一个新项目的。尽管她们的第一个项目只是井字棋游戏,但这是她们做过的最好的井字棋游戏。从来就没有人想写一个蹩脚的项目,所以不管这个项目有多简单或者不相关,如果你要着手做个项目,那它必须是你能拿到的最好的那个。我已经见过太多开发者为毫无前景的次要项目工作。如果你在学习编程,你必须从一开始就认识到要珍惜你的时间和精力,完成你的项目证明它的价值。
完成整个项目的最后20%需要花费全部努力的80%。开发者可以在1、2天之内实现一个项目的概念。而测试每种情况并且解决每一种边际情况从而成就一个“完美”的产品则需要两倍的时间。在项目最后的20%花费那80%的精力,将会在许多许多访问中传为佳话。
3、思考
如果你卡住了,不要紧盯住你的代码。出去散个步,呼吸点新鲜空气,再考虑一下。你卡住了是因为你的逻辑中有错误,而修正它最好的方法就是在脑海中或是在纸上一步一步地彻底想通它。程序员靠思考赚钱,问题在你的思考中被解决,编程是个蛋疼的工作。伟大的项目经理通常都有广博的编程背景,并且在思考和问题解决方面接受过出色的训练。
有一种说法:当你被卡住20多分钟时,并且你仍然茫然无绪,请教别人吧。如果在20分钟内没有任何头绪,那么在接下来的一个小时,你也不会有任何进展的。相信Eva。她有一天就浪费了5个小时,因为一个愚蠢的错误——血的教训啊。散个步,做个其他事。然后再回到项目上来。能将自己与问题切断并转移注意力,是个技术活。
4、再思考
也许你现在已经明白了,思考,在一个程序员的生活中是至关重要的。不要去复制-粘贴代码,尤其当你在学习如何去编程的时候。如果你想学习怎么编程,复制,粘贴——“看,有用诶!”不会使你有任何成就。相反,无论何时你看到代码,你必须在企图去试运行它之前想清楚它在干什么。当你能轻易看懂别人的代码了,将其简化到你刚好需要的程度,然后写出来。如果从一开始就定期这么做,你会在几个月内成长为一个非凡的开发者。
5、谷歌
学会独立解决问题。除非至少被卡住20分钟,不要问编程问题。程序员们必须是独立的。他们是伟大的思想者和伟大的交流者。为了成为他们中的一员,你必须逻辑地思考,想出问题出现的原因。许多年轻开发者面对的问题是,写出他们真正需要的代码对他们来说很困难。我们中的许多人也是这样,明知道问题是什么,但就是不知道要去找什么去解决它。这是个你必须从一开始就培养的技能,它漂亮地联系了第一点,“成为一个交流者”
给初学编程者的忠告
我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看 见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。
而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C++就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。
96,97级的不少大学生都去做Web了。当然我没有任何歧视某一行业的意识。我只是觉得如 果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。
初学者学习编程的误区
认为计算机技术等于编程技术:
有些人即使没有这个想法,在潜意识中也有这样的冲动。让我奇怪的是,许多信息学院的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课程他统统都不管,极端的学生只要书上没带“编程”两个字他就不看。
其实编程只是计算机技术应用过程中一种复杂性最低的劳动,这就是为什么IT业最底层的人是程序员( CODER)。计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管理信息系统等等这些方面。
编程工作只是在这些具体技术在理论研究或者工程实践的过程中表达算法的过程。编程的人不一定对计算机技术的了解就一定很高。而一个有趣的现象是,不少大师级的计算机技术研究者是不懂编程的。网上的炒作和现实中良好的工作待遇把编程这种劳动神秘化了。其实每一个程序员心里都明白,自己这些东西,学的时候并不比其它专业难,所以自然也不会高档到哪里去。
咬文嚼字的孔乙己作风:
我见过一本女生的《计算机网络原理》教材,这个女生象小学生一样在书上划满了横杠杠,笔记做得满满的,打印出来一定比教材还厚。我不明白的是,象计算机网络原理这样的课程有必要做笔记?我们的应试教育的确害了不少学生,在上《原理》这一类课程的时候许多学生象学《马列原理》一样逐字背诵记忆。
这乃是我见过的最愚蠢的行为。所谓《原理》,即是需要掌握它为什么这样做,学习why,而不是how(怎样做)。极端认真的学生背下以太网的网线最大长度,数据帧的长度,每个字段的意义,IP报头的格式等等,但是忘了路由的原则,忘了TCP/IP协议设计的宗旨。总之许多人花了大量的时间把书背得滚瓜烂熟却等于什么也没学。
在学习编程的时候这些学生也是这样,他们确切的记得C++语法的各个细节。看完了C++教程后看《Thinking in C++》(确实是好书),《Inside C++》,《C++ reference》,this C++,thatC++……,然后是网上各种各样的关于C++语法的奇闻逸事,然后发现自己又忘了C++的一些语法,最后回头继续恶补…。有个师弟就跟我说:“C++ 太难了,学了这里忘了那里,学了继承忘了模板。”我的回答道:“你不去学就容易了”。我并没有教坏他,只是告诉他,死抠C++的语法就和孔已己炫耀茴香豆的茴字有几种写法一样毫无意义。你根本不需要对的C++语法太关心,动手编程就是了,有不记得的地方一查MSDN就立马搞定。我有个结论就是,实际的开发过程中对程序语法的了解是最微不足道的知识。这是为什么我在为同学用Basic(我以前从没有学过它)写一个小程序的时候,只花了半个小时看了看语法,然后再用半个小时完成了程序,而一个小时后我又完全忘记了Basic 的所有关键字。
不顾基础,盲目追赶时髦技术:
终于点到题目上来了。大多数的人都希望自己的东西能够马上跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或缺的。
一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的所有时间花在了汇编,计算机体系结构,数据结构,操作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows 操作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。
篇5:初学者学习编程的方法有哪些
学习编程的方法
将其与类似的语言进行比较
当你首次观看有关该语言的第一个教程或阅读代码时,请尝试猜测该语言的每个部分将会做什么,并检查你的判断是否正确。 如果记笔记可以帮助你整合信息,请拿起一张纸并记下三个列表:
看起来很熟悉的东西,并且做了预期中的事
看起来很熟悉的东西,但做了意料之外的事
看起来完全是新的东西
例如,如果我用来自 Python 和 C 背景的 Rust 代码进行此练习,那么在第一个列表中,我会放上用于表示范围的花括号,(看起来像是布尔类型的 非,但实际上是 Rust 中的宏定义)则放在第二个列表,类型签名语法(type signature syntax)放在第三个列表。
如果你保留着初始列表的副本,一旦你更熟练,可使用它通过语言反思你的进展,并提醒自己在尝试向其他人讲授该语言时,有哪些看起来不熟悉的概念。
阅读语言的官方文档
如果希望在使用之前吸收大量信息,从阅读语言的参考资料中可能会受益。
不用担心它们会对你催眠,参考文献通常是用于查找使用,而不是用来记忆。
使用互联网搜索
搜索网络是一个很好的方式,可提供有关特定错误和一般最佳做法的信息。当收到错误信息时,应搜索信息中看起来是错误的独一无二的部分,但不是代码唯一的部分。
例如,如果错误提示 “Error on line 53: Invalid argument exception(错误在第 53 行:无效的参数异常)”,以语言名称和字符串 “Invalid argument exception” 这样的组合搜索,以找到最佳的结果。
记住要将错误信息中的所有引用内容都包含在内。
还可以在网络中搜索有关解决语言中特定问题的最佳做法的博文。
评估搜索结果中显示的博客帖子的质量和决定认真采用他们的建议时,请查看作者的公共代码组合以及发布日期。
与社区接触
虽然博客和新闻文章具有大量有用的信息,但是你尝试编写的特定代码片段总会有些微妙之处。不要害怕在邮件列表中发帖,或加入 IRC 和 Slack 频道以寻求帮助。
要提出有帮助的回复的问题,请确保在正确的地方提问。许多语言都有 “初学者” 邮件列表或聊天频道,专门针对可能会频繁询问的问题而建立。
当提出问题时,请务必先总结准备做什么、已做过的东西以及发生的情况。尽量为专家提供足够的上下文来了解问题,但不需要无关紧要的细节。
提出问题后,请务必坚持一段时间来听取建议或会回答你的疑问可能产生的后续问题。
编写“生产就绪” 的代码
使用该语言编写 “生产就绪(Production-Ready)” 的代码
玩具程序是一个很好的第一步,但在更逼真的的环境中使用一门语言可帮助探索其现实使用中的优势和挑战。
考虑将一个熟悉的、相对较小的、经过良好测试的程序移植到新的语言,以探索其在现实使用的应用。
阅读一本关于这门语言的书籍
如果有好几本有用的书,比较它们的评论,并考虑哪位作者的背景和自己的最相似。现在有很多电子书可以免费在线阅读。
在购买有关该语言的书籍之前,请先查看书籍出版的日期以及其示例所涵盖的语言版本。
如果使用的是较旧的书籍,请务必使用其所使用的语言版本的示例。还要在网上调查一下,以了解自出版以来语言发生了怎样的变化。
观看讲座和课程
如果你学习的语言在在线课堂中有讲授,那么视频应该是公开的。除了学术讲座之外,还可以考虑寻找录制讲座、会议谈话和有关该语言的博客。
当在看电视时,谈谈你的新语言是一个将学习融入日常生活很好的方式。
阅读示例代码
大多数关于编程语言的书籍都会包含代码片段。你也可以在博客和 Rosetta Code 上找到示例代码。运行示例代码、修改它们,并尝试预测修改后会发生那些情况。
阅读生产代码
查找有关该语言所有类型和大小的项目的一种方法是在 GitHub 上搜索它。按最受欢迎或最具影响力进行排序,你的热门搜索将包括最受欢迎的开源工具。
如果想要了解开源项目的设计,可通过邮件列表或 IRC 来与社区进行互动。你甚至可能会发现一些 bug。
寻找好的工具
当使用新的语言时,可向其更有经验的用户请教,询问他们的开发环境。你可能会发现,一个特定的文本编辑器或 IDE 对于新语言的支持比你习惯通常使用的要好。
调查在新语言生态系统中管理依赖关系、格式化、模糊化和单元测试代码的选项。
保持你的热情
入门新的语言很容易,但变得真正精通它通常是一个需要多年的旅程。庆祝一路上你的成功,并与追随你脚步的学习者分享你所学到的知识,保持着学习编程的兴趣。
新手学习编程的最佳方式
聚焦习惯而不是目标
聚焦习惯而不是目标听起来似乎不合常理,但是请听我把话说完 - 这是一个有关平衡的问题。凡是和我共过事的人都知道,我有时就像傻子一样,在一天内,引用《蝙蝠侠:侠影之谜》中 Ra's Al Ghul 的话多达 3-4 次。
Bloc 公司的投资者们对于我在董事会上频繁地引用《蝙蝠侠:侠影之谜》中的片段作为开始,早已经烦透了。
R'As 告诉 Bruce:
“(当你的胳膊快要冻僵的时候,)按摩你的胸口,你的胳膊自然会暖和起来。”
如果你将精力放在在每星期编程 20-30 个小时的习惯培养上,成为一名 Web 开发者的目标很快就可以实现。如果你将目标设定为在数月内成为一名 Web 开发者,在什么时候能可以达成目标以及距离目标还有多远等不确定性的压力之下,你反而可能会一无所获。聚焦于习惯而不是目标。按摩你的胸口,你的胳膊自然会暖和起来。
因此,你现在应该做的是:在你的日程安排上,每天花15分钟时间用于编程。不要多于15分钟,每天只要15分钟就够了。如果你能在一星期之内坚持做下来而不找任何借口,请试着把时间延长到一天20分钟。不要试图通过每天一小时的编程来过度扩展自己的能力,编程就是一场 10,000 小时的马拉松,因此我们应该将精力集中在培养习惯上。与其在一天内花费大量时间学习编程,不如每天花费少量时间,但是能够天天坚持,因为这样更有效。
独自学习非常痛苦
当我在学习Web 开发时,在我的学习过程中,拥有一位导师和加入一个社区是两个最大的组成要素。
●拥有一位导师
大学期间,我曾在一家名叫 merge.fm 的小型创业公司工作。暑假期间,我与该公司的一位联合创始人一起工作,我在此期间学到的东西比我之前一年在大学学到的还要多。跟随一名经验丰富的专业人士一起工作,可以真正地加速你学习的速度,你会了解到他们如何思考问题的,同时,也会发现自己的不足之处。这就是为什么师徒制通常成为学习一门新技艺的默认标准的一个原因吧,因为它非常有效。
●加入一个社区
我加入了的两个社区,一个是 Illini Entrepreneurship Network(我们学校的一个学生组织),另一个是 Hacker News(一个面向黑客和创业者的大型在线社区)。
我没有从 Hacker News 学到任何有关对象和类的知识,但是我学到了一些别的东西。我知道了没人喜欢 JavaScript。我知道了 Ruby 程序员是编程领域的潮人。我还知道了 Bret Taylor, Rich Hickey, and John Carmack 都是编程世界的领袖人物,还有就是,那些真正关心员工的软件公司,它们公司的厨房看上去就像兴奋剂实验室。
总之,我学会了如何说行话。当你和其他程序员一同工作的时候,这一点非常重要,也正因如此,才使你觉得自己就是一名程序员。
项目实践
在学习Web 开发的第一年,我动手实现了以下项目:
●一个 Digg 的克隆版(来自 Sitepoint书上的 Rails 例子,我想现在它已经过时了)
●一个在线购物应用程序(来自 Agile Web Development with Rails 4)
●一个 GeekSquad-esque 应用程序(个人项目)
●一个实时在线课堂应用程序(个人项目)
●一个外语学习应用程序(课程项目)
我认为构建真实项目之所以非常重要的原因有很多,就我而言,最重要的一个原因是它充满了乐趣。这恰恰是在传统教育中严重缺失的,也正因如此,它才成为了诸多原因中最重要的一项。寻找如何开展项目实践的参考资源,是一个不错的选择。
要具有“小强”精神
对于那些能坚持读到此处的读者们,我偷偷地增加了第四项内容。 Paul Graham 曾经对 Airbnb 的创始人说过:
“你们这些家伙是不会失败的,因为你们就像打不死的’小强’一样”
一段时期,你可能会有放弃学习编程的想法。就像任何具有同样价值的事情一样,学习编程真的很难,有时你会觉得自己真的很笨。这就是为什么第一项策略如此重要的原因 - 不要过度担心是否已经取得进步,或者需要花费多长时间达成目标。你要做的就是每周坚持10-30个小时的编程。就像执着的’小强’一样,你就不会失败。
多年以前我说过一句话 - “成功贵在坚持(注解:亦可译为‘生活中80%的成功源于坚持’)”,这句话经常被其他人引用。人们常常向我提及,他们想编写一个剧本,他们想制作一部电影,他们想撰写一本小说。那些最终成功实现目标的人,80%的做法是先行动起来。那些最终失败的人,他们连这一点都做不到。这正是他们不能做成一件事情的原因,他们没有去做。一旦你去做了,如果你真地去编写电影剧本,或者撰写小说,实际上,你的成功之路已走过大半。这就是我可以告诉你的我人生最大的成功经验。其它的都是失败的教训。
掌握所有编程语言的关键学习方法
1、重视语言特性,而不是语言
很多人在乎自己或者别人是否“会”某种语言,对“发明”了某种语言的人倍加崇拜,为各种语言的孰优孰劣争得面红耳赤。这些问题对于我来说都是不存在的。虽然我写文章批评过不少语言的缺陷,在实际工作中我却很少跟人争论这些。如果有其它人在我身边争论,我甚至会戴上耳机,都懒得听他们说什么 ;) 为什么呢?我发现归根结底的原因,是因为我重视的是“语言特性”,而不是整个的“语言”。我能用任何语言写出不错的代码,就算再糟糕的语言也差不了多少。
任何一种“语言”,都是各种“语言特性”的组合。打个比方吧,一个程序语言就像一台电脑。它的牌子可能叫“联想”,或者“IBM”,或者“Dell”,或者“苹果”。那么,你可以说苹果一定比 IBM 好吗?你不能。你得看看它里面装的是什么型号的处理器,有多少个核,主频多少,有多少 L1 cache,L2 cache……,有多少内存和硬盘,显示器分辨率有多大,显卡是什么 GPU,网卡速度,等等各种“配置”。有时候你还得看各个组件之间的兼容性。
2、合理的入门语言
所以初学者要想事半功倍,就应该从一种“合理”的,没有明显严重问题的语言出发,掌握最关键的语言特性,然后由此把这些概念应用到其它语言。
3、掌握关键语言特性,忽略次要特性
为了达到我之前提到的融会贯通,一通百通的效果,初学者应该专注于语言里面最关键的特性,而不是被次要的特性分心。
举个夸张点的例子。我发现很多编程培训班和野鸡大学的编程入门课,往往一来就教学生如何使用 printf 打印“Hello World!”,进而要他们记忆 printf 的各种“格式字符”的意义,要他们实现各种复杂格式的打印输出,甚至要求打印到文本文件里,然后再读出来……
篇6:初学者如何学习新概念英语
初学者如何学习新概念英语
好的新概念学习方法至少要具备以下条件:
一 应该是符合教育学,心理学,信息学原理.
研究表明:人获取的外界信息中,83%来自视觉,11%来自听觉,3.5%来自嗅觉,1.5%来自触觉,1%来自味觉,显然增加视觉、听觉信息量是多获取信息最可取的方法。
二 应是有趣,自然式的新概念学习方法,而非强迫.(对意志坚强,毅力特好者例外)
新概念学习应该是一种乐趣,而不是痛苦.这点对我这样三分钟热度的人特别重要.二十来年从应试教育中辛苦走过,对强迫式的学习实在是怕,能避则避,能逃则逃. 虽然学好新概念英语是那么的必要,然而,我还是希望有一种趣味式,自然式的学习方法能达成我的愿望.
能满足以上条件的'新概念英语学习方法,具体如何操作呢?
用最简单的话来说,就是用最新英美练习听力和阅读文本学新概念英语,发挥形像思维入戏说新概念英语,同时用联想法速记单词.
这样学的好处是:
1.学的是最新的新概念英语,学了绝对能马上用.
2.符合教育学,心理学,信息学原理,信息量大,印象深.光看书就缺少听觉信息,听录音就缺少视觉刺激.
3.发挥形像思维入戏说新概念英语,绝不枯燥,也是最自然的方法.
英语国家的小孩也是这样,听外界,看外界,试着模仿,然后就自然会说了.我们学校教育十几年,默单词,背单词,考语法,苦不堪言,倒不好英美国家5岁小孩.这说明了什么?
4.用联想法速过单词关
在以上操作时遇到未接触过的单词时,迅速想一下理由,即这个词为什么是这个意思,可以是从词根词缀出发,可以是从已知的其它词出发,甚至是任何形式的理由,如你处方言的谐音. 不必专门去背记单词.我们是从情节,从语境中记.
篇7:初学者如何学习插画
学习插画的方法
1、画画要敢画。
首先要有“没有好看和不好看的画”和“没有画错和画对”的心态。简单说,一幅画好不好看,仁者见仁智者见智;画错画对是基于有参照,才可以说对和错。而画画,尤其是插画,应该是自由的,随意的,不必让自己太紧张,画得不好看、画错什么的,都是阻碍自己画画的不好的心态,要戒除,敢画就是从零开始学习插画的第一步;
2、画画从简单的画。
比如说简笔画,我也是从简笔画开始学画画的,毕竟是从零开始。之前看过一句关于摄影的话:摄影初学者先要学会拍下照片,再说拍好照片。画画也一样,先把要画的东西画出来,而且画得能认出是什么东西。所以在此有个重点,就是训练自己对每个物品抓特点的能力,特点即是你想到它、看到它最让你清楚的那一部分。慢慢的就能练成抓住身边事物特点的能力,对后期所谓的“下笔如有神”有很大帮助;
3、搜集和记录。
练就抓特点后,进入“速写”的阶段,就是找个本儿,随时随地随心情记录一些看到的,想要画出的东西如何从零开始学习画插画如何从零开始学习画插画。素材多了,画过了,以后要再使用,再变化也不难了。重在用简笔画的方式来记录,这样的记录也可以练就线条的流畅性。同时还需要搜集的是装饰的方法,插画的一大特点就是装饰,方法有很多很多,内装饰、外装饰等等,看到好看的就记下来,之后尝试用到自己的作品中;
4、组合、思考和变化。
把搜集到的东西用一些方法组合起来,方法可以是借鉴、学习,甚至是思维的暴走,组合出自己的风格。在组合的同时,发挥自己的想象,夸张(放大、缩小、压扁、拉长、打斜、扭曲等)所抓到的特点,变化搜集到的素材,并加入自己的元素,然后的然后,就是思考,思考怎么让组合出来的东西有创意,有意思。也是多借鉴一下别人的方法,学习一下创意的方法和步骤,慢慢的你将爆发出你自己的小宇宙,有自己的创意;
5、做作品并分享。
平时做的都只是练习,做一些所谓的完整作品,用自己的方式表达一些自己所想所述,可以是单幅,也可以是系列,更可以是有主题的作品。在这个过程中,学会使用适当的方法、技法来完成作品,不求复杂、大气、让人膜拜,但求自己满意,画面丰富,无论是视觉还是感觉上都得丰富,让看到的人觉得有意思,有话要说,有问题想问,你就真正地从零学插画成功入门。
有了作品,学会分享,你可以浮夸,可以交流,可以求教。总之你自己的作品展示出来,会有各种信息的回馈,赞许、批评可以忽略,重在看看别人给你的建议和意见,还有别人对你作品的感觉。这才会让你的下一个作品更加美好;注:分享的方式方法我想大家都很清楚的吧
6、提高。
以上5步仅能让你从零学会插画,而学好,当然需要一些专业的知识支撑。比如前面金同学讲到的内容
如何从零开始学习画插画手绘培训。素描、速写、人体结构、cg技法等专业知识都可以静心看看,学学,而最难的还是色彩,每个人的感觉真不一样,我就属于那种“不上色还过得去,上色就丑的那种”。不过我选择了简单画就简单上色,仅用我们从小到大所用的24色水彩笔来上,稍作一些变化、层次、阴影,我自己倒是很满足了,不过我也需要学习更多,提高自己。
画画是一个一辈子的事情,入门后就是一种享受了,练习很有必要,随性的,天马行空的才是插画的本质,不要拘泥于使用什么技法,使用什么工具,找到一种状态,毕竟画插画不是你的工作,你的任务,轻松点。而对于思考,是更加重要。创意是思考出来的,下一步怎么画是思考出来的,多动脑,德艺双馨。
插画设计三大技巧
插画设计简约化 这里的插画设计简约化可以理解为不要过于复杂,虽然平时我们看到很多精美的并不简单的扁平化图像,但设计本身,只需明确的表达出含义即可,简单图像让画面更具简洁感,也可增加设计感。
插画设计形状化 插画设计图形的造型由基础矢量工具组成,不要带有不规则的曲线出现,如无特殊需求,尽量不要用钢笔来勾画曲线形状,保持曲线圆滑过渡,对于有工作经验的人来说,这点并不困难
插画设计统一化 什么是插画设计统一化?当需要用不同物体组成的场景的时候,尽量简化物体的复杂性,物体的视角要保持一致,选择平视角或前视角,相对更加容易。但视角中包含透视之后,难度增加很多,如没有实物或绘画经验的人来说,难度极高,所以这里推荐平视角。
篇8:初学者如何学习扬琴
学习扬琴的发音方法
1、击弦位置。
除了正确的手腕击弦法,还要注意正确的击弦位置,这是发音的关键。在琴码与山口架起的这段弦上何处是最佳的击弦位置呢?换言之,离琴码最合适的击弦位置在哪里?从扬琴形制来看,它是通过振动琴弦发音的。一般高音区有效发音弦长比较短,低音区有效发音弦长比较长。我们以有效弦长的十一分之一处为最佳击弦点。以此位置计算方法是:高音区在距琴码两公分到两公分半处;中音区在距琴码两公分半到三公分的位置;低音区在距琴码三公分到三公分半处。通过耳朵的聆听与眼睛的配合,再加上长时间的训练,一定可以找到标准的击弦点。
2、琴竹触弦部位。
正确的发音对琴竹头击弦位置也有要求。以琴竹头中部击弦,发音最为厚实、饱满。靠前或靠后,不但影响音色,还容易碰到上方或下方的琴弦,影响准确性。
3、手腕弹动的发力。
扬琴演奏需要全身各部位协调运动才能进行。在我们演奏时,肩关节、肘关节、腕关节以及指关节支撑整个手臂的运动。肩关节是整个手臂的支撑点,在手臂运送过程中击弹、跳动都离不开它的支撑;肘关节支撑小臂,保持它在运动中不会上下活动。除非遇到强奏时,才以肘关节为轴心运动小臂增强力度;腕关节是最重要的支撑点,以它为轴心手腕上下运动;指关节除了支撑手中的琴竹外,它与手腕形成的合力也是保证手腕转动的重要因素。只有各个关节的灵活、稳定才能保证各关节发挥其能动作用。因此在练习和演奏中除了使各关节协调一致外,还要学会使用各个关节,使它们既独立又联合。在扬琴演奏中,力量的运用来自两方面。一方面是各部位肌肉收缩运动产生的肌肉力量;一方面是手臂放松下垂的自然重量,这两方面的结合才产生演奏时的力量。在力量的运用上要掌握“既用力,又放松”这样的辨证原理,使我们的力量能够通过通畅的手臂、协调的身体灌输于琴竹头,产生圆润、饱满、厚实的音色。
扬琴的换手方法
1、左右键交替竹法 一般演奏多为左右键交替击弦,重音习惯于右键击弦。
2、左竹法 常用左键奏重拍者,往往不习’惯用左竹法,而在四、五排码条的扬琴上,如遇到从左向右的快速乐句下行时,用左竹法演奏,两手倒换得既方便又顺手,而用右竹法演奏,就会出现大量的交叉手法,这些过多的交叉,就容易造成打码子或音不准的现象。
3、连击,也叫双跳、或连手,在左右交替竹法演奏过程中,如需要由原来的右竹法变为左竹法,或由左变右时,就需要通过一次单手连击以更换竹法,连击又分“连左”和“连右”两种。运用连击法时,应注意需连击的两个音只限于二、三度音程的小跳,而六度音程以上的大跳是来不及的,所以应避免之。
有时由于乐曲中的特殊情况,还需要左右手各自连续连击。
一般情况下,多为单手两音连击,遇到特殊情况时,还需要演奏者进一步练会三音连击的特殊技巧。
单手连击的要领,须把连击的两个音,分别奏出轻重音,即按双手交替演奏时右、左、右、左、重、轻、重、轻的强弱规律,连击时第一音打重,第二音轻打。单手三击时按强、弱、弱的节律奏,就能如同交替演奏的效果。
4、交叉法 演奏中遇到有些音的连接,必须横跨码子时,就需用交叉法。
5、同音换手 两只手连续奏完和弦后,接着就跨码大跳,就需通过一次“同音换手”法,使两手倒换得通顺合理。
篇9:初学者如何学习催眠
1多看书,目前催眠有一些流派的,如:标准派、艾瑞克森派,都去了解一下。然后看一本比较系统的书,精学它。
2多看视频。现在网上很多催眠的教学视频,都看看,看多了,催眠那种神秘,就自然慢慢的没了,自己就会有多一些信心了。也可以从中学到,人家催眠是怎么做的。
3多练习。练习,永远成为真正的催眠师最重要的关键。而一般人,一开始都比较难找人来练习,最好就是形成小组,相互对练。但值得注意的是,因为是伙伴,容易开玩笑,这是应该避免的,要认识对待练习。
4要灵活。学习催眠,要理解教材中,那些催眠的关键的部分,不要光知道背催眠稿,那样永远真不了真正的催眠师。而应该理解教材中催眠词为何要那样设计,理解了那些设计的原则,就可以自己设计催眠词了,再多加练习,这样学会催眠,就很容易了。
篇10:初学者怎么学习舞蹈
一,懒惰:习舞之首忌
众所周知舞蹈是一门残酷的艺术,殊不知残酷于何处.
1.训练艰苦是其第一酷,一个专业的舞者需要用辛勤的汗水和殷勤的血水浇灌成长,是无法自夸的艺术,你一定要坚信一分耕耘终会有一分收获.
2.意志的磨练是其第二酷,扎实的基本功需要在枯燥而痛苦的程式下坚持不懈地积淀,优美的舞姿需要在一次次费心的磨练.
舞蹈是没有办法偷懒的,偷没偷懒一舞便知。
修正方案:给自己定目标、下决心、持之以恒刻苦训练,如果不能坚持趁早放弃!
二,大概、差不多:步入歧途,走火入魔之因;
作为一个舞者最怕的就是大概主意,艺术是有境界有要求的,不要总以为差不多就可以了,一个作品每个动作都差不多加在一起那么这个作品必定成为第三世界的产品,每堂课都差不多就可以,一个月、一年、两年、五年我相信你会看到太多差不多的动作。跳出的动作四不像,舞出的作品空洞乏味,最终走火入魔成为四不像舞者!
修正方案:牢记要领、反复练习、严格要求,训练中做到百分之百专注,切不可三心二意。
三,求质不求情:机器人塑造之缘由 ;这是最痛心疾首的一条,能够受这条约束的朋友大部份都是吃了很多苦的,他们上课特别认真,训练也毫不含糊,但是没有注重舞蹈最重要的情感表达,最终成为机器人(动作线条漂亮、技巧娴熟完美、情感单一不能够融入作品人物)











