惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
O
OpenAI News
C
Cisco Blogs
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
T
Tor Project blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
博客园 - 【当耐特】
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
小众软件
小众软件
博客园 - 聂微东
Y
Y Combinator Blog
Spread Privacy
Spread Privacy
人人都是产品经理
人人都是产品经理
Know Your Adversary
Know Your Adversary
Scott Helme
Scott Helme
B
Blog RSS Feed
N
News | PayPal Newsroom
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
NISL@THU
NISL@THU
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
LINUX DO - 最新话题
MongoDB | Blog
MongoDB | Blog
Recorded Future
Recorded Future
Webroot Blog
Webroot Blog
L
Lohrmann on Cybersecurity
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
Cloudbric
Cloudbric
罗磊的独立博客
宝玉的分享
宝玉的分享
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
L
LINUX DO - 热门话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

Hacker News: Front Page

Dillo release 3.3.0 旧金山,这座世界人工智能之都,在经济上却表现欠佳 AI Water Use Distractions and Lessons for California - California WaterBlog GitHub - MinishLab/semble: Fast and Accurate Code Search for Agents Issue links open automatically in a popup · community · Discussion #192666 Raiders of the lost hard drive At least 10 people tied to sensitive US research have died or disappeared in recent years, sparking federal investigation Progress Report: Linux 7.0 - Asahi Linux GitHub - knight-lang/knight-lang: The Knight Programming Language Darkness around us in all but forgotten now. In reply, Sartha. Applied AI Strategist - Market Intelligence (Health) at Terra API | Y Combinator The West Forgot How to Build. Now It's Forgetting Code GitHub - agzam/remoto.el: Browse GitHub repos without cloning What the FCC router ban means for FOSS My Homemade PBX [Announce] GnuPG 2.5.19 released Wakamoleguy - home of the wakamoleguy Agents Aren’t Coworkers, Embed Them in Your Software The Stanford Freshmen Who Think They Rule the World IPv7: Identity-Centric Network Protocol for Security, Proxy Mitigation, and Operability GitHub - rockcat/HATS: AI Personas Release v26.04 · niri-wm/niri UK to permanently ban future generations from buying cigarettes: 'It will save lives' The First Sixty Seconds Only One Side Will Be The True Successor to MS-DOS! – Windows 2.x – GUI Wonderland #12a GitHub - nakagami/grdpwasm GitHub - MartinGalway/C64_music: Music source files from 1980's Commodore 64 games GitHub - nex-crm/wuphf: Slack for AI employees with a shared brain. Get Claudes, Codexes and OpenClaws to collaborate and do your work autonomously while never losing context. iCloud 钥匙串的托管安全性 Quirks of Human Anatomy by Lewis Held GitHub - magiblot/tvision: A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. GitHub - vinhnx/VTCode: VT Code is an open-source coding agent with LLM-native code understanding and robust shell safety. Supports multiple LLM providers with automatic failover and efficient context management. Stash — Your AI has amnesia. We fixed it. Cosmology with Geometry Nodes quantumslop/URANDOM_DEMO.md at 25ad2e76ae58baa96f6219742459407db9dd17f5 · yuvadm/quantumslop Repairing the Ruins: Why AI Can’t Replace Education Databases Were Not Designed For This The bull case for graph DBs in law GitHub - manankharwar/fusioncore: ROS 2 sensor fusion SDK: UKF, 3D native, proper GNSS, zero manual tuning. Apache 2.0. Tell HN: Claude 4.7 is ignoring stop hooks Could a Claude Code routine watch my finances? | Driggsby GitHub - adam-s/HNswered: Notifies you when someone replies to your Hacker News posts and comments. The Nintendo Switch Switch Changelog | OpenAI API LLM research on Hacker News is drying up – Dylan Castillo GitHub - delta-hq/cc-canary CSS As A Query Language · evdc.me Tesla (TSLA) quietly discloses $2 billion AI hardware company acquisition buried in filing Params Vs Compute Add DOS platform support (DJGPP) by AJenbo · Pull Request #15377 · libsdl-org/SDL Diatec, known for its mechanical keyboard brand FILCO, has ceased operations. Google Plans to Invest Up to $40B in Anthropic Why I Cancelled Claude: Token Issues, Declining Quality, and Poor Support Why you should refuse to let your doctor record you Why I’m Done Making Desktop Applications GitHub - trycua/cua: Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows). On sabotaging projects by overthinking, scope creep, and structural diffing Machine Learning Supports Existence of Previously Unrecognized Transient Astronomical Phenomena in Historical Observatory Images Tariffs Raised Consumers’ Prices, but the Refunds Go Only to Businesses Linux 7.1 Removes Drivers For Long Obsolete Input Hardware: Bye Bus Mouse Support Amateur armed with ChatGPT ‘vibe maths’ a 60-year-old problem Learn Something Old Every Day, Part XX: 8087 Emulation on 8086 Systems GitHub - AndrewVos/endless-toil: Hear your agent suffer through your code GitHub - RivoLink/leaf: Terminal Markdown previewer — GUI-like experience. Neukgu: South Korea police arrest man over AI image of runaway wolf The Rich and Powerful Want to Live Forever GitHub - matz/spinel DeepSeek V4 - almost on the frontier, a fraction of the price My .config Ship of Theseus Habitual coffee intake shapes the gut microbiome and modifies host physiology and cognition There Will Be a Scientific Theory of Deep Learning deepseek-ai/DeepSeek-V4-Pro · Hugging Face DeepSeek V4 Preview Release | DeepSeek API Docs GitHub - Nimaoth/Nev: Nev is a keyboard focused GUI and terminal text editor Why I Write | The Orwell Foundation The George Business by Roger Z Redesigning the Recurse Center application to inspire curious programmers - Blog - Recurse Center US special forces soldier arrested after allegedly winning $400,000 on Maduro raid How Hard Is It To Open a File? Using the internet like its 1999 - The Universe of Joshua Blais Endangered Mexican axolotl discovered by girl, 10, under a bridge in Wales Meta tells staff it will cut 10% of jobs These Middle Eastern News Sites Are Actually U.S. Government Propaganda Operations GPT-5.5: Mythos-Like Hacking, Open To All Astronomers Find the Edge of the Milky Way Meshcore.io - Why The Split? - MeshCore Blog My Phone Replaced a Brass Plug Incident with multiple GitHub services If America's So Rich, How'd It Get So Sad? Decoupled DiLoCo: A new frontier for resilient, distributed AI training French government agency confirms breach as hacker offers to sell data Math is hard To Protect And Swerve: NYPD Cop Has 547 Speeding Tickets Yet Remains On The Force GitHub - NV404/gova Trump administration reclassifies cannabis as less dangerous Optimizing Datalog for the GPU Release raylib v6.0 · raysan5/raylib GitHub - russellromney/honker: SQLite extension + bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler On commenting and approving pull requests Writing a C Compiler, in Zig
Orthodox C++
Branimir Karadžić · 2026-06-12 · via Hacker News: Front Page

