编程语言
文章平均质量分 89
编码时空的诗意行者
十年互联网大厂老司机,技术嘎嘎硬。
展开
-
从历史上最昂贵的空指针崩溃,论指针判空的重要性
2024年7月18日,美国信息安全巨头CrowdStrike推送的软件更新存在严重错误,导致全球范围内大量使用其软件的Windows电脑集体陷入“蓝屏”状态,无法正常使用。这场波及多个行业的“蓝屏”事件,不仅使多国航空、铁路、银行等基础设施服务中断,例如,特斯拉工厂生产因此暂停,马斯克称其为“史上最大IT失败”(Biggest IT fail ever),以此为导火索,特斯拉市值下跌了319.87亿美元。这次蓝屏的罪魁祸首,就是指针未判空导致的。原创 2024-07-22 15:06:34 · 553 阅读 · 0 评论 -
初步探究Rust生态与图形界面编程
今天,我们一起探讨Rust图形界面编程的现状、生态系统的发展,以及面临的挑战。与C++的Qt、C#的WPF或者JavaScript的Electron等成熟的图形界面框架相比,Rust的图形界面生态显得相对年轻。布局是在安全的 Rust 中自定义实现的,并支持双向文本。Rust的快速增长也带动了其社区的发展,从各种在线论坛、聊天室到官方和非官方文档,都可以找到关于Rust图形界面编程的讨论和帮助。Rust在图形界面编程领域虽然起步较晚,但其安全性、性能和现代化的语言特性,为其未来的发展提供了坚实的基础。原创 2024-07-12 14:20:04 · 880 阅读 · 1 评论 -
闲聊C++与面向对象思想
艾伦·凯曾说,“I made up the term object-oriented, and I can tell you I did not have C++ in mind.”(“我发明了术语‘面向对象’,可以告诉您我没有C++”)。今天看到这句话,激发了笔者写一篇文章聊聊C++与面向对象思想的关系。原创 2024-07-09 14:54:03 · 1250 阅读 · 0 评论 -
深入浅出Rust所有权:手把手从零设计Rust所有权体系,掌握Rust内存管理思想的精髓
Rust的所有权机制,看似复杂且与现有编程语言不同,使用起来思路也许难以适应。是学习Rust的难点。但如果我们换个思路,假设我们是Rust的设计者,逐步深入Rust的内心世界,也许更容易掌握Rust所有权的思想和用法。原创 2024-06-04 14:42:08 · 2301 阅读 · 2 评论 -
编程语言的设计要点
编程语言是现代计算机科学中不可或缺的一部分,人们使用编程语言来实现各种各样的软件和应用程序。但是,编程语言仅仅具备语言的基本元素还远远无法满足开发者的实际需求,好的编程语言需要在很多方面具有出色的设计水平,这包括安全性、性能、灵活性、低心智负担、正交性、易用性等方面,这些方面有的相辅相成,有的则是各有取舍,下面让我们更深入了解一下这些不同方面的含义及其重要性。原创 2024-06-03 16:41:39 · 1109 阅读 · 0 评论 -
面向对象编程思想杂谈
面向对象编程(Object-Oriented Programming, OOP)自上世纪80年代兴起以来,便以其独特的理念和强大的抽象能力,成为软件工程领域的主流编程范式。面向对象编程通过引入类和对象的概念,提供了一种强大的抽象机制,使得软件设计能够更加贴近现实世界的逻辑结构,从而降低了软件的复杂性。然而,随着技术的发展和应用范围的扩大,OOP的一些核心原则在实践中逐渐遭遇挑战,引发了人们对这一编程范式的反思。原创 2024-05-24 15:27:23 · 1022 阅读 · 0 评论 -
C++中的异类:“#” 符号背后的故事
在C++语言中,#符号是一个独特的符号。它似乎不在语言核心中,但是在源码里却又无处不在。在语法上,#的语法规则在C++体系里独具一格,和C++语法相比像是两个语言似的。这些差别让我们感受到#背后的故事不简单。今天,我们一起探讨 #在C++语言中的所有作用和功能,并思考其设计的优缺点,以及背后的历史渊源。原创 2024-05-28 10:57:42 · 1197 阅读 · 0 评论