这可能是最全的编程入门指南

为何要学编程

乔布斯说,「每个人都应该学习编程,因为它教会你思考的方式」。

我们学习编程,是不一定要成为程序员的。就像每个人都应该学习法律,但不是都要成为律师;就像每个人都应该学习经济学,但不是必须成为经济学家;就像每个人都要学习数学,也不是为了成为数学家。

不同的学科知识给予我们不同的思考方式,这些思考方式将贯穿在我们日常生活的点点滴滴。而编程本身就是一个培育思维的过程,可以帮助我们掌握逻辑思考的能力。

普遍存在于大学中的「学长效应」摧毁了一批又一批的计算机专业学生。你是否有过这样的经历:初入大学校园的你对未来的学习生活充满好奇,对计算机专业不甚了解,但兴趣满满。上过了一些课,觉得有些容易,有些则需要多花些时间钻研。你心中对专业的方向和未来发起疑问,来到网上或是通过各种途径联络学长,想问问自己专业未来的蓝图是什么样子的。

学长拍着胸脯告诉你,学这些没用,期末突击一下就能考过。你如释重负,像是看透了一切,觉得学长所言极是,很多课平时都不用去上,期末照样考过,学分照拿不误。

然后你发现在计算机专业中让你感兴趣的东西越来越少,再后来开始怀疑自己是不是选择错了方向,毕业后突击式地学习一门语言或是一项技术,然后找一份凑合的工作,看到公司有些技术人员拿着比自己多数倍的工资不明白为什么,甚至感慨大学白上了还不如去上个技校,反而觉得自己能干的事情越来越少了,太多新的技术需要学习和了解,对此感到应接不暇……

然而事实不应该是这样的,当你学过计算机科学导论后,就应当明白:计算机不是魔法,也不复杂,只是一切都发生的非常快而已!C 语言只有 9 种控制语句,却能编写出像 Linux 这样复杂高效的操作系统,还有 Nginx 和 Redis 这些高性能网络服务器也是纯 C 语言编写的!

计算机只知道一些最基本的语句和方法,再复杂的程序也都是由这些语句和方法组合而成,计算机真正的魅力和价值就在于我们可以将现实中的复杂问题抽象并转换成一系列简单步骤后,再放心交给计算机去完成。所以我们在学习过程中,真正训练和提高的正是发现问题、分析问题和解决问题的能力。

有人说「编程将成为人们新的读写能力」,其实这里强调的更多是编程背后的计算思维。

仔细想想,会发现我们其实一直都是这样在解决问题的。比如用洗衣机洗衣服的过程,先是根据待洗衣物的数量,为水位调节函数传入水位参数;接着,使用循环控制结构来设定漂洗函数被调用的次数;然后,为洗涤时间控制函数和脱水时间控制函数传入时间的参数值。最后,按一下「运行」的按钮,一切就都按照你的意愿来进行了。

在未来,一切都是可编程的,我们的生活、工作、学习效率也将大大提高。伴随着物联网的到来,我们会发现身边的一切都可以通过自己编程来实现定制化的服务,届时,生活质量的高低将更多体现在是否有能力通过编程技术来实现你的想法上。

如何学编程

多看好书

差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,会让人怀疑自已的学习能力。  

现在的书很多,但好书很少,特别是被大家公认很有价值的好书更是少之又少。历经多年时间考验和市场风雨的残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过<<红楼梦>>等四本名著而已,编程方面也是如此。

多动手

这一点很重要。而且特别重要。“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。

用什么语言最好

这主要取决于应用领域,每种语言都有自已的长处和不足。

  1. 汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/C#的起点。
  2. C++系统编程等多个方面,最常用的编译器是VC。
  3. C#/Java网络编程方面新兴的。
  4. VB通用。
  5. 还有Delphi等等。

老九君建议:从未编过程的,就从学C语言开始。有基础的可直接学C++或是Java。

学习C和C++,不得不推荐的两本书非C/C++ Primer Plus莫属了。为什么呢?

  1. 这两本分别是C和C++的经典入门书籍,虽不能说经典的就是最好的,但是能够流行这么久,说明它经得起市场的考验。
  2. 内容全面详细,理论扎实。
  3. C和C++Primer Plus在豆瓣读书上评分分别是9.2和8.6,可见大部分人对这两本书的评价是比较高的。
  4. C++Primer Plus书中的涵盖了C++大部分知识点,并且严格符合C++的标准。计算没有详细讲解的知识,也列出了参考书目和概念。这本书应该是那种要让人不停复习,不停翻看的书。

