区块链技术博客
www.b2bchain.cn

我为什么要写这么一个C++课程?求职学习资料

本文介绍了我为什么要写这么一个C++课程?求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

认识C++

C++作为一门比较”古老“的高级编程语言,其已有三四十岁的语言高龄。几十年间,国内外也早已诞生了大量优秀的C++专家,他们可能是咨询师、教师、企业研发人才、独立开发者,甚至还可能是高校大学生。市面上也有很多专家开发的优秀课程,这些课程各有所长,各有特色。我所掌握的很多C++的编程思想和理念就是从他们的身上学来的(来源于他们的博客、分享、会议、书籍、视频课程等等)。从C++面向对象的角度上,可以说我“多继承”了这些优秀前辈的思想,可谓取各家之精华,集各家之所长。笔者在此也对这些前辈们表示感谢。
说到C++,几乎所有开发者都有一些或主观或客观的认识:C++适用范围相当广、C++入门门槛高、C++性能好、C++支持面向对象编程、C++与平台无关等等。下面列举几个C++的特点:

  • C++是一门多范式编程语言
    现代C++是一门多范式的编程语言,所谓多范式的编程语言,即C++同时支持面向过程编程、面向对象编程、泛型编程。C语言天生支持面向过程编程,C++来源于C,属于C的近亲,几乎可以无缝衔接C语言。C++最初的名字是C with Classes,支持Class这种面向对象编程的语言的目的就是为了更好的抽象、组织代码。后来在演进的过程中,C++又支持了泛型编程。
  • C++适用范围广
    C++是一门与平台无关的语言,我们可以在Windows、Linux、MacOS系统上轻松使用C++。而其他大部分语言,却没有这个能力,这也成为了其使用范围广的关键原因之一。从其使用场景上(操作系统、编译器、大型服务端应用程序、客户端应用程序、游戏等),C++都无所不及,可谓雨露均沾。
  • C++性能好
    C++是一门高效的语言。C++之父Bjarne Stroustrup设计C++的初衷就是希望C++能够直接操作硬件(像C那样)又支持高效和抽象。所谓高效,笔者理解的有2层意思,一层是运行的效率(像C那样)另一层是编程效率。所谓抽象,现在来看,和第二层的编程效率含义不无交集,即在支持了面向对象和泛型编程后,依然可以保持高效的性能。所以,在众多复杂的、苛刻的场景下,C++总是能够在众多编程语言中脱颖而出。
  • C++标准多
    C++是一门活的语言。自1989年ANSI(AMERICAN NATIONAL STANDARDS INSTITUTE: 美国国家标准学会) C++委员会成立以来,C++已经推出了多个标准。从C++98一直到现在的C++20,C++自身上也在不断的成长。这些标准的迭代,也代表了现代C++特性的丰富性和复杂性(这大概也是C++“难学”的原因之一)。

