I liked the enthusiasm that Ash Furrow posted on his blog today, but I have a hard time seeing it as an honest proposal for a starting point. Let's face it, we have compatibility issues that we need to address. So, what can we do?
Well even if we fully acknowledge that there are some things we can only reasonable do while we break the ABI, and we would like to see some forward looking, let's start to decide what kind of base level abstractions that we need irrespective of the language. This list is in no particular order:
- Able to call into Objective-C & ASM, let's face it, we need it.
- A partial reference tracking mechanism, maybe a full blown collector to handle cycles, if justifiable.
- Type safety with inference
- Constructs and flow control operations designed for the way we're writing code today, and in the future.