This article was originally published as a gist here.

What is Orthodox C++?

Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It’s exactly opposite of what Modern C++ suppose to be.

Why not Modern C++?

Back in late 1990 we were also modern-at-the-time C++ hipsters, and we used latest features. We told everyone also they should use those features too. Over time we learned it’s unnecesary to use some language features just because they are there, or features we used proved to be bad (like RTTI, exceptions, and streams), or it backfired by unnecessary code complexity. If you think this is nonsense, just wait few more years and you’ll hate Modern C++ too (“Why I don’t spend time with Modern C++ anymore” archived LinkedIn article).

d0pfbigxcaeip0m

Why use Orthodox C++?

“Within C++, there is a much smaller and cleaner language struggling to get out.” – Bjarne Stroustrup

Code base written with Orthodox C++ limitations will be easer to understand, simpler, and it will build with older compilers. Projects written in Orthodox C++ subset will be more acceptable by other C++ projects because subset used by Orthodox C++ is unlikely to violate adopter’s C++ subset preferences.

Hello World in Orthodox C++

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}

What should I use?

  • C-like C++ is good start, if code doesn’t require more complexity don’t add unnecessary C++ complexities. In general case code should be readable to anyone who is familiar with C language.
  • Don’t do this, the end of “design rationale” in Orthodox C++ should be immedately after “Quite simple, and it is usable. EOF”.
  • Don’t use exceptions.

Exception handling is the only C++ language feature which requires significant support from a complex runtime system, and it’s the only C++ feature that has a runtime cost even if you don’t use it – sometimes as additional hidden code at every object construction, destruction, and try block entry/exit, and always by limiting what the compiler’s optimizer can do, often quite significantly. Yet C++ exception specifications are not enforced at compile time anyway, so you don’t even get to know that you didn’t forget to handle some error case! And on a stylistic note, the exception style of error handling doesn’t mesh very well with the C style of error return codes, which causes a real schism in programming styles because a great deal of C++ code must invariably call down into underlying C libraries.

  • Don’t use RTTI.
  • Don’t use C++ runtime wrapper for C runtime includes (<cstdio>, <cmath>, etc.), use C runtime instead (<stdio.h>, <math.h>, etc.)
  • Don’t use stream (<iostream>, <stringstream>, etc.), use printf style functions instead.
  • Don’t use anything from STL that allocates memory, unless you don’t care about memory management. See CppCon 2015: Andrei Alexandrescu “std::allocator Is to Allocation what std::vector Is to Vexation” talk, and Why many AAA gamedev studios opt out of the STL thread for more info.
  • Don’t use metaprogramming excessively for academic masturbation. Use it in moderation, only where necessary, and where it reduces code complexity.
  • Wary of any features introduced in current standard C++, ideally wait for improvements of those feature in next iteration of standard. Example constexpr from C++11 became usable in C++14 (per Jason Turner cppbestpractices.com curator).
  • Don’t use modules.

Using modules brings with it the following disadvantages:

  1. Need to rewrite (possibly refactor) your code.
  2. Loss of portability.
  3. Module binary files (with the exception of MSVC) are not portable so you need to provide header files for libraries in any case.
  4. The project build setup becomes more complicated.
  5. Any toolchain version except the newest one does not work (at the time of writing Apple’s module support is listed as “partial”)

In exchange for all this you, the regular developer-about-town, get the following advantages:

  1. Nothing.

Is it safe to use any of Modern C++ features yet?

Due to lag of adoption of C++ standard by compilers, OS distributions, etc. it’s usually not possible to start using new useful language features immediately. General guideline is: if current year is C++year+5 then it’s safe to start selectively using C++year’s features. For example, if standard is C++11, and current year >= 2016 then it’s probably safe. If standard required to compile your code is C++17 and year is 2016 then obviously you’re practicing “Resume Driven Development” methodology. If you’re doing this for open source project, then you’re not creating something others can use.

Revision History

UPDATE As of January 14th 2025, Orthodox C++ committee approved selective use of C++20.

Any other similar ideas?

Code examples