我为什么要写这么一个C++课程?

  • 优秀的课程各有特色
    上面我们说过,市面上也有很多优秀的C++课程,这些课程各有所长,各有特色。我也从这些优秀的课程中学到了不少知识和思想。但每个课程都无法穷尽C++的方方面面。有些课程以基础语法为主,有些课程以项目实践为主,有些课程以设计模式为主,有些课程以编程思想为主。这些课程有的对小白友好、有的对专家友好。笔者的这个系列课程主要以基本语法+编程范式+语言思想+C++标准为主。比较适合想要系统的入门C++,但又不想局限于基础语法,还想掌握C++原理和编程思想的爱好者。
  • 希望C++的学习更轻松
    上面我们说到,很多人认为,C++入门门槛高。不可否认,笔者在学习C++的过程中跌过的跟头比学习其他语言多。有一种说法是C++是”专家友好型语言“而非”新手友好型语言“。这也一定程度上说明C++并不是那么好掌握。如果我们要成为专家,那还是需要时间和实践历练的毕竟想成为专家,熟练掌握C++这门语言只是必要条件,而非充分条件。
    但想要掌握C++这门语言,成功的入门C++,个人认为并不难,只要有一条好的学习主干,有一条好的学习路线,掌握C++的精髓只是水到渠成的事情。那什么是好的学习主干呢?每个人有每个人的认识,笔者自己认为,一套系统的、由浅入深、循序渐进、去肥存瘦的路线是比较适合大部分有志于学习C++的开发者的。所谓系统就是全面且组织结构合理,如果没有系统的课程,只能够东拼西凑,严重影响学习效率和学习体验。由浅入深、循序渐进这些大家都懂,那什么是去肥存瘦呢?所谓去肥存瘦就是去掉冗余的赘肉,留下关键的肌肉。个人认为,掌握了语言的编程范式、语言的关键原理、80%的语法,这就已经是一个非常合格的C++开发者。而编程范式、关键原理、80%的语法就是肌肉,那些常年累月不使用的生僻语法和特性相对而言就是赘肉,初学者没必要硬着头皮去死磕,你拥有了赘肉,反而会成为你C++学习之路上的负担。那为什么是80%的语法呢?这里80%只是一个大概的说法,按照2-8法则。投入和产出、努力和报酬之间存在这样一种典型的不平衡现象:80%的收获,归功于20%的努力。80%的付出,却只能换来20%的回报。因为有些细枝末节真的是不常用,我们没必要在不常用的语法上大费笔墨,否则就是事倍功半、舍本逐末。掌握了大部分知识后,那些细枝末节完全可以通过自学来掌握。当你成功的get到C++之后,你会发现这真的是门振奋人心的语言,你会因为掌握了C++而兴奋不已。
  • 教材不是最优的学习途径
    笔者从大学期间就接触C++,当时也只是按照教材和课堂有板有眼的学习,现在想想当时的学习方法真的不是高效的。记得C++之父Bjarne Stroustrup说过:…在2005年,我给大一的学生教编程,翻看了大约20本流行的C++教材,最后大声抱怨:“如果那就是C++,我也不会喜欢它”。从这句话里可以看出,Bjarne Stroustrup也在抱怨他们国家的教材。对于大部分大学生、开发者来说,通过教材学习C++并不是最高效的、最有趣的。有些教材和教师会在一些不常用的细节上浓墨重彩,不分主次,这很容易让初入茅庐的同学心生挫败感,内心感叹:C++果然难学。
  • 抓不住重点容易走弯路
    后来,进入职场后我依然对C++一知半解,我也断断续续的在使用中学习C++,在学习和使用C++的过程中也走过不少弯路,趟过不少暗坑。现在回顾起来,个人C++的成长之路并不是一帆风顺,相信很多自学的人都有这个感受。我想,如果让我重学一遍C++的话,我绝不会再东拼西凑、本末倒置。我会跟有经验的前辈请教,制定一个适合初学者的学习路线,而不再不分主次的把那些陈旧的、过时的、不重要的知识纳入囊中。而这个系列的文章就是我整理的适合初学者的学习路线。它一定不是最优的,也一定不是适合全部的初学者,但一定是适合很多初学者的。如果你有其他编程语言的基础、如果你对C++有一些兴趣。我建议你把我的文章作为学习资源之一,也真心希望我的文章能够帮到你。

我们学习C++学的是什么?

学习一门程序设计语言我们学的是语言范式、原理、思想、标准库。因为C++标准库内容是实在太多,笔者不能一一穷尽。重点还是放在基础语法、语言特性、面向对象、关键原理、编程思想上。掌握了这些核心的基本功,你已经是一个优秀的入门者,或者已经赶上了60%的C++开发者。随后,我们就能够在C++的道路上自我修行、自助成长。

关于本课程的试用群体

  • 具有至少一门编程语言基础的学生或开发者

认识C++

C++作为一门比较”古老“的高级编程语言,其已有三四十岁的语言高龄。几十年间,国内外也早已诞生了大量优秀的C++专家,他们可能是咨询师、教师、企业研发人才、独立开发者,甚至还可能是高校大学生。市面上也有很多专家开发的优秀课程,这些课程各有所长,各有特色。我所掌握的很多C++的编程思想和理念就是从他们的身上学来的(来源于他们的博客、分享、会议、书籍、视频课程等等)。从C++面向对象的角度上,可以说我“多继承”了这些优秀前辈的思想,可谓取各家之精华,集各家之所长。笔者在此也对这些前辈们表示感谢。
说到C++,几乎所有开发者都有一些或主观或客观的认识:C++适用范围相当广、C++入门门槛高、C++性能好、C++支持面向对象编程、C++与平台无关等等。下面列举几个C++的特点:

  • C++是一门多范式编程语言
    现代C++是一门多范式的编程语言,所谓多范式的编程语言,即C++同时支持面向过程编程、面向对象编程、泛型编程。C语言天生支持面向过程编程,C++来源于C,属于C的近亲,几乎可以无缝衔接C语言。C++最初的名字是C with Classes,支持Class这种面向对象编程的语言的目的就是为了更好的抽象、组织代码。后来在演进的过程中,C++又支持了泛型编程。
  • C++适用范围广
    C++是一门与平台无关的语言,我们可以在Windows、Linux、MacOS系统上轻松使用C++。而其他大部分语言,却没有这个能力,这也成为了其使用范围广的关键原因之一。从其使用场景上(操作系统、编译器、大型服务端应用程序、客户端应用程序、游戏等),C++都无所不及,可谓雨露均沾。
  • C++性能好
    C++是一门高效的语言。C++之父Bjarne Stroustrup设计C++的初衷就是希望C++能够直接操作硬件(像C那样)又支持高效和抽象。所谓高效,笔者理解的有2层意思,一层是运行的效率(像C那样)另一层是编程效率。所谓抽象,现在来看,和第二层的编程效率含义不无交集,即在支持了面向对象和泛型编程后,依然可以保持高效的性能。所以,在众多复杂的、苛刻的场景下,C++总是能够在众多编程语言中脱颖而出。
  • C++标准多
    C++是一门活的语言。自1989年ANSI(AMERICAN NATIONAL STANDARDS INSTITUTE: 美国国家标准学会) C++委员会成立以来,C++已经推出了多个标准。从C++98一直到现在的C++20,C++自身上也在不断的成长。这些标准的迭代,也代表了现代C++特性的丰富性和复杂性(这大概也是C++“难学”的原因之一)。

