Except this (attempted) mask mandate ban was for kids - i.e. those who are often too young to receive a vaccine. Yes, our federal government absolutely failed when it comes to vaccine supply. It is our state governments…
It is not endemic in many states in Australia. But please, continue looking on in horror at us from (I'm assuming) America. Your post is a wonderful mix of condescending tone and factual inaccuracy, with the added…
That's because modules and namespaces are the same thing in languages like Python, whereas they are separated in C++. The code in the imported module will go into whatever namespace it is in within that module, not the…
Modules have nothing to do with shipping libraries (or dependency management), they are purely about encapsulation of interface and (API) implementation.
If by "reload" you mean "drop in an updated shared library and let the runtime loader do its job", I suppose so. Yes, it only applies if you don't make any API (and ABI) changes, but that's what major, minor, patch…
> I can't remember the case in C, but in C++ the initialisation of a function local static variable is guaranteed to be thread-safe. Only in C++11 onwards.
Depending on what you required, it can still be significantly faster than std::map. Any tree-based data structure is going to play havoc with cache. Also, it will perform an allocation for every single node inserted,…
Define "way easier". The interface, at least for day to day operations, is basically identical.
I remember this being in the context of video games, and from some time ago (so things may have changed with Steam sales and the like), but it said that something like 85% of sales occur in the first two weeks. Thus the…
Correctness defined as "this produces the right answer" vs correctness defined as the above with the addition of "this does not leak information / is not highly vulnerable to side-channel attacks" are very different…
I mean, you really are a special case - I have only lightly dabbled in Rust, but I immediately recognize your name because of the work you've done in the Rust community.
If you have the luxury of choosing between C++ and Java/C#, then you don't need C++.
This doesn't take into account the alignment of the type though (you'd want to use std::aligned_storage<sizeof(T), alignof(T)>), but that requires knowing enough about T to be able to use sizeof() and alignof(), which…
This could only ever be doable with extremely simple architectures anyway. Off the top of my head, add in just one of branch prediction, micro-op fusion, out-of-order execution, pipelines and pipeline stalls, or cache…
Sure, you can pass by pointer instead of reference, but the post also mentioned that they didn't use the STL (hence no std::vector) and I'm curious if that means they used a replacement library or something else.
> SIMD Intrinsics are directly callable from C++. > likely/unlikely branches Most compilers have extensions that will allow you to do this (__builtin_expect and so on). > in-lining can't be forced when you know it gives…
The second is absolutely an advantage of references, and other than having to use (if I'm being honest, legacy and/or bad) interfaces, there is absolutely not a downside in this regard. The first can be a legitimate…
Out of curiosity, what do you use? I hope it isn't back to raw pointers and size_t offsets for lengths. What do you do if you want to pass a container of ... anything around? What's the replacement for: U…
Go is not even close to being any kind of replacement for C++. Also, not all "real programmers" think that C is a better language than C++.
They were bought out by iiNet. Apparently Adam also signed deals for a takeover by iiNet in August this year.
It shouldn't be the standard way of managing memory; it should be a part of the toolkit. In order, it should look like: 1) Stack allocation 2) std::unique_ptr 3) std::shared_ptr You should be properly thinking about…
Sure. Think of void * in C. interface{} in Go isn't really that different, there's just a bit more language support for testing if it satisfies a specific type or not. Add in type assertions, and it's basically as…
I think interface{} is a horrible, horrible hack. For me, the answer is an emphatic yes.
I remember having read this before, but I always get a good chuckle from it; all of the snark is incredibly well done. I always burst out laughing when reading "Lambdas are relegated to relative obscurity until Java…
Why does it have to be limited to a single language at all? Exposure to multiple languages should be the norm.
Except this (attempted) mask mandate ban was for kids - i.e. those who are often too young to receive a vaccine. Yes, our federal government absolutely failed when it comes to vaccine supply. It is our state governments…
It is not endemic in many states in Australia. But please, continue looking on in horror at us from (I'm assuming) America. Your post is a wonderful mix of condescending tone and factual inaccuracy, with the added…
That's because modules and namespaces are the same thing in languages like Python, whereas they are separated in C++. The code in the imported module will go into whatever namespace it is in within that module, not the…
Modules have nothing to do with shipping libraries (or dependency management), they are purely about encapsulation of interface and (API) implementation.
If by "reload" you mean "drop in an updated shared library and let the runtime loader do its job", I suppose so. Yes, it only applies if you don't make any API (and ABI) changes, but that's what major, minor, patch…
> I can't remember the case in C, but in C++ the initialisation of a function local static variable is guaranteed to be thread-safe. Only in C++11 onwards.
Depending on what you required, it can still be significantly faster than std::map. Any tree-based data structure is going to play havoc with cache. Also, it will perform an allocation for every single node inserted,…
Define "way easier". The interface, at least for day to day operations, is basically identical.
I remember this being in the context of video games, and from some time ago (so things may have changed with Steam sales and the like), but it said that something like 85% of sales occur in the first two weeks. Thus the…
Correctness defined as "this produces the right answer" vs correctness defined as the above with the addition of "this does not leak information / is not highly vulnerable to side-channel attacks" are very different…
I mean, you really are a special case - I have only lightly dabbled in Rust, but I immediately recognize your name because of the work you've done in the Rust community.
If you have the luxury of choosing between C++ and Java/C#, then you don't need C++.
This doesn't take into account the alignment of the type though (you'd want to use std::aligned_storage<sizeof(T), alignof(T)>), but that requires knowing enough about T to be able to use sizeof() and alignof(), which…
This could only ever be doable with extremely simple architectures anyway. Off the top of my head, add in just one of branch prediction, micro-op fusion, out-of-order execution, pipelines and pipeline stalls, or cache…
Sure, you can pass by pointer instead of reference, but the post also mentioned that they didn't use the STL (hence no std::vector) and I'm curious if that means they used a replacement library or something else.
> SIMD Intrinsics are directly callable from C++. > likely/unlikely branches Most compilers have extensions that will allow you to do this (__builtin_expect and so on). > in-lining can't be forced when you know it gives…
The second is absolutely an advantage of references, and other than having to use (if I'm being honest, legacy and/or bad) interfaces, there is absolutely not a downside in this regard. The first can be a legitimate…
Out of curiosity, what do you use? I hope it isn't back to raw pointers and size_t offsets for lengths. What do you do if you want to pass a container of ... anything around? What's the replacement for: U…
Go is not even close to being any kind of replacement for C++. Also, not all "real programmers" think that C is a better language than C++.
They were bought out by iiNet. Apparently Adam also signed deals for a takeover by iiNet in August this year.
It shouldn't be the standard way of managing memory; it should be a part of the toolkit. In order, it should look like: 1) Stack allocation 2) std::unique_ptr 3) std::shared_ptr You should be properly thinking about…
Sure. Think of void * in C. interface{} in Go isn't really that different, there's just a bit more language support for testing if it satisfies a specific type or not. Add in type assertions, and it's basically as…
I think interface{} is a horrible, horrible hack. For me, the answer is an emphatic yes.
I remember having read this before, but I always get a good chuckle from it; all of the snark is incredibly well done. I always burst out laughing when reading "Lambdas are relegated to relative obscurity until Java…
Why does it have to be limited to a single language at all? Exposure to multiple languages should be the norm.