搜索技巧 海洋云增白 开源地图 AI 搜索答案 沙丘魔堡2 压缩机站 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 PostgreSQL AI工具 证券 DirectX DrawingPics 化学 KDE 披萨农场 多动症 植物学 分析化学 Three.js 大会 残疾人学校 初创 QB64 更多

奇特的词法语法 (justine.lol)

作者为了给llamafile构建新的语法高亮器,学习了42种编程语言,并分享了其中一些最奇特、最令人惊讶的语法。文章详细介绍了C语言中的三元符、通用字符、多行注释;Haskell的多行注释嵌套;Tcl的带引号标识符;JavaScript的正则表达式和不可见Unicode字符;Shell的heredoc语法;Kotlin、Swift、Scala和C#的字符串插值;FORTH的基于空格的标记化;FORTRAN和COBOL的固定列规则;Zig的双反斜杠多行字符串;Lua的方括号多行字符串;汇编的各种方言和注释语法;Ada的单引号用法;BASIC的字符串、变量和关键字;Perl的正则表达式、特殊前缀和man页面语法;以及Ruby的难以理解的语法。作者还比较了这些语言的语法高亮实现的复杂性,并感谢了Mozilla、GitHub赞助商和Patreon订阅者的支持。

最快的互斥锁 (justine.lol)

本文介绍了Cosmopolitan Libc中的互斥锁实现,并通过与Windows、Linux和MacOS上的其他实现进行比较,证明了其在高并发场景下的优越性能。Cosmopolitan Libc的互斥锁比其他实现速度更快,CPU资源消耗更少,这得益于其使用了nsync库。nsync库使用乐观CAS、独立缓存行的等待队列、操作系统提供的futex机制以及指定唤醒器等技术,实现了高效的互斥锁。

字节序惨案 (justine.lol)

这篇文章探讨了C/C++编程语言中处理字节序的挑战。作者指出了常见的错误做法,例如依赖未定义的行为和符号扩展问题。文章强调了使用掩码和移位操作的重要性,以确保跨不同架构的正确字节序处理。作者还提供了一套用于读写不同大小整数的宏,并解释了为什么这些宏优于其他解决方案。