免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 29646 | 回复: 9
打印 上一主题 下一主题

[C] 思考题:语言是工具?重要是思想?那如何表达思想?(修改版) [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-10-24 21:40 |显示全部楼层
本帖最后由 幻の上帝 于 2011-10-24 21:43 编辑

我歪一下楼。自然语言对我来说都是managed code,所以对我来说CET啥的不会比中文难多少,一句话用鸟语说出来可能更快(差别只是熟练度,包括词汇量之类)。然而无论何种自然语言,用来串联做数学题时的思维,效率都不怎么样。
思想不见得是必须被限制为特定形式表达才方便使用的;关键是得明确,这里的对表达形式的限制本身是不是需求之一。

论坛徽章:
0
2 [报告]
发表于 2011-10-26 20:10 |显示全部楼层
回复 70# starwing83

突然发现我朝人占便宜了……
“函数”和“功能”用英文表达试试。

论坛徽章:
0
3 [报告]
发表于 2011-10-26 20:18 |显示全部楼层
现在是在讲C/C++的局限么。
我再歪下楼,举个比函数还要普遍的例子好了。
比如说,显式指定表达式A和B之间没有求值顺序依赖。
也就是说,一段代码,既可以表示A, B;,又可以表示B, A;的语义,unspecified。
看起来似乎是可以的,不过我整不出来……

  1.         template<typename... _type>
  2.         constexpr int
  3.         _unsequenced(_type&&...) nothrow
  4.         {
  5.                 return 0;
  6.         }
  7.         #define unsequenced _unsequenced
复制代码
拿void没办法了……

论坛徽章:
0
4 [报告]
发表于 2011-10-26 20:43 |显示全部楼层
回复 84# 三月廿七

哎,又想到变量与变量名的故事了。
名字一样的东西显然不见得就是同一样东西。
C++和Java的引用有多大可比性呢。

论坛徽章:
0
5 [报告]
发表于 2011-10-26 21:15 |显示全部楼层
回复 86# 三月廿七

C++的引用类型可以看成操作受限的指针。但据我所知,它的作用并非是完全取代指针的功能。
又怎么得到“C++一心想摈弃指针”的结论呢?

论坛徽章:
0
6 [报告]
发表于 2011-10-26 21:25 |显示全部楼层
回复 91# OwnWaterloo

返回类型嘛。。
虽然很扯,考虑一下嵌套使用?
那个宏倒没什么特别的意思,随便写写的……不过倒是可以一个不爽就#undef然后#define弄成空的……

论坛徽章:
0
7 [报告]
发表于 2011-10-26 21:26 |显示全部楼层
回复 92# 三月廿七


于是不要C源码兼容性了?

论坛徽章:
0
8 [报告]
发表于 2011-10-26 22:02 |显示全部楼层
回复 97# pmerofc
不算编译期非空保证,也就只有代码简洁了。
不过偏偏都是别的语言特性取代不了的东西。

论坛徽章:
0
9 [报告]
发表于 2011-10-26 22:25 |显示全部楼层
回复 99# pmerofc

是有些这种味道。
不过其实别想着要一口吞下就没多大问题。

论坛徽章:
0
10 [报告]
发表于 2011-10-27 13:42 |显示全部楼层
回复 105# 狗蛋


控制复杂度是得考虑的。
不过,先入为主地认为因为一个东西复杂就得让位于现有的shit就没那么有趣了。
模版复杂?很正确,不过,generics多少是为nominal typing擦屁股的。如果一开始就少了一堆overloading、conversion和cast的ranking,写个算法会有多难呢。
>>它们必须能够和其它任何关键字、数据类型协同动作
——这往往是幻想,因为现有的语言结构已经够反紧凑的了。nullptr能和多少东西协作?(哦,这货的存在仍然是为了给类型系统擦屁股。)这里的指数级,已经打了几个折扣?
我是宁可看到C++加入yield而复杂10倍的,这比chrono、ratio之类甚至threading都有意义得多。
……当然,实际嘛,传统还有现实,你懂的。
>>而函数和模块这两个概念,才真正推动了软件工程的发展,简化了编程难度;也只有和函数/模块直接相关的概念,才值得冒着指数增加语言复杂度的风险添加支持。
“函数”起这么明显的作用实在有些消极——不就是subroutine和module的耦合?不过我看到不少人学了“函数”之后好像直接以为subroutine=module了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP