㈠ 初学者怎样学习编程有哪些方法

初学者学习编程的方法如下:

1、 打好基础

当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。

6、平衡好你的学习

作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。

作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。

7、学习算法

当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。

㈡ 从零开始学编程需要多久

如果你只是想玩玩,想做点小东西的话。就学学Java,然后买几本实例教程,慢慢练。

如果你想系统的学习。说说我的想法啊。你要有一个目标,学到什么样,你变成才算入门。精通啥的就不说了,文无第一,你说你自己精通,总会有大牛站出来鄙视你。

那什么叫做入门呢,我的理解是,你看到一个现有的程序,用脑袋想想,大体能明白他是怎么实现的。当然不用完全明白,这不太可能,但是让你照着这个程序写一个差不多的程序不会毫无想法。到了这个程度你就差不多入门了。说白了就是学习的第一阶段模仿,不用创新,你只要能看着现存的东西去模仿就好了。会了模仿才能更进一步。不过这个模仿可不是让你照着code抄,而是黑箱。不求一模一样,只要有个大体的思路,可以去实现就行。

那么为了实现这个入门,你需要一系列的系统学习。像那种用实例来学习的,也只能学习表面,总有你没有见过的事物,所以你需要学习的是本质,是原理。当然通过实例由浅入深是可以的,但是你不能舍本逐末。

编程与理论是两条线,但是这两条线是伴随关系。很多初学者不知道该怎么学,所以说科班是很有必要的,起码实用。

那么我在说说这个学习的过程。首先你要选择一门编程语言,如果你是那种肯吃苦,耐得住寂寞的人,我建议你从C开始学。为啥这么说呢,因为C比较底层,你想用C开发点有意思的程序特别是带GUI的,不说痴心妄想吧,起码很累。但是C的好处是语法简单,学好C以后,上可以实现数据结构,算法,下可以用来研究OS,算是学习期间比较全能的一套语言了。如果你比较急于求成,想短期内做点有意义的小程序,那就学Java。Java的库比较多,比较容易写一个带GUI的程序。而且OO的思想你早晚都要有。

与此同时,去把理论学习了,什么离散数学,计算机结构,数据结构,算法,一个一个来。

这时候你可以学学汇编和机器语言,这个不是说要你用汇编去干啥,而是为了让你明白CPU的工作原理,然后试着自己用or,and,xor这类的原件自己设计一个CPU。不是让你真的去做一个实体CPU出来,只是画画电路图。当你明白CPU工作原理之后,你会有一种豁然开朗的感觉,原来计算机是这么精巧的。

之后你可以开始学习操作系统原理的。这时候你可以去装一个Linux,然后熟悉熟悉那些system call。研究研究文件结构什么的。羡慕那些天在shell里面敲命令的前辈们吗?其实这些一点都不难,等你熟悉了,你就会觉得windows太不适合编程了。很多人都说Windows写程序好,VS是IDE神器什么的。可是假如没有VS还有人用Windows写程序吗?所以他们与其说Windows好还不如说VS好,Windows只是附属品。Linux随意的多,想C这类的语言,没啥lib可用的时候,有没有IDE都差不多。但是像Java这个变态语言,我反正不会用VIM这类软件去写,累死了。

学习系统的时候,你就要学平行处理和线程控制了,parallel和concurrent这些。计算机的CPU就那么几个核,甚至是单核。但是计算机同时运行这么多程序,就是靠OS的平行处理功能的。学好这些很有用。

在向上一层可以学的东西可就多了,Network这一块可以学学那些协议比如TCP,UDP或者HTTP之类的,然后尝试着用C写一个简单的服务器,监听一个端口发点信息啥的。你也可以用Java写,Java做这些比C简单点。但是C更贴近系统,因为Java用的是虚拟机,毕竟隔着一层。

如果你对3D图像感兴趣就学学OpenGL。简单的小程序用C就够了。太复杂了就要学学C++。反正我是很不喜欢C++的。虽然功能强大,但是开发起来太累了,特别是学了Java之后,你会觉得C++这么能这么麻烦?可是想做底层开发你又不得不学C++。所以看你自己的定位了,如果不是很想深入,C就够了。学到OpenGL你就能体会到Linux的优势了,配置环境从网上找一些命令一敲就好了。当年我上graphics的课时,第一次作业,我都写完了,那些用Windows的同学们还在研究配置环境呢。他们本以为第一次配置好了之后就能体现出VS的优势的时候,才悲剧的发现这学期每个作业都要用一两个新的lib。所以他们只能忧郁的看着我那云淡风轻的一边喝咖啡一边敲代码。

计算机的分支太多了,你能学的还有很多,比如数据库。其实数据库语言很简单,学学MySQL你就能学个大概。与此同时你可以学学网页开发,html+css+js为前端,后端的选择太多了,比较传统的比如PHP,如果你Java学的好就学JSP。微软那些就不说了,Python什么的也不错。

说到这里,这个脚本语言你也是有必要学习一个的,Python是比较常见的选择。学完python你可以比较一下,C,Java,Python,你会发现越底层的语言功能越少但是很方便去实现那些基础结构,比如数据结果啥的。越是高级的语言功能越多,什么都是现成的,但是那些基础的东西都被隐藏了。这也是为啥10行的python,java要写30行甚至更多的原因。可是底层的语言却更快。当你习惯了Python的开发效率的时候,你可以能不会再去碰其他的语言,但是这并不代表你一开始就不用学,否则你怎么会理解其中的原理呢。

说的编程语言,你就不得不学一下编译器开发了,compiler可是一个很神奇的东西,但是一句两句说不清楚,买本书自己研究一下,这个也是非常实用的。

学到这里基本上基础的东西就学的差不多了,但是学无止境,CS既然是是一门科学,那就总也没有尽头,但是当你理解并明白了基础知识之后,一切新的知识学起来都不会太难。