Hot Reloading in Swift
merowing.info
merowing.info
I wonder what the threat model would be? Injectable binaries seem like a decent attack vector. But, if we're talking 2040, maybe a signable Merkle tree would do the trick.
Meanwhile, have been experimenting with recompiling Metal code at runtime. Was kinda fun with ObjC/C++/OpenGL, a few years ago.
[1] https://thenewstack.io/objective-cs-roots-in-the-life-of-bra...
Xcode used to have these features (called Zero Link and fix and continue) but they were quickly removed because nobody used them.
A famous example of self-modifying code was Microsoft's AARD code, which was decrypted on the fly to check if the user was running a competitor's OS. [1]
I always wondered if the perceived threat of runtime method constructors was an incentive for Apple to push for Swift.
Code signing and a secure enclave may help protect against local use cases, like ransomware, but doesn't protect against hybrid attacks, like granting access to 3rd parties.
Maybe this means that all binaries in 2040 should be derived from open source with AI doing the threat detection.
> quickly removed because nobody used them
what is the definition of "nobody"?n=1 and all that, but as a developer i used it all the time and was totally dismayed it was removed...
I find this quote interesting:
> But in addition, “I had just become incredibly annoyed with proprietary languages,” he said. Fortran vendors, for instance, would add extra features to try to lock customers into their particular version.
But this is exactly what he did with Objective-C -- it was a proprietary language until NeXT bought his company! It could have had widespread adoption had there been a widely available implementation.
Wasn't that one of the goals of CORBA? [D]COM?
I know it was one of the lynchpins of OpenDoc, but that took it even farther, with a document-centric approach to applications.
I mean JS used to be a scripting language, but thanks to Reasons there's a lot more involved to get fast development cycles.
No. Where did you get that idea?
To be fair, for all the flack Microsoft got/gets, the dev tooling for Windows ecosystem is miles ahead of anyone else and world class. Perhaps I am biased as I worked there at one point, but since I don't anymore, I have also seen tooling from Apple and Google and they are a couple of decades behind. There is some truth to why Steve Ballmer went ballistic with his Developer chant, they really built great tooling for developers.
Delphi and C++ Builder are still unmatched in many capabilities on the Visual Studio side.
https://docs.microsoft.com/en-us/visualstudio/debugger/hot-r...
"Microsoft has been killing it over the last decade regarding dev tooling and experience" was a direct quote from the article.
I believe it changes meaning of this sentence.
I think Apple isn't that bad either, yet still behind MS.
Google is a disaster though. A few weeks ago I needed to download Android Studio. Downloaded a clean stable release from its official site for my machine (M1 Mac). From that clean install literally erroring while trying to launch AVDs to cryptic error messages about JDK environments, Google's the only IDE out of these big three where I get countless of errors and losing hours on something that literally doesn't work out of the box.
Hope Xcode and VS never becomes something crappy like Android Studio.