编程的学习路线
Ⅰ 如何学习编程
最近有几个朋友私信问我如何学编程。我上知乎基本就是随便写点代码来着,这种误人子弟的问题我真的不敢乱说。也罢,找个问题随便谈谈吧,聊胜于无。千万不要当真。
我觉得SICP作为第一本编程书非常合适。SICP可以让我们从零开始建立起整个对于程序语言和程序语言如何被解释的粗浅认识。

知道什么是数据,数据结构如何用一个小小的cons组织起来,什么是过程,过程可以接受过程做参数并且返回过程,还有和解释器息息相关的囿变量、自由变量、环境,等等这些重要的概念。
然后我们需要接触机器相关的知识了。我建议学汇编。8086汇编就行了(硬核的话,或许可以学PDP-6汇编)。注意一开始从最基础的move,add,lea开始。
然后引入栈的push和pop指令,有了栈就可以很方便的复用过程了。栈一定要好好理解,这是过程在机器里面如何抽象的关键。然后引入call和ret两个语法糖。学会汇编写二叉树就够了。
因为用汇编写二叉树,一大堆dword,lea,肯定迷糊死了。这个时候可以上c语言了。看TCPL就行,简单了解C语法就够了。
C语言有指针和int等基础类型,用C写一遍二叉树,明显能体会到类型的好处。另外,C是汇编语言的又一层抽象,这里可以结合SICP里的数据抽象和过程抽象好好理解,C到底是怎么抽象汇编的。
写过一些C之后,了解类型的好处了。这个时候可以看TAPL。结合SICP就知道scheme基本上就是λNB的少糖形式。TAPL也是SICP这种从零开始逐渐复杂的结构,非常适合萌新看。完全弄懂λ cube和subtype就够了。TAPL里面还有很多细节,萌新看的时候可以忽略。
到这,编程基本上就入门了。对机器底层感兴趣的去学体系结构;对数据结构和算法感兴趣的去打ACM;对PLT感兴趣的继续看ATTAPL,SF;对钱感兴趣的忍着自己对C++语法的恶心去学C++;对John McCarthy感兴趣的去学ML,等等。安排的明明白白。
Ⅱ 如何自学编程求指点。
要熟悉编程范式,尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免费的)练习编程。
选择一种编程语言。初学者一定要从主流语言开始学习,比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的,因为它们称得上是软件开发界的主流。
但是最好不要从高级语言开始学,如java,因为这些语言对于初学者来说难度未免太高(高级语言可以以后再学,但是C语言和C++应该作为你的基础)。
然而对于完完全全的门外汉的来说,可能C和C++都有点困难,那么你也可以从python开始学,这种语言被大家广泛认为是适合初学者的。
Ⅲ 学习Java软件开发的学习路线
自21世纪进入信息时代以来,信息技术给人类的生产和生活方式带来了深刻的变化。信息产业已成为推动国民经济发展的主导产业之一。Java作为一种含金量高的IT技术,很多人想从事这个行业,那么应该如何学习Java呢?下面云南昆明java软件开发为大家介绍学习Java开发的学习路线。
1、基础知识
在学习Java之前先学习计算机的基础知识,然后学习常用命令、Java概述、JDK环境安装配置、环境变量配置、配置JDK和环境变量等知识,随后昆明计算机学校建议就可以着手准备编写Java程序。
2、编程格式
此时需要了解编程的具体过程,在开发过程中要进行文字“注释”,还要掌握使用“关键字”的注意事项。并且昆明北大青鸟认为需要对“标识符、常量和变量、数据类型、运算符、过程控制语句、数组、方法”等相关知识进行理解和熟练使用。
3、面向对象
生活中随处可见的都是对象。对象分为静态对象和动态对象。如果您真的想理解Java面向对象,您需要首先理解“面向对象思想,类和对象,成员变量和局部变量,匿名对象,封装,此关键字,结构方法,继承,多态性,抽象类,接口和内部类”等相关知识。云南计算机学习认为只有掌握这些对象才可以在开发过程中熟练使用。
Ⅳ 我想学编程,应该从什么地方开始
从认识什么是编程开始
要学习编程,首先要了解什么是编程。
理解了编程是什么之后开始培养编程兴趣,并选择一门语言,这里比较推荐的是Java。
如果是自学拿来玩,单纯培养兴趣,陶冶情操的,还是推荐python。
然后便是要学习入门的编程知识,从零开始学习了。
我这里有一些Java和python学习的推荐,
学Java看这里:
先上一份计算机科学速成课,也不多,周末看看就看完了。不是很复杂的视频,挺生动有趣的。看到啥程度呢?个人认为只要看到不太懂的地方暂停一下思考思考就可以了。
为啥看这个呢,看题主的问题描述,推测你还没开始学习很多内容,那么先来了解了解计算机科学大概是个什么样子的,对计算机科学有一个整体认识。没准还能帮助找到你的兴趣所在。毕竟计算机科学还是挺大范围的。
编程学习随时可以开始,其实没有多少前期要求,可能无非就是耐心比较重要吧(比如不要一上来就被配置编程环境打趴下就不学了,实在不行先在线编程工具上手也行),你可能会碰到各种各样的问题,有些坑甚至网上也找不到现成的答案(不过还是强调一下,初学者大部分问题还是能搜索到的,搜索能力对于计算机学习很重要!多锻炼锻炼,搜不到大多情况下是你关键词没用好,搜索技巧不行)。
关于求助别人,可以看下经典文章《提问的智慧》,用不了多久的。其实就是搞明白如果碰到问题怎么请教别人,如何让别人会更愿意帮助你解答,以及更有效的帮助到你。
以高中生的知识水平和学习能力而言,是完全可以从主流编程语言选一门开始入坑的。可选的主要就是C,C++,Java,Python
我不认为太偏门的,或者适用面比较狭窄的语言作为编程小白的第一门语言。各种编程语言都有自己适用场景,虽然大家喜欢开玩笑PHP是最好的语言,但主流编程语言没有啥高下之分,只是长处和短处各不相同而已。
当然,有充分理由,比如确定就是要学做网页,那从JavaScript开始学习编程也是可以的。退一步说,第一门编程语言只要是主流编程语言都可以(啥叫主流编程语言,比如TIOBE排行榜上哪些,排名靠前的肯定是用的人多的)。
但是为什么建议从这四种里面选呢?
区别在于,C,C++这种语言,尤其是C(国内大学计算机类专业里,C基本是必学语言)是更接近底层和机器的语言,整个的思路很符合计算机的工作原理,从这俩入手,对理解计算机原理更有帮助。学习的过程中可能你会接触到更多计算机原理的知识比如操作系统的内存管理,汇编层面的调用约定等,有利于更好地理解计算机工作原理。另外其实有C/C++基础,学别的编程语言慢不到哪里去的,甚至像Python这样的可以一天学会基本语法。C++相对于C多出来的东西中,一个很重要的东西就是面向对象,C++, Java, Python都是支持面向对象编程的语言,面向对象是学编程迟早要了解和有必要掌握的一种编程方式。
这几门编程语言到底选哪一个其实都无所谓,你想要全部试一遍也行(反正是尝试嘛),甚至你想同时学习几门语言也是完全可以的。不过先熟练一门语言,有需求了再学别的编程语言,可以和学过的语言对比学习,会发现自己学起来还是挺快的,毕竟已经学习了一些编程的思想。
比如我之前学C++,后来一直用Python比较多,有时要写起来C++,写个for循环顺手就敲了个for i in range(100)出来(C++里面是这样写的for (int i = 0; i < 100; i++)),但其实完全不必担心同时学几门语言会有啥副作用。 另外你真正开始学习编程之后其实慢慢的就会了解自己要学些什么内容了。
据我了解(自己踩坑过2333)有一些那种编程启蒙游戏,还是不要拿来学习编程了。高中生的智力程度(咳咳)正正经经上手编程就好,不用前期准备:)
还有一个小提示就是:Python真香,可以尽早开始学习,Python用起来相当方便顺手,其包管理器pip也很方便使用,第三方库十分丰富,想要实现什么功能,用pip安装对应的模块很快就能开始coding,而不是花半天时间找第三方库,安装库...... 无论是作为计算器用,还是写点脚本帮你免去某些重复劳动,又或是想要验证一些别的语言代码的思路但又想偷懒(以上都是我经常干的hahaha),Python都是极佳的选择(正道の光)!
学习编程的过程中,初学者和已经入门的人的视野是不一样的,先学起来,你才能看到更多的东西,了解计算机的各个方向。比如计算机图形学,机器学习,软件工程,当然也有硬件的,机器人呀,单片机呀,另外如果想当白帽子黑客,来学信息安全也是很不错嘛。计算机的东西很多是触类旁通的,你尽管学,慢慢的整个计算机科学的知识大楼就在你脑子里面搭起来了。
Ⅳ 怎样学编程课程
编程学习方法与途径如下:
学习编程常见的途径,其实可以概括为两种:自学、培训。

