学编程要学几年,如何从零开始学编程要先学什么语言

学编程要学几年,如何从零开始学编程要先学什么语言

学编程要学几年?

学两年。

学习编程需4个月左右,时间太短是学不会的,假设想学得深一点,需学习2年左右。

在进行学习时,一定要要先把控掌握最基本的知识,不然,后期工作起来会感觉超级难。

编程是编定程序的中文简称,就是让计算机代码处理某个问题,对某个计算体系规定一定的运算方法,使计算体系根据该计算方法运行,并最后得到对应结果的过程。

为了使计算机可以理解人的用意,人类就一定要将需处理的问题的思路、方式和手段通过计算机可以理解的形式告诉计算机,让计算机可以按照人的指令一步一步去工作,完成某种特定的任务。这样的人和计算体系当中交流的过程就是编程。

每个人的学习方法、专业基础、努力程度不一样,在学编程时需花费时间也带来一定差异。一般零基础小白自学编程难度很大,至少要学一年以上;若要参与专业培训,效率更高,大多数情况下全日制学习也要学6个月以上。

一般编程可应用于影视特效、游戏开发、Web前端等领域。

1、影视特效

在大型影视特效制作中,常常会用到Maya、3ds Max、Houdini等软件。这当中,使用Maya和3ds Max需掌握并熟悉一部分脚本语言和表达式。Houdini具备表达式、vex和python这三种内置语言,有编程基础,上手Houdini会很快一部分。

2、游戏开发

游戏编程属于游戏开发方向,现在主流的游戏开发语言是C++,经常会用到的游戏开发引擎是UE4和U3D。系统学习C++编程语言,要了解基础语法、数据结构、逻辑操作、算法等知识。学习UE4,需要在虚幻中编写游戏结构,结合虚幻框架编写需求,学会这当中的重要系统。学习U3D,要掌握并熟悉组件应用、数字应用开发、动画系统开发等内容。

学编程要学习长则4年,短则一年,看学习的要求和你的聪明度。

如何从零启动学编程?

You can code. They cannot. That is pretty damn cool.– Learn Python The Hard Way

在你学习编程以前思考一下你的目标,当你有最后目标时道路会更的清晰。那么你想要写什么?官方网站?游戏?iOS或者Android应用?或是你是想自动化完成一部分乏味的任务让你有更多时间看窗外的风景?也许你只是想具有更多的有就业竞争力找个好工作。全部的这些都是有价值的目标,这些目标都是你编程学习推动力的一些,没有推动力的人是没办法在略显枯燥的漫长学习之旅中走远的。

不要浮躁

Bad programming is easy. Even Dummies can learn it in 21 days. Good programming requires thought, but everyone can do it and everyone can experience the extreme satisfaction that comes with it.

不管是在线下还是线上的书店,满目都是《21天学通Java》这样的速成书目,它们都承诺在很短不短的一个时期内就让你可以学会有关技术。Matthias Felleisen在他的著作 How to Design Programs, Second Edition 一书中明确指出了这样的「速成」的趋势并予以了以上的讽刺。

这里说的的「捷径」或者说「银弹」是不存在的,智者说过,精通某个东西需23年或10000个小时,其实就是常说的汉语中的「十年磨一剑」,故此,不需要着急,功不唐捐。

培养兴趣

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.

– Linus Torvalds

沉醉于编程,编程更是为了兴趣。兴趣是推动力的不竭源泉,保持这样的充满兴趣的感觉,以方便你能故将他投入到你的23年/10000小时的编程时间中。编程很有趣,那是探索的喜悦。那是创造的喜悦。看到自己亲手完成的作品显示在屏幕上很有趣。有人为你的代码而惊叹很有趣。有人在公共场合称赞你的产品、邻居使用你的产品、还有在媒体上讨论你的产品很有趣。编程应该十分有趣,若并不是如此,就找出致使编程无趣的问题,然后处理之。

