If you decide to get into Rust, please post about it from an Ada developer perspective! Almost nothing has been posted comparing the two; I think the intersection of high assurance software gurus and new language nerds is pretty small... a niche within a niche.
Yeah. I think the author considers smartphone apps to be "embedded". He also talked about making an entire iphone app as a way to teach someone about float vs. int...
It turns out that telling kids "you are special and talented and above average, etc" actually improves their performance in school. So that's a deliberate data-driven thing.
I would add that part of the problem is that in the mobile ecosystem, the march of technology isn't voluntary. Your phone is subject to a constant barrage of software updates that gradually make your phone slower and more crashy. Any software update that increases resource requirements ~should be regarded as a breaking change, but that is not the case. Since the entire smartphone industry works this way, the only real recourse for the user is to revert to a dumb phone, but that isn't terribly satisfying.
If you really have a significant amount of Ada experience, and spend enough time with Rust once it reaches 1.0 to get over the initial pain of a new language, please write a blog post about it, and be very constructive with your technical criticisms. I have yet to see an in-depth comparison between Rust and Ada; just a handful of short forum posts by the Rust devs saying that Rust has stronger safety guarantees for parallel code. I attended an Ada talk at a high profile open source conference recently and was a bit underwhelmed; I came away with the impression that aside from ranged integers, the compile time safety features of Ada (beyond memory safety) are a bit kludgy, i.e. they don't fit will into the syntax, are vendor specific, or only work in restricted cases... Of course, that could have been a problem with the talk, rather than the Ada ecosystem.
Don't worry, nobody is going to make you program in Rust unless it really proves valuable in practice. One good litmus test for this will be if Servo gets productized and ends up being the only browser ~not getting hacked every year at the pwn2own. Rust has a steep enough learning curve that you pretty much already have to be a good programmer to even get started. You have to not only grok what pointers/references are, there is the additional overhead of mutability and ownership that you have to understand to write even trivial code. I think once Rust matures a bit it will still have a shallower learning curve that C++, though; I have a hunch new users will learn faster from Rust's compiler errors than from C++'s segfaults (and data races once you get to parallel programming).
Stuff like this makes me embarassed to call myself an electrical engineer. If you tell someone you've worked in the field of robotics or UAV's, there's a decent chance they're going to think something along the lines of "oh, so you're the kind of person who builds machines that rain death from the sky." Doctors take a pledge not to kill people; I see no reason why we engineers shouldn't hold ourselves to the standard.
While this is one of my favorite discussion topics, TFA is extremely badly written. If someone is not writing clearly and concisely, they are probably not thinking clearly either. Why is this below average blog post getting treated like a serious rebuttal to a report from a major financial instution?
It is unlikely the automation of cars willl be centralised to the point that they ~can't also work autonomously. The interstate highway system was built because fast road transportation for defensive forces was viewed as a military necessity. If all of our roads could be gridlocked by a cyber attack commanding all of the robot cars to stop in the middle of the road, I'm sure the military would have something to say about it.
I disagree with this sentiment. If we can figure out how to program planes to never crash into mountains/buildings/the ground, we absolutely should. If it's fault tolerance you're concerned about, apparently a single pilot with a head full of bad ideas is still a potential single point of failure. Maybe we're not ready to take humans out of the loop completely, but surely we can make it necessary to have consent from ~both pilots to disable the plane's safety features.
It is not just about reaction time (thought that sure helps stopping distance); it is also about sensors and reliability. Humans cannot shoot lasers out of their eyes to precisely and directly measure the distance to every object in every direction, know intrinsically where they are (GPS), how to navigate (google maps), where there are traffic jams (via other cars running google maps), where there are potholes (via the accelerometers in the smartphones in other cars), etc... As for reliability, an autonomous car does not ever have to reach the performance of our ~best drivers, it just has to beat the performance of our ~worst drivers. Would you rather cross the road as a pedestrian in front of a robot car, or a human driver that is tired/drunk/distracted/half blind/stupid/enraged/hurried?
Rust or Swift, that is... we're pretty screwed if the Rust playbot takes over the world
Things could get very interesting indeed if Apple opens up Swift. I'm not sure if Swift can cover all of the use cases that Rust does, but it can probably cover most of them, and Apple has worked very hard on Swift's ergonomics. Interactive REPL-style coding is a mere twinkle in some rust dev's eye right now; the closest we have is the playpen and the playbot in the IRC channel. The world wins if either of them catch on.
The main hot newness in Rust is the borrow checker. It is the source of Rusts most notable strengh and also it's most notable weakness, but you won't see it at all if you just look at a code example online, or download an already-working code example. It's also interesting since it's the first language to really target the remaining C/C++ strongholds in a long time, and it does have an interesting mix of good ideas from other languages. As for graphical programming, I would have said that all the clicking (and not version controlling) puts an upper limit on program complexity, but who knows... people have designed some darn complex stuff in Minecraft; if someone designed a visual programming language for people with that temperament maybe they ~could write something like an operating system by clicking and dragging (and shoveling?).
Wow, Ada code looks nothing like Rust code to me. Ada looks like a mix of BASIC and python. I don't know Ada, but Rust supposedly makes stronger guarantees of memory correctness for parallel code. Rust just went beta yesterday; breaking changes up to now were to be expected. Once there are more people with real-world experience with both Ada and Rust, I'll be very interested in reading about their experiences. Maybe you haven't been following it closely, but Rust is not some one-developer toy scripting language. A team of brilliant engineers has been working on it full-time at Mozilla for years.