I wrote a 40 pages technical white paper covering all of the language changes in XE4 for mobile development (tied to the new ARM LLVM-based Delphi compiler). The document covers the reasons for the changes (technical and not), covers these language changes in detail, and offers best practices for keeping your code compatible with both the desktop and mobile compilers.

I might blog sections from the paper in the coming weeks, but I recommend getting the free PDF (basically this is a short book I wrote as part of my job at Embarcadero), you can get the PDF at http://www.embarcadero.com/resources/white-papers/application-development.

Here is the Table of Contents (which is not in the document itself):

1. A NEW COMPILER ARCHITECTURE
1.1: Introducing LLVM
1.2: Delphi and LLVM
1.3: Why Changes in the Delphi Language?
1.4: What Stays the Same?
1.5 The Delphi Compilers in XE4

2. THE STRING TYPE
2.1: Only One String Type
2.2: Reference-Counted Strings
2.3: Copy-On-Write and Immutable Strings
2.4: Using the TStringBuilder class
2.5: Zero-Based Access
2.6: Using the TStringHelper Intrinsic Type Helper
2.7: Managing One-Byte Strings


3. AUTOMATIC REFERENCE COUNTING
3.1: ARC Coding Style
3.2: The Free and DisposeOf methods under ARC
3.3: Weak References
3.4 Checking for Memory Problems
3.5: The Unsafe Attribute
3.6 Low-Level Reference Counting Operations
3.7 Summary of TObject’s Construction and Destruction Methods under ARC
3.8: Bonus Feature: Operator Overloading for Classes
3.9: Mixing Interfaces and Classes


4. OTHER LANGUAGE CHANGES

5. RTL CONSIDERATIONS
5.1: RTL and Cross Platform
5.2: File Access
5.3 Replacing String Lists With a Generic Dictionary
5.4: Libraries and Packages

6. CONCLUSION
 

Hope you like it. Feel free to ask for more information here or (even better) email me. The plan is to update the document in the coming months.