这幅图取自 Douglas Hofstadter 的著作Gödel, Escher, Bach。图中的每一个字母都由其他更小的字母组成。在最高层级,我们看的是"MU",M 这个字母由三个HOLISM(整全觀)构成,U则是由一个REDUCTIONISM(还原论)构成,前者的每一个字母都包含后者的后者整个词,反之亦然。而在最低层级,你会发现最小的字母又是由重复的"MU"组成的。

每一层次的抽象都蕴含着信息,假设你只是幼稚地单一运用整体论在最高层级观察,或运用还原论观察最低层级,你所得到的唯有"MU"(在一部分地区的方言中mu说明了什么都没有)。问题来了,怎样才可以尽量多的获取每个层级的信息?或者换句话说,该怎样学习复杂领域(诸如编程)包含的很多知识?

教育与学习途中普遍存在一个重要问题:初学者们的目标常常过于倾向整全觀而忽视了基础,举个常见的例子,学生们很想做一个机器人,却对背后的

理解物理模型 → 理解电子工程基础 → 理解伺服系统与传感器 → 让机器人动起来

这一过程完全提不起兴趣。

在这里针对初学者有两个大坑:

假设初学者们只与预先构建好的「发动机和组件」接触(没有理解和思考它们构造的原理),这会严重限制他们在以后构建这些东西的能力,还在诊断处理问题时不知道怎么开始。

第二个坑没有第一个既然如此那,明显:幼稚的「整体论」方式有部分时候会显得很有效,这有一定的隐蔽性与误导性,但是,一两年过后(也许没既然如此那,长),当你在学习路上走远时,再想回过头来「补足基础」会有巨大的心理障碍,你得抛弃以前自己狭隘的观念,耐心地缓步前进,这比你初学时学习基础知识困难得多。

但也不可以矫枉过正,陷入还原论的大坑,初学时便一心试图做宏大的理论,这样不仅仅只有一切流于理论的危险,枯燥和乏味还会让你失去推动力。这样的情况常常出现在计算机科班生身上。

为了更好理解,可以将学习编程类比为学习厨艺:你为了烧得一手好菜买了一部分有关菜谱的书,假设你只是想为家人做菜,这会是一个不错的主意,你重复菜谱上的步骤也可以做出不赖的菜肴,但是,假设你有更大的野心,真的想在朋友面前露一手,做一部分独一无二的美味佳肴,甚至成为「大厨」,你一定要理解这些菜谱背后大师的想法,理解这当中的理论,而不只是一门心思地实践。但是,假设你每天唯一的工作就是阅读那些厚重的理论书籍,因为缺少实践,你仅仅会成为一个糟糕的厨子,甚至永远成为不了厨子,因为看了几天书后你就因为枯燥放弃了厨艺的学习。

总而言之,编程是连接理论与实践的纽带是计算机科学与计算机应用技术相交融的领域。正确的编程学习方式肯定是:通过自顶而下的探索与项目实践,取得编程直觉与推动力;从自底向上的打基础途中,取得最最重要,要优先集中精力的通用方式并夯实编程思想的理解。

作为初学者,应以后者为主,前者为辅。

启蒙

「学编程应该学哪门语言?」这常常是初学者问的第一个问题,但这是一个错误的问题,你最先考虑的问题肯定是「什么东西构成了编程学习的基础」?

编程知识的金字塔底部有三个重要的部分:

算法思想:比如怎样找出一组数中最大的那个数?第一你得有一个 maxSoFar 变量,后面针对每个数…

语法:我怎样用某种编程语言表达这些算法,让计算机可以理解。

系统基础:为什么 while(1) 时线程永远没办法结束?为什么 int *foo() { int x = 0; return } 是不可行的?

启蒙阶段的初学者若选择C语言作为第一门语言会很困难还枯燥,这是因为他们被迫要同时学习这三个部分,在能做出东西前要花费不少时间。

