本人想学习编程,需要哪些入门书籍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本人想学习编程,需要哪些入门书籍相关的知识,希望对你有一定的参考价值。
C语言、C++、或者java具体怎样学编程 :
1.明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2.打好基础
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发开发工具如 Java 等。 3)网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:php 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
3. 注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4.掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5.多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6.养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7.上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”()主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”()是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”()提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。
8.加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。 参考技术A
1、清华大学出版社出版的《C++程序设计教程》、《C++PRIMER》、谭浩强的《程序设计书》、《Effective C++》、《More Effective C++》、《Exceptional C++》 、《More Exceptional C++》、《深入探索c++对象模型》等
2、具体怎样学编程 :
①明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。
②打好基础
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?
③ 注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
④掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么就可以触类旁通。
⑤多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
⑥养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
⑦上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”()主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧。
⑧加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。
电脑编程:
编辑程序让电脑执行的过程就叫编程 很多软件都可以编程 具有代表性的计算机语言有BASIC C,C++,VB,VF,SQL,网页编程JSP,ASP,PHP ,软件是Microsoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server,等等。 BASIC是Beginner's All-purpose symbolic instruction Code(初学者通用符号指令代码)的缩写,是国际上广泛使用的一种计算机高级语言。BASIC简单、易学,目前仍是计算机入门的主要学习语言之一。
参考技术B 入门书籍程序设计:
基础理论:编码:隐匿在计算机软硬件背后的语言
C:C和指针
C++:C++程序设计原理与实践
Java:Java核心技术(第9版)
C#:精通C#(第6版)
javascript:JavaScript DOM编程艺术(第2版)
Python:Python基础教程(第二版)
编程语言理论:编程语言实现模式
程序设计:程序设计方法
算法与数据结构:算法(第4版)
程序调试:调试九法——软硬件错误的排查之道
软件开发:
编程实践:程序设计实践
面向对象程序设计:Head First设计模式
重构:重构
软件测试:How to Break Software
项目管理:极客与团队
专业开发:程序员修炼之道:从小工到专家
大师之言:奇思妙想:15位计算机天才及其重大发现
界面设计:写给大家看的设计书
交互设计:通用设计法则
个人成长:
职业规划:软件开发者路线图
思维方式:程序员的思维修炼:开发认知潜能的九堂课
求职面试:金领简历:敲开苹果微软谷歌的大门
英语写作:The Only Grammar Book You'll Ever Need
必读书籍
基础理论:深入理解计算机系统(第2版)
编程语言:
C:C程序设计语言(第2版)
C++:C++程序设计语言(第4版)
Java:Effective Java(第2版)
C#:CLR via C#(第4版)
JavaScript:JavaScript语言精粹
Python:Python参考手册(第4版)
编程语言理论:程序设计语言——实践之路(第3版)
程序设计:计算机程序的构造与解释(第2版)
算法与数据结构:编程珠玑(第2版)
程序调试:调试九法——软硬件错误的排查之道
编程实践:代码大全(第2版)
面向对象程序设计:设计模式
重构:修改代码的艺术
软件测试:xUnit Test Patterns
项目管理:人月神话
专业开发:程序员职业素养
大师之言:编程人生:15位软件先驱访谈录
界面设计:认知与设计:理解UI设计准则(第2版)
交互设计:交互设计精髓(第3版) 参考技术C 谭浩强的《C程序设计》不错 参考技术D 建议1 明确你的目标 你学习编程的方向是干啥?
如果为了工作 企业级的运用 可以主学java 厉害的可以去bat公司 年薪百万
如果是兴趣 也可以学c语言 毕竟是根基
如果想后面制作游戏 为国产之光而努力 就学c++
如果相当黑客 你就得多学几门语言 c Python 脚本等
2 确认好 你想干啥 就直接去哔哩哔哩找对应学习视频(比如java) 对新手而言 视频教学要比书好很多
3 然后学到后面 你发现 你要变高手得学很多 基础知识 就回过头来补 可以看书的哦
有
a 计算机原理
b 数据结构
c 数学
关于 Python 的经典入门书籍有哪些?
怎样学习任何一种编程语言
1.找到关于这种编程语言的书或介绍性读物。
2.通读这本书,把里边的代码都录入一遍并使其运行起来。
3.一边读书一边写代码,同时做好笔记。
4.使用这种编程语言实现一些你用另一种熟悉的编程语言做过的程序组件。
5.阅读别人用这种编程语言编写的代码,试着仿照他们的方式编写代码。
每学一种新的编程语言,你就会成长为一个更好的程序员。你学的编程语言越多,它们就会变得越容易学习。当你学到第三种或者第四种编程语言的时候,你就应该能够在一周内学会一门类似的编程语言了,不过对于一些特别的编程语言来说你可能还是要花较长的时间。你现在学了Python,接下来学习Ruby和JavaScript就应该比较快了。这是因为很多编程语言有着共同的理念,你只要学了其中一种,就能用在别的编程语言上。
关于学习新编程语言的最后一件要记住的事情就是:别当一个“蠢游客”。“蠢游客”就是那种去了一个国家旅游,然后回来抱怨那儿的饭不好吃的人。“为什么这个白痴国家连汉堡都买不到?”当你学习一种新编程语言时,不要假设它的工作方式太蠢,它只是不同而已,只有接受它你才能学会它。
不过,在学完一种编程语言后,不要成为这种编程语言工作方式的奴隶。有时你能看到有人使用一种编程语言做一些很白痴的事情,没有别的理由,只不过是“我以前一直就是这样做的”。如果你喜欢一种风格,而你又知道大家的做法和你不同,如果你看到后者能带来好处,那就毫不犹豫地打破自己的习惯吧。
Python的长处
Python指的是Python编程语言(包括语法规则,用于编写被认为是有效的Python代码);也指Python解释器软件,它读取源代码(用Python语言编写),并执行其中的指令。Python解释器可以从Python的官方网站免费下载,有针对Linux操作系统、macOS和Windows操作系统的版本。
Python的名字来自超现实主义的英国喜剧团体,而不是来自蛇。Python程序员被亲切地称为Pythonistas。Monty Python和与蛇相关的引用常常出现在Python的指南和文档中。
Python能够持续吸引新用户,是有很多理由的。Python是一款真正的跨平台编程语言,从Windows、Linux/UNIX到Macintosh平台,从超级计算机到手机,它都能很好地运行。Python可以用于开发小型应用程序和快速原型系统,但也能扩展到足以开发大型程序。Python自带了功能强大且易于使用的图形用户界面(GUI)工具包、Web编程库等。而且更重要的是,Python完全免费。
Python是Guido van Rossum在20世纪90年代研发的一种现代编程语言(以一个著名的喜剧团体命名)。尽管Python并不能完美地适用于所有应用程序的开发,但它的优势使其成为许多情况下的理想选择。
1 Python易于使用
熟悉传统语言的程序员会发现,Python很容易学习。包含了所有熟悉的结构,如循环、条件语句、数组等,但在Python中很多都更易于使用。原因有以下几点。
- 类型与对象关联,而不是变量。变量可以被赋予任何类型的值,列表也可以包含许多类型的对象。这也意味着通常不需要进行强制类型转换(type casting),代码再也不用受制于预先声明的类型了。
- Python通常可以执行更高级别的抽象操作。有一部分原因是源于Python语言的构建方式,另一部分原因是Python的发行版附带了内容丰富的标准代码库。一个下载网页的程序用两三行代码就可以写完了!
- 语法规则非常简单。虽然成为一名专业的Python高手需要耗费很多时间和精力,但即便是初学者也能快速获取到足够的Python语法并编写出实用的代码。
Python非常适合应用程序的快速开发。用Python编写应用程序的时间可能只有用C或Java的五分之一,并且代码行数只有等效C程序的五分之一,这种情况并不少见。当然,这要视具体的应用场景而定。对于那种大部分是在for
循环中执行整数运算的数值算法,Python提升的生产力会少得多。对于普通的应用来说,生产力收益可能会比较可观。
2 Python富有表现力
Python是一种极具表现力的编程语言。这里的“表现力”是指:同样是一行代码,Python可以完成的操作比其他大多数语言都要多。表现力较强的语言,优势十分明显,需要编写的代码越少,项目完成的速度就越快。代码越少,程序就越容易维护和调试。
为了体会一下Python的表现力是如何简化代码的,请考虑交换两个变量var1
和var2
的值。在类似Java的语言中,这需要3行代码和1个额外的变量:
int temp = var1;
var1 = var2;
var2 = temp;
在将var2
的值赋给var1
时,需要先用变量temp
暂存var1
的值,然后再把该暂存值赋给var2
。这个过程并不是很复杂,但是阅读这3行代码并理解这是为了完成数值交换,是要花些工夫的,即便是有经验的程序员也一样。
相比之下,Python允许在一行代码中完成相同的交换操作,并且从交换方式就能明显看出交换确实发生了:
var2, var1 = var1, var2
当然这只是一个很简单的例子,但类似的优点在Python中俯仰皆是。
3 Python可读性好
Python的另一个优点是可读性好。也许读者会认为,编程语言只要能被计算机读懂就可以了,但其实人类同样得能读懂。要阅读代码的人,可能是调试人员(很可能就是写程序的人),可能是维护人员(仍然可能是写程序的人),也可能是任何将来修改代码的人。凡此种种,总之代码越容易阅读和理解越好。
代码越容易理解,就越易于调试、维护和修改。Python在这方面的主要优势就是利用缩进。与大多数语言不同,Python坚持要求代码块必须整体缩进。尽管这会让有些人感到奇怪,但好处就是代码总是能以一种非常易懂的风格进行格式化。
以下是两小段程序,一个用Perl编写,另一个用Python编写。两者的操作相同,参数都是两个相同大小的数值列表,返回对其两两求和后的列表。我认为Python代码的可读性比Perl代码更好,看起来更干净,难以理解的符号更少:
# Perl版
sub pairwise_sum {
my($arg1, $arg2) = @_;
my @result;
for(0..$#$arg1) {
push(@result, $arg1->[$_] + $arg2->[$_]);
}
return(\\@result);
}
# Python版
def pairwise_sum(list1, list2):
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
return result
上面两段代码完成的工作相同,但Python代码胜在了可读性上。当然,Perl还能有其他的实现方式,其中有一些确实会比以上代码简洁得多,但我认为也更加晦涩难懂。
4 Python功能齐备
Python的另一个优势是“功能齐备”(batteries included)理念,因其自带了很多函数库。基本思路就是,安装Python后就应该万事俱备,不需要再安装其他库就能真正开始工作了。这就是为什么Python的标准库自带了电子邮件、网页、数据库、操作系统调用、GUI开发等处理模块。
例如,只需要写两行代码,就可以用Python编写一个Web服务器,用于共享某个目录中的文件。
import http.server
http.server.test(HandlerClass=http.server.SimpleHTTPRequestHandler)
无须再安装用于网络连接和HTTP的库,Python都已内置好了,开箱即用。
5 Python跨平台
Python还是一种优秀的跨平台语言,可以在很多平台上运行,包括Windows、Mac、Linux、UNIX等。因为它是解释型语言,相同代码可以在任何装有Python解释器的平台上运行,而目前几乎所有平台都具备了Python的解释器。Python甚至还有在Java(Jython)和.NET(IronPython)中运行的版本,为运行Python提供了更多可能的平台。
6 Python免费
Python还是免费的。自始至终,Python就是以开源的方式研发的,并且可以免费获取。任一版本的Python都可自行下载和安装,并可用于开发商业或个人应用,分文不收。
虽然世人的态度在慢慢转变,但由于担心缺乏技术支持,担心缺少付费客户的影响力,有些人仍然对免费软件持怀疑态度。但是Python已经被许多大牌公司用于实现关键业务,谷歌、Rackspace、Industrial Light&Magic和Honeywell只是其中的几个例子。这些公司和许多其他公司都很清楚,Python是一个非常稳定、可靠且支持良好的产品,拥有一个活跃的、博识的用户社区。即便提出高难度的Python问题,也能在Python互联网新闻组中迅速获得答案,速度会比大多数技术支持电话快得多,而且无须付费、保证正确。
Python和开源软件
不仅Python是免费的,它的源代码也可以免费使用,可随意进行修改、完善和扩展。因为源代码是免费提供的,所以可供所有人查看并修改。其他那些带有版权的软件,鲜有能以合理的费用进行这种修改的。
如果是第一次接触开源软件,大家应该要了解,不仅可以自由使用和修改Python,还能够(也鼓励)为其做出贡献并对其进行改进。根据自身的条件、兴趣和技能,可以给出财务上的贡献,例如捐赠给Python软件基金会(Python Software Foundation,PSF)。也可以参加特殊兴趣小组(Special Interest Group,SIG),对Python内核或某个辅助模块的发行版进行测试并给出反馈。还可以向社区贡献一些自己或公司开发的东西。当然贡献的大小完全是自行决定的,但只要有能力就一定要考虑去做点什么。这里正在创造巨大的价值,有机会就来添砖加瓦吧。
Python满足了很多期许,表现力强大、可读性好、内置库丰富、跨平台,而且还是开源的。
最经典的Python入门书:
笨办法学Python 3(Learn Python 3 the Hard Way)
本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。
本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。
本书通过练习和记忆的方式,指导你逐渐掌握使用Python编程的技能,然后由浅入深,让你将这些技能应用到各种问题上。读完本书之后,你将有能力接触学习复杂的编程主题所需的工具。我喜欢告诉别人:我的这本书能给你一个“编程黑带”。意思就是说,你已经打好了基础,可以真正开始学习编程了。
如果你肯努力,并投入一些时间,掌握了这些技能,你将学会如何编写代码。
Python编程快速上手 让繁琐工作自动化 第2版
本书是一本面向初学者的Python编程实用指南。本书不仅介绍了Python语言的基础知识,而且通过案例实践教读者如何使用这些知识和技能。本书的第一部分介绍了基本的Python编程概念;第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序供读者学习。本书每章的末尾提供了一些习题,除第1、2章外,每章末尾还提供了深入的实践项目,帮助读者巩固所学的知识。
本书没有设计成参考手册,它是初学者指南。编程风格有时候违反最佳实践(例如有些程序使用全局变量),但这是一种折中方式,可以让代码更简单,以便学习。本书的目的是让人们编写用完即抛弃的代码,所以不用花太多时间来关注风格和优雅。复杂的编程概念(如面向对象编程、列表推导和生成器)在本书中也没有出现,因为它们增加了复杂性。编程老手可能会指出,本书中的代码可以修改得更有效率,但本书主要考虑的是用最少的工作量得到能工作的程序。
对于大多数人,他们的计算机只是设备,而不是工具。但通过学习编程,你就能利用现代社会中强大的工具,并且你会一直感到快乐。编程不是脑外科手术,业余人士是完全可以尝试和犯错的。
本书假定你编程的知识为零,并且会教给你很多知识,但你的问题可能超出本书的范围。记住如何有效地提问,如何寻找答案,这对于你的编程之旅是无价的。
接下来的路
建议你看看下面这些项目,并试着用它们实现一些东西。
- 《“笨办法”学Ruby》:学的编程语言越多,了解的编程知识也就越多,所以试着学习一下Ruby吧。
- The Django Tutorial:试着用Django Web框架创建一个Web应用程序。
- SciPy:如果你对科学、数学和工程学感兴趣可以看看。
- PyGame:看看能不能写出一个带图形界面和声音的游戏出来。
- Pandas:用来做数据操纵和分析。
- Natural Language Tool Kit:用来分析文本,以及实现垃圾邮件过滤和自动聊天机器人这样的软件。
- TensorFlow:用来做机器学习和可视化。
- Requests:学习一下HTTP用户端以及Web知识。
- ScraPy:爬取网站内容。
- Kivy:创建桌面和移动平台的用户界面。
- 《“笨办法”学C语言》:等你熟悉Python后试着用我写的其他书学习C和算法。慢慢来,C是一门不同的语言,很值得学习。
以上是关于本人想学习编程,需要哪些入门书籍的主要内容,如果未能解决你的问题,请参考以下文章