zoukankan      html  css  js  c++  java
  • C/C++语言的学习策略

    一、断章取义

    C语言出现50年了,有很多内容已过时,至少有百分之二十的内容没有实用价值。

    C++更过份,至少有百分之七十的内容没有实用价值。

    Linux也是,命令上千个,对程序员来说常用的不超过50个。

    人的精力是有限的,对于不常用的知识,了解概念即可,不要去折腾。在我的教程中缺了链表、位操作、排序算法、二叉树、红黑树、C++的输入输出流、C++模板、C++异常等,这些知识没有实用价值,除了用来吹牛别无用处。

    现有C/C++语言的教材,大部分是教授和讲师写出来的,在身经百战的程序员面前,没有经过实战的教授和讲师始终停留在小学生水平。

    网上也有不少视频教程,大部分的教程只是把书本上的内容搬到视频中,没有新意。

    二、培养程序员的感觉

    我喜欢看动物世界,高级的哺乳动如狮子,低等的昆虫如密蜂,它们都有自己的语言。与人类的语言相比,动物的语言非常简单。但是如果您对动物的语言没有研究,完全看不懂。

    与人类的语言相比,计算机的语言其实也很简单,初学者认为难是因为不适应,不习惯。

    所以,对初学者来说,培养程序员的感觉是最重要的事情。

    程序员是写出来的。

    去过紫禁城的人都知道,不管您有多么聪明,绕多几个弯后,迷路是大概率的事情,但是,紫禁城清洁工人一定不会迷路,是您不如清结工人够聪明吗?肯定不是,是您不习惯,不熟悉。

    各位在网上看过的美女图片和视频无数,任何网上的美女不太可能让您脸红心跳。但是,在现实生活中,如果有一个美女真的出现在您的面前,估计您会手足无措,言语结吧。

    任何事情,不管看多少遍,都不如做一遍。写程序也是这样的,编程语言并不难,只是您不了解,不习惯,不熟悉。

    看别人的程序,看别人写程序,和自己动手写程序的感觉是不一样的。

    怎么做?行动起来,多写程序,就习惯了,熟悉了。开始的时候,写出的程序很垃圾也没有关系,没有天生的大佬,大佬刚开始的时候都是菜鸟。

    三、学习策略

    1、计算机基础知识的学习

    如果您不是计算机相关专业或零基础,建议先学习计算机基础和计算机网络基础两方面的知识,这些基础知识包括了很多常识性的内容。

    学习这两方面的知识的时候,不要深入理论,不要学习算法,看不懂就算了,不要纠缠。

    计算机基础知识主要包括以下内容:

    1)计算机历史。

    2)计算机的应用领域。

    3)二进制、十进制、十六进制的基本概念。

    4)计算机总线、外部设备。

    5)计算机软件、操作系统基本概念。

    6)学习时间不超过20小时。

    7)推荐视频 https://www.bilibili.com/video/av80537766

    计算机网络基础知识主要包括以下内容:

    1)计算机网络的基本概念。

    2)局域网、广域网和互联网。

    3)ISO参考模型。

    4)TCP协议(粗略的了解一下UDP)。

    5)IP地址、网关、子网掩码、DHCP协议。

    6)万维网和HTTP和HTTPS协议。

    7)电子邮件和SMTP 协议。

    8)文件传输协议FTP。

    9)远程登录协议(以ssh为主,了解telnet)。

    10)学习的时间不必超过30小时。

    11)推荐视频 https://www.bilibili.com/video/av70228743https://www.bilibili.com/video/av9876107

    2、Linux操作系统的学习

    企业对C/C++程序员的需求中,70%以上是Linux系统中开发,Linux的开发环境可能会让初学者不适应,不习惯,但这是正确的方向。我们学习的目标是成为C/C++程序员,不是Linux系统管理员。作为一个程序员,只需要熟悉Linux操作系统环境,掌握常用命令就可以了,主要包括以下内容。

    1)Linux系统简介。

    2)Linux系统的安装。

    3)远程登录命令(以ssh为主,了解telnet)。

    4)Linux常用命令,注意,Linux的命令上千个,常用的约50个,能看懂多少就多少,看不懂的就算了,与程序员相关的Linux命令我会在教程中提到。

    5)Linux用户和组的管理。

    6)Linux文件系统。

    7)Shell基础,注意,Shell可以很复杂,Shell脚本也是一种编程语言,但是,我们是C/C++程序员,一般不会采用Shell编写脚本程序,运维人员使用Shell脚本比较多。

    8)Linux进程方面的基础知识。

    9)Linux防火墙配置。

    10)学习的时间不必超过50小时。

    11)推荐视频 https://www.bilibili.com/video/av18156598

    3、C/C++基础知识的学习

    本阶段的重点是培养写程序的感觉和掌握C/C++语言的基础知识,写程序感觉比C/C++语言的知识点更重要。非计算机专业的大概需要两到三个月(全日制),计算机相关专业的需要一个月。

    学习完基础知识之后,如果年龄在23岁以下,建议您先去找工作,工资低一些没关系,只要能养活自己就行了。先进入这个行业,有实战的环境,边工作边学习是最好的方案,生活没有压力,学习更有动力。(23岁以下的年龄,是大学生毕业的年龄,在这个年龄段,不管是哪个学校毕业的,大家都是菜鸟,不懂是正常的,如果面试的时候表现出积极上进态度,找个实习的岗位不会太难。)

    如果您的年龄到了25岁,学习完基础知识之后就去找工作可能不好办,因为年龄与能力不符,公司未必会录用(年轻人技术不好很正常,年纪大了还只是掌握基础知识就不应该)。

    4、职业技能的训练

    在很多C/C++语言教程中,把贪吃蛇、俄罗斯方块、打地鼠、球球大作战等程序当成项目实战,太过儿戏;或者用黑客入侵、网络攻防、游戏外挂等内容来吸人眼球,这些程序的源代码网上到处都是,程序员玩这个不多,程序员是普通人,掌握的是谋生的技能,特工是电影题材,不是真实的生活。

    本阶段的目标是通过项目实战,把学生训练成满足企业需求的职业程序员,时间大概需要四到六个月,因人而异。

    本阶段的学习内容主要包括freecplus框架、Oracle数据库和网络通信,完成数据中心和手机APP服务端两个项目的开发,约两万行的代码量。

    通过本阶段的学习,您将成为合格的程序员。

    5、学习要买什么书

    这是一个互联网的时代,书本上有的内容网上都有,如果有疑问,百度一下,比翻书更快,内容也更丰富。有些人可能会说书本的知识更全面,更系统化,这完全是胡扯,因为如果某书真的那么好,把书本上的内容搬到互联网上来实在太容易,扫描、拍照、打字都行。

    这世界上没工葵花宝典,没有易筋经,更没有从入门到精通的捷径,您需要的是学习的决心和意志。

    九、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
    来源:C语言技术网(www.freecplus.net)
    作者:码农有道

    如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

  • 相关阅读:
    struts.xml配置详解 内部资料 请勿转载 谢谢合作
    Struts框架2ActionError类 内部资料 请勿转载 谢谢合作
    Struts框架 内部资料 请勿转载 谢谢合作
    JDBC 内部资料 请勿转载 谢谢合作
    JSP 实现◆菱形 三角形△ 的输出
    JSP实现 乘法口诀输出
    GUID 全局统一标识符的介绍
    Java 基础 Map 练习题
    Java 异常处理 练习2
    Java 异常处理
  • 原文地址:https://www.cnblogs.com/wucongzhou/p/12492455.html
Copyright © 2011-2022 走看看