我为什么要写这么一个C++课程?

  • 优秀的课程各有特色
    上面我们说过,市面上也有很多优秀的C++课程,这些课程各有所长,各有特色。我也从这些优秀的课程中学到了不少知识和思想。但每个课程都无法穷尽C++的方方面面。有些课程以基础语法为主,有些课程以项目实践为主,有些课程以设计模式为主,有些课程以编程思想为主。这些课程有的对小白友好、有的对专家友好。笔者的这个系列课程主要以基本语法+编程范式+语言思想+C++标准为主。比较适合想要系统的入门C++,但又不想局限于基础语法,还想掌握C++原理和编程思想的爱好者。
  • 希望C++的学习更轻松
    上面我们说到,很多人认为,C++入门门槛高。不可否认,笔者在学习C++的过程中跌过的跟头比学习其他语言多。有一种说法是C++是”专家友好型语言“而非”新手友好型语言“。这也一定程度上说明C++并不是那么好掌握。如果我们要成为专家,那还是需要时间和实践历练的毕竟想成为专家,熟练掌握C++这门语言只是必要条件,而非充分条件。
    但想要掌握C++这门语言,成功的入门C++,个人认为并不难,只要有一条好的学习主干,有一条好的学习路线,掌握C++的精髓只是水到渠成的事情。那什么是好的学习主干呢?每个人有每个人的认识,笔者自己认为,一套系统的、由浅入深、循序渐进、去肥存瘦的路线是比较适合大部分有志于学习C++的开发者的。所谓系统就是全面且组织结构合理,如果没有系统的课程,只能够东拼西凑,严重影响学习效率和学习体验。由浅入深、循序渐进这些大家都懂,那什么是去肥存瘦呢?所谓去肥存瘦就是去掉冗余的赘肉,留下关键的肌肉。个人认为,掌握了语言的编程范式、语言的关键原理、80%的语法,这就已经是一个非常合格的C++开发者。而编程范式、关键原理、80%的语法就是肌肉,那些常年累月不使用的生僻语法和特性相对而言就是赘肉,初学者没必要硬着头皮去死磕,你拥有了赘肉,反而会成为你C++学习之路上的负担。那为什么是80%的语法呢?这里80%只是一个大概的说法,按照2-8法则。投入和产出、努力和报酬之间存在这样一种典型的不平衡现象:80%的收获,归功于20%的努力。80%的付出,却只能换来20%的回报。因为有些细枝末节真的是不常用,我们没必要在不常用的语法上大费笔墨,否则就是事倍功半、舍本逐末。掌握了大部分知识后,那些细枝末节完全可以通过自学来掌握。当你成功的get到C++之后,你会发现这真的是门振奋人心的语言,你会因为掌握了C++而兴奋不已。
  • 教材不是最优的学习途径
    笔者从大学期间就接触C++,当时也只是按照教材和课堂有板有眼的学习,现在想想当时的学习方法真的不是高效的。记得C++之父Bjarne Stroustrup说过:…在2005年,我给大一的学生教编程,翻看了大约20本流行的C++教材,最后大声抱怨:“如果那就是C++,我也不会喜欢它”。从这句话里可以看出,Bjarne Stroustrup也在抱怨他们国家的教材。对于大部分大学生、开发者来说,通过教材学习C++并不是最高效的、最有趣的。有些教材和教师会在一些不常用的细节上浓墨重彩,不分主次,这很容易让初入茅庐的同学心生挫败感,内心感叹:C++果然难学。
  • 抓不住重点容易走弯路
    后来,进入职场后我依然对C++一知半解,我也断断续续的在使用中学习C++,在学习和使用C++的过程中也走过不少弯路,趟过不少暗坑。现在回顾起来,个人C++的成长之路并不是一帆风顺,相信很多自学的人都有这个感受。我想,如果让我重学一遍C++的话,我绝不会再东拼西凑、本末倒置。我会跟有经验的前辈请教,制定一个适合初学者的学习路线,而不再不分主次的把那些陈旧的、过时的、不重要的知识纳入囊中。而这个系列的文章就是我整理的适合初学者的学习路线。它一定不是最优的,也一定不是适合全部的初学者,但一定是适合很多初学者的。如果你有其他编程语言的基础、如果你对C++有一些兴趣。我建议你把我的文章作为学习资源之一,也真心希望我的文章能够帮到你。