PS:明天老九学堂商城将会上架这两本书籍,到时候有很多套餐和优惠大礼包。

训练的四个阶段

第一阶段:掌握一门编程语言

  • 学习内容:学习任意一种主流的编程语言,例如C++语言。
  • 学习目标:熟练掌握一种语言的语法和基本的编程技巧。
  • 学习时间:3个月左右
  • 注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器在内的集成化、可视化的软件开发工具。

第二阶段:掌握一种编程工具

  • 学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的编程语言是C++,那么编程工具要选Code Blocks、Visual C++ 6.0或者C++ Builder 5.0。
  • 学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。
  • 学习时间:3个月左右
  • 注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。

第三阶段:掌握“算法与数据结构”这门课程

  • 学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。
  • 学习目标:熟练掌握各种常用的算法与数据结构
  • 学习时间:4个月左右
  • 注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。

第四阶段:掌握“算法与数据结构”这门课程

  • 学习内容:软件项目的开发过程
  • 学习目标:掌握软件项目的基本开发过程和方法
  • 学习时间:4个月左右
  • 注意事项:自己完成一个模拟的小型软件项目,推荐做一个MIS(管理信息系统)软件。

最后:将完成的模拟软件拷到U盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!

原文发布于微信公众号 - 老九学堂(xuetang9)

原文发表时间:2017-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web前端教室

【毕设】学前端的,毕业设计可以做些什么?

如标题,这个问题是群里的一个小伙伴问的,当时我在逛街,不能仔细的回答它。就只好等回到家之后,静下心来,认真的写篇文章来回答这个问题,一篇文章写下来,可以很全面的...

1204
来自专栏微信公众号:Java团长

Java架构师之路:Java程序员必看的15本书的电子版下载地址

  作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序...

741
来自专栏挖坑填坑

【读书笔记】坚持,一种可以养成的习惯03-反抗期

连续写了两篇读此书的读书笔记了,发现都是摘抄,并没有多大的意义。于是想着今后只列出作者的观点,然后结合自身经历谈谈想法。没有经历的就按照作者的案例简单写写。

722
来自专栏Java学习网

每个程序员应该阅读的10本经典书籍

每个程序员应该阅读的10本经典书籍 书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找...

1607
来自专栏华章科技

长期坚持阅读会带来怎样的改变

俗话说无知者无畏,越是无知的人越是无所畏惧,谁年少的时候没有过意气风发,谁没想过指点江山?待到了后来,阅历多了不少之后才知道自己当初的可笑,虽然这不失为一种可爱...

611
来自专栏Java学习网

程序员避免精神崩溃的8个建议

程序员避免精神崩溃的8个建议 1.独自待会 这可能是最重要的,因为它会影响你和他人(包括家人)之间的互动,也会影响你思考。所以每个月让自己有个一到两次的真空时间...

1856
来自专栏大数据钻研

编程和音乐真的很像吗?

在过去的几十年时间里,对音乐作品和编程同时感兴趣的计算机科学家成功地将两者结合在一起。现在的人工智能谱写的音乐,几乎与由专业音乐人创建的没有区别。 很多专业的...

2627
来自专栏企鹅号快讯

程序员必读的十三本经典书籍

程序员必读的十三本经典书籍 私人书单,仅供参考! 01 《代码大全》 史蒂夫·迈克康奈尔 “优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起...

1765
来自专栏企鹅号快讯

Python为什么这么火?聆听Python之父诠释Python的精神和文化

最近EETOP先后发过几篇关于Python的相关文章: 用Python给头像戴圣诞帽 Python实例代码:ADC拟合、频谱计算 用Python设计芯片 基于P...

1816
来自专栏程序员互动联盟

程序员找不到女朋友的原因

1、程序员找不女朋友的原因 程序员问禅师:“大师,我身体健康,思想端正,各方面都不错,为何就是找不到女朋友呢?” 禅师浅笑,答:“原因很简单,不过若想我告诉你,...

40112

扫描关注云+社区