C语言是非常高效的语言,但是也有很多失败点,吐槽一下.

吐槽一下C语言和C++ 大多数的系统底层类的代码都是用C或者C++ 写的.

第一点失败,没有统一的第三方依赖项目库管理工具.

我觉得无论C语言本身多复杂, 都不重要, 最麻烦的是. C语言依赖包的体系,不是那么合理. 需要引入各种各样的 .h头文件不说.
各种确实各种问题. 本来我只需要一个python的某些东西, 结果底层用的c语言… 于是各种依赖各种安装, 各种编译不成功…

不就是一个依赖包么? C语言为什么没有类似Python中的那种 pip的依赖包管理器, 或者anconda 这种环境管理工具. …
全部要自己搞… 很是烦人…

第二点,指针用 * 号, 混淆了 * 号的作用.
“*” 号在C语言中用的太多了, 多的有点混淆了它的作用.
在这里插入图片描述
脑子不够清醒的人, 或者稍微没点耐心的人还真搞不清楚. 尤其是
*p 可以出现两种意思, 一个是定义指针, 另外一个是取其中的数据…
给很多的程序员带来了非常大的不便.
仅凭这一点, 就可以否定大多数的C语言代码
指针是个好东西, 可惜被C语言的语法给搞坏了, 搞来搞去成搞脑子的东西了.
我估计有人会吐槽了, 说C语言的精髓就在指针上, 现有的语法更简练,!!! 我就呵呵了,TMD老板拿着40米大刀架在我脖子上让我明天调通, 你跟我说要简练, 要cool, 要有耐心… 你别走,咱们好好谈谈人生, 谈谈理想.谈谈理想装逼主义和现实主义的区别…

如果改成下面的代码会不会更好理解

int main()
{
	int i = 0;
	Point<int> p = GetAddress(i); //取地址
	Point<Point> pp = GetAddress(p); //取指针的地址
	printf("i=[%d]\n", GetData<int>(p)); //取指针指向的数据
	printf("i=[%d]\n", GetData<int>( GetData<Point>(pp) ) ); //二次操作,先取指针,最后取数据.
	return 0;
}

第三点: 宏代码 #if def 太狗屎
我想谁都知道,这种狗屎般的写法, 真是搞得我天昏地暗. 把本来清爽的代码都搞成狗屎了… 灵活是灵活了… 但是谁都不想看这样的代码…

第四点: 没有包 或者说 命名空间的概念. 导致无法工程化
谁都知道, 咱就不说了.

第五点: Include 头文件 这种引入第三方库的方式是在是太恶心了.
下载第三方的Dll 或者Lib还不算完, 还需要下载头文件. 代码写起来我都是懵懵的. 代码到底应该写在.h文件还是.c文件? 方法肯定是写.c文件里了. 但是共享的变量呢?

如果去掉这些, C语言真的还是很不错的.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值