Originally posted by Raka555
View Post
Announcement
Collapse
No announcement yet.
Apache IoTDB 1.0 Released As An "Internet of Things Database"
Collapse
X
-
Originally posted by Ironmask View PostExcept when you need FFI, which many programs do. All you need is one platform-specific dependency and then your Java or Python program is absolutely no different than any other native binary. That's why the concept is a joke, because it falls apart in the real world.
Originally posted by Ironmask View PostAlso, most natively compiled languages already have tons of libraries that abstract the underlying platform. You don't need a VM to do that.
Originally posted by Ironmask View PostVMs are not magic, especially in the embedded world. All they are is a tradeoff between the various pros and cons of JIT versus native binary. There's pros to using a VM, but they certainly don't include hoping that your code magically works everywhere, certainly if it's a non-trivial program.
Comment
-
Originally posted by Ironmask View Post
... Anything?
C was literally made for that. And while that used to be a clunky process, modern cross-compilers, better tooling and newer languages have made it seamless. It's practically an automated process.
Don't drink Sun/Oracle's koolaid, "write once run everywhere" is not only just a marketing campaign but factually incorrect, Java is just as platform-dependent as any other C program, because it is a C program. Just like any other VM/JIT language.
C is a dying language along with C++. Google is deprecating both. Microsoft is deprecating both. The "Alphabet Agencies" (NSA, CIA, DOD etc.,) are deprecating both. I think Amazon is also making moves to deprecate both or announce something of the sort. Both C and C++ will be around for decades like COBOL for obvious reasons like the massive scale of the installed code base worldwide. But make no mistake, just as ARM based computing will be the majority of compute device sales by 2030 to the detrimate of x86/64 so shall C and C++ begin to wane in the face of Rust, Java, C#, Swift, Go and even Ada.
Comment
-
Originally posted by NobodyXu View PostVMs are definitely not a good fit in embedded world where resource are scarce, C/C++/Rust/Zig is more suitable for these scenarios.
VMs are fine in embedded spaces, especially on modern hardware or really anything thats not as simple as an Arduino. No doubt pre-compiled binaries are better, but a good JIT VM pretty much is just a self-compiling binary anyway, just with a little extra memory overhead for the bigger runtime and the whole slow startup issue.
Originally posted by Jumbotron View Post
So....after 50 years of C, if you are correct, why hasn't everything IoT related been written in C ? For that matter why hasn't every Android app been rewritten in C or recompiled to take advantage of each of the multitude of ARM based SoCs each with their own custom DSPs and GPUs in each of the multitude of Android devices?
C is a dying language along with C++. Google is deprecating both. Microsoft is deprecating both. The "Alphabet Agencies" (NSA, CIA, DOD etc.,) are deprecating both. I think Amazon is also making moves to deprecate both or announce something of the sort. Both C and C++ will be around for decades like COBOL for obvious reasons like the massive scale of the installed code base worldwide. But make no mistake, just as ARM based computing will be the majority of compute device sales by 2030 to the detrimate of x86/64 so shall C and C++ begin to wane in the face of Rust, Java, C#, Swift, Go and even Ada.Last edited by Ironmask; 06 December 2022, 08:26 AM.
Comment
-
Originally posted by Ironmask View Post
VMs are fine in embedded spaces, especially on modern hardware or really anything thats not as simple as an Arduino. No doubt pre-compiled binaries are better, but a good JIT VM pretty much is just a self-compiling binary anyway, just with a little extra memory overhead for the bigger runtime and the whole slow startup issue.
Hey moron, I think you missed the point of this thread and my post. I was talking about application portability, not which language is the best. C is famous for being the an early popular language specifically made for portability, I was using it as an example. I recommend you curb your blind impulse to go on programming language preaching tirades.
I'm not preaching a thing. I see the trends. And the trend is not C's friend. Get over yourself, zealot.
Comment
-
Originally posted by jumbotron View Post
ah yes....the classic linux geek and phreak response when one has no valid response to a query by calling someone a moron. C is not that portable, if it were so it would be everywhere including the majority of iot devices. C's portability comes at a great price when confronted by the heterogenous nature of iot devices. C is not memory safe and to make it so with programmatic trickery makes portability and code base maintainability a real bitch. And like i said before every major cloud provider and some of the largest cloud users are deprecating it's use in new projects. Hell, even the linux kernel is tentatively but surely none the less introducing rust into the kernel which i predict over the next 20 years will become the dominate language of the linux kernel if not c's entire replacement.
I'm not preaching a thing. I see the trends. And the trend is not c's friend. Get over yourself, zealot.
Comment
Comment