很多人问,学编程要电脑吗?那不废话吗,用手肯定是做不出软件的。
所以学习编程前,需要准备一个不错的电脑,MacWindows 均可。最后,很多人问编程能速成吗?说速成的都是骗子,编程没有速成的秘诀。
给大家的忠实建议如下,明白了这几点,学编程和切菜没什么区别。
编程是一门做中学的学科,所以动手很重要(狂敲代码)
好记性不如烂笔头,所以笔记很重要(加深记忆,快速回顾)
时间在哪,成就在哪,所以坚持很重要(保持亢奋,学会嘚瑟)
开发经验就是解决问题的能力,所以查阅资料很重要(谷歌度娘)
圈子很重要,氛围很重要
Ⅵ 如何零基础自学编程
怎样自学编程入门?要掌握以下基础知识。
1、软件环境的安装,
2、输入、输出语句的使用3、各种表达式的使用4、变量的理解和使用5、选择、循环结构的使用6、文件操作。
编程,就是利用特定的语言控制计算机,或者说和计算机进行交流。作为初学者掌握以上基础知识就算入门了。
Ⅶ C语言学习路线
一,UNIX下C语言的学习路线。
工具篇
“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在以后的学习或工作中,将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。
(一)操作系统
在UNIX或linux系统中学习C很方便,所以在开始的学习旅程前请先选择一个UNIX或Linux操作系统。
目前可供个人免费使用的UNIX或Linux系统有FreeBSD、RedHat Linux、SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等。
如果您一直使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。
(二)编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:
cc -o hello hello.c
在unix shell环境中敲入上面的代码会将hello.c程序编译成可执行文件hello。
make 工具如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。
大部分UNIX和Linux程序都是通过运行make来编译的。make工具会读取一个包含指令的文件(这个文件的名字通常都是 makefile 或 Makefile,不过后文中统一称之为 “makefile”),并执行各种操作来编译程序。
(三)调试工具
最简单的调试工具:为程序添加打印语句
在对程序的运行机制有了一定的了解后,可以实用一些工具帮助进行调试,当然得学习一下这些工具得使用,如:dbx,gdb等。
还有一些内存工具可以帮查找内存泄漏或缓冲区溢出等一些问题,如:memwatch,yamd等
(四) 其他工具
1. vi或vim
Unix下文本编辑器。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。
当然在实际工作中,可能需要一个集成编码环境或一个功能强大的图形化编辑工具。
2.netterm
最着名的网络终端软件之一,可以使用它方便的连接到主机系统中。
3.Secure shell
一个支持ssh协议得客户端工具,多数情况下用来连接linux系统。
书籍篇
“书是人类进步得阶梯”。学习一门新的知识,当然要选择几本适合自己得书籍,下面介绍一些我自己学习C语言使用过的书籍:
1.《C primer plus》
推荐理由:适合作为入门书和基本函数查询得参考资料。本书最新版为第五版,以ANSI C99为标准详细介绍了C语言。
2.《The C programming_Language》
推荐理由:C语言之父得作品权威性毋庸置疑。虽然书籍出版时间比较老,好像也没更新,不过仍不失为经典书籍,网上有这本书得英文电子版提供下载。
3.《C 专家编程》
推荐理由:本书可以帮助有一定经验的C程序员成为C编程方面的专家,最关键的是本书寓教于乐,充分享受编程的乐趣。
4.《C缺陷与陷阱》
推荐理由:书中所揭示的知识能帮助绕过C语言自身得陷阱和缺陷,减少代码中许多常见的Bug。
5.《unix环境高级编程》
推荐理由:既然是UNIX环境下C编程,就不得不说说UNIX编程书籍。Stevens先生的《unix环境高级编程》是竭力推荐的,也是案头必备(如果对网络编程有兴趣的,可以学习一下Stevens先生的《UNIX网络编程》两卷,如果觉得还不过瘾,可以再看看《TCP/IP详解》三卷)。
6.《计算机编程艺术》
推荐理由:算法大师得呕心沥血之作。计划出版五卷书,目前好像已出版3卷。对算法有兴趣得可以研究一下。
过程篇
1.学习C语法
语法的学习对于一个具有编程底子的来说,就很轻松了;即使以前没有学习过其他编程语言,我相信有2个星期,也能轻松搞定。
需要注意的是,不要太纠缠于语言的细节,比如:运算符优先级与结合性的问题等。
2.学习C标准库
ANSI C库把函数分为不同的组,每个组都具有与之相关的头文件。C语言标准库相对于其他语言,比如C++,Java来说是非常短小精悍的,但首先应着重对以下库进行学习:
ctype.h:字符处理
math.h:数学库
stdio.h:标准I/O库
stdlib.h:通用工具库
string.h:字符串处理
time.h:时间和日期
如果想了解完成的ANSI C库,可以购买相关的书籍,这些书籍一般会详细介绍每个函数的用户和一些注意点;
3.攻克C的难点
C语言声明:
C语言的声明确实觉得恐怖,比较晦涩难懂,而且声明的形式和使用的形式还类似。比如如下的声明恐怕就连很多熟悉C多年的程序员也不是一眼就能看出来的:
char * const * (*next)();
那么有没有一种好的记忆方法或规则来搞清楚呢,好像没有,如果有的话也不是这样折磨人了。不过可以看看《C专家编程》第三章的内容,或许会有所收获。
也只能多学多练了,所谓熟能生巧嘛,希望这个问题不要在你的心灵上留下阴影。
数组与指针:
数组与指针的关系,在标准中并没有作很详细的规定,而且好多C入门的书籍在这个问题上并没有给出很详细的说明,所以会给人造成很多误解。
对于这个问题,可以参考《C缺陷与陷阱》4.5节和《C专家编程》第4,9,10章,相信这里面的内容搞透彻,以后就不会再被这个问题搞迷惑。
指针与内存:
如果以后编写规模较大的程序,可能发现这个问题可能会是最大的烦恼,而且可能会是消耗最多调试时间的事项。
C版本的问题:
得特别小心该问题,最好不要的程序中混合使用不同版本C的特性,否则会带来很迷惑的问题。如果一定要用,最好清楚自己在做什么。
4. UNIX环境编程
学习了以上内容之后,就可以进行unix环境编程了。不过可能需要对操作系统理论有一点点的了解,这样学起来会比较轻松一些。
Unix环境编程,应该着重IO和进程两大块内容。《Unix环境高级编程》中对Unix环境编程有着非常详细且深入的论述,而且书中有大量实用性例子程序,不过可能得花上几个月得时间,好好啃一啃了。
在扎实掌握以上内容,不代表得C语言学习支路已经完成,相反,才刚刚开始。以后需要用学到得知识去解决大量不同实际问题,在不断得实践过程中,会近一步加深对C的理解。有了以上基础之后,会发现,在实践过程中需要的其他知识,会非常快速的掌握。
二,Windows程序员的学习路线
1.当然要熟悉下C语言了 入门可以选用潭浩强的 《C程序设计》(当然最好能读C Programming Language)特别要对其中的指针,结构体等东西一定要搞清楚了(要学好的很好至少要花费一个月时间) 为什么要从C开始呢:<1> C好学 <2> 大多数的操作系统核心部分是用C开发的 <3> C的效率高且语言成熟
2.在1的基础之上一定要认真学习一下数据结构 对C++程序员来说良好的数据结构可以让一个程序员很轻松的完成程序设计 糟糕的数据结构可以把一个程序员累死 推荐书籍:严蔚敏的《数据结构(C语言版)》或北京大学的一本中C++版的数据结构 书中说到的每个主体在程序设计中都会用到 认真学好会对的以后的C++程序设计有太多的好处 (3个月时间)
3.学好了2之后可以学习下《C++ PROGRAM DESIGN》这本书初步介绍了C++和如何使用C++写出Windows下的程序(要学好至少要花费3个月时间)
4.在3的基础之上可以读一本叫《Windows 95 程序设计》(它的最新版本是Programming Windows)这是一相Windows程序设计的领域的不朽之作(3个月时间) 通过2和3的学习已经成为了一个可以设计Windows程序的程序员了 要想更好的设计Windows程序设计 一定要借助框架结构不可 为什么:框架结构可以加快我们程序设计的速度 虽然使用框架使得我们的程序的效率低了那么一点 但随着当今计算机的运算能力的提升,不会感觉到这一点点的性能损失的反而会因为你使用的框架结构而使你的程序设计加快了速度 使用框架结构才算一个真正的VC++程序员
5.在4的基础之上可以看一些简单的MFC程序设计的书比如《Visual C++入门教程》之类的图书 这可以使你能写出一些带有通用控件的MFC程序 (1个月时间)
6.在5的基础之上已经可以很快开发一个软件了 但不了解MFC框架运行机制是很不好的 了解MFC的运行机制可以使以后的MFC程序设计工作做的更好 推荐书籍侯杰的《深入浅出MFC》 但这本书真的不适合初学者当你有了一定的开发经验以后这本书对来说确实很好 若很熟悉Windows下的SDK程序设计并打算或已经开始使用MFC进行软件开发 那这本书对来说再好不过了 (2个月时间)
7.在6的基础之上可以看下这本书《VC++技术内幕》由潘爱民译的 推荐看原着(3个月)
8.在以上基础之上为了更好的使用VC++这个工具 推荐看一下《VC++6.0宝典》(3个月) 从开发工具的角度讲这本书写的很好
9.为了更好的工作可以参考一下VC++程序设计百例
10.之后可以看一下《Windows核心编程》 这本书很好的讲解了Windows的编程 对你写系统程序很有好处的 推荐看原版
11.只了解其形不算真正的了解 之后还要认真的读一下Windows的内核源码 相信WRK 很容易找到的 可以配合《深入解析Windows操作系统》《Windows内核原理与实现》和《Windows内核情景分析》
12.其它一些东东《COM原理》(潘爱民) OpenGL D3D VC的数据库编程 图形图像 音视频处理和网络都要有所了解和会使用
13.要做到一个好的程序员一定要对驱动程序有所了解所以写一个文件驱动之类的东东是很有必要的
14.经过以上各步的学习完全成为一个优秀的Windows程序员了(前提是每一步要学好)
15.漏了一些重要的东东 编译原理 汇编及 组成原理 和设计模式等也是很重要的东东 只有学好了这些才能明白语言为什么要这样组织才能高效。
Ⅷ 新手如何学习编程
熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:
1、语法。
2、基础理论(数学、数据结构、算法等)。
3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
5、计算机相关(操作系统、网络、图形学等)。
6、领域知识(游戏设计、网站设计等)。
7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。

具体方法包括:
1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。
2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。
4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。
对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。
项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。
Ⅸ 如何学习编程
先了解一些基本知识
c语言的背景

另一种是以basic为主导的程序语言,如FoxPro、VBScript等,它也有类似的函数调用、程序语句编写和循环控制,但不同于C语言家族。所以如果是从QBASIC开始的,在学习C语言之前最好先洗脑。不要在C语言上使用基本的学习方法和思想。
(9)编程的学习路线扩展阅读:
首先明确学习目标,看你要学到什么程度,以及用来干什么。
如果你是要学到足以找一份高薪的工作那最好就是考研。
如果是急着找份初级程序员的工作可以了解一下各种编程语言适合做啥然后根据自己的兴趣报个培训班,不过很贵而且还会被鄙视。
如果是觉得编程很好玩儿想简单了解一下,可以买一本计算机导论的书,学一门入门语言,C语言 java python 等等都行。不想看书网上视频教程也很多,慕课网之类的。
如果不是为了工作但是有明确的目标,比如我要学黑客,我要学做游戏,我要学做网站之类的,可以自行网络XX学习路线之类的。然后再辅以计算机专业基础课,比如计算机原理、数据结构算法什么的,同样可以自行网络,很容易找到。
