前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这可能是最全的编程入门指南

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

作者头像
老九君
发布2018-03-06 15:31:36
9860
发布2018-03-06 15:31:36
举报
文章被收录于专栏:老九学堂老九学堂

为何要学编程

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

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

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

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

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

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

然而事实不应该是这样的,当你学过计算机科学导论后,就应当明白:计算机不是魔法,也不复杂,只是一切都发生的非常快而已!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盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老九学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档