⑴ 如何从零开始学编程
在你学习编程之前思考一下你的目标,当你有最终目标时道路会更加的清晰。那么,你想要写什么?网站?游戏?iOS或者Android应用?或是你是想自动化完成一些乏味的任务让你有更多的时间看窗外的风景?也许你只是想更具有就业竞争力找个好工作。所有的这些都是有价值的目标,这些目标都是你编程学习推动力的一部分,没有推动力的人,是无法在略显枯燥的漫长学习之旅中走远的。
不要浮躁
Badprogrammingiseasy.EvenDummiescanlearnitin21days.,meswithit.
不管是在线下还是线上的书店,满目都是《21天学通java》这种速成书目,它们都承诺在很短一段时间内就让你能够学会相关技术。MatthiasFelleisen在他的著作HowtoDesignPrograms,SecondEdition一书中明确指出了这种「速成」的趋势并予以了以上的讽刺。
所谓的「捷径」或者说「银弹」是不存在的,智者说过,精通某个东西需要10年或10000个小时,也就是汉语中的「十年磨一剑」,所以不用着急,功不唐捐。
培养兴趣
ionbythepublic,butbecauseitisfuntoprogram.
_LinusTorvalds
沉醉于编程,编程更是为了兴趣。兴趣是推动力的不竭源泉,保持这种充满兴趣的感觉,以便于你能将其投入到你的10年/10000小时的编程时间中。编程很有趣,那是探索的喜悦。那是创造的喜悦。看到自己亲手完成的作品显示在屏幕上很有趣。有人为你的代码而惊叹很有趣。有人在公共场合称赞你的产品、邻居使用你的产品、以及在媒体上讨论你的产品很有趣。编程应该十分有趣,若并非如此,就找出导致编程无趣的问题,然后解决之。
在这里对于初学者有两个大坑:
如果初学者们只与预先构建好的「发动机和组件」接触(没有理解和思考它们构造的原理),这会严重限制他们在将来构建这些东西的能力,并且在诊断解决问题时无从下手。
第二个坑没有第一个那么明显:幼稚的「整体论」方法有些时候会显得很有效,这有一定的隐蔽性与误导性,但是一两年过后(也许没那么长),当你在学习路上走远时,再想回过头来「补足基础」会有巨大的心理障碍,你得抛弃之前自己狭隘的观念,耐心地缓步前进,这比你初学时学习基础知识困难得多。
但腊敏茄也不能矫枉过正,陷入还原论的大坑,初学时便一心试图做宏大的理论,这样不仅有一切流于理论的危险,枯燥和乏味还会让你失去推动力。这种情况经常发生在计算机科班生身上。
为了更好理解,可以将学习编程类比为学习厨艺:你为了烧得一手好菜买了一些关于菜谱的书,如果你只是想为家人做菜,这会是一个不错的主意,你重复菜谱上的步骤也能做出不赖的菜肴,但是如果你有更大的野心,真的想在朋友面前露一手,做一些独一无二的美味佳肴,甚至成为「大厨」,你必须理解这些菜谱背后大师的想法,理解其中的理论,而不仅仅是一味地实践。但拿猛是如果你每天唯一的工作就是阅读那些厚重的理论书籍,因为缺乏实践,你只会成为一个糟糕的厨子,甚至永远成为不了厨子,因为看了几天书后你就因为枯燥放弃了厨艺的学习。
总之,编程是连接理论与实践的纽带,是计算机科学与计算机应用技术相交融的领域。正确的编程学习方法应该是:通过自顶而下的探索与项目实践,获得编程直觉与推动力;从自底向上的打基础过程中,获得最重要的通用方法并巩固编程思想的理解。
作为初学者,应以后者为主,前者为轮察辅。
启蒙
「学编程应该学哪门语言?」这经常是初学者问的第一个问题,但这是一个错误的问题,你最先考虑的问题应该是「哪些东西构成了编程学习的基础」?
编程知识的金字塔底部有三个关键的部分:
算法思想:例如怎样找出一组数中最大的那个数?首先你得有一个maxSoFar变量,之后对于每个数
语法:我怎样用某种编程语言表达这些算法,让计算机能够理解。
系统基础:为什么while(1)时线程永远无法结束?为什么int*foo(){intx=0;return&x;}是不可行的?
启蒙阶段的初学者若选择C语言作为第一门语言会很困难并且枯燥,这是因为他们被迫要同时学习这三个部分,在能做出东西前要花费很多时间。
因此,为了尽量最小化「语法」与「系统基础」这两部分,建议使用Python作为学习的第一门语言,虽然Python对初学者很友好,但这并不意味着它只是一个「玩具」,在大型项目中你也能见到它强大而灵活的身影。熟悉Python后,学习C语言是便是一个不错的选择了:学习C语言会帮助你以靠近底层的视角思考问题,并且在后期帮助你理解操作系统层级的一些原理,如果你只想成为一个普通(平庸)的开发者你可以不学习它。
下面给出了一个可供参考的启蒙阶段导引,完成后你会在头脑中构建起一个整体框架,帮助你进行自顶向下的探索。
完成Codecademy的Python部分。这只是热身部分,尽快完成它,因为你永远只是在浏览器里,你不会学到如何搭建开发环境。在Codecademy这类的编程学习网站学到的那点儿东西,哪怕你只想做一个小的不能再小的项目,你都不知道该从哪儿开始。
完成MIT6.00.1x(中文化)(如果你英语不过关,完成麻省理工学院公开课:计算机科学及编程导论。MOOC是学习编程的一个有效途径。虽然该课程的教学语言为Python,但作为一门优秀的导论课,它强调学习计算机科学领域里的重要概念和范式,而不仅仅是教你特定的语言。如果你不是科班生,这能让你在自学时开阔眼界;课程内容:计算概念,python编程语言,一些简单的数据结构与算法,测试与调试。支线任务:
完成Python核心编程
完成HarvardCS50(如果你英语不过关:完成哈佛大学公开课:计算机科学cs50。同样是导论课,但这门课与MIT的导论课互补。教学语言涉及C,PHP,JavaScript+SQL,HTML+CSS,内容的广度与深度十分合理,还能够了解到最新的一些科技成果,可以很好激发学习计算机的兴趣。支线任务:
阅读《编码的奥秘》
完成《C语言编程》
[可选]如果你的目标是成为一名Hacker:阅读Hacker'sDelight
PS:如果教育对象还是一个孩子,以下的资源会很有帮助:
5-8岁:TurtleAcademy
8-12岁:PythonforKids
12岁以上:MITScratch或KhanAcademy
入门
结束启蒙阶段后,初学者积累了一定的代码量,对编程也有了一定的了解。这时你可能想去学一门具体的技术,诸如Web开发,Android开发,iOS开发什么的,你可以去尝试做一些尽可能简单的东西,给自己一些正反馈,补充自己的推动力。但记住别深入,这些技术有无数的细节,将来会有时间去学习;同样的,这时候也别过于深入特定的框架和语言,现在是学习计算机科学通用基础知识的时候,不要试图去抄近路直接学你现在想学的东西,这是注定会失败的。
那么入门阶段具体该做些什么呢?这时候你需要做的是反思自己曾经写过的程序,去思考程序为什么(Why)要这样设计?,思考怎样(How)写出更好的程序?试图去探寻理解编程的本质:利用计算机解决问题。
设想:
X=用于思考解决方案的时间,即「解决问题」部分
Y=用于实现代码的时间,即「利用计算机」部分」
编程能力=F(X,Y)(X>Y)
要想提高编程能力,就得优化X,Y与函数F(X,Y),很少有书的内容能同时着重集中在这三点上,但有一本书做到了——(SICP)《计算机程序的构造和解释》,它为你指明了这三个变量的方向。在阅读SICP之前,你也许能通过调用几个函数解决一个简单问题。但阅读完SICP之后,你会学会如何将问题抽象并且分解,从而处理更复杂更庞大的问题,这是编程能力巨大的飞跃,这会在本质上改变你思考问题以及用代码解决问题的方式。此外,SICP的教学语言为Scheme,可以让你初步了解函数式编程。更重要的是,他的语法十分简单,你可以很快学会它,从而把更多的时间用于学习书中的编程思想以及复杂问题的解决之道上。
PeterNorvig曾经写过一篇非常精彩的SICP书评,其中有这样一段:
Touseananalogy,ifSICPwereaboutautomobiles,,howtheyarebuilt,andhowonemightdesignfuel-efficient,safe,.highway,justlikeeveryoneelse.
如果你是文中的前者,阅读SICP将成为你衔接启蒙与入门阶段的关键点
虽然SICP是一本「入门书」,但对于初学者还是有一定的难度,以下是一些十分有用的辅助资源:
):由上文提到的Google研究主管PeterNorvig主讲,教学语言为Python,内容有一定难度。
HowtoDesignPrograms,SecondEdition:HtDP的起点比SICP低,书中的内容循循善诱,对初学者很友好,如果觉得完成SICP过于困难,可以考虑先读一读HtDP。
UCBerkeleySICP授课视频以及SICP的两位作者给Hewlett-Packard公司员工培训时的录像(中文化项目)
ComposingPrograms:一个继承了SICP思想但使用Python作为教学语言的编程导论(其中包含了一些小项目)
SICP解题集:对于书后的习题,作为初学者应尽力并量力完成。
完成了这部分学习后,你会逐步建立起一个自己的程序设计模型,你的脑子里不再是一团乱麻,你会意识到记住库和语法并不会教你如何解决编程问题,接下来要学些什么,在你心里也会明朗了很多。这时候才是真正开始进行项目实践,补充推动力的好时机。
关于项目实践:对于入门阶段的初学者,参与开源项目还为时过早,这时候应该开始一些简单的项目,诸如搭建一个网站并维护它,或是编写一个小游戏再不断进行扩展,如果你自己的想法不明确,MegaProjectList中选取项目。总之,务必在这时拿下你项目实践的第一滴血。
与此同时,别忘了继续打好根基。为了将来的厚积薄发,在下面这几个方面你还要继续做足功课(注意:下面的内容没有绝对意义上的先后顺序):
计算机系统基础
有了之前程序设计的基础后,想更加深入地把握计算机科学的脉络,不妨看看这本书:《深入理解计算机系统》ComputerSystemsAProgrammer'sPerspective。这里点名批评这本书的中译名,其实根本谈不上什么深入啦,这本书只是CMU的「计算机系统导论」的教材而已。CMU的计算机科学专业相对较偏软件,该书就是从一个程序员的视角观察计算机系统,以「程序在计算机中如何执行」为主线,全面阐述计算机系统内部实现的诸多细节。
如果你看书觉得有些枯燥的话,可以跟一门Coursera上的MOOC:TheHardware/SoftwareInterface,这门课的内容是CSAPP的一个子集,但是最经典的实验部分都移植过来了。同时,可以看看TheCProgrammingLanguage,回顾一下C语言的知识。
完成这本书后,你会具备坚实的系统基础,也具有了学习操作系统,编译器,计算机网络等内容的先决条件。当学习更高级的系统内容时,翻阅一下此书的相应章节,同时编程实现其中的例子,一定会对书本上的理论具有更加感性的认识,真正做到经手的代码,从上层设计到底层实现都了然于胸,并能在脑中回放数据在网络->内存->缓存->CPU的流向。
此外,也是时候去接触UNIX哲学了:KISS-KeepitSimple,Stupid.在实践中,这意味着你要开始熟悉命令行界面,配置文件。并且在开发中逐渐脱离之前使用的IDE,学会使用Vim或Emacs(或者最好两者都去尝试)。
阅读《UNIX编程环境》
阅读《UNIX编程艺术》
折腾你的UN*X系统
数据结构与算法基础
如今,很多人认为编程(特别是做web开发)的主要部分就是使用别人的代码,能够用清晰简明的方式表达自己的想法比掌握硬核的数学与算法技巧重要的多,数据结构排序函数二分搜索这不都内置了吗?工作中永远用不到,学算法有啥用啊?这种扛着实用主义大旗的「码农」思想当然不可取。没有扎实的理论背景,遭遇瓶颈是迟早的事。
数据结构和算法是配套的,入门阶段你应该掌握的主要内容应该是:这个问题用什么算法和数据结构能更快解决。这就要求你对常见的数据结构和算法了熟于心,你不一定要敲代码,用纸手写流程是更快的方式。对你不懂的数据结构和算法,你要去搜它主要拿来干嘛的,使用场景是什么。
供你参考的学习资源:
《算法导论》:有人说别把这本书当入门书,这本书本来就不是入门书嘛,虽说书名是IntroctiontoAlgorithms,这只不过是因为作者不想把这本书与其他书搞重名罢了。当然,也不是没办法拿此书入门,读第一遍的时候跳过习题和证明就行了嘛,如果还觉得心虚先看看这本《数据结构与算法分析》
CourseraAlgorithms:DesignandAnalysis[Part1]&[Part2]:Stanford开的算法课,不限定语言,两个部分跟下来算法基础基本就有了;英语没过关的:麻省理工学院公开课:算法导论
入门阶段还要注意培养使用常规算法解决小规模问题的能力,结合前文的SICP部分可以读读这几本书:《编程珠玑》,《程序设计实践》
编程语言基础
.,.Additionally,,
-ThePragmaticProgrammer
此外还要知道,学习第n门编程语言的难度是第(n-1)门的一半,所以尽量去尝试不同的编程语言与编程范式,若你跟寻了前文的指引,你已经接触了:「干净」的脚本语言Python,传统的命令式语言C,以及浪漫的函数式语言Scheme/Racket三个好朋友。但仅仅是接触远远不够,你还需要不断继续加深与他们的友谊,并尝试结交新朋友,美而雅的Ruby小姑娘,Hindley-Milner语言家族的掌中宝Haskell都是不错的选择。但有这么一位你躲不开的,必须得认识的大伙伴—C++,你得做好与他深交的准备:
入门:C++Primer
[可选]进阶:
高效使用:EffectiveC++
深入了解:《深度探索C++对象模型》;C++Templates
研究反思:TheDesignandEvolutionofC++;对于C++这个NecessaryEvil,看这本书可以让你选择是成为守夜人还是守日人。
现实是残酷的,在软件工程领域仍旧充斥着一些狂热者,他们只掌握着一种编程语言,也只想掌握一种语言,他们认为自己掌握的这门语言是最好的,其他异端都是傻X。这种人也不是无药可救,有一种很简单的治疗方法:让他们写一个编译器。要想真正理解编程语言,你必须亲自实现一个。现在是入门阶段,不要求你去上一门编译器课程,但要求你能至少实现一个简单的解释器。
供你参考的学习资源:
《程序设计语言-实践之路》:CMU编程语言原理的教材,程序语言入门书,现在就可以看,会极大扩展你的眼界,拉开你与普通人的差距。
Coursera编程语言MOOC:课堂上你能接触到极端FP(函数式)的SML,中性偏FP的Racket,以及极端OOP(面向对象)的Ruby,并学会问题的FP分解vsOOP分解、ML的模式匹配、Lisp宏、不变性与可变性、解释器的实现原理等,让你在将来学习新语言时更加轻松并写出更好的程序。
:热热身,教你写一个简单的浏览器——其实就是一个javascript和html的解释器,完成后的成品还是很有趣的;接下来,试着完成一个之前在SICP部分提到过的项目:用Python写一个SchemeInterpreter
其他
编程入门阶段比较容易忽视的几点:
学好英语:英语是你获取高质量学习资源的主要工具,但在入门阶段,所看的那些翻译书信息损耗也没那么严重,以你自己情况权衡吧。此外英语的重要性更体现在沟通交流上,LinusTorvalds一个芬兰人,一口流利的英语一直是他招募开发者为Linux干活的的法宝,这是你的榜样。
学会提问:学习中肯定会遇到问题,首先应该学会搜索引擎的「高级搜索」,当单靠检索无法解决问题时,去StackOverflow或知乎提问,提问前读读这篇文章:Whathaveyoutried?
不要做一匹独狼:尝试搭建一个像这样简单的个人网站,不要只是一个孤零零的About页面,去学习Markdown与LaTeX,试着在Blog上记录自己的想法,并订阅自己喜欢的编程类博客。推荐几个供你参考:JoelonSoftware,PeterNorvig,CodingHorror
小结
以上的内容你不应该感到惧怕,编程的入门不是几个星期就能完成的小项目。期间你还会遇到无数的困难,当你碰壁时试着尝试「费曼」技巧:将难点分而化之,切成小知识块,再逐个对付,之后通过向别人清楚地解说来检验自己是否真的理解。当然,依旧会有你解决不了的问题,这时候不要强迫自己——很多时候当你之后回过头来再看这个问题时,一切豁然开朗。
此外不要局限与上文提到的那些材料,还有一些值得在入门阶段以及将来的提升阶段反复阅读的书籍。ThePragmaticProgrammer就是这样一本程序员入门书,终极书。有人称这本书为代码小全:从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集,都是很经典的入门基础教程,而且是结合项目学习的,很有意思,干货满满,还都是免费的,推荐你可以去看看,相信可以带你走进变成的世界。
从零开始学编程,第一关就是要选择你所要学习的编程语言。面对着琳琅满目的编程语言,初学者常常一筹莫展,拿不定主意,不知该选哪
⑵ 编程如何自学
编程有好多种的,但是万变不离其宗。如果想要学习编程的话,首先需要给自己确定一个方向。另外,编程语言也分为很多种,目前常见的有C、C++、C#、GO、JAVA还有近两年非常火的python。
自学的话,可以先从网上找一些基础的入门视频课程,无论哪种语言,或多或少都会有一些免费的学习课程,从0基础开始,一般刚开始都是先介绍这种编程语言的来历、发展史以及它的作用,后边慢慢的就是一步一步教你配置开发环境(一般都是用现成的IDE,即集成开发环境),俗话说兴趣才是最好的老师,为了激发学习者更加浓厚的兴趣,一般环境安装好以后都会带领着学员开发一个极其简单且极具代表性的程序,就是人们老说的hello world!当看着自己写的代码成功运行并且变成exe可执行程序的时候,相信学员在那一刻都会自信心爆棚,且满满的成就感。
当学到一定阶段以后,就建议购买几本纸质书籍来进行学习。也许你会有疑问,现在网络这么发达,为什么要看纸质的书籍呢?这是因为纸质的书籍在观看的时候更容易让人静下心来,而学习,心情平静的时候才是最佳的学习状态。如果你一直用电脑看视频,脑海中难免就会有这样的想法:看完这一节课我听会儿歌、看完这节课我追会儿剧……这样是极其不利于学习的,即便看完之后立马再接着看课程也很难找到刚开始的那种状态。所以如果想踏下心来学习,纸质书籍是必不可少的。
最后祝愿您早日学成,成为编程大神!加油!期待有一天能用上您开发出来的软件。
⑶ 想自学编程,如何入手呢
自学还是比较难额,我在重庆中公优就业学的,一开始家里也不放心,对比了好几家机构才选择的,其实课程内容每家机构设置的不会差太多,但老师的责任心还有机构的后期保障还坦戚仿真挺重要的,可以免费试学,体验一下再选择就放心了
如今,Java编程的就业市场前景广阔,如何能够快速入门呢?下面,小编为大家简单介绍一下,更多相关信息请关注Java频道。
首先是先到verycd电驴下载,搜索马士兵,尚学堂马士兵老师的java视频绝对是一流震撼级的,带你开心入门,手把手练习项目实例。
说到书籍的话,Java核心技术卷1,这本适合初学者,还有一本卷2,但那本需要有一定Java基础的。Thinkinginjava是本非常好的书,但也只适合有一定java经验的人。基础阶段看什么教材都差不多,就那么些语法,关键要靠自己多练,多多参考官方的javaapi文档,这个才仔慎是大宝库。
想要开心编程怎能缺少一个好软件呢,推荐你用目前的开源软件Eclipse。
想要持续发展下去的话,一定要培养自己对java的兴趣,万物皆对象(Object),多用面向对象的思维考虑一些事物,慢慢得就会有一套自己的面向对象编程模式,这样对编程很有帮助。
基础知识扎实了以后就可以慢慢开始接触一些小项目,如做一个贪吃蛇、坦克大战等等的小游戏,慢慢地再进入java网络编程这一块,现在的很多项目不可能缺少网络功能,所以将来你一定要学的,对以后找相关的工作很有帮助。
看你的方向。网上那个都不靠谱。。。只能入门。
写个Helloworld就不知道干啥了。。。
你得先有目标,需要解决什么问题,然后你再去寻找答案。
这么笼统的提问是没有意义的。
实际上大的类别就有,嵌入式编程,网页开发,移动端开发,客户端开发,服务器开发,游戏编程。
你以为都一样的?不。。。事实上你只需要了解一个就可以了。你所知道的前端,后端。。。实际上指的仅仅是网页开发。
还不设计底层,仅有部分中间件。
所以,说到这你明白编程的意义了吗?
你以为编程就可以为所欲为?不。。。会让你欲罢不能。。。让你学完Java学JavaScript,学完C语言学C++,学完CotexM3学A7。。。学完A7让你搞Xilinx。。。
哈哈,你以为Python可以为所欲为,事实上,这玩意儿是脚本语言,很多东西可以干也干不了。用于处理数据非常不错。但是用于生成数据就是个垃圾。
你可以把Python看成是一种变相的批处理。当然,它的确是一种动态语言。非常适合老鸟使用。特别是有一定编程基础的,拿过来跑测试简直爽歪歪。。但是,如果你说你要学习编程。Python适合也不适合。因为它给你看到的都是表象。
指针什么的都没得,处理底层是不可能的。但是它保留了大部分数据结构,像什么字典,列表,元组已经够用了。但是涉及到内存管理基本上废了。。。
不过嘞,爬虫,大数据处理,网页后台处理在适合不过了。
如果你说你要搞嵌入式,嗯。。。学C语言吧,越学越多的那种,[捂脸][捂脸][捂脸],学到后来还得仔细研究数据结构,什么二叉树,队列。。。堆栈。。还有内存管理,当然还有操作系统原理。然后呢,就是嵌入式内核。
总之嘞,千里之行始于足下。不积跬步无以至千里。。。最无奈的是走到500公里的时候。。。你他妈回不了头也看不到彼岸。。。
正所谓,大神们活成了我想要的模样,而我渐渐变成了我自己原来最讨厌的模样。
这个时代缺少的是沉淀。。。头条不缺年薪百万的领导。缺的是一往无前,不计得失的执着。
用追了几十年的海贼王一句话收尾,海贼王,我当定了![我想静静][我想静静]
本人从事IT行业,对于编程也有较深的了解!有一些建议仅供参考!
首先自学编程是可行的,但是有一定的难度。
现在编程语言非常多,你需要先选择一个方向。就目前市场的占有量来说JAVA,Python,JavaScript是份额很大的,就业范围也很广,当然了还有其他的如C++,C,PHP等也有很大的份额!主要是介绍一下JAVA,JavaScript,Python。以及他们难易程度和就业方向!
JAVA是目前运用最广泛的语言,现在很多东西都是用它写的,好的JAVA开发工程师待遇也是非常高的,是一让纤个很不错的方向。不过这几年开始逐渐淡出。但是在未来十几年的时间里它的地位还是不可撼动的!不过学起来是比较难的!不太容易上手,对零基础的是一个不小的挑战!
JavaScript是前端的核心语言,如果说HTML是前端的骨架,CSS是前端的肌肉和衣服,那么JavaScript则是前端的灵魂,有这个灵魂整个网页才能动力起来,炫酷起来,并和用户进行交互!这几年JavaScript的江湖地位一直在上升,很多时候都排在了第一位!不仅如此,现在数据可视化也是离不开js的!甚至很多BI工具,自动化测试都会用到js。学习难度也没有JAVA大,待遇有时候会比JAVA低一些。
最后就是Python,目前最火的语言。火的主要原因是它能够运用于大数据和人工智能这两个领域!由于它有很多强大的包,所以非常适合做大数据分析,数据科学,和人工智能的机器学习,深度学习等领域!Python被称为胶水语言,语法简单,功能强大,非常容易学。很适合初学者!由于大数据和人工智能的在未来的运用,Python将会越来越收欢迎,前景也会越来越好!
最后就是对于初学者来说,一定要多敲代码。不要看着会就行了。不然你关上电脑就什么都不会了!打击学习的积极性。可能会半途而废!所以每一步都要跟着写出来!这个很重要!
学习编程是一门苦差事,尤其是刚入门的时候,对着哪些它认识你,你不认识它的代码别提是多么痛苦的一件事情了,很多朋友可能受不了这种痛苦从而放弃了学习,因为很多人没有那个耐心和毅力。当然学习编程除了耐心和毅力之外还是需要一些方法和技巧的,下面就跟随小编一起来看看如何学习编程吧。方法/步骤1首先自然是选择学习的编程语言了,计算机语言的种类繁多,但是大体可以分为机器语言,汇编语言,高级语言以及脚本语言。像是我们经常听到的C语言,java,易语言都是属于高级语言,像是php,javascript,jsp,
asp.net
就属于脚本语言了。不同的语言难易程度也不相同,可以根据自己的情况进行选择性学习。2选定了学习编程的语言,就可以开始学习编程了。学习编程的过程中入门是一个很重要的过程,尤其是对于编程一点都不了解的朋友,看着那些密密麻麻看不懂的代码,什么热情都被浇灭了,从而就此放弃了学习编程,因此选择编程的入门方式十分重要。3很多朋友选择的入门方式应该都是看书了,小编自然也不例外,但是随着时间的推移,书是看完了,但也忘完了,完全不知道看过点什么,更不要提学会点什么了,导致小编一度觉得自己不适合做编程,几乎放弃,直到我发现了另一种学习编程的方法。4以前的学习可能只能靠书本和老师,但是现在不同了,现在是互联网时代,我们可以从网上获取到我们需要的知识,自然也包括了学习编程。现在很多编程语言都出了视频教程,而且还不止一家,我们可以挑选最适合自己的视频教程来学习。5自从跟着视频教程进行编程学习,小编学习的积极性倒是提高了不少,起码比起看书要来的有趣的多不是,相信不少朋友应该和小编有同感。由于视频教程是已经录制好的,我们可以根据自己的理解能力来选择性的观看教程。6光看不练假把式,每当我们看完一节视频教程的时候,我们就应该把讲述的这些内容自己多练习几遍,直到完全掌握。这样再去看下一节的视频教程,千万不要光看不练,我们的目的不是为了看视频而看视频,而是为了掌握知识,只有掌握了才是自己的。7当我们累计到一定程度的知识之后就可以做一个简单的项目了,一是为了巩固所学的知识,把我们所学的知识串联起来,二是为了以后的工作做准备,毕竟早点熟悉以后的工作内容才能早点上手。当然初次做项目可能会感到盲目,没关系,一般视频教程会专门抽出几个课时来讲解项目的制作,我们跟着制作即可。8总结来说学习编程最容易让人放弃的就是两个阶段,一个就是入门阶段,一个就是觉得什么都会学了,但是什么都做不成的阶段。入门的话我们可以选择视频教程,相对于书籍来说小编觉得比较好,如果遇到第二个阶段可以做个项目,把各个知识点连接起来,在做项目的过程中查漏补缺,这样做的话应该有利于你的编程学习之路。END注意事项学习编程的过程必然是枯燥乏味的,只有会学苦中作乐才有利于编程的学习之路。学习编程的过程中有两个阶段最容易使人放弃,如果克服了这两个阶段,那么你将会走向新的篇章。以上就是怎么学习编程的全部内容,希望对有需要的朋友有所帮助。⑷ 如何自学计算机编程
怎样自学编程入门?要掌握以下基础知识。1、软件环境的安装,2、输入、输出语句的使用 3、各种表达式的使用 4、变量的理解和使用 5、选择、循环结构的使用 6、文件操作
编程,其实就是利用特定的语言控制计算机,或者说和计算机进行交流。作为初学者,要掌握以上基础知识就算入门了。
1、编程环境的安装与使用。比如Python的学习一般推荐软件自带的IDLE,简单好用。
2、掌握输入、输入语句的使用。输入语句可以让计算机知道你通过键盘输入了什么,输出语句可以让你知道计算机执行的结果。
3、掌握运算(包含计算、逻辑)表达式使用。这个主要是用+、-、*、/、()、>、<、>=、<=等符号连接起来的表示计算或者比较的式子,让计算机能做计算机或者判断。
4、特别要掌握赋值表达式的使用,这个主要是等于号的理解。在计算机编程语言里,等于号一般不表示相等,而是表示赋值。也就是将等号右边的内容记入左边的名字里。
5、理解并熟练使用变量,变量的字面意思就是会变化的量。其实质的作用记忆信息。通过给要记忆的内容取个名字,然后通过这个名字就可以找到记忆的内容。有点类似于数学中的字母表示数。
6、选择结构,这是让计算机具有一定的选择、判断能力的基础。比如我们常见的登录,VIP就要用到选择结构。因为我们把各种情况都列举在程序里了,程序才会有各种变化。
没选择,没变化!变化的根本在于条件。
7、循环结构,这是让计算机具有重复的能力。前提是事件要具有一定的规律性,比如1,3,5,7,9……
如果没有规律,也可以通过数组等方法构造规律。
8、文件的读取和写入,这个主要是针对大量的数据处理而言的。
一般来说,掌握这些基本知识就算入门了。剩下的就是利用这些基础知识去解决各种问题了,就需要学习些算法知识了。
⑸ 如何自学编程有什么方法
自学编程的方法有哪些?尚不了解的考生看过来,下面由我为你精心准备了“如何自学编程?有什么方法”仅供参考,持续关注本站将可以持续获取更多的资讯!
自学编程的方法
1、要想真正学习一门知识,就要先尽量保持将其保持为一种爱好,才能一步一步的学习,还要保持耐心,不能为了成果跳跃学习。这两句话很重要,请在任何时候都要记住,无论那一门课。
2、要对自己家的电脑有一个充分的了解,包括他的位数(64位,32位),内存,型号,和版本,如果要编程的话,一定要对电脑的各个功能有详细的了解
3、先确定自己要学的编程语言,将其语言环境和编程工具准备好。入门最好使用c-free,或Java(要准备语言环境)入门或是深入都可以使用eclipse,python(要准备语言环境)可以使用editplus。
4、多在当地书城或是网上购买一些所学习的语言的书,可以轻松自学,当然如果你认为仅仅是文字并不够生动,可以看看一些优秀的教学视频,但千万不要放弃书本。
注意事项
1、 明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。
2、逻辑思维能力的培养,学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。
编程入门先学
C语言或者python。为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。这种助记符号来表示计算机指令的语言称为符号语言,也称汇编语言。
在汇编语言中,每一条用符号来表示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。
(5)如何自学数据编程扩展阅读
使用汇编语言编写计算机程序,程序员仍然需要十分熟悉计算机系统的硬件结构,所以从程序设计本身上来看仍然是低效率的、繁琐的。
但正是由于汇编语言与计算机硬件系统关系密切,在某些特定的场合,如对时空效率要求很高的系统核心程序以及实时控制程序等,迄今为止汇编语言仍然是十分有效的程序设计工具。
但它有不可替代的特性,比如一些单片机或者一些直接控制硬件的程序就一定要用汇编语言。
⑹ 如何自学编程
自学编程入门的方法:一、书本加视频对于初学者来说,可以采用视频+书籍袜前的方式进行学习。这让磨两种方式形成互补关系。编程教学视频可以让你迅速掌握编程,但通常比较生动、浅显,不成系统。而书本是比较系统,深入,但是枯燥,所以最好的方法是书和视频结合。二、选择编辑器学习编程最开始的一点就是找到一个自己用着习惯的编辑器,这里推荐Sublime Text3和Notepad++,之后有适合自己的可以随时更换。三、熬自学编程难免遇到这种现象:学了一两个月,发现自己会的不多。编程在一开始不会有坦好斗那么大的反馈,这种现象非常正常!关键是你要坚持个三个月到半年的时间,熬过这个艰难的入门期。四、选择语言刚开始推荐学习HTML,了解什么是编程,而HTML属于最简单的一种语言,虽然它并不是编程语言,但学习后你会对整个编程有一个整体的理解,最关键的是它很简单。五、加深语言范围了解HTML之后推荐学习CSS,它和HTML是一种配合使用的,我们见到的网页都是用HTML与CSS编写的,它同样很简单。六、寻找编程项目有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很容易放弃。最好是奔着一个小项目而学习编程,当你把作品做出来了,就有成就感,同时基本上具备找工作的能力,直接找个初级的开发岗位,再进阶,你的自学之路功与名都有了。
⑺ 零基础小白怎么学编程
零基础小白学编程的方法如下:
1、对于初学者来说,可以采用视频+书籍的方式进行学习。这两种方式形成互补关系。编程教学视频可以让你迅速掌握编程,但通常比较生动、浅显,不成系统。而书本是比较系统,深入,但是枯燥,所以最好的方法是书和视频结合。
2、入门期遇到难题,耗了半天时间还是没弄懂,可以暂时跳过,知识积累到一定程度,回头再进行解决你会发现简单多了。
3、反复练习,编程是一门手艺,需要反复练习,脱离书本和视频看是否能独立实现?学到最后的境界无非就是:我亦无他,惟手熟尔。