c#发展

注册

 

发新话题 回复该主题

为什么都在说C很难 [复制链接]

1#

很多学编程的程序员在刚开始接触C++的时候,并没有觉得这门语言有多难,因为基础语法的学习掺杂的东西比较少。c++因为比较偏底层,到了底层使用起来,入门门槛比较高,使用起来也要小心翼翼,比如指针呀,地址空间分配,释放啥的总会出错。

但等到从学校毕业,正儿八经开始做项目的时候才发现,原来还有这么多语法知识并不清楚,自己原来学到的知识只是皮毛而已。这也是我过去一直不太明白为什么大家都说C++语言难,可能因为自己的工作常常是一些重复性劳动,又是建立在很多现有工具的基础上,太少设计需要考虑,思考得不是很多。

有的时候不光是新手会有这种问题,就算是玩C++多年的编程老手,在重新梳理这门编程语言的时候,也总能发现新的语法,可以说C++这个语言总给人一种学不完的感觉。

那么为什么C++让人觉得这么难学?

首先c++里面语法规则挺多挺零散的,但也没有特别不好理解的地方,然后又学了c#,怎么感觉也没有别人说得那么简单,例如:委托,事件,正则,lambda,匿名函数之类的也不是很好理解。

其次,互联网行业本来就属于技术更新迭代很快的行业,而C++语言的更新速度也是相当惊人,当你费了九牛二虎之力掌握了一些语法细节之后

结果发现新的更新完的时候,已经把之前的语法规则都丢弃了,对于一门还在不停升级到编程语言,这种情况出现的不要太过频繁。

c++中的基础设施比较少,比如Javac#的库一大堆一大堆的,c++相对比较底层,好多东西都是从小零件开始做起,但这样带来的好处就更灵活了。像c#,java可以类比成半成品,而c++是原材料,什么东西都要自己坐,但!什么东西都可以做

但c++的魅力就在于其与面向对象设计理念的结合,和C++进行优化。就连现在很多有名的软件框架都能看到C++的影子,像大家使用的安卓手机的框架层很多代码都是C++,还有大家天天使用的浏览器内核代码几乎全是C++

还有多个平台,编译器,还分intelc++msvc,clang,gunc++,编程环境还有好多种,什么vscode,vim,sublimetext,等等吧。还要选各种各样的便利插件。比如对齐插件,高亮插件,主题插件,自动补全插件,重构插件。

编写相同规模的程序,C#比C++容易很多——你不懂“委托,事件,正则,lambda,匿名函数”,都可以用C#创建一个完整的,有实际功能的小程序,但是同样的工作用C++做就难多了。

这样的好处是什么?什么事,都可以靠这套架构来完成,lua与c++双协程间的配合,能够达到和谐的地步。套路,可以套任何class的object。

分享 转发
TOP
发新话题 回复该主题