我们学习C++学的是什么?

学习一门程序设计语言我们学的是语言范式、原理、思想、标准库。因为C++标准库内容是实在太多,笔者不能一一穷尽。重点还是放在基础语法、语言特性、面向对象、关键原理、编程思想上。掌握了这些核心的基本功,你已经是一个优秀的入门者,或者已经赶上了60%的C++开发者。随后,我们就能够在C++的道路上自我修行、自助成长。

关于本课程的试用群体

  • 具有至少一门编程语言基础的学生或开发者

认识C++

C++作为一门比较”古老“的高级编程语言,其已有三四十岁的语言高龄。几十年间,国内外也早已诞生了大量优秀的C++专家,他们可能是咨询师、教师、企业研发人才、独立开发者,甚至还可能是高校大学生。市面上也有很多专家开发的优秀课程,这些课程各有所长,各有特色。我所掌握的很多C++的编程思想和理念就是从他们的身上学来的(来源于他们的博客、分享、会议、书籍、视频课程等等)。从C++面向对象的角度上,可以说我“多继承”了这些优秀前辈的思想,可谓取各家之精华,集各家之所长。笔者在此也对这些前辈们表示感谢。
说到C++,几乎所有开发者都有一些或主观或客观的认识:C++适用范围相当广、C++入门门槛高、C++性能好、C++支持面向对象编程、C++与平台无关等等。下面列举几个C++的特点:

  • C++是一门多范式编程语言
    现代C++是一门多范式的编程语言,所谓多范式的编程语言,即C++同时支持面向过程编程、面向对象编程、泛型编程。C语言天生支持面向过程编程,C++来源于C,属于C的近亲,几乎可以无缝衔接C语言。C++最初的名字是C with Classes,支持Class这种面向对象编程的语言的目的就是为了更好的抽象、组织代码。后来在演进的过程中,C++又支持了泛型编程。
  • C++适用范围广
    C++是一门与平台无关的语言,我们可以在Windows、Linux、MacOS系统上轻松使用C++。而其他大部分语言,却没有这个能力,这也成为了其使用范围广的关键原因之一。从其使用场景上(操作系统、编译器、大型服务端应用程序、客户端应用程序、游戏等),C++都无所不及,可谓雨露均沾。
  • C++性能好
    C++是一门高效的语言。C++之父Bjarne Stroustrup设计C++的初衷就是希望C++能够直接操作硬件(像C那样)又支持高效和抽象。所谓高效,笔者理解的有2层意思,一层是运行的效率(像C那样)另一层是编程效率。所谓抽象,现在来看,和第二层的编程效率含义不无交集,即在支持了面向对象和泛型编程后,依然可以保持高效的性能。所以,在众多复杂的、苛刻的场景下,C++总是能够在众多编程语言中脱颖而出。
  • C++标准多
    C++是一门活的语言。自1989年ANSI(AMERICAN NATIONAL STANDARDS INSTITUTE: 美国国家标准学会) C++委员会成立以来,C++已经推出了多个标准。从C++98一直到现在的C++20,C++自身上也在不断的成长。这些标准的迭代,也代表了现代C++特性的丰富性和复杂性(这大概也是C++“难学”的原因之一)。

