Building Blockchain Apps: https://www.buildingblockchainapps.com/
Rust and WebAssembly on the server-side: https://www.secondstate.io/ssvm/
Often the most important part of the news is what they didn't tell.
Stephan van Hulst wrote:Interesting. I might take some time out to try and create an application on SSVM.
I just want to point out to you that the general public seems to be unauthorized to view your Google Form.
Building Blockchain Apps: https://www.buildingblockchainapps.com/
Rust and WebAssembly on the server-side: https://www.secondstate.io/ssvm/
Tim Holloway wrote:This smells like the old "Java is slow because it's interpreted" argument that became essentially meaningless many years ago. Probably over a decade past I ran across a benchmark where a JVM with JIT compiler actually out-performed C with the exception of the floating-point benchmarks.
Java is, of course, horrible slow for small apps like "Hello, world!". You have significant overhead in both time and memory to launch a JVM - although Oracle/BEA and IBM have both experifmented with less transistory Java environments. The JIT compiler will take its cut as well.
But the one thing that a truly high-performance JVM can do that no language that compiles to static code can is to dynamically re-compile code based on observed performance, thus ensuring a more optimal execution given the data and environment at hand.
For example, just about all traditional computers had a conditional branch statement that had two different execution times, generally shorter if the branch wasn't taken and longer if the branch was taken. A static compiler would generate code with that branch in a fixed context and that's where it would live forevermore. A smart JIT VM could monitor that code, note that the branch was being taken more often than not and recompile the bytecodes to ensure that branching was the exception rather than the rule. That's a micro-level optimization, but you can build up from there. And of course, with today's pipelined processors and virtual memory, there are more variables, since you want to reduce paging and "bubbles" in the pipes.
Languages like Rust and Go have their places. Some things really need a better environment than what C/C++ provides but are not suitable for execution in any sort of VM. That doesn't make them "killers", though. Just special tools for critical needs.
Building Blockchain Apps: https://www.buildingblockchainapps.com/
Rust and WebAssembly on the server-side: https://www.secondstate.io/ssvm/
I'm also watching with interest the rise in use, popularity, and remuneration (especially outside the US) for Python in comparison to Java, even though Python is interpreted and thus slower than Java. It seems very likely to me that it can be a "Java killer" by attracting new and existing players in lieu of Java, especially because of its reputation of being easier to use. (As a long-time Java dev, I won't contest that.) So that would tell me that the world still has lots of room for non-performance-critical but quick-to-rollout projects...
Then again, I'm personally of a skeptical mind, and the above annual surveys (however valid their methodology and conclusions may be... or not) and their purported proof of the rise in both Rust and Python's popularity have received a lot of PR attention in promotion of the respective languages - Slashdot, Coderanch (ha) and some other blogs come to mind. Meanwhile, in my country, mobile networks, banks, German luxury car makers, and a bunch of other big money enterprises still have a high demand for Java developers, and those systems are pretty entrenched and are not going anywhere soon
As a last remark, it is my personal opinion that the industry fixates a little bit too much on languages and the productivity gains to be had from them, and quite too little on the overall productivity gains that can be had from information availability through proper documentation systems, maintainability through coding practices, quality through proper testing, code reviews and constant skills+experience upgrading, and other organizational factors that happen on a higher level than coding. Unfortunately (in my country at least) it would seem that coders are simply seen as fungible production units with a fixed productivity that should be swapped in and out as the need demands
What makes you think that interpreted languages are slower than compiled languages?Derc Zbrojvic wrote:. . . Python is interpreted and thus slower . . .
Campbell Ritchie wrote:
What makes you think that interpreted languages are slower than compiled languages?Derc Zbrojvic wrote:. . . Python is interpreted and thus slower . . .
Interpreters do not have the scope that compilers have (else they would be compilers), or the execution metrics that VMs may provide them with (yet?). So they can't really optimize as much as JIT or native compilers.
The top 6 results of this search makes me think so too, because they say so (I haven't bothered to look at more pages).
Anyhow, that was the conventional wisdom (general rule of thumb) taught 30 years ago, and I'd be pleasantly surprised if that gap would be narrowed. But it won't be, because the drawback that make interpreters slow on execution, is at the same time their strength at deployment time (no compilation steps).
All this is not to say that interpreters can't be faster in some very well defined specific areas (as one of the pages from the search point out - the only one bothering to do tests). And if your interpreted application builds off that niche strengths, the more power to you.
Campbell Ritchie wrote:
What makes you think that interpreted languages are slower than compiled languages?
Often the most important part of the news is what they didn't tell.
99 little bugs in the code, 99 little bugs in the code.
Take one down, patch it around, 117 little bugs in the code.
Often the most important part of the news is what they didn't tell.
Tim Holloway wrote:So knowing Java/JavaScript can help a lot.
Tim Holloway wrote:There are at least 2 Rust development plugins for Eclipse.
99 little bugs in the code, 99 little bugs in the code.
Take one down, patch it around, 117 little bugs in the code.
Often the most important part of the news is what they didn't tell.
Tim Holloway wrote:paul nisset,
Your post was moved to a new topic.
(This informational message will self destruct in two days)
Mis-classiffied reply
everyone who completes a programming assignment wins a Raspberry Pi Zero kit.
Often the most important part of the news is what they didn't tell.
Tim Holloway wrote:Sorry, I didn't mean to interfere with your chances of scoring free swag. But I'm too blind to see where Docker got mentioned there. And the best place to get help for Docker is in our Cloud forum, I think.
I did a quick check of my own and there's a Rust project at the Docker hub that allows you to create your own custom Rust container from a Dockerfile.
...
Personally, I'd probably spin up an independent VM if I wanted to be able to play with Rust temporarily .
Often the most important part of the news is what they didn't tell.
Often the most important part of the news is what they didn't tell.
Often the most important part of the news is what they didn't tell.
Tim Holloway wrote:Also, have you tried the Rust Playground? Then the whole OS issue becomes Somebody Else's Problem: https://www.rust-lang.org/learn/get-started
I'm going to spin up a Vagrant box and try "Rustup". I'll let you know what happens.
Often the most important part of the news is what they didn't tell.
Tim Holloway wrote:One of the big selling points of Rust is that provides safety to some of the most dangerous types of software.
Unfortunately, for most applications, reliability is held by management to be of little account. In fact, I was terminated from a job position once and the excuse given was that I spent too much time on reliability instead of just "getting it done". This was a shop that considered it more acceptable to reboot one of the production servers once a day when it went South rather than have someone actually fix the offending software.
One of the great virtues of open-source software, however, is that there's rarely the quality-reducing pressure to be "productive" and often a lot of desire on the part of the designers to try out some flashy new technology (not that commercial developers don't also have that itch!). So it's open-source and those rare institutions which still support Research and Development over just pushing any old trash out the door in order to make this quarter's profit goals who tend to make up the early adopters. Only if/when tangible benefits appear is wider acceptance likely. I have little doubt that a lot of people who encountered Java in its early days disparage it because it wasn't lean and clean like C.
Often the most important part of the news is what they didn't tell.
paul nisset wrote:After going though getting the Second State example working and reading the article "https://www.secondstate.io/articles/is-this-the-next-java-20200713/" ,there is nothing that impresses about this.
It's basically a node app that makes calls to server that runs compiled functions. The article says the "Rust is beloved by developers" . I would counter the number of developers that it is beloved by is very few .
Maybe if you spend a couple months learning it ,you are forced to feel you love it but there was nothing in the Rust documentation that made me think "Cool ! I need to know this".
I really don't see what the hype is . There is nothing there, especially if someone has worked with C or C++ before.
Building Blockchain Apps: https://www.buildingblockchainapps.com/
Rust and WebAssembly on the server-side: https://www.secondstate.io/ssvm/
This tiny ad is suggesting that maybe she should go play in traffic.
Smokeless wood heat with a rocket mass heater
https://woodheat.net
|