After yesterday’s piece on the collateral damage in 331, a number of other impacted applications and technologies have surfaced.
- Epic’s Unreal engine which uses Lua script via LScript in its game play engine
- SQLLite or any kind of SQL query, though presumably CoreData as a compatibility layer is allowed
- OpenCL since this is not C, Objective-C, C++ or JavaScript
- Apple’s PLists since these are not C, Objective-C, C++ or JavaScript
- Interface Builder’s XIBs since these are XML representations of how to instantiate an object that isn’t C, Objective-C, C++ or JavaScript
- Any game by Sketch Nation, because despite being very cool indeed, the generated games are not games written in C, Objective-C, C++ or JavaScript
- Game engines like Cocos2D, Irrlicht, OolongEngine and Sio2Engine since these all were ported from other platforms and so would be treated as a compatibility layer
For completeness, here’s yesterday’s list as well:
- TouchXML since it’s a compatibility layer for NSXML
- Unity As a 3D tool, this is used on multiple platforms and can accelerate game development. However, this is a “compatibility layer or tool” which is verboten
- XML or JSON Any code that uses either XML or JSON as an intermediate format is guilty of writing an application which is not “originally written in Objective-C, C, or C++”
- 3D graphics tools to export models in generated source
- Parsers by Bison/Yacc DSLs are verboten
- Macros Since any turing-complete language can be transformed into any other turing-complete langauge, macros can’t be used either