104 karma · joined July 31, 2019
A lot of projects choose C, C++ or Rust only because they need performance:
* Backend services
* Numerical computation
* Game development
* Rendering engines, e.g., browser engines
System programming is usually needed for what we consider Operating Systems, e.g. kernel, system libraries, and shell.
In my career as a C++ programmer I have worked on a lot of projects that I would otherwise write in C#, Java, Julia, or Go.
GPL is a code sharing agreement among the developers. You get value from the product and contribute back to it. If you need features, you add it yourself. If you find bugs, you submit a patch. The value is shared, and so is the cost, and so is the burden of maintenance.
It is only when people started commercializing free software that it became a problem.
Even Bill Gates was actually selling BASIC as Free Software, he had to make it proprietary because people were not paying him.
https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists
On another note, a lot of free software is also produced by universities, they get paid by research grants, and they don't need users to pay them. They do usually require attribution which increases the citation count on their papers.
I think economics is the real reason they won. And Google pumped a lot of money in this space, too.
Qt: is truly cross-platform, supporting Mac, Windows, Android, iOS, and even LG TV webOS. VLC uses Qt and is rock solid on all platforms it runs. It is very expensive for commercial development.
Xamarin: run on all major operating systems, and mobile, they were profitable. C# is much better language that C++ or Javascript. They became free to use once Microsoft acquired them
To all the people who suggest alternatives, our entire org is run by xooglers and they put everything in Google Drive. I have no choice but to use this crap. To make matters worse, I cannot use any third-party client (or even roll my own) because it is not allowed by the security policy.
Xiaomi might be using an ML detector to figure out it is looking at something that resembles an official document, and refusing to take a picture of it.
Also we have HTTPS everywhere, but DKIM is still not supported by most domains. That is a more serious issue and it also covers this as well.
In the first iteration, they just ported Korn shell to windows but it wasn't that useful. So after a couple of iterations they ended up with Powershell.
There is no place for high order functions and functional constructs in high performance F# code.
But the OP and commenters are mostly concerned about the extra copy of read().
For video memory, DMABUF has been used to avoid extra copying. The idea is that the hardware directly DMAs into a buffer mapped in the userspace instead of copying into a kernel buffer and then copying into userspace. A system call is still involved, but no extra copying of data.
I wonder if anyone has actually implemented a disk I/O interface using DMABUF. There are a couple of low-level disk interfaces. But I don't know if any of them uses DMABUF.
I have iMessage, Whatsapp, Telegram on my phone. Each one is used to reach a certain group of people. I also have Signal, but nobody is on there and I never use it.
Go is a high-level language. It is not meant for low-level programming. and yet the authors keep claiming that it is.
The authors clearly say that is designed for writing scalable networked services. And they definitely don't care about GUIs, Windows, embedded, etc.
Overzealous programmers are constantly taking Go where it is not meant to be and complain about its shortcomings. Go's simplicity means that it makes a lot of assumptions about the system. I think authors should have been more upfront and explicit about this.
If you care about ECC, you pay for Xeon. Majority of consumers don't run critical applications on their devices, so they are happy with a cheap device that may crash once in a while.
AMD is only changing the game because they are trying to undercut Intel. They have been putting pro features into all of their CPUs including over-clocking, extra PCIE lanes and ECC.
Honestly, what is the point of bullet-proof hardware when the software reliability (at least on consumer devices) has gone down to two nines.
I used this format when I was generating ODF documents using a script.
SQLite file format is documented and other implementations exist. I am sure given enough interest, it could get standardized.
Also, the main motivation is the cost. Any other vendor would want the highest profit out of their design.
Also NVIDIA quit the mobile market a while ago. They are focused on Autonomous driving and embedded market. The only consumer product on the market with NVIDIA SoC is Nintendo Switch (which sells millions)