There are different degrees of racism. Pointing out that stronger forms of racial discrimination exist doesn't make the milder forms any less disgusting.
The problem is that while hard work is a prerequisite for success, it is by no means a guarantee of one. No matter how hard you work, all your gains can literally be wiped out in an instance by, say, a disease that requires treatment that you don't have the money to pay for.
You don't have to get into function pointers to see why C syntax is messed up - you just need to have any deeply nested constructed type, e.g. array of pointers to arrays.
It's easy, except for all the corner cases (as is usual in C++). See my other comment in this thread.
Yes, with proper discipline, you can absolutely do this in C++, I'm not disputing that. But Rust takes it one step further by enforcing said discipline on you. Escape hatches are still there; but unlike C++ where they (raw pointers & arithmetic, arrays etc) are the default, and you have to consciously force yourself to use smart pointers instead, and know how to use them right, in Rust the defaults are safe, and the "fuck off, I know what I'm doing" mode must be explicitly requested. Needless to say, this generally leads to better code, regardless of how good your programmers are (all humans make mistakes).
"Sentience" is kinda like "soul": we can start talking about it meaningfully as soon as someone defines what it actually means. Until then, there's no reason to believe that it's a qualitative rather than quantitative difference, or, for that matter, that it is even a meaningful thing in and of itself, and not just an aggregate of some random and unrelated factors (which, in fact, changes over time as we learn more about ourselves and other species) that we believe distinguishes us from all the other "nonsentient" beings.
The concept of hell itself is rather murky, and different Christian denominations understand it differently. If you take the stereotypical Protestant fire-and-brimstone interpretation, where hell is basically a giant torture chamber, then yeah, your conclusion is spot on. But e.g. in Eastern Orthodoxy, hell is canonically interpreted not as a place, but rather a state of mind that a soul is when it is subjected to the presence of God, and does not love that God, or has otherwise separated itself from him. In other words, God does not do anything special to torment sinners or to make the saints blissful; but the essence of what he is has the corresponding effect on either.
Of course, the glaring logical hole in that explanation is, why exactly is that state eternal and unchangeable after one's death? It would stand to reason that souls would be able to "reconsider" and therefore switch their state at any given moment.
I'm pretty sure that when you punish your children, said punishment neither involves extreme degrees of torture, nor is indefinitely long in application. The latter especially throws this entire construct out of the window, because a punishment that never ends is not exactly a learning experience nor a deterrent for future behavior.
There are no cases of these laws actually being applied, at least within the last 60 years or so, because they clearly contradict the Establishment Clause of the First Amendment, which has been incorporated against the states for that long. In a similar vein, several states still retain laws against "sodomy", but they're all defunct as unconstitutional since Bowers v. Hardwick, even where they remain on the books.
There is a theory that stipulates that religion is, basically, a memetic virus that co-opts its host (humanity) to propagate itself. It doesn't mean that the virus is necessarily beneficial to the host, just as physical viruses usually aren't: it just has to be not too detrimental to allow for said propagation.
I haven't touched them for ages - where I work the only excuse for not using std::make_unique is if your constructor is private, in which case you new into a unique_ptr instead.
This is actually a pretty good example. For one thing, make_unique is brand new (C++14). For another, as you note, it can't be used with private constructors, so you still have to remember how to use plain new with unique_ptr, and in particular that you cannot write it like this:
(because of the unspecified order between constructors of bar/baz and constructors of unique_ptr, making it possible to leak memory if new bar/baz throw)
From the perspective of something like Rust, that difference is pretty small. In C++, it's still "harder" to use a smart pointer than it is to use a raw pointer, and basic language constructs like e.g. "new" or string literals are raw pointers - and you need to be aware of, and explicitly use, the standard library mechanisms instead to wrap them into safe types. In Rust, safety is the pervasive default, and the escape hatch from it is made very, very explicit on every use.
It's all well and good, but declarator syntax goes back to the very first version of C (granted, if I remember correctly, it didn't have many of the more complicated constructs back then, so the grammar was simpler; but still).
What really bugs me is that a lot of C syntax was borrowed from Algol-68 (e.g. "void", "struct", "union", "short" and "long" etc), which actually had a perfectly fine, easy to parse (both by humans and by machines) syntax for complex declarators, complete with arrays and pointers and function types - very much along the lines of what you can see in C# or Java today, but even more uniform, always reading left-to-right - e.g. PROC([] REF INT) REF []INT is a pointer to a function taking an array of pointers to integers, and returning a pointer to an array of integers. Now try writing that down in C. Why oh why did they have to reinvent that particular wheel?
Sometimes it does make sense to lump C and C++ together. For example, when discussing memory safety or performance, which is going to be the focus in any comparison of either one of those with Rust.
The problem with all these is that they have not only set safety as a goal, but set it as a goal more important than performance. Rust is different in that it tries the no-compromise approach: your code should be as fast as C++ in the same scenario, while also being provably safe at compile time.
Look up the figures of Blacks straight off the boat from Africa, despite language and culture barriers they are more than 300% more likely to reach middle class in just 1 generation, and something like 1000% more likely to reach it in 2 than American Blacks.
This is not necessarily a meaningful statistic. Immigrants (legal, at least) are, generally speaking, are already a narrow subset of the original population by the time they come to US: you need a substantial amount of money to immigrate in the first place, for example, so it effectively filters out the poorest, and then of course there's the willingness to undergo extreme changes for the sake of future rewards, which is also far from universal. So when you compare immigrants from Africa to African-Americans, you're comparing apples and oranges.
What it has been historically doesn't really matter, unless you're also willing to claim that parts of France and Italy should be called Rome on account of them being in the Holy Roman Empire several centuries ago. Today, Russia refers to the entirety of the country, both in Russian and in English. The "Emperor of all the Russias" title was already anachronistic by the time it was adopted by Peter the Great, and in any case it refers to historical subdivisions (Great Russia, Little Russia and White Russia), and says nothing about what the word "Russia" without any qualifications even means. Certainly in times of Peter, it already referred to all the lands under his rule.
Your info on Siberia is also plainly wrong. There was never an external border with Siberia since its conquest by the Cossacks - it was a "kind of a colony", yes, same as all other conquered lands were, but administratively it was managed same as any other territory in the country. For example, when Peter has reformed the region system and established governorates in 1708, Siberia became a governorate along with Moscow governorate, St Petersburg governorate etc.
How would all the logs be lost, if the bulk of the data is still stored in text-only format in a separate file? It's the same exact arrangement as what we have with syslog today, just with indices on top of that.
Ironically, what it does in practice is making more people more biased.
There are different degrees of racism. Pointing out that stronger forms of racial discrimination exist doesn't make the milder forms any less disgusting.
The problem is that while hard work is a prerequisite for success, it is by no means a guarantee of one. No matter how hard you work, all your gains can literally be wiped out in an instance by, say, a disease that requires treatment that you don't have the money to pay for.
You don't have to get into function pointers to see why C syntax is messed up - you just need to have any deeply nested constructed type, e.g. array of pointers to arrays.
It's easy, except for all the corner cases (as is usual in C++). See my other comment in this thread.
Yes, with proper discipline, you can absolutely do this in C++, I'm not disputing that. But Rust takes it one step further by enforcing said discipline on you. Escape hatches are still there; but unlike C++ where they (raw pointers & arithmetic, arrays etc) are the default, and you have to consciously force yourself to use smart pointers instead, and know how to use them right, in Rust the defaults are safe, and the "fuck off, I know what I'm doing" mode must be explicitly requested. Needless to say, this generally leads to better code, regardless of how good your programmers are (all humans make mistakes).
Whereas the "grabbing whatever you can get" Republicans are happy to limit the "grabbing", to what's rightfully theirs
Like, say, Iraq? Or someone's fetus?
"Sentience" is kinda like "soul": we can start talking about it meaningfully as soon as someone defines what it actually means. Until then, there's no reason to believe that it's a qualitative rather than quantitative difference, or, for that matter, that it is even a meaningful thing in and of itself, and not just an aggregate of some random and unrelated factors (which, in fact, changes over time as we learn more about ourselves and other species) that we believe distinguishes us from all the other "nonsentient" beings.
The concept of hell itself is rather murky, and different Christian denominations understand it differently. If you take the stereotypical Protestant fire-and-brimstone interpretation, where hell is basically a giant torture chamber, then yeah, your conclusion is spot on. But e.g. in Eastern Orthodoxy, hell is canonically interpreted not as a place, but rather a state of mind that a soul is when it is subjected to the presence of God, and does not love that God, or has otherwise separated itself from him. In other words, God does not do anything special to torment sinners or to make the saints blissful; but the essence of what he is has the corresponding effect on either.
Of course, the glaring logical hole in that explanation is, why exactly is that state eternal and unchangeable after one's death? It would stand to reason that souls would be able to "reconsider" and therefore switch their state at any given moment.
I'm pretty sure that when you punish your children, said punishment neither involves extreme degrees of torture, nor is indefinitely long in application. The latter especially throws this entire construct out of the window, because a punishment that never ends is not exactly a learning experience nor a deterrent for future behavior.
There are no cases of these laws actually being applied, at least within the last 60 years or so, because they clearly contradict the Establishment Clause of the First Amendment, which has been incorporated against the states for that long. In a similar vein, several states still retain laws against "sodomy", but they're all defunct as unconstitutional since Bowers v. Hardwick, even where they remain on the books.
Not all human religions even have the belief in the afterlife to begin with.
There is a theory that stipulates that religion is, basically, a memetic virus that co-opts its host (humanity) to propagate itself. It doesn't mean that the virus is necessarily beneficial to the host, just as physical viruses usually aren't: it just has to be not too detrimental to allow for said propagation.
Which parts of those were done in the name of science?
"We shall spread rational inquiry and the scientific method by the Sword!" -- never heard in history, to my knowledge.
Well, of course. Supporters of the scientific method are more likely to utilize more modern techniques, such as UAVs and nuclear strikes. ~
So if you are designing a game for mobile platforms from the get go, you'd design it in such a way that revealing an extra bit of map is not an issue.
I haven't touched them for ages - where I work the only excuse for not using std::make_unique is if your constructor is private, in which case you new into a unique_ptr instead.
This is actually a pretty good example. For one thing, make_unique is brand new (C++14). For another, as you note, it can't be used with private constructors, so you still have to remember how to use plain new with unique_ptr, and in particular that you cannot write it like this:
(because of the unspecified order between constructors of bar/baz and constructors of unique_ptr, making it possible to leak memory if new bar/baz throw)
From the perspective of something like Rust, that difference is pretty small. In C++, it's still "harder" to use a smart pointer than it is to use a raw pointer, and basic language constructs like e.g. "new" or string literals are raw pointers - and you need to be aware of, and explicitly use, the standard library mechanisms instead to wrap them into safe types. In Rust, safety is the pervasive default, and the escape hatch from it is made very, very explicit on every use.
It's all well and good, but declarator syntax goes back to the very first version of C (granted, if I remember correctly, it didn't have many of the more complicated constructs back then, so the grammar was simpler; but still).
What really bugs me is that a lot of C syntax was borrowed from Algol-68 (e.g. "void", "struct", "union", "short" and "long" etc), which actually had a perfectly fine, easy to parse (both by humans and by machines) syntax for complex declarators, complete with arrays and pointers and function types - very much along the lines of what you can see in C# or Java today, but even more uniform, always reading left-to-right - e.g. PROC([] REF INT) REF []INT is a pointer to a function taking an array of pointers to integers, and returning a pointer to an array of integers. Now try writing that down in C. Why oh why did they have to reinvent that particular wheel?
Sometimes it does make sense to lump C and C++ together. For example, when discussing memory safety or performance, which is going to be the focus in any comparison of either one of those with Rust.
I have two words for you: man cdecl. A language that needs such a hack cannot be beautiful.
The problem with all these is that they have not only set safety as a goal, but set it as a goal more important than performance. Rust is different in that it tries the no-compromise approach: your code should be as fast as C++ in the same scenario, while also being provably safe at compile time.
Look up the figures of Blacks straight off the boat from Africa, despite language and culture barriers they are more than 300% more likely to reach middle class in just 1 generation, and something like 1000% more likely to reach it in 2 than American Blacks.
This is not necessarily a meaningful statistic. Immigrants (legal, at least) are, generally speaking, are already a narrow subset of the original population by the time they come to US: you need a substantial amount of money to immigrate in the first place, for example, so it effectively filters out the poorest, and then of course there's the willingness to undergo extreme changes for the sake of future rewards, which is also far from universal. So when you compare immigrants from Africa to African-Americans, you're comparing apples and oranges.
What it has been historically doesn't really matter, unless you're also willing to claim that parts of France and Italy should be called Rome on account of them being in the Holy Roman Empire several centuries ago. Today, Russia refers to the entirety of the country, both in Russian and in English. The "Emperor of all the Russias" title was already anachronistic by the time it was adopted by Peter the Great, and in any case it refers to historical subdivisions (Great Russia, Little Russia and White Russia), and says nothing about what the word "Russia" without any qualifications even means. Certainly in times of Peter, it already referred to all the lands under his rule.
Your info on Siberia is also plainly wrong. There was never an external border with Siberia since its conquest by the Cossacks - it was a "kind of a colony", yes, same as all other conquered lands were, but administratively it was managed same as any other territory in the country. For example, when Peter has reformed the region system and established governorates in 1708, Siberia became a governorate along with Moscow governorate, St Petersburg governorate etc.
Judging by this thread, it does give at least one advantage, that being the ability to at least partially recover and analyze corrupted logs.
How would all the logs be lost, if the bulk of the data is still stored in text-only format in a separate file? It's the same exact arrangement as what we have with syslog today, just with indices on top of that.