为什么c++这么难?
5个回答
展开全部
C++难,原因,具有C语言底层特性,具有面向对象语言的抽象特性,因此同时具备了底层和抽象的两个复杂维度,最终造成复杂度成倍提升.C++的复杂设计导致编程过程中有许多陷阱和晦涩的含义,许多经验丰富的C++程序员也无法解决一些调试问题.
最尴尬的是底层不如C语言,面向对象不如DotNet和Java.开发效率更比谁都没优势.
C++的抽象特性导致必须要有个强大的抽象类库才能让普通开发者进行开发.因此导致C++只适合于一些特定场合.比如Windows平台上依赖MFC库开发.而MFC的怪异设计把更多的C++程序员挡在门外或者难以提高水平.现在Windows上做界面普遍趋向于使用DXUI技术,就是类似迅雷,360,qq的绚丽界面,这些技术可以完全脱离MFC库,导致MFC发展也不大了.
在Linux上基础类库几乎都是C编写的,因此用C++没什么优势.
培养一个优秀的C++程序员要比培养一个C程序员难的多,风险也大的多.导致许多行业重量级技术任务都不推崇C++,他们在大型项目里面更喜欢用C语言加LUA这种脚本语言进行开发,效率和稳定性都得到了很好的保证,还避免了C++开发中的许多陷阱.
因此你学C++估计未来搞MFC开发的可能性最大.局限性也很大,因此你还必须要掌握其他一些语言作为辅助,比如C语言,C#,Java,LUA等
学C开发你可以做Windows/Linux/Mac/IOS等等所有底层和应用层开发.做大型应用配合LUA更是有超强的效率和敏捷性.
学DotNet,java你可以有更好的面向对象特性来进行工业应用开发.
总之一个好的程序员要掌握市面上大部分主流语言,不能抱着一个语言做到死.
最尴尬的是底层不如C语言,面向对象不如DotNet和Java.开发效率更比谁都没优势.
C++的抽象特性导致必须要有个强大的抽象类库才能让普通开发者进行开发.因此导致C++只适合于一些特定场合.比如Windows平台上依赖MFC库开发.而MFC的怪异设计把更多的C++程序员挡在门外或者难以提高水平.现在Windows上做界面普遍趋向于使用DXUI技术,就是类似迅雷,360,qq的绚丽界面,这些技术可以完全脱离MFC库,导致MFC发展也不大了.
在Linux上基础类库几乎都是C编写的,因此用C++没什么优势.
培养一个优秀的C++程序员要比培养一个C程序员难的多,风险也大的多.导致许多行业重量级技术任务都不推崇C++,他们在大型项目里面更喜欢用C语言加LUA这种脚本语言进行开发,效率和稳定性都得到了很好的保证,还避免了C++开发中的许多陷阱.
因此你学C++估计未来搞MFC开发的可能性最大.局限性也很大,因此你还必须要掌握其他一些语言作为辅助,比如C语言,C#,Java,LUA等
学C开发你可以做Windows/Linux/Mac/IOS等等所有底层和应用层开发.做大型应用配合LUA更是有超强的效率和敏捷性.
学DotNet,java你可以有更好的面向对象特性来进行工业应用开发.
总之一个好的程序员要掌握市面上大部分主流语言,不能抱着一个语言做到死.
2015-12-02 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
只要认真的研究就不会很难。
一般情况下,C++效率和C语言的效率相差在±5%之间。因此在一般场合,C++可以替代C。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
C++由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。
一般情况下,C++效率和C语言的效率相差在±5%之间。因此在一般场合,C++可以替代C。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
C++由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为难所以难。。其实重点是面向对象的理解,c++的语法结构一点也不难。。。你可以赵本将面向对象的书先看看,多看几本就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
子要你的c语言基础好的话将比较容易的,先学好基础
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询