• 1.纠结的c++





    C++从字面意思理解,给人的感觉好像是C语言的升级版.
    C plus plus

    但C++增加的语法太多太多了.
    多到让人手足无措.

    我们举个例子:
    假设把一头大象放进冰箱.
    我们分别写三个函数.

    打开冰箱门()
    把大象放进去()
    关上冰箱门()

    void main(){
           打开冰箱门();
           .................

    }

    叫做面向过程.  我们之前学习的C语言编程方式,叫做面向过程开发.


    而C++不仅支持像上面C语言这种写法.
    除此之外,还有N种办法去解决上面的问题


    这就导致了C++的学习非常困难,非常复杂,耗费巨大精力,也因为C++过于复杂,一些设计缺陷,要避免犯错,学习"踩坑"的地方太多.

    同样花一年时间,用到C++学习上,可能收效甚微.
    但是放到其他编程语言上,已经可以解决很多现实的问题了.

    巨量时间的投入/产出比,非常低.

    目前除了一些GUI和游戏领域,越来越多的其他领域,被其他编程语言取代,可以更快更高效的开发.
    包括Linux之父也是对C++排斥的,他认为C++把问题复杂化了.
    而且C++的编译器也非常复杂,编译器版本的不同,导致同样的C++源代码,兼容性特别差.
    这款编译器能通过的代码,那款编译器提示错误,并且提示的错误莫名其妙,排查起来非常麻烦.



    所以C++不仅难学,用不好的话,反而会"伤害"到自己.
    Java是C++的一个阉割版.

    https://www.zhihu.com/question/38101493

    不过,也因为如此,C++包含了很多编程语言的特性.
    我们把C++的功能简单学习一下,对我们以后学习其他编程语言有莫大的帮助.

    将来如果学习Java或者Python的时候,你会情不自禁的和C++对比.
    更加能够体会它们之间的区别,以及各自的魅力.

    并且懂的,什么情况下,用什么编程语言,可以最高效的解决手里的问题.
    我们程序员不应该限制自己,给自己加头衔,我是C程序员,我是C++程序员,我是Python程序员,我是Java程序员.

    一流的程序员,遇到项目问题的时候,它首先会评估项目难度,再考虑用哪种编程语言可以从性能和开发时间上找到一个平衡点.
    考虑怎么样分配任务……

    C++里面多了很多新的名词概念.
    会C语言更加抽象了.


    而这些概念和名词,往往都是针对大型软件开发项目发明的.
    所以,我们单纯的为了学习C++,而学习C++语法,是很难体会,总感觉明明有更简单的办法,为什么要把代码写的这么"麻烦","绕圈"!

    我尽力能通俗易懂的语言,给大家讲C++吧.


    C++在C的基础上,编译器替我们做了很多事情,而编译器为我们多做的一些事情,就意味着,我们可以少写很多代码.
    所以,也不要对C++产生太大的恐惧感!

    但是优点往往又是缺点.

    一个温柔的人,很可能往往是一个懦弱的人.
    一个勇敢的人,很可能往往是一个鲁莽的人.


    C++给我们提供了各种语法,让我们少写很多代码.
    但这些语法的变化性,灵活性太强大,以至于我们看着代码,最后理解不了,到底内存里面发生了什么事情,到底编译器背后替我们做了哪些事情.


    如果我们写的代码,自己摸不清对应着内存里面发生了什么变化,就可能产生理解错误.
    而如果一个程序,代码量越来越大,不确定的地方越来越多的时候,这个程序最后可能就彻底"崩溃"了,关键是你还不知道到底哪里出了问题.


    也因为C++过于灵活.
    你可以喜欢A和C两种方式开发.
    他喜欢C+E+B三种方式混合开发.


    虽然你们写的都是C++代码,但是彼此却看不懂对方的C++代码.


    C++的雄心非常大,它想把所有的事情都干了,所以很多最新的编程技术,都可以在C++中一睹风采.
    从下节课开始,我们正式踏入C++的世界.

    我个人认为C++是很"重"的一门编程语言,我对它又爱又恨

  • 相关阅读:
    ZOJ 1001 A + B Problem
    献给那些心软的人!!
    将表格的数据插入另一个表格
    把链接 显示为方框
    【ibus】设置ibus输入法(pinyin & sunpinyin)
    [Mongo] How to Install Mongo on Debian(不要安装)
    [Sinatra、Mongo] Mongo
    Sinatra+SQLite3+DataMapper
    [sinatra] Sinatra再入门
    [slim] Slim
  • 原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/9195596.html
Copyright © 2020-2023  润新知