论坛风格切换切换到宽版
发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 1038阅读
  • 11回复

[移动软件开发]C语言还有哪些需要改进的? [复制链接]

上一主题 下一主题
离线shuszhao
 

性别:
帅哥
发帖
18056
金币
36481
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 2021-02-12
如果你是一个写程序的老手,你可能用过很多种有着不同基础哲学的程序语言;你用过Perl吗?它的概念跟Algol有很大的不同;直译的Basic语言是如此容易,让很多人能进入这个领域,而Visual Basic则是一头完全不同的“怪兽”。 ^i+[m  
我的第一种语言(在母语英语之后)是Fortran,我用过不少它的分支语言以及编译程序。汇编语言(Assembly)…嗯,就是汇编语言,不是有太多人能说出个所以然;C语言基本上是汇编语言,在生产力方面有大幅改善。 l _+6=u  
C++语言在我看来充满了相当的复杂度以及黑暗之处,聪明的人最好不要踩到。还有Java语言是一种有趣的面向对象(OO)方法,但其垃圾回收(garbage collection)机制以及缺乏指标(pointer)等特性,使该语言不适合大多数的嵌入式开发。 Y25^]ON*\^  
Us,)]W.S  
K/txD20 O|  
广告
q/NY72tj0  
C语言多年来在这个产业界是流行语言,调查数据显示(如下图),该语言在嵌入式领域的市占率最高,而且其地位数年来屹立不摇,许多新一代的语言如Python都仍远远落后,C将会在很长一段时间继续是主力语言。 q*, Q5  
%Tv^GP{}  
.[?BlIlm  
各种程序语言的使用情况统计 8TE>IPjm  
(来源:UBM 2014 Market Survey)
但 C语言已经很“老”了,也受到那样的长寿影响;该语言隐藏了迟钝点,批评者指出,C语言开发者似乎厌恶打字;那大多数来自不良习惯,像是使用非常短的变量 名称(variable names)。任何一种语言都会被滥用,但对比典型的C程序,例如Ada程序代码,有人确实会疑惑为何我们看起来如此简洁,该语言本身就很简洁。 WK0C  
假设你可以用魔法改变C语言的某一个方面,你会改变哪里、为什么?我会想要摆脱花括号(即{},又称波型括号);我们都曾经历来自深度套迭的程序代码段落之错误以及编译程序抱怨(compiler complaints),我们会搞混需要多少结束括号以及它们该被放置在哪里。  B/G-Yh$E  
我比较喜欢需要匹配开始与结束段落,以终结声明(end statement)来指示哪个段落已经结束;例如: Mo D?2J  
Z<U>A   
这需要打更多字,但任何一个软件开发者如果打字不够快就是入错行了;其好处是更容易了解段落在哪里开始与结束。当然,谨慎地缩排也能告诉我们相同的事情,但今日有太多程序代码被这么多人修改过,原始工程师精心地缩排通常变成无可救药的错位。可能很难知道哪一个括号是结束哪一个段落,被误放的括号可能会让编译程序发疯。 .6 3=(o  
而深度套迭控制架构当然也可能导致大量连续的“end if”声明,这可能会是例外而不是规则;并没有“银弹”可以拯救我们,但小小的改变,像是利用开始/结束声明而非括号,有可能带来非常大的帮助。 Ha%F"V*  
我通常会在批注的地方针对哪个括号是结束哪个段落做记号,但如果程序语言能像我说的,编译程序能指出遗失以及被混淆的“end”声明岂不是更好?其他有的语言指令就包含卷标的结束声明并因而获益,Ada就是一个最佳案例 LH2PTW\b!6  
你呢?如果你可以改变C语言的某一个部分,你会想改变什么?又为什么? X8i(~ B  


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲
离线小鑫鑫

性别:
人妖
发帖
5423
金币
13774
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 2021-02-12


离线red_chen

性别:
人妖
发帖
2013
金币
5440
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 2楼 发表于: 2021-02-12
不需要改进,作为入门语言


离线chen

性别:
帅哥
发帖
3961
金币
3120
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 3楼 发表于: 2021-02-12
/c):}PJ^#7  


离线电子宅

性别:
人妖
发帖
3750
金币
2454
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 4楼 发表于: 2021-02-12
泛型


在线bidezhi7777

性别:
帅哥
发帖
13295
金币
237
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 5楼 发表于: 2021-02-12
    


离线记好586

性别:
帅哥
发帖
3043
金币
994
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 6楼 发表于: 2021-02-12
|8l<$J  


离线sun5304

性别:
帅哥
发帖
6244
金币
8073
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 7楼 发表于: 2021-02-13
很希望看到细节,可惜图片打不开?


离线lonelycolor

性别:
帅哥
发帖
442
金币
639
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 8楼 发表于: 2021-02-13
比较关心


离线kakaru

性别:
人妖
发帖
560
金币
694
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 9楼 发表于: 2021-02-15
怕是越改越烂


离线desig

性别:
人妖
发帖
2209
金币
446
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 10楼 发表于: 2021-02-16
废话一篇,大爷就是大爷。C语言就是C语言,改啥改


离线feihangdan

性别:
帅哥
发帖
2224
金币
1442
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 11楼 发表于: 2021-02-18
C语言还是不错的


快速回复
限150 字节
 
上一个 下一个