我为什么要写这么一个C++课程?

  • 优秀的课程各有特色
    上面我们说过,市面上也有很多优秀的C++课程,这些课程各有所长,各有特色。我也从这些优秀的课程中学到了不少知识和思想。但每个课程都无法穷尽C++的方方面面。有些课程以基础语法为主,有些课程以项目实践为主,有些课程以设计模式为主,有些课程以编程思想为主。这些课程有的对小白友好、有的对专家友好。笔者的这个系列课程主要以基本语法+编程范式+语言思想+C++标准为主。比较适合想要系统的入门C++,但又不想局限于基础语法,还想掌握C++原理和编程思想的爱好者。
  • 希望C++的学习更轻松
    上面我们说到,很多人认为,C++入门门槛高。不可否认,笔者在学习C++的过程中跌过的跟头比学习其他语言多。有一种说法是C++是”专家友好型语言“而非”新手友好型语言“。这也一定程度上说明C++并不是那么好掌握。如果我们要成为专家,那还是需要时间和实践历练的毕竟想成为专家,熟练掌握C++这门语言只是必要条件,而非充分条件。
    但想要掌握C++这门语言,成功的入门C++,个人认为并不难,只要有一条好的学习主干,有一条好的学习路线,掌握C++的精髓只是水到渠成的事情。那什么是好的学习主干呢?每个人有每个人的认识,笔者自己认为,一套系统的、由浅入深、循序渐进、去肥存瘦的路线是比较适合大部分有志于学习C++的开发者的。所谓系统就是全面且组织结构合理,如果没有系统的课程,只能够东拼西凑,严重影响学习效率和学习体验。由浅入深、循序渐进这些大家都懂,那什么是去肥存瘦呢?所谓去肥存瘦就是去掉冗余的赘肉,留下关键的肌肉。个人认为,掌握了语言的编程范式、语言的关键原理、80%的语法,这就已经是一个非常合格的C++开发者。而编程范式、关键原理、80%的语法就是肌肉,那些常年累月不使用的生僻语法和特性相对而言就是赘肉,初学者没必要硬着头皮去死磕,你拥有了赘肉,反而会成为你C++学习之路上的负担。那为什么是80%的语法呢?这里80%只是一个大概的说法,按照2-8法则。投入和产出、努力和报酬之间存在这样一种典型的不平衡现象:80%的收获,归功于20%的努力。80%的付出,却只能换来20%的回报。因为有些细枝末节真的是不常用,我们没必要在不常用的语法上大费笔墨,否则就是事倍功半、舍本逐末。掌握了大部分知识后,那些细枝末节完全可以通过自学来掌握。当你成功的get到C++之后,你会发现这真的是门振奋人心的语言,你会因为掌握了C++而兴奋不已。
  • 教材不是最优的学习途径
    笔者从大学期间就接触C++,当时也只是按照教材和课堂有板有眼的学习,现在想想当时的学习方法真的不是高效的。记得C++之父Bjarne Stroustrup说过:…在2005年,我给大一的学生教编程,翻看了大约20本流行的C++教材,最后大声抱怨:“如果那就是C++,我也不会喜欢它”。从这句话里可以看出,Bjarne Stroustrup也在抱怨他们国家的教材。对于大部分大学生、开发者来说,通过教材学习C++并不是最高效的、最有趣的。有些教材和教师会在一些不常用的细节上浓墨重彩,不分主次,这很容易让初入茅庐的同学心生挫败感,内心感叹:C++果然难学。
  • 抓不住重点容易走弯路
    后来,进入职场后我依然对C++一知半解,我也断断续续的在使用中学习C++,在学习和使用C++的过程中也走过不少弯路,趟过不少暗坑。现在回顾起来,个人C++的成长之路并不是一帆风顺,相信很多自学的人都有这个感受。我想,如果让我重学一遍C++的话,我绝不会再东拼西凑、本末倒置。我会跟有经验的前辈请教,制定一个适合初学者的学习路线,而不再不分主次的把那些陈旧的、过时的、不重要的知识纳入囊中。而这个系列的文章就是我整理的适合初学者的学习路线。它一定不是最优的,也一定不是适合全部的初学者,但一定是适合很多初学者的。如果你有其他编程语言的基础、如果你对C++有一些兴趣。我建议你把我的文章作为学习资源之一,也真心希望我的文章能够帮到你。

我们学习C++学的是什么?

学习一门程序设计语言我们学的是语言范式、原理、思想、标准库。因为C++标准库内容是实在太多,笔者不能一一穷尽。重点还是放在基础语法、语言特性、面向对象、关键原理、编程思想上。掌握了这些核心的基本功,你已经是一个优秀的入门者,或者已经赶上了60%的C++开发者。随后,我们就能够在C++的道路上自我修行、自助成长。

关于本课程的试用群体

  • 具有至少一门编程语言基础的学生或开发者

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 我为什么要写这么一个C++课程?求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们