5 ms·
Hasn't anyone else realized that this rule is totally unenforceable? How is Apple going to find out if something was originally written with Unity3D or Clojure?
by theli0nheart 17y ago
Hasn't anyone else realized that this rule is totally unenforceable? How is Apple going to find out if something was originally written with Unity3D or Clojure? Everything is submitted to them as a binary. You can't inspect a binary and figure out what language the code that generated it was originally written in.
So seriously, what's the problem here? Either there is none or I'm missing something.
- Zak 17y ago$ ghc --make helloworld.hs $ strings helloworld|grep ghc|wc -l 19 $ csc helloworld.scm $ strings helloworld|grep chicken|wc -l 1 There are more telltales that might be harder to mask. Other tools have similar giveaways. It wouldn't be hard to set up an automated test for the most common ones.
- theli0nheart 17y agoRight but I'm assuming that these 3rd party tools are actually converting code to Objective-C / C / C++ and then compiling...is that right?
- Zak 17y agoI think that's true for some tools and not others. csc converts Scheme in to C and then compiles it with the local C compiler. There are specific markers that will exist in every binary compiled with Chicken. Some of them are ASCII and easy to spot by hand by running strings on the binary, but I suspect there are also binary sequences that appear in every program compiled this way. It would also be possible to look at data structures in memory and detect patterns of access common to specific cross-compilation tools or abstraction libraries. These techniques don't produce proof beyond a reasonable doubt, but no such proof is required; Apple can and will reject applications that don't meet its standards.
- d3vvnull 17y agoAnd how hard would it be for those code translators to remove these footprints or even offer the user the option of leaving them out? Doesn't this edict invite code translators to work harder at leaving no trace that the code was generated or translated? The bigger question too is, isn't this just another stupid rule that developers can find a workaround for anyway?
- krschultz 17y agoMore importantly the tools that do the transferring will get killed