因为这个原因,为了尽可能最小化「语法」与「系统基础」这2个部分,建议使用 Python 作为学习的第一门语言,虽然Python对初学者很友好,但这依然不会说明了它只是一个「玩具」,在大型项目中你也可以见到它强大而灵活的身影。熟悉Python后,学习C语言是便是一个不错的选择了:学习C语言会帮你以靠近底层的视角思考问题,还在后期帮你理解操作系统层级的一部分原理,假设你只想成为一个普通(平庸)的开发者你可以不学习它。

下面给出了一个可供参考的启蒙阶段导引,成功后你会在头脑中构建起一个整体框架,帮你进行自顶向下的探索。

完成 Codecademy 的 Python 部分。这只是热身部分,及时完成它,因为你永远只是在浏览器里,你不会学到如何搭建开发环境。在 Codecademy 这种类型的编程学习官方网站学到的那点儿东西,哪怕你只想做一个小的不可以再小的项目,你都不清楚该从哪儿启动。

完成 MIT 6.00.1x(中文化)(假设你英语不过关,完成麻省理工学院公开课:计算机科学及编程导论。MOOC 是学习编程的一个有效途径。虽然该课程的教学语言为Python,但作为一门优秀的导论课,它强调学习计算机科学领域里的重要概念和范式,而不只是教你特定的语言。假设你不是科班生,这能让你在自学时开阔眼界;课程内容:计算概念,python编程语言,一部分简单的数据结构与算法,测试与调试。支线任务:

完成Python核心编程

完成 Harvard CS50 (假设你英语不过关:完成哈佛大学公开课:计算机科学 cs50 。也是导论课,但这门课与MIT的导论课互补。教学语言涉及 C, PHP, JavaScript + SQL, HTML + CSS,内容的广度与深度十分合理,还可以了解到最新的一部分科技成果,可以很好激发学习计算机的兴趣。支线任务:

阅读《编码的奥秘》

完成《C语言编程》

[可选] 假设你的目标是成为一名 Hacker:阅读 Hacker's Delight

PS:假设教育对象还是一个孩子,以下的资源会很有很大帮助:

5-8岁: Turtle Academy

8-12岁:Python for Kids

12岁以上: MIT Scratch 或 KhanAcademy

入门

结束启蒙阶段后,初学者累积一定的代码量,对编程也有一定了解。这时你可能想去学一门详细的技术,诸如Web开发,Android开发,iOS开发什么的,你可以去尝试做一部分尽量简单的东西,给自己一部分正反馈,补充自己的推动力。但记住别深入,这些技术有很多的细节,以后会有这个时间去学习;同样的,这时候也别过于深入特定的框架和语言,目前是学习计算机科学通用基础知识时,不要试图去抄近路直接学你目前想学的东西,这是注定会失败的。

既然如此那,入门阶段详细该做些什么呢?这时候你需做的是反思自己曾经写过的程序,去思考程序为什么(Why)要这样设计?,思考怎样(How)写出更好的程序?试图去探寻理解编程的实质:利用计算机处理问题。

设想 :

X = 用于思考处理方案时间,即「处理问题」 部分

Y = 用于达到代码时间,即「利用计算机」部分」

编程能力 = F(X, Y) (XY)

为了提升编程能力,就得优化 X,Y 与函数 F(X, Y),很少有书的主要内容能同时着重集中在这三点上,但有一本书做到了-Structure and Interpretation of Computer Programs(SICP)《计算机程序的构造和解释》,它为你指明了这三个变量的方向。在阅读SICP以前,你也许能通过调用哪些函数处理一个简单问题。但阅读完SICP后面,你会学会如何将问题抽象还分解,以此处理更复杂更巨大的问题,这是编程能力巨大的飞跃,这会在实质上改变你思考问题还有用代码处理问题的方法。除开这点SICP的教学语言为 Scheme,可以让你初步了解函数式编程。更加重要的是,他的语法十分简单,你可以很快学会它,以此把更多时间用于学习书中的编程思想还有复杂问题的处理之道上。

Peter Norvig 曾经写过一篇很精彩的SICP书评,这当中有这样一段:

To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.

假设你是文中的前者,阅读SICP将成为你衔接启蒙与入门阶段的重点点

虽然SICP是一本「入门书」,但针对初学者还是有一定的难度,下面这些内容就是一部分十分有用的辅助资源:

Udacity CS212 Design of Computer Program): 由上文提到的Google研究主管Peter Norvig 主讲,教学语言为 Python,内容有一定难度。

How to Design Programs, Second Edition:HtDP的起点比SICP低,书中的主要内容循循善诱,对初学者很友好,假设认为完成SICP过于困难,可以考虑先读一读HtDP。

UC Berkeley SICP授课视频还有 SICP 的两位作者给 Hewlett-Packard 公司员工培训时的录像(中文化项目)

Composing Programs:一个继承了SICP思想但使用Python作为教学语言的编程导论(这当中包含了一部分小项目)

SICP 解题集:针对书后的习题,作为初学者应该做到尽力并量力完成。

完成了这部分学习后,你会一步一步建立起一个自己的程序设计模型,你的脑子里不可以再是一团乱麻,你会意识到记住库和语法依然不会教你如何处理编程问题, 要学些什么,在你心里也会明朗了不少。这时候才是真正启动进行项目实践,补充推动力的好时机。

有关项目实践:针对入门阶段的初学者,参加开源项目还时间还是太早,这时候应该启动一部分简单的项目,诸如搭建一个官方网站并维护它,或是编写一个小游戏再持续性进行扩展,假设你自己的想法不明确,Mega Project List 中选取项目。总而言之,一定在这时拿下你项目实践的第一滴血。

也就是在这个时候,别忘了继续打好根基。为了以后的厚积薄发,在下面这哪些方面你还需要继续做足功课(注意:下面的主要内容没有绝对意义上的先后顺序):

计算机系统基础

有了以前程序设计的基础后,想更深入透彻的把控掌握计算机科学的脉络,不妨看看这本书:《深入理解计算机系统》 Computer Systems A Programmer's Perspective。这里点名批评这本书的中译名,实际上根本谈不上什么深入啦,这本书只是 CMU的「计算机系统导论」的考试教材罢了。CMU的计算机科学专业相对较偏软件,该书就是从一个程序员的视角观察计算机系统,以「程序在计算机中如何执行」为主线,全面阐述计算机系统内部达到的很多细节。

假设你看书认为有部分枯燥,可以跟一门 Coursera 上的 MOOC: The Hardware/Software Interface,这门课的主要内容是 CSAPP 的一个子集,但是,最经典的实验部分都移植过来了。同时,可以看看 The C Programming Language,回顾一下C语言的知识。

完成这本书后,你会具备坚实的系统基础,也具有了学习操作系统,编译器,计算机互联网等内容的先决条件。当学习更高级的系统内容时,翻阅一下此书的对应章节,同时编程达到这当中的例子,一定会对书本上的理论具有更感性的认识,真正做到经手的代码,从上层设计究竟层达到都大抵明白,并能在脑中回放数据在互联网-内存-缓存-CPU的流向。

除开这点也是时候去接触 UNIX 哲学了: KISS - Keep it Simple, Stupid. 在实践中,这说明了你要启动熟悉命令行界面,配置文件。还在开发中渐渐脱离以前使用的IDE,学会使用Vim或Emacs(或者最好两者都去尝试)。

阅读 《UNIX编程环境 》

阅读《UNIX编程艺术 》

折腾你的 UN*X 系统

数据结构与算法基础

现目前,不少人觉得编程(尤其是做web开发)的主要部分就是为了让用别人的代码,可以用清晰简明的方法表达自己的想法比掌握并熟悉硬核的数学与算法技巧重要的多,数据结构排序函数二分搜索这不都内置了吗?工作中永远用不到,学算法有啥用啊?这样的扛确实用主义大旗的「码农」思想当然不可取。没有扎实的理论背景,遭遇无法提升的尴尬境地是迟早的事。

数据结构和算法是配套的,入门阶段你应该掌握并熟悉的主要内容肯定是:这个问题用什么算法和数据结构能很快处理。这个问题就要求你对常见的数据结构和算法了熟于心,你未必要敲代码,用纸手写流程是很快的方法。对你不懂的数据结构和算法,你要去搜它主要拿来干嘛的,使用场景是什么。

供你参考的学习资源:

《算法导论 》:有人说别把这本书当入门书,这本书本来就不是入门书嘛,虽说书名是 Introduction to Algorithms,这只不过是因为作者不想把这本书与其他书搞重名罢了。 也不是没办法拿此书入门,读第一遍时跳过习题和证明就行了嘛,假设还认为心虚先看看这本《数据结构与算法分析》

Coursera Algorithms: Design and Analysis [Part 1] [Part 2]: Stanford 开的算法课,不限制要求语言,两个部分跟下来算法基础基本就有了;英语没过关的:麻省理工学院公开课:算法导论

入门阶段还需要注意培养使用常见算法处理小规模问题的能力,结合前文的SICP部分可以读读这几本书:《编程珠玑 》,《程序设计实践 》

编程语言基础

Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is far easier now, thanks to the wealth of freely available software on the Internet

- The Pragmatic Programmer

除开这点,还需要清楚,学习第n门编程语言的难度是第(n-1)门的一半,故此,尽可能去尝试不一样的编程语言与编程范式,若你跟寻了前文的指引,你已经接触了:「干净」的脚本语言 Python, 传统的命令式语言 C, 还有浪漫的函数式语言 Scheme/Racket 三个好朋友。但只是接触远远不够,你还要有持续性继续加深与他们的友谊,并尝试结交新朋友,美而雅的 Ruby 小姑娘,Hindley-Milner 语言家族的掌中宝 Haskell 都是不错的选择。但有这么一位你躲不开的,一定要得认识的大伙伴 — C++,你得做好与他深交的准备:

入门:C++ Primer

[可选] 进阶:

高效使用:Effective C++

深入了解:《深度探索C++对象模型》;C++Templates

研究反思:The Design and Evolution of C++ ;针对C++这个 Necessary Evil ,看这本书可以让你选择是成为守夜人还是守日人。

现实是残酷的,在软件工程领域仍旧充斥着一部分狂热者,他们只掌握并熟悉着一种编程语言,也只想掌握并熟悉一种语言,他们觉得自己掌握并熟悉的这门语言是最好的,其他异端都是傻X。这样的人也不是无药可救,有一种很简单的治疗方式:让他们写一个编译器。为了真正理解编程语言,你一定要亲自达到一个。目前是入门阶段,不要求你去上一门编译器课程,但要求你能至少达到一个简单的解释器。

供你参考的学习资源:

《程序设计语言-实践之路》:CMU编程语言原理的考试教材,程序语言入门书,目前完全就能够看,会非常大扩展你的眼界,拉开你与普通人的差距。

Coursera 编程语言MOOC:课堂上你能接触到极端FP(函数式)的SML,中性偏FP的Racket,还有极端OOP(面向对象)的Ruby,并学会问题的FP分解 vs OOP分解、ML的模式匹配、Lisp宏、不变性与可变性、解释器的达到原理等,让你在以后学习新语言时轻松自如并写出更好的程序。

Udacity CS262 Programming Language:热热身,教你写一个简单的浏览器-实际上就是一个javascript和html的解释器,成功后的成品还是很有趣的; ,试着完成一个以前在SICP部分提到过的项目:用Python写一个 Scheme Interpreter

其他

编程入门阶段比较容易小看的几点:

学好英语:英语是你获取优质学习资源的主要工具,但是在入门阶段,所看的那些翻译书信息损耗也没既然如此那,严重,以你自己情况权衡吧。除开这点,英语的重要性更反映在沟通交流上,Linus Torvalds一个芬兰人,一口流利的英语长期以来都是他招募开发者为Linux干活的法宝,这是你的榜样。

学会提问:学习中肯定会碰见问题,第一应该学会搜索引擎的「高级搜索」,当单靠检索没办法处理问题时,去Stack Overflow 或知乎 提问,提问前读读这篇文章:What have you tried?

不要做一匹独狼:尝试搭建一个像这样简单的个人官方网站,不要每次总是一个孤零零的About页面,去学习 Markdown 与 LaTeX,试着在Blog上记录自己的想法,并订阅自己喜欢的编程类博客。推荐哪些供你参考:Joel on Software,Peter Norvig, Coding Horror

小结

以上的主要内容你不应该感到惧怕,编程的入门不是哪些星期就可以完成的小项目。这个时间段你还会碰见很多的困难,当你碰壁时试着尝试「费曼」技巧:将难点分而化之,切成小知识块,再逐个对付,后面通过向别人了解地解说来检验自己是不是真的理解。 依然会有你处理不了的问题,这时候不要强迫自己-不少时候当你后面回过头来再看这个问题时,一切豁然开朗。

除开这点,不要局限与上文提到的那些材料,还有一部分值得在入门阶段还有以后的提高阶段反复阅读的书籍。The Pragmatic Programmer 就是这样一本程序员入门书,终极书。有人称这本书为代码小全:从DRY 到 KISS,从做人到做程序员,这本书教给了你一切,你所需的只是遵守书上的详细指导。

后记

假设你能设法完成以上的全部任务,祝贺你,你已经真正达到了编程入门。这说明了你在后面更深入的学习中,不会胆怯那些学习新语言的任务,不会胆怯那些「复杂」的API,更不会胆怯学习详细的技术,甚至感觉比较容易。 为了掌握并熟悉这些东西你依然需非常多的练习,腰还是会疼,走路还是会费劲,一口气也上不了5楼。但我能保证你会在思想上有巨大的转变,取得非常大的自信,看老师考生和 csdn 的眼光会变得很微妙,虽然只是完成了编程入门,但已经成为了程序员精神世界的高富帅。不,我说错了,就算是高富帅也不会有强力精神力,他也会怀疑自己,认为自己没钱就什么都不是了。但总而言之,你遵守指南好好看书,那就可以体验「会当凌绝顶」的感觉。

第一为了学编程,选一门适合的计算机语言就十分重要了,怎么去选择就显得特别重要了,这要按照自己的兴趣爱好及每个语言的特性来选择,例如说PHP合适做web开发,易学习,易上手,很流行的一门计算机语言了,我个人比较推荐php语言。

java可以做web开发,做安卓app开发也用的是java, 在学习程度上上可能比php稍微难上手一点,不过也是没问题的,假设对java感兴趣可以尝试一下。

python是现在比较火的一门语言了,比较合适做人工智能领域,另外写互联网爬虫类的程序,用python也是很适合的了,看个人兴趣来选择了。

c,c++,c#这些语言就不推荐给了,尤其是c#,已经是比较过时的一门语言了,就算学习好了,也不太合适去找工作,c与c++并非十分合适初学者来学习,因为这个原因也是没有什么必要进行考虑了,还有一部分更小众的语言,更是没有必要去考虑,因为这个原因有关语言的学习就从上面3种语言去选择一门自己所感兴趣的吧!

研发搭建环境

假设选择好计算机语言,既然如此那, 就是研发环境的搭建了,因为唯有研发环境搭建好了,才可以进行后续的编程工作,例如说PHP,既然如此那,就从百度上搜一下如何安装PHP环境,能搜出一部分简单的教程,初学者根据教程一步一步来,顶多半天时间完全就能够把研发环境装好了,假设是java,还要先安装jdk,进行环境变量的配置等,网络在线也有有关的教程,也是十分容易的,相信各位考生只要根据教程来做,都可以很轻易的把研发环境搭建起来的

选好视频和书籍,辅助学习。既然,是零基础学习,还要进行系统的学习,而不是到处百度零基础的重要内容及核心考点进行学习。

代码练习

跟随教程一个一个章节的进行学习,需要大家特别注意的一点就是不可以只是去看,那样不行,要对每一个章节的重要内容及核心考点要亲自用代码敲一遍,运行一下试试效果才可以,这样才可以提升自己的动手能力,才启动会认为有一点生疏,慢慢的就可以熟练起来,渐渐会增多编程的兴趣。这个过程就是需反复的进行练习,非常多的代码练习才可以。这个过程是5步中最重要的阶段了,重在代码亲自练习,对编程中有的章节不明白的地方,一定不能放过去,可在网络在线找一部分有关的编程交流群,参与进去,在线上咨询一部分过来人,也许完全就能够轻松帮你处理疑问了,对你的学习十分帮,还整个过程也都是免费的。

项目实战

假设说基础教程都按部就班的都实践过一遍了,既然如此那,你就有一定的编程的基本功了,既然如此那,自己完全就能够尝试着做一部分小项目,把学到的知识给串起来,进入项目实战阶段,例如说自己设计一个学生管理系统,并把它完成,假设不知道怎么设计,可以去网络在线搜索。慢慢就有思路了。

我也在学习这方面,视频书籍看过很多,最推荐的还是北京尚学堂的学习资料,Java.300集,Python400集,都是很经典的入门基础教程,而且,是结合项目学习的,很有意思,干货满满,还都是免费的,推荐你可以去看看,相信可以带你走进变成的世界。

从零启动学编程,第一关就是要选择你想学习的编程语言。面对着琳琅满目标编程语言,初学者经常一筹莫展,拿不定主意,不了解该选哪种好。在这里,给初学编程的朋友几点参考意见。

第一,尽可能不要选择过于冷门的编程语言,最好在比较经常会用到的编程语言中挑选一个,像 java、c、c++、c#、vb等等。过于冷门的语言因为学习的人很少,相对来说学习资源较少,未来想要深入研究则会是个难题。

初学编程,一个称手的集成开发环境(即 IDE)非常的重要。一个用着顺手的集成开发环境,可以让我们在这当中方便直观地编辑、调试、优化代码。

针对初学者,推荐各位考生使用微软的 visual studio 系列。假设你是 win7或win8/8.1的系统,可以使用 visual studio 往年;假设是win xp的系统或者电脑性能较差,可以使用 visual studio 往年。

针对编程的入门书籍,各位考生可能萝卜青菜各带来一定爱。在这里,就不详细地提书名了,只是提醒各位考生挑选时注意以下几点。

作为一本编程的入门书籍,它肯定是比较具体地讲解该门编程语言的重要内容及核心考点的,用词清晰精准,而不是一笔带过。因为这个原因,它应该有一定的厚度。至于过于笼统的编程书,时常看过后面也还是是一头雾水,什么也学不到,而且,容易混淆概念。

其次,该书最好每节附带一部分习题,以便尽量早一点的熟悉语法,及时夯实所学知识。在这里提醒各位考生注意,学习编程,上机练手很重要,只是看书是超级难学会的。

网络是个好东西,针对学习编程来说特别如此。进行网上在线,你不仅可以搜索需的编程资料,还可以与世界上其他的编程爱好者一起交流,相互取长补短,共同进步。

C语言语法简单,有良好的逻辑抽象,入门,还是先面向过程吧,不要刚学就面向对象云里雾里的,假设是要更全面、深入的学习语言本身就C.python语法更简单简洁易学,而且,有各自不同的强大的库,扩展库,可过程可对象,假设是为了通过编程这一手段来快速的做出有用、实用的程序和界面可以学python。入门是从Basic语言启动的,大约熟悉程序的基础语法与逻辑后,进阶C语言。现代不少语言都是从C语言发展演变得来的,故此,可以以C语言做跳板进阶其他面向对象的高级语言。慢慢接触C++,或高级编程语言(如:Net,Java 等),网页设计有关的语言(HTML+CSS+Javascript)。编程入门后,实际上学是的啥语言已经不太重要了(主要看计划的蓬勃发展和进步方向)。程序设计的核心在于其逻辑。把程序设计的逻辑搞懂了,学是的啥语言都很快。

1、第一要对编程有一个相对较大概了解,编程的对象,编程的原理,编程的目标等等。推荐各位考生去中国大学MOOC学习基础内容“计算机科学导论”

2、在了解编程基本知识后,为了想自己学习编程后究竟要干什么来最终确定学习的方向。例如说是想要开发手机app,官方网站开发,企业系统等等。选择现目前应用最广泛,最容易找到工作的一门语言来学习。如Java/C++/Python/.Net/PHP,他们应用非常广泛,找工作也很容易。

3、当基础教程学习结束后面,可以寻找一部分自己感兴趣的小项目来练习,同时结实一部分伙伴共考生习进步,例如论坛,CSDN博客,QQ群等等。有不少外包官方网站提供这些小项目,例如各自不同的威客官方网站。

1. 列出您想处理的问题,然后打听一下哪种语言可以更容易地处理它们。

2. 选好语言后自然就是找这个语言的官方文档了解情况。

3. 照着写示例代码。一定要自己敲出来!

4. 语法都学会后,请回到 1,把您自己的问题用这门语言处理。

编程学习多久能有效果?

这个要看入门的语言选择,例如选择入门相对比较难的c,c++,还要很长时间学会,估计至少90天,选择脚本类语言python,perl,ruby等上手很快,假设用心估计一周完全就能够有效果,特别python就可以写些小应用,爬虫,小游戏之类很有成就感的除开这点,语言是一样的假设,你学会一门语言,再去学其他语言效果马上快要,一两周就见效果

这个要看个人的学习能力还有你学习的编程语言了,C+和java的入门程度不一样,大多数情况下来说入门至少一到二年

编程大多数情况下要学几年?

大多数情况下至少需半年到一年左右,详细的学习时间按照各位考生的基础情况、学习方法和发展目标而定。

比如作为0基础的小白,想要进入程序员行列,选择自学的方法学习编程,可能至少需一年左右,才可以达到就业的水平。

假设通过靠谱的IT培训机构,大约需5-6个月时间便可以达到初级程序员的技术水平。

假设是从零基础启动学编程,针对学习能力强的人来说,可能半年左右就可以学会。针对普通人来讲,为了完全学会至少需一年时间。

没有年限限制,学时间越长编程级别越高

公务员国考备考资料及辅导课程

公务员国考免费资料+培训课程

©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

公务员国考培训班名师辅导课程

考试培训视频课程
考试培训视频课程

以上就是本文学编程要学几年,如何从零开始学编程要先学什么语言的全部内容,关注博宇考试网了解更多关于文学编程要学几年,如何从零开始学编程要先学什么语言和公务员国考的相关信息。

本文链接:https://bbs.china-share.com/news/120334.html

发布于:博宇考试网(https://bbs.china-share.com)>>> 公务员国考栏目

投稿人:网友投稿

说明:因政策和内容的变化,上文内容可供参考,最终以官方公告内容为准!

声明:该文观点仅代表作者本人,博宇考试网系信息发布平台,仅提供信息存储空间服务。对内容有建议或侵权投诉请联系邮箱:ffsad111@foxmail.com

公务员国考热门资讯推荐