Rust has emerged for the fifth year in a row as the most loved programming language in a developer survey carried out by Stack Overflow. There are various reasons why developers love Rust, one of which is its memory safety guarantee.
Rust guarantees memory safety with a feature called ownership. Ownership works differently from a garbage collector in other languages, because it simply consists of a set of rules that the compiler needs to check at runtime.
Picture the most abusive app store.
Programs in it are meant to run on your own computer.
However, you have to be online to run them.
Every time you start them, they contact the app store.
If there is an updated version, it’s installed automatically, no questions asked. You’d rather run the earlier version? Tough.
If the app store decides you’re no longer welcome, the program won’t start any more.
If the app store servers are offline, or if you are, it won’t start either.
For all the armchair puzzlers for whom sudokus and crosswords have palled over the long months of lockdown, a fiendish new literary conundrum is about to slide on to bookshelves – with a rather lucrative and unusual reward.
Artist Michel Becker tracked down and bought the golden casket given to France by the UK ahead of the signing of the entente cordiale on 8 April 1904, which attempted to end centuries of antagonism between the two countries. Presented to French president Émile Loubet in July 1903, the casket was wrought by Goldsmiths and Silversmiths Company in London and contained a scroll celebrating friendship between the two countries. Valued at €750,000 (£646,000), the intricately decorated box is now the prize for whoever solves the clues in Becker’s forthcoming treasure hunt book, The Golden Treasure of the Entente Cordiale.
The story behind this article is very simple, I wanted to learn about new C++20 language features and to have a brief summary for all of them on a single page. So, I decided to read all proposals and create this “cheat sheet” that explains and demonstrates each feature. This is not a “best practices” kind of article, it serves only demonstrational purpose. Most examples were inspired or directly taken from corresponding proposals, all credit goes to their authors and to members of ISO C++ committee for their work. Enjoy!
Hare is a statically typed programming language which compiles to machine code. It has manual memory management, no runtime, and uses the C ABI. Hare is designed for systems programming, and is well-suited to writing operating systems, system tools, compilers, and other low-level, high-performance tasks.
The conventional wisdom of the Great Awokening is in sizable part the dumbed-down heritage of the brilliant and sinister French philosopher Michel Foucault (1926–1984), who happened to be a dead ringer for Austin Powers’ archenemy Dr. Evil. According to Google Scholar, Foucault is the most cited academic of all time.
When Ta-Nehisi Coates, for instance, talks about people who believe they are white doing violence on black bodies via FDR’s redlining, he’s artlessly piling up a number of vaguely recalled affectations of Foucault’s. (Coates confesses, “I loved Foucault but didn’t finish.”)
In his ham-handed way, Coates’ hilarious tic of refusing to admit that white people are white, but instead only grudgingly allowing that they might “believe they are white,” is reminiscent of the hermeneutics of suspicion in Marx, Freud, Nietzsche, and, more recently, Foucault, who never saw a noun he couldn’t put scare quotes around. For instance, on one page of his book Power/Knowledge, Foucault felt the need to put “body,” “children,” “childhood,” and “phase” within quotation marks.
About 15 million years after the big bang, the entire universe had cooled to the point where the electromagnetic radiation left over from its hot beginning was at about room temperature. In a 2013 paper, I labeled this phase as the “habitable epoch of the early universe.” If we had lived at that time, we wouldn’t have needed the sun to keep us warm; that cosmic radiation background would have sufficed.
Did life start that early? Probably not. The hot, dense conditions in the first 20 minutes after the big bang produced only hydrogen and helium along with a tiny trace of lithium (one in 10 billion atoms) and a negligible abundance of heavier elements. But life as we know it requires water and organic compounds, whose existence had to wait until the first stars fused hydrogen and helium into oxygen and carbon in their interiors about 50 million years later. The initial bottleneck for life was not a suitable temperature, as it is today, but rather the production of the essential elements.
Ursula K. Le Guin’s 1974 novel The Dispossessed depicts a society with no laws or government, an experiment in “nonviolent anarchism.” Science fiction author Matthew Kressel was impressed by the book’s thoughtful exploration of politics and economics.
“After reading The Dispossessed, I was just blown away,” Kressel says in Episode 460 of the Geek’s Guide to the Galaxy podcast. “It was just such an intellectual book. It’s so philosophical, and it was so different from a lot of the science fiction I had read before that. It made me want to read more of Le Guin’s work.”
This is my own collection of hard-earned knowledge about how integers work in C/C++, and how to use them carefully and correctly. In this article, I try to strike a balance between brevity (easing the reader) and completeness (providing absolute correctness and extensive detail).
Whenever I read or write C/C++ code, I need to recall and apply these rules in many situations, such as: Choosing an appropriate type for a local variable / array element / structure field, converting between types, and doing any kind of arithmetic or comparison. Note that floating-point number types will not be discussed at all, because that mostly deals with how to analyze and handle approximation errors that stem from rounding. By contrast, integer math is a foundation of programming and computer science, and all calculations are always exact in theory (ignoring implementations issues like overflow).