原标题:要不然,我们就承认php是世界上最好的编程语言吧?(?????)?
但是题目中不能有特殊字符,所以改成了惊叹。
昨日一个寻常周中下午,阳光透过稀薄云层不似夏日炽热浓烈带着几分清冷与苍白。光线冷冽铺展大地映的树影斑驳,淡漠而宁静。人在这微弱的日光里似乎也被注入了一种慵懒的气息,身体像是被冬日的倦意包裹每一个动作都变得缓慢而迟缓。这样的午后原本适合窝在一角,手捧一杯温热的茶,或是蜷缩在柔软的沙发上,沉浸在一本好书的世界里,任由白日梦将自己轻轻包围。
我的意思是,昨天午后小憩起来之后很困,脑子转不动就很想去摸一会鱼,当然大家都是经过九年制义务教育的好学生自是不用说的那么直白。
低效工作不如歇歇脑子,就瘫坐在椅子上刷一会社区。社区推荐也是知道最近在苦恼什么于是直勾勾的就推了一个问题:《为什么拥有C语言基础的人,依然学不会C++?》看似是上班摸鱼实则是为了更好的工作而暗中努力学习呀,精神实在是值得鼓励。
这么好的问题当然要看看大家怎么说,浏览了一些回答感觉心情舒畅了很多,原来学不会C++也不是我自己的问题。然后,很突然啊,就在评论区(评论区已爆改吐槽区)看到了没有闪开的一段代码:
#define mul(a, b) a * b
int main(void){ int a; mul(int, p = &) a; mul(if(1), p) = 5; int printf(const char*,...); printf("%d", 0[p]);}脑海中闪现精灵副将马国成,那种脑子嗡嗡的不知道大家有没有体会,就是想用“C语言”或者“C++”亲切问候编码者但是碍于文雅不好说出口,大脑和道德作斗争的感觉:
当然这里应用了夸张的修辞手法,实际上没这么激动,倒是觉得很有意思,毕竟这两天刚把指针和引用分清。这下整个人一点也不困了,正如前同事所说“上班时候做啥都比上班有意思,包括肉眼扫描条形码”。开始逐行翻译这段代码(C++翻译C++就很离谱),些许风霜之后译码成功:
#include "stdio.h" // 里面定义了int printf(const char*,...),函数原型就长这样#define mul(a, b) a * b //上来先震惊一手int sc_main(int argc, char* argv[]) { int a; // 珍惜吧,这一段里唯一正常的一行代码 mul(int, p = &) a; //int *p = &a; 指向int类型的指针p指向了int a的地址 mul(if(1), p) = 5; //if(1) *p = 5; if(1)必定满足, *p表示p指向的空间,值更新为5 printf("%d
", 0[p]); //0[p]即*(p+0),所以这里是 printf("%d", *p)即打印p指向地址里存的值,5 printf("%d
", a); //加上这句也行,反正都打印出来5 return 0; //确实是有大病的一段代码啊哈哈}翻译完那必然是得验证下,严谨的实践派是不能接受没有跑起来的一段代码。在虚拟机里一通敲,run一下果然翻译的没有问题:
人进过了左脑翻译右脑反驳的历程终于理解了之后,就想看看大模型能不能理解。于是用这段代码去考考通意,毕竟最近gpt小崩了下这段时间通意在写代码上出力最多,也应该让他尝尝细糠。结果别说,虽然通意上来就觉得代码是错的跑不起来(也对,谁看到这代码能觉得对呢),但还是努力改了一版基本符合原意的正确版本出来:
可以的,以后C++的代码还让你写。
最后我又跑去和HY分享了一下这段代码,收获了若干评价:
我觉得说的在理,毕竟在代码的优秀程度上,也就php能压C++一头了,总不能让大家投JavaScript吧那也不是编程语言。以后如果有机会做ESL面试官我一定拿这段代码考他!
最后HY为了说明C语言/C++能写出多奇葩的代码,又推荐了惊喜小彩蛋:
点开看了里面列举的几个获奖代码,怎么讲呢,深得我意啊。
还有获奖作品供大家运行下,比如计算圆周率:
#define _ -F int F=00,OO=00;main(){F_OO();printf("%1.3f
",4.*-F/OO/OO);}F_OO() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_ _-_-_-_ }这跟那个画符的编程语言Brainf和谐k有啥区别呢,人家也能画的这么好看来输出Hello World:
++++++++++[>+++++++>++++++++++>+++>++.>+.+++++++ ..+++.>++..+++.------.--------.>+.行就写这么多吧,最后高呼一句“PHP是这个世界上最好的编程语言!”
系列文章入口——
【芯片设计】SoC 101(一):绪论 | 【芯片设计】FIFO漫谈(零)从无处不在的FIFO开始说起 | 【芯片设计】计算机体系结构(一)虚拟内存 | 【芯片设计】深入理解AMBA总线(零)绪论
| 【芯片设计】握手协议的介绍与时序说明 | 【芯片设计】复位那些小事 —— 复位消抖 | 【芯片设计】快速入门数字芯片设计(一)Introduction | 【芯片验证】UVM源码计划(零)下定决心读源码前的自测环节
| 【芯片设计】异步电路碎碎念(一) 到底什么是异步电路
| 【芯片设计】从RTL到GDS(一):Introduction
| 其他文章链接——
【芯片验证】sva_assertion: 15道助力飞升的断言练习 | 【芯片验证】可能是RTL定向验证的巅峰之作 | 【芯片验证】RTL仿真中X态行为的传播 —— 从xprop说起 | 【芯片验证】年轻人的第一个systemVerilog验证环境全工程与解析 |
【芯片设计】verilog中有符号数和无符号数的本质探究
| 【芯片设计】论RTL中always语法的消失术 | 【芯片设计】代码即注释,注释即代码 | 【芯片设计】700行代码的risc处理器你确实不能要求太多了 |
入职芯片开发部门后,每天摸鱼之外的时间我们要做些什么呢 | 如何计算系统的outstanding 和 burst length? | 芯片搬砖日常·逼死强迫症的关键词不对齐事件 | 熟人社会里,一群没有社会价值的局外人 |
|